Compare commits

..
18 Commits
Author SHA1 Message Date
Github Actions 697a452ba6 [CI Skip] 2.7.1
skip-checks: true
2020-03-31 11:56:12 +00:00
Jaco Greeff f68294c4e7 2.7 (#575) 2020-03-31 13:53:10 +02:00
Github Actions 0130d18945 [CI Skip] 2.7.0-beta.8
skip-checks: true
2020-03-24 06:29:44 +00:00
Jaco Greeff 15c9904c96 Add bnSqrt (#574)
* Add bnSqrt function

* Bumps

* CHANGELOG

* Add extra case
2020-03-24 07:25:53 +01:00
Github Actions add2749967 [CI Skip] 2.7.0-beta.7
skip-checks: true
2020-03-24 05:58:23 +00:00
Jaco Greeff fe2f054389 wasm-crypto initNone (#573)
* wasm-crypto initNone

* noWasm to replace @polkadot/wasm-crypto interface
2020-03-24 06:55:07 +01:00
Github Actions bb1c117727 [CI Skip] 2.7.0-beta.6
skip-checks: true
2020-03-21 09:15:30 +00:00
Jaco Greeff 27c474bd78 Bump deps (#572)
* Bump deps

* @types/jest
2020-03-21 10:12:17 +01:00
Github Actions 039b5ec932 [CI Skip] 2.7.0-beta.5
skip-checks: true
2020-03-16 14:35:40 +00:00
Jaco Greeff 9eea21e0c4 Add yarn matrix (#570)
* Add yarn matrix

* Update pr-any.yml
2020-03-16 15:32:59 +01:00
Github Actions aab533f92e [CI Skip] 2.7.0-beta.4
skip-checks: true
2020-03-16 13:36:21 +00:00
Jaco Greeff 2159270d80 Remove actions matrix (#569)
* Remove actions matrix

* Bumps
2020-03-16 14:33:27 +01:00
Github Actions f1b09eb2e5 [CI Skip] 2.7.0-beta.3
skip-checks: true
2020-03-15 07:21:01 +00:00
Jaco Greeff d08cf8b5fe Remove non-working CI cache (#567) 2020-03-15 08:18:04 +01:00
Github Actions 941618b830 [CI Skip] 2.7.0-beta.2
skip-checks: true
2020-03-14 08:31:56 +00:00
Jaco Greeff 983ca718ec Bump deps (#566) 2020-03-14 09:28:16 +01:00
Github Actions 41ebdd5c59 [CI Skip] 2.7.0-beta.1
skip-checks: true
2020-03-11 06:46:07 +00:00
Jaco Greeff 8971c89081 Back to preminor (#565) 2020-03-11 07:42:45 +01:00
18 changed files with 1399 additions and 1184 deletions
+7 -99
View File
@@ -2,112 +2,20 @@ name: PR
on: [pull_request]
jobs:
lint:
name: Linting
runs-on: ubuntu-latest
pr:
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Config yarn cache
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v1
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: lint
run: |
yarn install --immutable | grep -v 'YN0013'
yarn lint
test:
name: Testing
step: ['lint', 'test', 'build', 'docs']
name: ${{ matrix.step }}
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
- uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Config yarn cache
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v1
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: test
node-version: '12.x'
- name: ${{ matrix.step }}
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
run: |
yarn install --immutable | grep -v 'YN0013'
yarn test
build_code:
name: Build Code
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Config yarn cache
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v1
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: build
run: |
yarn install --immutable | grep -v 'YN0013'
yarn build
build_docs:
name: Build Docs
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Config yarn cache
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v1
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: build
run: |
yarn install --immutable | grep -v 'YN0013'
yarn docs
yarn ${{ matrix.step }}
+10 -56
View File
@@ -5,82 +5,36 @@ on:
- master
jobs:
build_code:
name: Build Code
if: "! contains(github.event.head_commit.message, '[CI Skip]')"
runs-on: ubuntu-latest
master:
strategy:
matrix:
node-version: [12.x]
step: ['build:release', 'docs:release']
name: ${{ matrix.step }}
if: "! contains(github.event.head_commit.message, '[CI Skip]')"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
token: ${{ secrets.GH_PAT }}
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
- uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Config yarn cache
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v1
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: build
node-version: '12.x'
- name: ${{ matrix.step }}
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
GH_PAGES_SRC: build-docs
GH_PAT: ${{ secrets.GH_PAT }}
GH_TOKEN: ${{ secrets.GH_PAT }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
yarn install --immutable | grep -v 'YN0013'
yarn polkadot-ci-ghact-build
build_docs:
name: Build Docs
if: "! contains(github.event.head_commit.message, '[CI Skip]')"
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Config yarn cache
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v1
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: build
env:
GH_PAT: ${{ secrets.GH_PAT }}
GH_TOKEN: ${{ secrets.GH_PAT }}
GH_PAGES_SRC: build-docs
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
yarn install --immutable | grep -v 'YN0013'
yarn polkadot-ci-ghact-docs
yarn ${{ matrix.step }}
dummy:
name: Dummy
if: "contains(github.event.head_commit.message, '[CI Skip]')"
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- name: dummy
run: |
-58
View File
File diff suppressed because one or more lines are too long
Vendored Executable
+50
View File
File diff suppressed because one or more lines are too long
+2 -1
View File
@@ -1,4 +1,5 @@
enableImmutableInstalls: false
enableProgressBars: false
nodeLinker: node-modules
@@ -7,4 +8,4 @@ plugins:
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.js
spec: "@yarnpkg/plugin-interactive-tools"
yarnPath: .yarn/releases/yarn-berry.js
yarnPath: .yarn/releases/yarn-rc.js
+6
View File
@@ -1,3 +1,9 @@
# 2.7.1 Mar 31, 2020
- Add `bnSqrt` to calculate the integer sqrt via Newton iteration
- Allow for optional wasm-crypto, specifically via `@polkadot/util-crypto/noWasm`
- Misc. CI infrastructure cleanups
# 2.6.1 Feb 29, 2020
- **Breaking change** Following on the 2.0 release, `@polkadot/wasm` was updated to 1.1+. sr25510 now only verifies 0.8+ signatures, closing the loop on dropping Substrate 1.x-era support
+1 -1
View File
@@ -9,5 +9,5 @@
"packages": [
"packages/*"
],
"version": "2.6.2"
"version": "2.7.1"
}
+6 -3
View File
@@ -11,7 +11,9 @@
},
"scripts": {
"build": "polkadot-dev-build-ts",
"build:release": "polkadot-ci-ghact-build",
"docs": "polkadot-dev-build-docs",
"docs:release": "polkadot-ci-ghact-docs",
"lint": "polkadot-dev-run-lint",
"clean": "polkadot-dev-clean-build",
"postinstall": "polkadot-dev-yarn-only",
@@ -19,8 +21,9 @@
"test:one": "polkadot-dev-run-test"
},
"devDependencies": {
"@babel/core": "^7.8.7",
"@polkadot/dev": "^0.50.30",
"@polkadot/ts": "^0.3.7"
"@babel/core": "^7.9.0",
"@polkadot/dev": "^0.51.9",
"@polkadot/ts": "^0.3.14",
"@types/jest": "^25.1.4"
}
}
+4 -4
View File
@@ -1,6 +1,6 @@
{
"name": "@polkadot/keyring",
"version": "2.6.2",
"version": "2.7.1",
"description": "Keyring management",
"main": "index.js",
"publishConfig": {
@@ -27,8 +27,8 @@
},
"homepage": "https://github.com/polkadot-js/common/tree/master/packages/keyring#readme",
"dependencies": {
"@babel/runtime": "^7.8.7",
"@polkadot/util": "2.6.2",
"@polkadot/util-crypto": "2.6.2"
"@babel/runtime": "^7.9.2",
"@polkadot/util": "2.7.1",
"@polkadot/util-crypto": "2.7.1"
}
}
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@polkadot/util-crypto",
"version": "2.6.2",
"version": "2.7.1",
"description": "A collection of useful crypto utilities for @polkadot",
"main": "index.js",
"keywords": [
@@ -25,8 +25,8 @@
},
"homepage": "https://github.com/polkadot-js/common/tree/master/packages/util-crypto#readme",
"dependencies": {
"@babel/runtime": "^7.8.7",
"@polkadot/util": "2.6.2",
"@babel/runtime": "^7.9.2",
"@polkadot/util": "2.7.1",
"@polkadot/wasm-crypto": "^1.2.1",
"base-x": "^3.0.8",
"bip39": "^3.0.2",
+13
View File
@@ -0,0 +1,13 @@
// Copyright 2017-2020 @polkadot/util-crypto authors & contributors
// This software may be modified and distributed under the terms
// of the Apache-2.0 license. See the LICENSE file for details.
export function isReady (): boolean {
// always false, when true it will try and use non-existent functions
return false;
}
export function waitReady (): Promise<boolean> {
// always immediate true, our process is done
return Promise.resolve(true);
}
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@polkadot/util",
"version": "2.6.2",
"version": "2.7.1",
"description": "A collection of useful utilities for @polkadot",
"main": "index.js",
"keywords": [
@@ -25,7 +25,7 @@
},
"homepage": "https://github.com/polkadot-js/common/tree/master/packages/util#readme",
"dependencies": {
"@babel/runtime": "^7.8.7",
"@babel/runtime": "^7.9.2",
"@types/bn.js": "^4.11.6",
"bn.js": "^5.1.1",
"camelcase": "^5.3.1",
+1
View File
@@ -9,6 +9,7 @@
export { default as bnFromHex } from './fromHex';
export { default as bnMax } from './max';
export { default as bnMin } from './min';
export { default as bnSqrt } from './sqrt';
export { default as bnToBn } from './toBn';
export { default as bnToHex } from './toHex';
export { default as bnToU8a } from './toU8a';
+3 -3
View File
@@ -7,16 +7,16 @@ import BN from 'bn.js';
import assert from '../assert';
/**
* @name max
* @name bnMax
* @summary Finds and returns the highest value in an array of BNs.
* @example
* <BR>
*
* ```javascript
* import BN from 'bn.js';
* import { max } from '@polkadot/util';
* import { bnMax } from '@polkadot/util';
*
* max([new BN(1), new BN(3), new BN(2)]).toString(); // => '3'
* bnMax([new BN(1), new BN(3), new BN(2)]).toString(); // => '3'
* ```
*/
export default function max (...items: BN[]): BN {
+3 -3
View File
@@ -7,16 +7,16 @@ import BN from 'bn.js';
import assert from '../assert';
/**
* @name min
* @name bnMin
* @summary Finds and returns the smallest value in an array of BNs.
* @example
* <BR>
*
* ```javascript
* import BN from 'bn.js';
* import { min } from '@polkadot/util';
* import { bnMin } from '@polkadot/util';
*
* min([new BN(1), new BN(3), new BN(2)]).toString(); // => '1'
* bnMin([new BN(1), new BN(3), new BN(2)]).toString(); // => '1'
* ```
*/
export default function min (...items: BN[]): BN {
+33
View File
@@ -0,0 +1,33 @@
// Copyright 2017-2020 @polkadot/util 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 BN from 'bn.js';
import { bnSqrt } from '.';
describe('bnSqrt', (): void => {
it('fails on < 0 roots', (): void => {
expect(
() => bnSqrt(new BN(-1))
).toThrow(/negative numbers is not supported/);
});
it('finds the sqrt (exact)', (): void => {
expect(
bnSqrt(new BN(256).mul(new BN(256)))
).toEqual(new BN(256));
});
it('finds the sqrt (round)', (): void => {
expect(
bnSqrt(new BN(266))
).toEqual(new BN(16));
});
it('find the sqrt for 1', (): void => {
expect(
bnSqrt(new BN(1))
).toEqual(new BN(1));
});
});
+39
View File
@@ -0,0 +1,39 @@
// Copyright 2017-2020 @polkadot/util 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 BN from 'bn.js';
import assert from '../assert';
// https://golb.hplar.ch/2018/09/javascript-bigint.html
function newtonIteration (n: BN, x0: BN): BN {
const x1 = n.div(x0).add(x0).shrn(1);
if (x0.eq(x1) || x0.eq(x1.subn(1))) {
return x0;
}
return newtonIteration(n, x1);
}
/**
* @name bnSqrt
* @summary Calculates the integer square root of a BN
* @example
* <BR>
*
* ```javascript
* import BN from 'bn.js';
* import { bnSqrt } from '@polkadot/util';
*
* bnSqrt(new BN(16)).toString(); // => '4'
* ```
*/
export default function sqrt (value: BN): BN {
assert(value.gten(0), 'square root of negative numbers is not supported');
return value.ltn(2)
? value
: newtonIteration(value, new BN(1));
}
+1216 -951
View File
File diff suppressed because it is too large Load Diff