Compare commits

..
4 Commits
Author SHA1 Message Date
Github Actions 8221576d25 [CI Skip] release/stable 7.1.1
skip-checks: true
2021-08-02 08:41:20 +00:00
Jaco 1f9d36d4db 7.1.1 (#1073) 2021-08-02 10:32:37 +02:00
Github Actions b292f2ae1d [CI Skip] release/beta 7.0.4-0
skip-checks: true
2021-08-02 04:26:52 +00:00
Song ZhouandJaco 7eddfc25c9 Add in ability to encrypt/decrypt msg with keyring (#1070)
* feat: able to encrypt & decrypt message in keyring - ed25519 & sr25519 types

* chore: make eslint happy

* test: add in one more test on cross-usage of ed25519 & sr25519

* make lint happy without eslint-disable

* assert away secp256k1 for encrypt/decrypt

* Update packages/keyring/src/pair/index.ts

* Update packages/keyring/src/pair/index.ts

Co-authored-by: Jaco <jacogr@gmail.com>
2021-08-02 06:18:58 +02:00
35 changed files with 314 additions and 133 deletions
+11
View File
@@ -1,5 +1,16 @@
# CHANGELOG
## 7.1.1 Aug 2, 2021
Contributed:
- Add keyring encrypt/decrypt functionality (Thanks to https://github.com/RoyTimes)
Changes:
- Bump Ledger libraries to latest versions
## 7.0.3 Jul 26, 2021
Changes:
+2 -1
View File
@@ -26,7 +26,8 @@
"@babel/core": "^7.14.8",
"@polkadot/dev": "^0.62.57",
"@polkadot/ts": "^0.4.4",
"@types/ed2curve": "^0.2.2",
"@types/jest": "^26.0.24"
},
"version": "7.0.3"
"version": "7.1.1"
}
+5 -5
View File
@@ -1,6 +1,6 @@
{
"name": "@polkadot/hw-ledger-transports",
"version": "7.0.3",
"version": "7.1.1",
"type": "module",
"repository": "github:polkadot-js/common",
"author": "Jaco Greeff <jacogr@gmail.com>",
@@ -16,11 +16,11 @@
},
"dependencies": {
"@babel/runtime": "^7.14.8",
"@ledgerhq/hw-transport": "^6.2.0",
"@ledgerhq/hw-transport-webhid": "^6.2.0",
"@ledgerhq/hw-transport-webusb": "^6.2.0"
"@ledgerhq/hw-transport": "^6.3.0",
"@ledgerhq/hw-transport-webhid": "^6.3.0",
"@ledgerhq/hw-transport-webusb": "^6.3.0"
},
"optionalDependencies": {
"@ledgerhq/hw-transport-node-hid-singleton": "^6.2.0"
"@ledgerhq/hw-transport-node-hid-singleton": "^6.3.0"
}
}
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/hw-ledger-transports', version: '7.0.3' };
export const packageInfo = { name: '@polkadot/hw-ledger-transports', version: '7.1.1' };
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@polkadot/hw-ledger",
"version": "7.0.3",
"version": "7.1.1",
"type": "module",
"repository": "github:polkadot-js/common",
"author": "Jaco Greeff <jacogr@gmail.com>",
@@ -17,8 +17,8 @@
},
"dependencies": {
"@babel/runtime": "^7.14.8",
"@polkadot/hw-ledger-transports": "7.0.3",
"@polkadot/util": "^7.0.3",
"@polkadot/hw-ledger-transports": "7.1.1",
"@polkadot/util": "^7.1.1",
"@zondax/ledger-substrate": "^0.17.3"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/hw-ledger', version: '7.0.3' };
export const packageInfo = { name: '@polkadot/hw-ledger', version: '7.1.1' };
+5 -5
View File
@@ -1,6 +1,6 @@
{
"name": "@polkadot/keyring",
"version": "7.0.3",
"version": "7.1.1",
"type": "module",
"description": "Keyring management",
"author": "Jaco Greeff <jacogr@gmail.com>",
@@ -20,11 +20,11 @@
"homepage": "https://github.com/polkadot-js/common/tree/master/packages/keyring#readme",
"dependencies": {
"@babel/runtime": "^7.14.8",
"@polkadot/util": "7.0.3",
"@polkadot/util-crypto": "7.0.3"
"@polkadot/util": "7.1.1",
"@polkadot/util-crypto": "7.1.1"
},
"peerDependencies": {
"@polkadot/util": "7.0.3",
"@polkadot/util-crypto": "7.0.3"
"@polkadot/util": "7.1.1",
"@polkadot/util-crypto": "7.1.1"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/keyring', version: '7.0.3' };
export const packageInfo = { name: '@polkadot/keyring', version: '7.1.1' };
+109 -1
View File
@@ -18,6 +18,10 @@ describe('pair', (): void => {
});
const SIGNATURE = new Uint8Array([80, 191, 198, 147, 225, 207, 75, 88, 126, 39, 129, 109, 191, 38, 72, 181, 75, 254, 81, 143, 244, 79, 237, 38, 236, 141, 28, 252, 134, 26, 169, 234, 79, 33, 153, 158, 151, 34, 175, 188, 235, 20, 35, 135, 83, 120, 139, 211, 233, 130, 1, 208, 201, 215, 73, 80, 56, 98, 185, 196, 11, 8, 193, 14]);
const ENCRYPTED = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 59, 53, 85, 227, 40, 107, 48, 234, 198, 238, 157, 238, 224, 235, 179, 75, 153, 241, 142, 254]);
// the last byte is changed from 254 -> 253
const ENCRYPTED_CHANGED = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 59, 53, 85, 227, 40, 107, 48, 234, 198, 238, 157, 238, 224, 235, 179, 75, 153, 241, 142, 253]);
it('has a publicKey', (): void => {
expect(
@@ -53,7 +57,7 @@ describe('pair', (): void => {
it('fails a correctly signed message (signer changed)', (): void => {
expect(
keyring.alice.verify(
new Uint8Array([0x61, 0x62, 0x63, 0x64, 0x65]),
new Uint8Array([0x61, 0x62, 0x63, 0x64]),
SIGNATURE,
keyring.bob.publicKey
)
@@ -94,6 +98,93 @@ describe('pair', (): void => {
).toBe(false);
});
it('allows encrypting', (): void => {
const message = new Uint8Array([0x61, 0x62, 0x63, 0x64, 0x65]);
expect(
keyring.alice.encryptMessage(
message,
keyring.bob.publicKey,
new Uint8Array(24)
)
).toEqual(ENCRYPTED);
});
it('validates a correctly encrypted message', (): void => {
const message = new Uint8Array([0x61, 0x62, 0x63, 0x64, 0x65]);
expect(
keyring.bob.decryptMessage(
ENCRYPTED,
keyring.alice.publicKey
)
).toEqual(message);
});
it('fails a correctly encrypted message (message changed)', (): void => {
expect(
keyring.bob.decryptMessage(
ENCRYPTED_CHANGED,
keyring.alice.publicKey
)
).toEqual(null);
});
it('fails a correctly encrypted message (sender changed)', (): void => {
expect(
keyring.bob.decryptMessage(
ENCRYPTED,
keyring.charlie.publicKey
)
).toEqual(null);
});
it('fails a correctly encrypted message (receiver changed)', (): void => {
expect(
keyring.charlie.decryptMessage(
ENCRYPTED,
keyring.alice.publicKey
)
).toEqual(null);
});
it('validates encryption between ed25519 & sr25519 key pairs', (): void => {
const PASS = 'testing';
const encodedA = keyring.alice.encodePkcs8(PASS);
const encodedB = keyring.bob.encodePkcs8(PASS);
const pairA = createPair({ toSS58, type: 'sr25519' }, { publicKey: keyring.alice.publicKey });
const pairB = createPair({ toSS58, type: 'sr25519' }, { publicKey: keyring.bob.publicKey });
pairA.decodePkcs8(PASS, encodedA);
pairB.decodePkcs8(PASS, encodedB);
const message = new Uint8Array([0x61, 0x62, 0x63, 0x64, 0x65]);
// alice-sr25519 -> bob-ed25519
const encrypted1 = pairA.encryptMessage(message, keyring.bob.publicKey);
// alice-sr25519 -> bob-sr25519
const encrypted2 = pairA.encryptMessage(message, pairB.publicKey);
// alice-ed25519 -> bob-sr25519
const encrypted3 = keyring.alice.encryptMessage(message, pairB.publicKey);
// decrypt: Bob-ed25519 - use alice-ed25519 pubkey
expect(
keyring.bob.decryptMessage(encrypted3, keyring.alice.publicKey)
).toEqual(message);
// decrypt: Bob-ed25519 - use alice-sr25519 pubkey
expect(
keyring.bob.decryptMessage(encrypted1, pairA.publicKey)
).toEqual(message);
// decrypt: Bob-sr25519 - use alice-sr25519 pubkey
expect(
pairB.decryptMessage(encrypted2, pairA.publicKey)
).toEqual(message);
});
it('allows setting/getting of meta', (): void => {
keyring.bob.setMeta({ foo: 'bar', something: 'else' });
@@ -183,5 +274,22 @@ describe('pair', (): void => {
});
expect(json.address).toEqual(u8aToHex(PUBLICDERIVED));
});
it('denies access to encryptMessage/decryptMessage API', (): void => {
const PASS = 'testing';
const encoded = keyring.alice.encodePkcs8(PASS);
const pair = createPair({ toSS58, type: 'ethereum' }, { publicKey: keyring.alice.publicKey });
pair.decodePkcs8(PASS, encoded);
expect(
() => pair.encryptMessage(
new Uint8Array(4), // null message
keyring.bob.publicKey,
new Uint8Array(24)
)
).toThrow('Secp256k1 not supported yet');
});
});
});
+20 -1
View File
@@ -7,7 +7,7 @@ import type { KeyringPair, KeyringPair$Json, KeyringPair$Meta, SignOptions } fro
import type { PairInfo } from './types';
import { assert, u8aConcat, u8aEq, u8aToHex, u8aToU8a } from '@polkadot/util';
import { blake2AsU8a, ethereumEncode, keccakAsU8a, keyExtractPath, keyFromPath, naclKeypairFromSeed as naclFromSeed, naclSign, schnorrkelKeypairFromSeed as schnorrkelFromSeed, schnorrkelSign, schnorrkelVrfSign, schnorrkelVrfVerify, secp256k1Compress, secp256k1Expand, secp256k1KeypairFromSeed as secp256k1FromSeed, secp256k1Sign, signatureVerify } from '@polkadot/util-crypto';
import { blake2AsU8a, convertPublicKeyToCurve25519, convertSecretKeyToCurve25519, ethereumEncode, keccakAsU8a, keyExtractPath, keyFromPath, naclKeypairFromSeed as naclFromSeed, naclOpen, naclSeal, naclSign, schnorrkelKeypairFromSeed as schnorrkelFromSeed, schnorrkelSign, schnorrkelVrfSign, schnorrkelVrfVerify, secp256k1Compress, secp256k1Expand, secp256k1KeypairFromSeed as secp256k1FromSeed, secp256k1Sign, signatureVerify } from '@polkadot/util-crypto';
import { decodePair } from './decode';
import { encodePair } from './encode';
@@ -145,6 +145,17 @@ export function createPair ({ toSS58, type }: Setup, { publicKey, secretKey }: P
},
// eslint-disable-next-line sort-keys
decodePkcs8,
decryptMessage: (encryptedMessageWithNonce: string | Uint8Array, senderPublicKey: string | Uint8Array): Uint8Array | null => {
assert(!isLocked(secretKey), 'Cannot encrypt with a locked key pair');
assert(!['ecdsa', 'ethereum'].includes(type), 'Secp256k1 not supported yet');
return naclOpen(
u8aToU8a(encryptedMessageWithNonce.slice(24, encryptedMessageWithNonce.length)),
u8aToU8a(encryptedMessageWithNonce.slice(0, 24)),
convertPublicKeyToCurve25519(u8aToU8a(senderPublicKey)),
convertSecretKeyToCurve25519(secretKey)
);
},
derive: (suri: string, meta?: KeyringPair$Meta): KeyringPair => {
assert(type !== 'ethereum', 'Unable to derive on this keypair');
assert(!isLocked(secretKey), 'Cannot derive on a locked keypair');
@@ -157,6 +168,14 @@ export function createPair ({ toSS58, type }: Setup, { publicKey, secretKey }: P
encodePkcs8: (passphrase?: string): Uint8Array => {
return recode(passphrase);
},
encryptMessage: (message: string | Uint8Array, recipientPublicKey: string | Uint8Array, _nonce?: Uint8Array): Uint8Array => {
assert(!isLocked(secretKey), 'Cannot encrypt with a locked key pair');
assert(!['ecdsa', 'ethereum'].includes(type), 'Secp256k1 not supported yet');
const { nonce, sealed } = naclSeal(u8aToU8a(message), convertSecretKeyToCurve25519(secretKey), convertPublicKeyToCurve25519(u8aToU8a(recipientPublicKey)), _nonce);
return u8aConcat(nonce, sealed);
},
lock: (): void => {
secretKey = new Uint8Array();
},
+6
View File
@@ -30,11 +30,17 @@ export function nobody (): KeyringPair {
decodePkcs8: (passphrase?: string, encoded?: Uint8Array): void =>
undefined,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
decryptMessage: (encryptedMessageWithNonce: string | Uint8Array, senderPublicKey: string | Uint8Array): Uint8Array | null =>
null,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
derive: (suri: string, meta?: KeyringPair$Meta): KeyringPair =>
pair,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
encodePkcs8: (passphrase?: string): Uint8Array =>
new Uint8Array(0),
// eslint-disable-next-line @typescript-eslint/no-unused-vars
encryptMessage: (message: string | Uint8Array, recipientPublicKey: string | Uint8Array, _nonce?: Uint8Array): Uint8Array =>
new Uint8Array(),
isLocked: true,
lock: (): void => {
// no locking, it is always locked
+2
View File
@@ -37,6 +37,8 @@ export interface KeyringPair {
sign (message: string | Uint8Array, options?: SignOptions): Uint8Array;
toJson (passphrase?: string): KeyringPair$Json;
unlock (passphrase?: string): void;
encryptMessage (message: string | Uint8Array, recipientPublicKey: string | Uint8Array, nonce?: Uint8Array): Uint8Array;
decryptMessage (encryptedMessageWithNonce: string | Uint8Array, senderPublicKey: string | Uint8Array): Uint8Array | null;
verify (message: string | Uint8Array, signature: Uint8Array, signerPublic: string | Uint8Array): boolean;
vrfSign (message: string | Uint8Array, context?: string | Uint8Array, extra?: string | Uint8Array): Uint8Array;
vrfVerify (message: string | Uint8Array, vrfResult: Uint8Array, signerPublic: Uint8Array | string, context?: string | Uint8Array, extra?: string | Uint8Array): boolean;
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@polkadot/networks",
"version": "7.0.3",
"version": "7.1.1",
"type": "module",
"description": "A list of all available Substrate networks and their applicable prefixes",
"main": "index.js",
@@ -19,7 +19,7 @@
"@babel/runtime": "^7.14.8"
},
"devDependencies": {
"@polkadot/util": "7.0.3",
"@polkadot/x-fetch": "7.0.3"
"@polkadot/util": "7.1.1",
"@polkadot/x-fetch": "7.1.1"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/networks', version: '7.0.3' };
export const packageInfo = { name: '@polkadot/networks', version: '7.1.1' };
+6 -5
View File
@@ -1,6 +1,6 @@
{
"name": "@polkadot/util-crypto",
"version": "7.0.3",
"version": "7.1.1",
"type": "module",
"description": "A collection of useful crypto utilities for @polkadot",
"main": "index.js",
@@ -22,15 +22,16 @@
"homepage": "https://github.com/polkadot-js/common/tree/master/packages/util-crypto#readme",
"dependencies": {
"@babel/runtime": "^7.14.8",
"@polkadot/networks": "7.0.3",
"@polkadot/util": "7.0.3",
"@polkadot/networks": "7.1.1",
"@polkadot/util": "7.1.1",
"@polkadot/wasm-crypto": "^4.1.2",
"@polkadot/x-randomvalues": "7.0.3",
"@polkadot/x-randomvalues": "7.1.1",
"base-x": "^3.0.8",
"base64-js": "^1.5.1",
"blakejs": "^1.1.1",
"bn.js": "^4.11.9",
"create-hash": "^1.2.0",
"ed2curve": "^0.3.0",
"elliptic": "^6.5.4",
"hash.js": "^1.1.7",
"js-sha3": "^0.8.0",
@@ -46,6 +47,6 @@
"@types/xxhashjs": "^0.2.2"
},
"peerDependencies": {
"@polkadot/util": "7.0.3"
"@polkadot/util": "7.1.1"
}
}
@@ -0,0 +1,12 @@
// Copyright 2017-2021 @polkadot/util-crypto authors & contributors
// SPDX-License-Identifier: Apache-2.0
import ed2curve from 'ed2curve';
export function convertSecretKeyToCurve25519 (secretKey: Uint8Array): Uint8Array {
return ed2curve.convertSecretKey(secretKey);
}
export function convertPublicKeyToCurve25519 (publicKey: Uint8Array): Uint8Array {
return ed2curve.convertPublicKey(publicKey) as Uint8Array;
}
+1
View File
@@ -15,3 +15,4 @@ export { naclVerify } from './verify';
export { naclBoxKeypairFromSecret } from './box/fromSecret';
export { naclOpen } from './open';
export { naclSeal } from './seal';
export { convertSecretKeyToCurve25519, convertPublicKeyToCurve25519 } from './convertKey';
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/util-crypto', version: '7.0.3' };
export const packageInfo = { name: '@polkadot/util-crypto', version: '7.1.1' };
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@polkadot/util",
"version": "7.0.3",
"version": "7.1.1",
"type": "module",
"description": "A collection of useful utilities for @polkadot",
"main": "index.js",
@@ -20,8 +20,8 @@
"homepage": "https://github.com/polkadot-js/common/tree/master/packages/util#readme",
"dependencies": {
"@babel/runtime": "^7.14.8",
"@polkadot/x-textdecoder": "7.0.3",
"@polkadot/x-textencoder": "7.0.3",
"@polkadot/x-textdecoder": "7.1.1",
"@polkadot/x-textencoder": "7.1.1",
"@types/bn.js": "^4.11.6",
"bn.js": "^4.11.9",
"camelcase": "^5.3.1",
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/util', version: '7.0.3' };
export const packageInfo = { name: '@polkadot/util', version: '7.1.1' };
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@polkadot/x-bundle",
"version": "7.0.3",
"version": "7.1.1",
"type": "module",
"description": "A bundler helper",
"main": "index.js",
@@ -17,7 +17,7 @@
"homepage": "https://github.com/polkadot-js/common/tree/master/packages/x-bundle#readme",
"dependencies": {
"@babel/runtime": "^7.14.8",
"@polkadot/util": "^7.0.3",
"@polkadot/util": "^7.1.1",
"buffer-es6": "^4.9.3"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/x-bundle', version: '7.0.3' };
export const packageInfo = { name: '@polkadot/x-bundle', version: '7.1.1' };
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@polkadot/x-fetch",
"version": "7.0.3",
"version": "7.1.1",
"type": "module",
"description": "A cross-environment fetch replacement",
"browser": "browser.js",
@@ -19,7 +19,7 @@
"homepage": "https://github.com/polkadot-js/common/tree/master/packages/x-fetch#readme",
"dependencies": {
"@babel/runtime": "^7.14.8",
"@polkadot/x-global": "7.0.3",
"@polkadot/x-global": "7.1.1",
"@types/node-fetch": "^2.5.12",
"node-fetch": "^2.6.1"
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/x-fetch', version: '7.0.3' };
export const packageInfo = { name: '@polkadot/x-fetch', version: '7.1.1' };
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@polkadot/x-global",
"version": "7.0.3",
"version": "7.1.1",
"type": "module",
"description": "A cross-environment global replacement",
"main": "index.js",
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/x-global', version: '7.0.3' };
export const packageInfo = { name: '@polkadot/x-global', version: '7.1.1' };
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@polkadot/x-randomvalues",
"version": "7.0.3",
"version": "7.1.1",
"type": "module",
"description": "A cross-environment window.crypto.getRandomValues replacement",
"browser": "browser.js",
@@ -19,7 +19,7 @@
"homepage": "https://github.com/polkadot-js/common/tree/master/packages/x-randomvalues#readme",
"dependencies": {
"@babel/runtime": "^7.14.8",
"@polkadot/x-global": "7.0.3"
"@polkadot/x-global": "7.1.1"
},
"devDependencies": {
"@types/react-native": "^0.64.12"
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/x-randomvalues', version: '7.0.3' };
export const packageInfo = { name: '@polkadot/x-randomvalues', version: '7.1.1' };
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@polkadot/x-textdecoder",
"version": "7.0.3",
"version": "7.1.1",
"type": "module",
"description": "A TextDecoder replacement",
"browser": "browser.js",
@@ -19,6 +19,6 @@
"homepage": "https://github.com/polkadot-js/common/tree/master/packages/x-textdecoder#readme",
"dependencies": {
"@babel/runtime": "^7.14.8",
"@polkadot/x-global": "7.0.3"
"@polkadot/x-global": "7.1.1"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/x-textdecoder', version: '7.0.3' };
export const packageInfo = { name: '@polkadot/x-textdecoder', version: '7.1.1' };
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@polkadot/x-textencoder",
"version": "7.0.3",
"version": "7.1.1",
"type": "module",
"description": "A TextDecoder replacement",
"browser": "browser.js",
@@ -19,6 +19,6 @@
"homepage": "https://github.com/polkadot-js/common/tree/master/packages/x-textencoder#readme",
"dependencies": {
"@babel/runtime": "^7.14.8",
"@polkadot/x-global": "7.0.3"
"@polkadot/x-global": "7.1.1"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/x-textencoder', version: '7.0.3' };
export const packageInfo = { name: '@polkadot/x-textencoder', version: '7.1.1' };
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@polkadot/x-ws",
"version": "7.0.3",
"version": "7.1.1",
"type": "module",
"description": "A cross-environment WebSocket replacement",
"browser": "browser.js",
@@ -19,8 +19,8 @@
"homepage": "https://github.com/polkadot-js/common/tree/master/packages/x-ws#readme",
"dependencies": {
"@babel/runtime": "^7.14.8",
"@polkadot/x-global": "7.0.3",
"@types/websocket": "^1.0.3",
"@polkadot/x-global": "7.1.1",
"@types/websocket": "^1.0.4",
"websocket": "^1.0.34"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Auto-generated by @polkadot/dev, do not edit
export const packageInfo = { name: '@polkadot/x-ws', version: '7.0.3' };
export const packageInfo = { name: '@polkadot/x-ws', version: '7.1.1' };
+99 -79
View File
@@ -1683,15 +1683,15 @@ __metadata:
languageName: node
linkType: hard
"@ledgerhq/devices@npm:^6.2.0":
version: 6.2.0
resolution: "@ledgerhq/devices@npm:6.2.0"
"@ledgerhq/devices@npm:^6.3.0":
version: 6.3.0
resolution: "@ledgerhq/devices@npm:6.3.0"
dependencies:
"@ledgerhq/errors": ^6.2.0
"@ledgerhq/logs": ^6.2.0
rxjs: 6
semver: ^7.3.5
checksum: da32372433ec4826d475e0e6ffde350aa6bcf0904da7cbfa3fa6ed4aa971b46c5928e96e00c7db089ceaab1b449d60dc7cfd5370e2cd292173277bbc6f425e6d
checksum: 44034e63fc90e5eadfc459009c7ea62fa83c92cbc5d9e1a19d134971c796fc0fff8d2d952bd9da2c7ef451ec4349c856f60784d735b60d6d0cec3043fc1373dd
languageName: node
linkType: hard
@@ -1702,67 +1702,67 @@ __metadata:
languageName: node
linkType: hard
"@ledgerhq/hw-transport-node-hid-noevents@npm:^6.2.0":
version: 6.2.0
resolution: "@ledgerhq/hw-transport-node-hid-noevents@npm:6.2.0"
"@ledgerhq/hw-transport-node-hid-noevents@npm:^6.3.0":
version: 6.3.0
resolution: "@ledgerhq/hw-transport-node-hid-noevents@npm:6.3.0"
dependencies:
"@ledgerhq/devices": ^6.2.0
"@ledgerhq/devices": ^6.3.0
"@ledgerhq/errors": ^6.2.0
"@ledgerhq/hw-transport": ^6.2.0
"@ledgerhq/hw-transport": ^6.3.0
"@ledgerhq/logs": ^6.2.0
node-hid: 2.1.1
checksum: 34ce301e33827d84eb3ec29fea7cd6fa2dae6ace2483f0b69232832001558ac20548ab981d040eeb22a049cf716add2be4d2929e9918a34a78b7e0dc02c516dd
checksum: ecb8b05b9d70f358bb8d6c9d1c22a3ef6d82f1d54a865998c94d34c77356589661a9a78e899ce31ae45ccd83bc58a4be5a9789437796368b5af2b1066c6387eb
languageName: node
linkType: hard
"@ledgerhq/hw-transport-node-hid-singleton@npm:^6.2.0":
version: 6.2.0
resolution: "@ledgerhq/hw-transport-node-hid-singleton@npm:6.2.0"
"@ledgerhq/hw-transport-node-hid-singleton@npm:^6.3.0":
version: 6.3.0
resolution: "@ledgerhq/hw-transport-node-hid-singleton@npm:6.3.0"
dependencies:
"@ledgerhq/devices": ^6.2.0
"@ledgerhq/devices": ^6.3.0
"@ledgerhq/errors": ^6.2.0
"@ledgerhq/hw-transport": ^6.2.0
"@ledgerhq/hw-transport-node-hid-noevents": ^6.2.0
"@ledgerhq/hw-transport": ^6.3.0
"@ledgerhq/hw-transport-node-hid-noevents": ^6.3.0
"@ledgerhq/logs": ^6.2.0
lodash: ^4.17.21
node-hid: 2.1.1
usb-detection: ^4.10.0
checksum: a710ce9f7b9aa2d3436d669a41a51737f2045ea89863a936423c46c8513352e7d971b172b7d6c23d78fd2f157fc20ddd4a51af363defbf129d029f54c00cef3d
checksum: a8a2284f33ef3b6eb1210e45f91dc8fc4edd1036b59d7f8abe9a141f1792489e3a31a49f1883f882778ac72f43a81a560cdf6db3faa9848d9f6a10f2b1a17da1
languageName: node
linkType: hard
"@ledgerhq/hw-transport-webhid@npm:^6.2.0":
version: 6.2.0
resolution: "@ledgerhq/hw-transport-webhid@npm:6.2.0"
"@ledgerhq/hw-transport-webhid@npm:^6.3.0":
version: 6.3.0
resolution: "@ledgerhq/hw-transport-webhid@npm:6.3.0"
dependencies:
"@ledgerhq/devices": ^6.2.0
"@ledgerhq/devices": ^6.3.0
"@ledgerhq/errors": ^6.2.0
"@ledgerhq/hw-transport": ^6.2.0
"@ledgerhq/hw-transport": ^6.3.0
"@ledgerhq/logs": ^6.2.0
checksum: 5a6a146a11540ffcfa55ed09a1187152e5b043370dbc839eaf23eebbc98d0679136c56e859c2cca46da2c147d47ccc22e0aca4fd7c95402c5fe1ba268004b515
checksum: 45b422af8a5e14f503a53e3a275c202631d1a21b190a3ad9707c47272073d6347309502666e4893c9cc210d801acfe4d55a0403b36f510748bd15c63171031a0
languageName: node
linkType: hard
"@ledgerhq/hw-transport-webusb@npm:^6.2.0":
version: 6.2.0
resolution: "@ledgerhq/hw-transport-webusb@npm:6.2.0"
"@ledgerhq/hw-transport-webusb@npm:^6.3.0":
version: 6.3.0
resolution: "@ledgerhq/hw-transport-webusb@npm:6.3.0"
dependencies:
"@ledgerhq/devices": ^6.2.0
"@ledgerhq/devices": ^6.3.0
"@ledgerhq/errors": ^6.2.0
"@ledgerhq/hw-transport": ^6.2.0
"@ledgerhq/hw-transport": ^6.3.0
"@ledgerhq/logs": ^6.2.0
checksum: 711857f9034a098060538034c03e73add93a96752fcb021deac8877a1e3b3ad737212c2ab07e6a193f137c68c2177b2e16f8fb3ee859527c3479a11ae3bf0f9a
checksum: d0fe14305ae57bae71bf97bed1252c9077e3e834f6e632eefcae971d5f7f0d27288b57745c3c8a23e229c8a3c618f08a822424060d99deb9c7276f543eda2961
languageName: node
linkType: hard
"@ledgerhq/hw-transport@npm:^6.2.0":
version: 6.2.0
resolution: "@ledgerhq/hw-transport@npm:6.2.0"
"@ledgerhq/hw-transport@npm:^6.2.0, @ledgerhq/hw-transport@npm:^6.3.0":
version: 6.3.0
resolution: "@ledgerhq/hw-transport@npm:6.3.0"
dependencies:
"@ledgerhq/devices": ^6.2.0
"@ledgerhq/devices": ^6.3.0
"@ledgerhq/errors": ^6.2.0
events: ^3.3.0
checksum: 000ba6a311736552a6c646d5eae9f297b2edd2d3b1d15ff4b887540b6c2bc1d57969af001636690431446b5a54c194de8ab2a002c97b3e6e43e7d2c358c73b4a
checksum: c6d1025fc507904c14fa945525bfaeabe5a284b699850b41213d7302a15a834e4136c31f808f6ae7c13f26e1a087d734abf3175164a51c2714498bcf0ddb3ce4
languageName: node
linkType: hard
@@ -2045,15 +2045,15 @@ __metadata:
languageName: node
linkType: hard
"@polkadot/hw-ledger-transports@7.0.3, @polkadot/hw-ledger-transports@workspace:packages/hw-ledger-transports":
"@polkadot/hw-ledger-transports@7.1.1, @polkadot/hw-ledger-transports@workspace:packages/hw-ledger-transports":
version: 0.0.0-use.local
resolution: "@polkadot/hw-ledger-transports@workspace:packages/hw-ledger-transports"
dependencies:
"@babel/runtime": ^7.14.8
"@ledgerhq/hw-transport": ^6.2.0
"@ledgerhq/hw-transport-node-hid-singleton": ^6.2.0
"@ledgerhq/hw-transport-webhid": ^6.2.0
"@ledgerhq/hw-transport-webusb": ^6.2.0
"@ledgerhq/hw-transport": ^6.3.0
"@ledgerhq/hw-transport-node-hid-singleton": ^6.3.0
"@ledgerhq/hw-transport-webhid": ^6.3.0
"@ledgerhq/hw-transport-webusb": ^6.3.0
dependenciesMeta:
"@ledgerhq/hw-transport-node-hid-singleton":
optional: true
@@ -2065,8 +2065,8 @@ __metadata:
resolution: "@polkadot/hw-ledger@workspace:packages/hw-ledger"
dependencies:
"@babel/runtime": ^7.14.8
"@polkadot/hw-ledger-transports": 7.0.3
"@polkadot/util": ^7.0.3
"@polkadot/hw-ledger-transports": 7.1.1
"@polkadot/util": ^7.1.1
"@zondax/ledger-substrate": ^0.17.3
languageName: unknown
linkType: soft
@@ -2076,21 +2076,21 @@ __metadata:
resolution: "@polkadot/keyring@workspace:packages/keyring"
dependencies:
"@babel/runtime": ^7.14.8
"@polkadot/util": 7.0.3
"@polkadot/util-crypto": 7.0.3
"@polkadot/util": 7.1.1
"@polkadot/util-crypto": 7.1.1
peerDependencies:
"@polkadot/util": 7.0.3
"@polkadot/util-crypto": 7.0.3
"@polkadot/util": 7.1.1
"@polkadot/util-crypto": 7.1.1
languageName: unknown
linkType: soft
"@polkadot/networks@7.0.3, @polkadot/networks@workspace:packages/networks":
"@polkadot/networks@7.1.1, @polkadot/networks@workspace:packages/networks":
version: 0.0.0-use.local
resolution: "@polkadot/networks@workspace:packages/networks"
dependencies:
"@babel/runtime": ^7.14.8
"@polkadot/util": 7.0.3
"@polkadot/x-fetch": 7.0.3
"@polkadot/util": 7.1.1
"@polkadot/x-fetch": 7.1.1
languageName: unknown
linkType: soft
@@ -2103,15 +2103,15 @@ __metadata:
languageName: node
linkType: hard
"@polkadot/util-crypto@7.0.3, @polkadot/util-crypto@workspace:packages/util-crypto":
"@polkadot/util-crypto@7.1.1, @polkadot/util-crypto@workspace:packages/util-crypto":
version: 0.0.0-use.local
resolution: "@polkadot/util-crypto@workspace:packages/util-crypto"
dependencies:
"@babel/runtime": ^7.14.8
"@polkadot/networks": 7.0.3
"@polkadot/util": 7.0.3
"@polkadot/networks": 7.1.1
"@polkadot/util": 7.1.1
"@polkadot/wasm-crypto": ^4.1.2
"@polkadot/x-randomvalues": 7.0.3
"@polkadot/x-randomvalues": 7.1.1
"@types/bn.js": ^4.11.6
"@types/create-hash": ^1.2.2
"@types/elliptic": ^6.4.13
@@ -2122,6 +2122,7 @@ __metadata:
blakejs: ^1.1.1
bn.js: ^4.11.9
create-hash: ^1.2.0
ed2curve: ^0.3.0
elliptic: ^6.5.4
hash.js: ^1.1.7
js-sha3: ^0.8.0
@@ -2129,17 +2130,17 @@ __metadata:
tweetnacl: ^1.0.3
xxhashjs: ^0.2.2
peerDependencies:
"@polkadot/util": 7.0.3
"@polkadot/util": 7.1.1
languageName: unknown
linkType: soft
"@polkadot/util@7.0.3, @polkadot/util@^7.0.3, @polkadot/util@workspace:packages/util":
"@polkadot/util@7.1.1, @polkadot/util@^7.1.1, @polkadot/util@workspace:packages/util":
version: 0.0.0-use.local
resolution: "@polkadot/util@workspace:packages/util"
dependencies:
"@babel/runtime": ^7.14.8
"@polkadot/x-textdecoder": 7.0.3
"@polkadot/x-textencoder": 7.0.3
"@polkadot/x-textdecoder": 7.1.1
"@polkadot/x-textencoder": 7.1.1
"@types/bn.js": ^4.11.6
bn.js: ^4.11.9
camelcase: ^5.3.1
@@ -2184,23 +2185,23 @@ __metadata:
resolution: "@polkadot/x-bundle@workspace:packages/x-bundle"
dependencies:
"@babel/runtime": ^7.14.8
"@polkadot/util": ^7.0.3
"@polkadot/util": ^7.1.1
buffer-es6: ^4.9.3
languageName: unknown
linkType: soft
"@polkadot/x-fetch@7.0.3, @polkadot/x-fetch@workspace:packages/x-fetch":
"@polkadot/x-fetch@7.1.1, @polkadot/x-fetch@workspace:packages/x-fetch":
version: 0.0.0-use.local
resolution: "@polkadot/x-fetch@workspace:packages/x-fetch"
dependencies:
"@babel/runtime": ^7.14.8
"@polkadot/x-global": 7.0.3
"@polkadot/x-global": 7.1.1
"@types/node-fetch": ^2.5.12
node-fetch: ^2.6.1
languageName: unknown
linkType: soft
"@polkadot/x-global@7.0.3, @polkadot/x-global@workspace:packages/x-global":
"@polkadot/x-global@7.1.1, @polkadot/x-global@workspace:packages/x-global":
version: 0.0.0-use.local
resolution: "@polkadot/x-global@workspace:packages/x-global"
dependencies:
@@ -2208,31 +2209,31 @@ __metadata:
languageName: unknown
linkType: soft
"@polkadot/x-randomvalues@7.0.3, @polkadot/x-randomvalues@workspace:packages/x-randomvalues":
"@polkadot/x-randomvalues@7.1.1, @polkadot/x-randomvalues@workspace:packages/x-randomvalues":
version: 0.0.0-use.local
resolution: "@polkadot/x-randomvalues@workspace:packages/x-randomvalues"
dependencies:
"@babel/runtime": ^7.14.8
"@polkadot/x-global": 7.0.3
"@polkadot/x-global": 7.1.1
"@types/react-native": ^0.64.12
languageName: unknown
linkType: soft
"@polkadot/x-textdecoder@7.0.3, @polkadot/x-textdecoder@workspace:packages/x-textdecoder":
"@polkadot/x-textdecoder@7.1.1, @polkadot/x-textdecoder@workspace:packages/x-textdecoder":
version: 0.0.0-use.local
resolution: "@polkadot/x-textdecoder@workspace:packages/x-textdecoder"
dependencies:
"@babel/runtime": ^7.14.8
"@polkadot/x-global": 7.0.3
"@polkadot/x-global": 7.1.1
languageName: unknown
linkType: soft
"@polkadot/x-textencoder@7.0.3, @polkadot/x-textencoder@workspace:packages/x-textencoder":
"@polkadot/x-textencoder@7.1.1, @polkadot/x-textencoder@workspace:packages/x-textencoder":
version: 0.0.0-use.local
resolution: "@polkadot/x-textencoder@workspace:packages/x-textencoder"
dependencies:
"@babel/runtime": ^7.14.8
"@polkadot/x-global": 7.0.3
"@polkadot/x-global": 7.1.1
languageName: unknown
linkType: soft
@@ -2241,8 +2242,8 @@ __metadata:
resolution: "@polkadot/x-ws@workspace:packages/x-ws"
dependencies:
"@babel/runtime": ^7.14.8
"@polkadot/x-global": 7.0.3
"@types/websocket": ^1.0.3
"@polkadot/x-global": 7.1.1
"@types/websocket": ^1.0.4
websocket: ^1.0.34
languageName: unknown
linkType: soft
@@ -2445,6 +2446,15 @@ __metadata:
languageName: node
linkType: hard
"@types/ed2curve@npm:^0.2.2":
version: 0.2.2
resolution: "@types/ed2curve@npm:0.2.2"
dependencies:
tweetnacl: ^1.0.0
checksum: f1ab16d46c5eed50d51539effef76c87806bb53ab45ecff78c19a632e63825fd08d604984b08778f8201c79be0bd43120565dad38cc5d45ba65a6c7de5bf4ace
languageName: node
linkType: hard
"@types/elliptic@npm:^6.4.13":
version: 6.4.13
resolution: "@types/elliptic@npm:6.4.13"
@@ -2656,12 +2666,12 @@ __metadata:
languageName: node
linkType: hard
"@types/websocket@npm:^1.0.3":
version: 1.0.3
resolution: "@types/websocket@npm:1.0.3"
"@types/websocket@npm:^1.0.4":
version: 1.0.4
resolution: "@types/websocket@npm:1.0.4"
dependencies:
"@types/node": "*"
checksum: bfc25121af64d9b6b00fbc54a424b8cc4e89c0849047530ba53e9bb9eed8521de0917b7f3e448e9f92622230bff09659c76c6601df52288f1fb2d31bd8bebfd3
checksum: 969a1586e9c08c4812bf7fc3a51fb5fbc3c2d2b19bc1e605a8277d2d48c36b9dc917ea90d5648cc9dc317775ffd206cf75788fc55dc2b7116ed567dae6f32ea3
languageName: node
linkType: hard
@@ -4735,6 +4745,15 @@ __metadata:
languageName: node
linkType: hard
"ed2curve@npm:^0.3.0":
version: 0.3.0
resolution: "ed2curve@npm:0.3.0"
dependencies:
tweetnacl: 1.x.x
checksum: 6dfbe2310aa5a47372c9dd2fd920be140c8d52aea5793d716a3e3865d2ceaeaf639a7653e5492dfe3b4910eaf65c09a1d5132580afe2fdca18a75ebb428a52f2
languageName: node
linkType: hard
"electron-to-chromium@npm:^1.3.723":
version: 1.3.727
resolution: "electron-to-chromium@npm:1.3.727"
@@ -9867,6 +9886,7 @@ resolve@^2.0.0-next.3:
"@babel/core": ^7.14.8
"@polkadot/dev": ^0.62.57
"@polkadot/ts": ^0.4.4
"@types/ed2curve": ^0.2.2
"@types/jest": ^26.0.24
languageName: unknown
linkType: soft
@@ -10904,6 +10924,13 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
"tweetnacl@npm:1.x.x, tweetnacl@npm:^1.0.0, tweetnacl@npm:^1.0.3":
version: 1.0.3
resolution: "tweetnacl@npm:1.0.3"
checksum: e4a57cac188f0c53f24c7a33279e223618a2bfb5fea426231991652a13247bea06b081fd745d71291fcae0f4428d29beba1b984b1f1ce6f66b06a6d1ab90645c
languageName: node
linkType: hard
"tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0":
version: 0.14.5
resolution: "tweetnacl@npm:0.14.5"
@@ -10911,13 +10938,6 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
"tweetnacl@npm:^1.0.3":
version: 1.0.3
resolution: "tweetnacl@npm:1.0.3"
checksum: e4a57cac188f0c53f24c7a33279e223618a2bfb5fea426231991652a13247bea06b081fd745d71291fcae0f4428d29beba1b984b1f1ce6f66b06a6d1ab90645c
languageName: node
linkType: hard
"type-check@npm:^0.4.0, type-check@npm:~0.4.0":
version: 0.4.0
resolution: "type-check@npm:0.4.0"