Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fe0886be23 | ||
|
|
bac357ae10 | ||
|
|
4ab7a5bfe0 | ||
|
|
440b146a24 | ||
|
|
ae0735ccda | ||
|
|
57551b38a0 | ||
|
|
bf63a0ebf6 | ||
|
|
d78344d000 | ||
|
|
169a702c88 | ||
|
|
b4d73ef49a | ||
|
|
21ef853fbd | ||
|
|
a4d940cb69 | ||
|
|
6423537dbe | ||
|
|
61125b3582 | ||
|
|
7d77f89f34 | ||
|
|
bee7204f95 | ||
|
|
bb0715ec2f | ||
|
|
2212f31f9a |
@@ -1,5 +1,34 @@
|
||||
# CHANGELOG
|
||||
|
||||
## 14.0.1 Dec 9, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- fix(x-randomvalues): prioritize native RN modules over polyfilled crypto ([#2013](https://github.com/polkadot-js/common/pull/2013))
|
||||
- sr25519: switch from wasm to micro-sr25519 ([#1971](https://github.com/polkadot-js/common/pull/1971))
|
||||
|
||||
|
||||
## 13.5.9 Nov 25, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump polkadot dependencies ([#2011](https://github.com/polkadot-js/common/pull/2011))
|
||||
|
||||
|
||||
## 13.5.8 Nov 11, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump @polkadot dependencies ([#2009](https://github.com/polkadot-js/common/pull/2009))
|
||||
|
||||
|
||||
## 13.5.7 Oct 13, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
- Revert "Set pbkdf2Encode rounds to default to 210,000" ([#2007](https://github.com/polkadot-js/common/pull/2007))
|
||||
|
||||
|
||||
## 13.5.6 Aug 26, 2025
|
||||
|
||||
Changes:
|
||||
|
||||
+3
-2
@@ -1,8 +1,9 @@
|
||||
1674 Jaco Bump deps (#1912)
|
||||
44 Tarik Gul Set pbkdf2Encode rounds to default to 210,000 (#1983)
|
||||
13 Carlo Sala feat(networks): add zeitgeist Ledger support (#1840)
|
||||
11 Valentin Fernandez 13.5.7 (#2008)
|
||||
9 Antoine Estienne Add eth uri keyring test (#1291)
|
||||
9 Valentin Fernandez Bump `@polkadot/wasm` deps (#2002)
|
||||
9 rajk93 14.0.1 (#2014)
|
||||
6 Amaury Martiny Add tests from Rust (#283)
|
||||
6 Jakub Pánik HydraDX -> Hydration rebrand (#1923)
|
||||
5 Arjun Porwal 13.5.6 (#2004)
|
||||
@@ -10,7 +11,6 @@
|
||||
4 Adam Dossa Update Polymesh Genesis Hash (#1193)
|
||||
4 pan add bifrost kusama (#1626)
|
||||
3 Luke Schoen docs: Fix example in readme since we use default imports (#243)
|
||||
3 rajk93 13.5.3 (#1996)
|
||||
2 AndreasGassmann feat(dependencies): remove moment.js (#530)
|
||||
2 Cameron Fairchild Add bittensor details (#1783)
|
||||
2 Gav Wood Fix stake:unstake (#182)
|
||||
@@ -54,6 +54,7 @@
|
||||
1 Mohsan Riaz Add Ternoa for ledger hardware support (#1711)
|
||||
1 nahuseyoum Reserving 65 for Aventus based on the new extended range (#871)
|
||||
1 Nantian add acala ledger config (#1485)
|
||||
1 Paul Miller sr25519: switch from wasm to micro-sr25519 (#1971)
|
||||
1 peetzweg/ adds `isRiscV` guard function similar to isWasm (#1878)
|
||||
1 qwer951123 Add acala genesis (#1161)
|
||||
1 Radek Bochenek feat: add Liberland support to Generic Ledger App (#1989)
|
||||
|
||||
+3
-3
@@ -14,10 +14,10 @@
|
||||
},
|
||||
"sideEffects": false,
|
||||
"type": "module",
|
||||
"version": "13.5.6",
|
||||
"version": "14.0.1",
|
||||
"versions": {
|
||||
"git": "13.5.6",
|
||||
"npm": "13.5.6"
|
||||
"git": "14.0.1",
|
||||
"npm": "14.0.1"
|
||||
},
|
||||
"workspaces": [
|
||||
"packages/*"
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
},
|
||||
"sideEffects": false,
|
||||
"type": "module",
|
||||
"version": "13.5.6",
|
||||
"version": "14.0.1",
|
||||
"browser": "browser.js",
|
||||
"main": "node.js",
|
||||
"react-native": "react-native.js",
|
||||
@@ -22,7 +22,7 @@
|
||||
"@ledgerhq/hw-transport": "^6.31.4",
|
||||
"@ledgerhq/hw-transport-webhid": "^6.29.4",
|
||||
"@ledgerhq/hw-transport-webusb": "^6.29.4",
|
||||
"@polkadot/util": "13.5.6",
|
||||
"@polkadot/util": "14.0.1",
|
||||
"tslib": "^2.8.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/hw-ledger-transports', path: 'auto', type: 'auto', version: '13.5.6' };
|
||||
export const packageInfo = { name: '@polkadot/hw-ledger-transports', path: 'auto', type: 'auto', version: '14.0.1' };
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
"./packageDetect.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "13.5.6",
|
||||
"version": "14.0.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@polkadot/hw-ledger-transports": "13.5.6",
|
||||
"@polkadot/util": "13.5.6",
|
||||
"@polkadot/hw-ledger-transports": "14.0.1",
|
||||
"@polkadot/util": "14.0.1",
|
||||
"@zondax/ledger-substrate": "1.1.1",
|
||||
"tslib": "^2.8.0"
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/hw-ledger', path: 'auto', type: 'auto', version: '13.5.6' };
|
||||
export const packageInfo = { name: '@polkadot/hw-ledger', path: 'auto', type: 'auto', version: '14.0.1' };
|
||||
|
||||
@@ -18,15 +18,15 @@
|
||||
"./packageDetect.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "13.5.6",
|
||||
"version": "14.0.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@polkadot/util": "13.5.6",
|
||||
"@polkadot/util-crypto": "13.5.6",
|
||||
"@polkadot/util": "14.0.1",
|
||||
"@polkadot/util-crypto": "14.0.1",
|
||||
"tslib": "^2.8.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@polkadot/util": "13.5.6",
|
||||
"@polkadot/util-crypto": "13.5.6"
|
||||
"@polkadot/util": "14.0.1",
|
||||
"@polkadot/util-crypto": "14.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -358,7 +358,7 @@ describe('keypair', (): void => {
|
||||
});
|
||||
|
||||
it('creates with dev phrase with derivation path specified', (): void => {
|
||||
const pair = keyring.createFromUri(PHRASE, undefined, undefined, undefined, 2048);
|
||||
const pair = keyring.createFromUri(PHRASE);
|
||||
|
||||
expect(
|
||||
pair.address
|
||||
@@ -367,7 +367,7 @@ describe('keypair', (): void => {
|
||||
|
||||
it('creates with dev phrase with derivation path specified - addFromUri', (): void => {
|
||||
expect(
|
||||
keyring.addFromUri(PHRASE, undefined, undefined, undefined, 2048).address
|
||||
keyring.addFromUri(PHRASE).address
|
||||
).toEqual(ETH_ADDRESS_ONE);
|
||||
});
|
||||
|
||||
@@ -375,12 +375,12 @@ describe('keypair', (): void => {
|
||||
const keyringUntyped = new Keyring();
|
||||
|
||||
expect(
|
||||
keyringUntyped.addFromUri(PHRASE, {}, 'ethereum', undefined, 2048).address
|
||||
keyringUntyped.addFromUri(PHRASE, {}, 'ethereum').address
|
||||
).toEqual(ETH_ADDRESS_ONE);
|
||||
});
|
||||
|
||||
it('encodes a pair toJSON (and decodes)', (): void => {
|
||||
const pair = keyring.createFromUri(PHRASE, undefined, undefined, undefined, 2048);
|
||||
const pair = keyring.createFromUri(PHRASE);
|
||||
const json = pair.toJson('password');
|
||||
|
||||
expect(json.address).toEqual('0x0381351b1b46d2602b0992bb5d5531f9c1696b0812feb2534b6884adc47e2e1d8b'); // this is the public key (different from address for ethereum)
|
||||
@@ -399,7 +399,7 @@ describe('keypair', (): void => {
|
||||
});
|
||||
|
||||
it('encodes a pair toJSON and back', (): void => {
|
||||
const pairOriginal = keyring.createFromUri(PHRASE, undefined, undefined, undefined, 2048);
|
||||
const pairOriginal = keyring.createFromUri(PHRASE);
|
||||
const json = pairOriginal.toJson('password');
|
||||
const pair = keyring.addFromJson(
|
||||
json
|
||||
|
||||
@@ -152,15 +152,10 @@ export class Keyring implements KeyringInstance {
|
||||
* @name addFromUri
|
||||
* @summary Creates an account via an suri
|
||||
* @description Extracts the phrase, path and password from a SURI format for specifying secret keys `<secret>/<soft-key>//<hard-key>///<password>` (the `///password` may be omitted, and `/<soft-key>` and `//<hard-key>` maybe repeated and mixed). The secret can be a hex string, mnemonic phrase or a string (to be padded)
|
||||
* @param _suri
|
||||
* @param meta
|
||||
* @param type The supported types of pairs. Either 'ed25519' | 'sr25519' | 'ecdsa' | 'ethereum'.
|
||||
* @param wordlist - Optional custom wordlist for mnemonic.
|
||||
* @param rounds - Optional: Number of PBKDF2 iterations to run (default: 210000 (when onlyJS = true) or 2048 (when onlyJS = false).
|
||||
*/
|
||||
public addFromUri (suri: string, meta: KeyringPair$Meta = {}, type: KeypairType = this.type, wordlist?: string[], rounds?: number): KeyringPair {
|
||||
*/
|
||||
public addFromUri (suri: string, meta: KeyringPair$Meta = {}, type: KeypairType = this.type, wordlist?: string[]): KeyringPair {
|
||||
return this.addPair(
|
||||
this.createFromUri(suri, meta, type, wordlist, rounds)
|
||||
this.createFromUri(suri, meta, type, wordlist)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -207,14 +202,8 @@ export class Keyring implements KeyringInstance {
|
||||
* @name createFromUri
|
||||
* @summary Creates a Keypair from an suri
|
||||
* @description This creates a pair from the suri, but does not add it to the keyring
|
||||
*
|
||||
* @param _suri
|
||||
* @param meta
|
||||
* @param type The supported types of pairs. Either 'ed25519' | 'sr25519' | 'ecdsa' | 'ethereum'.
|
||||
* @param wordlist - Optional custom wordlist for mnemonic.
|
||||
* @param rounds - Optional: Number of PBKDF2 iterations to run (default: 210000 (when onlyJS = true) or 2048 (when onlyJS = false).
|
||||
*/
|
||||
public createFromUri (_suri: string, meta: KeyringPair$Meta = {}, type: KeypairType = this.type, wordlist?: string[], rounds?: number): KeyringPair {
|
||||
public createFromUri (_suri: string, meta: KeyringPair$Meta = {}, type: KeypairType = this.type, wordlist?: string[]): KeyringPair {
|
||||
// here we only aut-add the dev phrase if we have a hard-derived path
|
||||
const suri = _suri.startsWith('//')
|
||||
? `${DEV_PHRASE}${_suri}`
|
||||
@@ -230,8 +219,8 @@ export class Keyring implements KeyringInstance {
|
||||
|
||||
if ([12, 15, 18, 21, 24].includes(parts.length)) {
|
||||
seed = type === 'ethereum'
|
||||
? mnemonicToLegacySeed(phrase, '', false, 64, rounds)
|
||||
: mnemonicToMiniSecret(phrase, password, wordlist, false, rounds);
|
||||
? mnemonicToLegacySeed(phrase, '', false, 64)
|
||||
: mnemonicToMiniSecret(phrase, password, wordlist);
|
||||
} else {
|
||||
if (phrase.length > 32) {
|
||||
throw new Error('specified phrase is not a valid mnemonic and is invalid as a raw seed at > 32 bytes');
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/keyring', path: 'auto', type: 'auto', version: '13.5.6' };
|
||||
export const packageInfo = { name: '@polkadot/keyring', path: 'auto', type: 'auto', version: '14.0.1' };
|
||||
|
||||
@@ -98,7 +98,7 @@ describe('keyring.addFromUri', (): void => {
|
||||
describe(`${type}`, (): void => {
|
||||
tests.forEach(({ pk, ss, uri }): void => {
|
||||
it(`creates ${uri}`, (): void => {
|
||||
const pair = keyring.addFromUri(uri, {}, type as KeypairType, undefined, 2048);
|
||||
const pair = keyring.addFromUri(uri, {}, type as KeypairType);
|
||||
|
||||
expect(u8aToHex(pair.publicKey)).toEqual(pk);
|
||||
expect(pair.address).toEqual(ss);
|
||||
|
||||
@@ -15,14 +15,14 @@
|
||||
},
|
||||
"sideEffects": false,
|
||||
"type": "module",
|
||||
"version": "13.5.6",
|
||||
"version": "14.0.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@polkadot/util": "13.5.6",
|
||||
"@polkadot/util": "14.0.1",
|
||||
"@substrate/ss58-registry": "^1.51.0",
|
||||
"tslib": "^2.8.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@polkadot/hw-ledger": "13.5.6"
|
||||
"@polkadot/hw-ledger": "14.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/networks', path: 'auto', type: 'auto', version: '13.5.6' };
|
||||
export const packageInfo = { name: '@polkadot/networks', path: 'auto', type: 'auto', version: '14.0.1' };
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"./packageDetect.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "13.5.6",
|
||||
"version": "14.0.1",
|
||||
"browser": {
|
||||
"crypto": false,
|
||||
"stream": false
|
||||
@@ -29,16 +29,17 @@
|
||||
"dependencies": {
|
||||
"@noble/curves": "^1.3.0",
|
||||
"@noble/hashes": "^1.3.3",
|
||||
"@polkadot/networks": "13.5.6",
|
||||
"@polkadot/util": "13.5.6",
|
||||
"@polkadot/wasm-crypto": "^7.5.1",
|
||||
"@polkadot/wasm-util": "^7.5.1",
|
||||
"@polkadot/x-bigint": "13.5.6",
|
||||
"@polkadot/x-randomvalues": "13.5.6",
|
||||
"@polkadot/networks": "14.0.1",
|
||||
"@polkadot/util": "14.0.1",
|
||||
"@polkadot/wasm-crypto": "^7.5.3",
|
||||
"@polkadot/wasm-util": "^7.5.3",
|
||||
"@polkadot/x-bigint": "14.0.1",
|
||||
"@polkadot/x-randomvalues": "14.0.1",
|
||||
"@scure/base": "^1.1.7",
|
||||
"@scure/sr25519": "^0.2.0",
|
||||
"tslib": "^2.8.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@polkadot/util": "13.5.6"
|
||||
"@polkadot/util": "14.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,14 +39,14 @@ describe('hdEthereum', (): void => {
|
||||
]);
|
||||
|
||||
it('derives the right key pair from a mnemonic', (): void => {
|
||||
const key = hdEthereum(mnemonicToLegacySeed(PHRASE, '', false, 64, 2048));
|
||||
const key = hdEthereum(mnemonicToLegacySeed(PHRASE, '', false, 64));
|
||||
|
||||
expect(key.publicKey).toEqual(PUBLIC);
|
||||
expect(key.secretKey).toEqual(SECRET);
|
||||
});
|
||||
|
||||
it('derives the right key pair from a mnemonic and a derivation path', (): void => {
|
||||
const key = hdEthereum(mnemonicToLegacySeed(PHRASE, '', false, 64, 2048), derivationPath);
|
||||
const key = hdEthereum(mnemonicToLegacySeed(PHRASE, '', false, 64), derivationPath);
|
||||
|
||||
expect(key.publicKey).toEqual(PUBLICDERIVED);
|
||||
expect(key.secretKey).toEqual(SECRETDERIVED);
|
||||
|
||||
@@ -54,7 +54,7 @@ describe('ledgerDerive', (): void => {
|
||||
tests.forEach(({ ed25519, index: [account, address], mnemonic }, index): void => {
|
||||
it(`derives a known ed25519 seed for ${network} (${index})`, (): void => {
|
||||
expect(u8aToHex(
|
||||
hdLedger(mnemonic, `m/44'/${slip44}'/${account}'/0'/${address}'`, 2048)
|
||||
hdLedger(mnemonic, `m/44'/${slip44}'/${account}'/0'/${address}'`)
|
||||
.secretKey
|
||||
.slice(0, 32)
|
||||
)).toEqual(ed25519);
|
||||
|
||||
@@ -9,7 +9,7 @@ import { HARDENED, hdValidatePath } from '../validatePath.js';
|
||||
import { ledgerDerivePrivate } from './derivePrivate.js';
|
||||
import { ledgerMaster } from './master.js';
|
||||
|
||||
export function hdLedger (_mnemonic: string, path: string, rounds?: number): Keypair {
|
||||
export function hdLedger (_mnemonic: string, path: string): Keypair {
|
||||
const words = _mnemonic
|
||||
.split(' ')
|
||||
.map((s) => s.trim())
|
||||
@@ -30,7 +30,7 @@ export function hdLedger (_mnemonic: string, path: string, rounds?: number): Key
|
||||
}
|
||||
|
||||
const parts = path.split('/').slice(1);
|
||||
let seed = ledgerMaster(mnemonic, password, rounds);
|
||||
let seed = ledgerMaster(mnemonic, password);
|
||||
|
||||
for (const p of parts) {
|
||||
const n = parseInt(p.replace(/'$/, ''), 10);
|
||||
|
||||
@@ -13,7 +13,7 @@ const XPRV = '0x402b03cd9c8bed9ba9f9bd6cd9c315ce9fcc59c7c25d37c85a36096617e69d41
|
||||
describe('ledgerDerive', (): void => {
|
||||
it('derives a known master xprv', (): void => {
|
||||
expect(u8aToHex(
|
||||
ledgerMaster(MNEMONIC, undefined, 2048)
|
||||
ledgerMaster(MNEMONIC)
|
||||
)).toEqual(XPRV);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -8,17 +8,9 @@ import { mnemonicToSeedSync } from '../../mnemonic/bip39.js';
|
||||
|
||||
const ED25519_CRYPTO = 'ed25519 seed';
|
||||
|
||||
/**
|
||||
* Gets an xprv from a mnemonic
|
||||
*
|
||||
* @param mnemonic - The BIP-39 mnemonic phrase to derive the secret from.
|
||||
* @param password - Optional: password to secure the seed (default: empty string).
|
||||
* @param wordlist - Optional custom wordlist for mnemonic.
|
||||
* @param onlyJs - Optional: If `true`, forces use of the JavaScript implementation instead of WASM.
|
||||
* @param rounds - Optional: Number of PBKDF2 iterations to run (default: 210000).
|
||||
*/
|
||||
export function ledgerMaster (mnemonic: string, password?: string, rounds?: number): Uint8Array {
|
||||
const seed = mnemonicToSeedSync(mnemonic, password, rounds);
|
||||
// gets an xprv from a mnemonic
|
||||
export function ledgerMaster (mnemonic: string, password?: string): Uint8Array {
|
||||
const seed = mnemonicToSeedSync(mnemonic, password);
|
||||
const chainCode = hmacShaAsU8a(ED25519_CRYPTO, new Uint8Array([1, ...seed]), 256);
|
||||
let priv;
|
||||
|
||||
|
||||
@@ -47,16 +47,10 @@ function deriveChecksumBits (entropyBuffer: Uint8Array): string {
|
||||
).slice(0, (entropyBuffer.length * 8) / 32);
|
||||
}
|
||||
|
||||
/*
|
||||
* @param mnemonic - The BIP-39 mnemonic phrase to derive the secret from.
|
||||
* @param password - Optional: password to secure the seed (default: empty string).
|
||||
* @param rounds - Optional: Number of PBKDF2 iterations to run (default: 210000).
|
||||
*/
|
||||
export function mnemonicToSeedSync (mnemonic: string, password?: string, rounds?: number): Uint8Array {
|
||||
export function mnemonicToSeedSync (mnemonic: string, password?: string): Uint8Array {
|
||||
return pbkdf2Encode(
|
||||
stringToU8a(normalize(mnemonic)),
|
||||
stringToU8a(`mnemonic${normalize(password)}`),
|
||||
rounds
|
||||
stringToU8a(`mnemonic${normalize(password)}`)
|
||||
).password;
|
||||
}
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@ describe('mnemonicToLegacySeed', (): void => {
|
||||
it(`generates Wasm & Js equivalents for password=${password || 'undefined'}`, (): void => {
|
||||
expect(
|
||||
u8aEq(
|
||||
mnemonicToLegacySeed(MNEMONIC, password, true, 32, 2048),
|
||||
mnemonicToLegacySeed(MNEMONIC, password, false, 32, 2048)
|
||||
mnemonicToLegacySeed(MNEMONIC, password, true),
|
||||
mnemonicToLegacySeed(MNEMONIC, password, false)
|
||||
)
|
||||
).toEqual(true);
|
||||
});
|
||||
@@ -32,19 +32,19 @@ describe('mnemonicToLegacySeed', (): void => {
|
||||
describe(`onlyJs=${(onlyJs && 'true') || 'false'}`, (): void => {
|
||||
it('generates a valid 64bytes seed', (): void => {
|
||||
expect(
|
||||
u8aToHex(mnemonicToLegacySeed(MNEMONIC, undefined, onlyJs, 64, 2048))
|
||||
u8aToHex(mnemonicToLegacySeed(MNEMONIC, undefined, onlyJs, 64))
|
||||
).toEqual(SEED_64);
|
||||
});
|
||||
|
||||
it('generates a valid 32bytes seed', (): void => {
|
||||
expect(
|
||||
u8aToHex(mnemonicToLegacySeed(MNEMONIC, undefined, onlyJs, 32, 2048))
|
||||
u8aToHex(mnemonicToLegacySeed(MNEMONIC, undefined, onlyJs))
|
||||
).toEqual(SEED_32);
|
||||
});
|
||||
|
||||
it('fails with non-mnemonics', (): void => {
|
||||
expect(
|
||||
() => mnemonicToLegacySeed('foo bar baz', undefined, onlyJs, 32, 2048)
|
||||
() => mnemonicToLegacySeed('foo bar baz', undefined, onlyJs)
|
||||
).toThrow(/mnemonic specified/);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -23,14 +23,8 @@ import { mnemonicValidate } from './validate.js';
|
||||
* console.log(`Seed generated from mnemonic: ${mnemonicToLegacySeed(mnemonic)}`); => u8a
|
||||
* }
|
||||
* ```
|
||||
*
|
||||
* @param mnemonic - The BIP-39 mnemonic phrase to derive the secret from.
|
||||
* @param password - Optional: password to secure the seed (default: empty string).
|
||||
* @param onlyJs - Optional: If `true`, forces use of the JavaScript implementation instead of WASM.
|
||||
* @param byteLength - Optional: Either 32 or 64. Default is 32
|
||||
* @param rounds - Optional: Number of PBKDF2 iterations to run (default: 210000).
|
||||
*/
|
||||
export function mnemonicToLegacySeed (mnemonic: string, password = '', onlyJs?: boolean, byteLength: 32 | 64 = 32, rounds?: number): Uint8Array {
|
||||
*/
|
||||
export function mnemonicToLegacySeed (mnemonic: string, password = '', onlyJs?: boolean, byteLength: 32 | 64 = 32): Uint8Array {
|
||||
if (!mnemonicValidate(mnemonic)) {
|
||||
throw new Error('Invalid bip39 mnemonic specified');
|
||||
} else if (![32, 64].includes(byteLength)) {
|
||||
@@ -40,6 +34,6 @@ export function mnemonicToLegacySeed (mnemonic: string, password = '', onlyJs?:
|
||||
return byteLength === 32
|
||||
? !hasBigInt || (!onlyJs && isReady())
|
||||
? bip39ToSeed(mnemonic, password)
|
||||
: mnemonicToSeedSync(mnemonic, password, rounds).subarray(0, 32)
|
||||
: mnemonicToSeedSync(mnemonic, password, rounds);
|
||||
: mnemonicToSeedSync(mnemonic, password).subarray(0, 32)
|
||||
: mnemonicToSeedSync(mnemonic, password);
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@ describe('mnemonicToMiniSecret', (): void => {
|
||||
it(`generates Wasm & Js equivalents for password=${password || 'undefined'}`, (): void => {
|
||||
expect(
|
||||
u8aEq(
|
||||
mnemonicToMiniSecret(MNEMONIC, password, undefined, true, 2048),
|
||||
mnemonicToMiniSecret(MNEMONIC, password, undefined, false, 2048)
|
||||
mnemonicToMiniSecret(MNEMONIC, password, undefined, true),
|
||||
mnemonicToMiniSecret(MNEMONIC, password, undefined, false)
|
||||
)
|
||||
).toEqual(true);
|
||||
});
|
||||
@@ -31,10 +31,10 @@ describe('mnemonicToMiniSecret', (): void => {
|
||||
const mnemonic = '엉덩이 능동적 숫자 팩시밀리 비난 서적 파출소 도움 독창적 인생 상류 먼지 답변 음반 수박 사업 노란색 공사 우체국 특급 도대체 금지 굉장히 고무신';
|
||||
|
||||
expect(
|
||||
() => mnemonicToMiniSecret(mnemonic, 'testing', undefined, false, 2048)
|
||||
() => mnemonicToMiniSecret(mnemonic, 'testing')
|
||||
).toThrow();
|
||||
expect(
|
||||
u8aToHex(mnemonicToMiniSecret(mnemonic, 'testing', koreanWords, false, 2048))
|
||||
u8aToHex(mnemonicToMiniSecret(mnemonic, 'testing', koreanWords))
|
||||
).toEqual('0xefa278a62535581767a2f49cb542ed91b65fb911e1b05e7a09c702b257f10c13');
|
||||
});
|
||||
|
||||
@@ -42,20 +42,20 @@ describe('mnemonicToMiniSecret', (): void => {
|
||||
describe(`onlyJs=${(onlyJs && 'true') || 'false'}`, (): void => {
|
||||
it('generates a valid seed', (): void => {
|
||||
expect(
|
||||
u8aToHex(mnemonicToMiniSecret(MNEMONIC, undefined, undefined, onlyJs, 2048))
|
||||
u8aToHex(mnemonicToMiniSecret(MNEMONIC, undefined, undefined, onlyJs))
|
||||
).toEqual(SEED);
|
||||
});
|
||||
|
||||
it('fails with non-mnemonics', (): void => {
|
||||
expect(
|
||||
() => mnemonicToMiniSecret('foo bar baz', undefined, undefined, onlyJs, 2048)
|
||||
() => mnemonicToMiniSecret('foo bar baz', undefined, undefined, onlyJs)
|
||||
).toThrow(/mnemonic specified/);
|
||||
});
|
||||
|
||||
tests.forEach(([mnemonic, , seed], index): void => {
|
||||
it(`Created correct seed for ${index}`, (): void => {
|
||||
expect(
|
||||
u8aToHex(mnemonicToMiniSecret(mnemonic, 'Substrate', undefined, onlyJs, 2048))
|
||||
u8aToHex(mnemonicToMiniSecret(mnemonic, 'Substrate', undefined, onlyJs))
|
||||
).toEqual(
|
||||
// mini returned here, only check first 32-bytes (64 hex + 2 prefix)
|
||||
seed.substring(0, 66)
|
||||
|
||||
@@ -8,14 +8,7 @@ import { pbkdf2Encode } from '../pbkdf2/index.js';
|
||||
import { mnemonicToEntropy } from './toEntropy.js';
|
||||
import { mnemonicValidate } from './validate.js';
|
||||
|
||||
/**
|
||||
* @param mnemonic - The BIP-39 mnemonic phrase to derive the secret from.
|
||||
* @param password - Optional: password to secure the seed (default: empty string).
|
||||
* @param wordlist - Optional custom wordlist for mnemonic.
|
||||
* @param onlyJs - Optional: If `true`, forces use of the JavaScript implementation instead of WASM.
|
||||
* @param rounds - Optional: Number of PBKDF2 iterations to run (default: 210000 (when onlyJS = true) or 2048 (when onlyJS = false).
|
||||
*/
|
||||
export function mnemonicToMiniSecret (mnemonic: string, password = '', wordlist?: string[], onlyJs?: boolean, rounds?: number): Uint8Array {
|
||||
export function mnemonicToMiniSecret (mnemonic: string, password = '', wordlist?: string[], onlyJs?: boolean): Uint8Array {
|
||||
if (!mnemonicValidate(mnemonic, wordlist, onlyJs)) {
|
||||
throw new Error('Invalid bip39 mnemonic specified');
|
||||
} else if (!wordlist && !onlyJs && isReady()) {
|
||||
@@ -26,5 +19,5 @@ export function mnemonicToMiniSecret (mnemonic: string, password = '', wordlist?
|
||||
const salt = stringToU8a(`mnemonic${password}`);
|
||||
|
||||
// return the first 32 bytes as the seed
|
||||
return pbkdf2Encode(entropy, salt, rounds).password.slice(0, 32);
|
||||
return pbkdf2Encode(entropy, salt).password.slice(0, 32);
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/util-crypto', path: 'auto', type: 'auto', version: '13.5.6' };
|
||||
export const packageInfo = { name: '@polkadot/util-crypto', path: 'auto', type: 'auto', version: '14.0.1' };
|
||||
|
||||
@@ -49,6 +49,6 @@ describe('pbkdf2Encode', (): void => {
|
||||
}
|
||||
|
||||
perfWasm('pbkdf2Encode', 8, (input, onlyJs) =>
|
||||
pbkdf2Encode(input, input, 2048, onlyJs)
|
||||
pbkdf2Encode(input, input, undefined, onlyJs)
|
||||
);
|
||||
});
|
||||
|
||||
@@ -15,14 +15,7 @@ interface Result {
|
||||
salt: Uint8Array;
|
||||
}
|
||||
|
||||
export function pbkdf2Encode (passphrase?: string | Uint8Array, salt: Uint8Array = randomAsU8a(), rounds = 210000, onlyJs?: boolean): Result {
|
||||
// When using the JS implementation (pbkdf2Js), large iteration counts can
|
||||
// cause excessive computation time or memory usage. In that case, we cap
|
||||
// the number of rounds to 2048 to ensure reliable performance.
|
||||
if (onlyJs && rounds > 2048) {
|
||||
rounds = 2048;
|
||||
}
|
||||
|
||||
export function pbkdf2Encode (passphrase?: string | Uint8Array, salt: Uint8Array = randomAsU8a(), rounds = 2048, onlyJs?: boolean): Result {
|
||||
const u8aPass = u8aToU8a(passphrase);
|
||||
const u8aSalt = u8aToU8a(salt);
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
import type { Keypair } from '../types.js';
|
||||
|
||||
import { u8aToHex } from '@polkadot/util';
|
||||
import { waitReady } from '@polkadot/wasm-crypto';
|
||||
|
||||
import { sr25519Agreement, sr25519PairFromSeed } from './index.js';
|
||||
|
||||
@@ -14,9 +13,7 @@ describe('agreement', (): void => {
|
||||
let pairA: Keypair;
|
||||
let pairB: Keypair;
|
||||
|
||||
beforeEach(async (): Promise<void> => {
|
||||
await waitReady();
|
||||
|
||||
beforeEach((): void => {
|
||||
pairA = sr25519PairFromSeed('0x98b3d305d5a5eace562387e47e59badd4d77e3f72cabfb10a60f8a197059f0a8');
|
||||
pairB = sr25519PairFromSeed('0x9732eea001851ff862d949a1699c9971f3a26edbede2ad7922cbbe9a0701f366');
|
||||
});
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
// Copyright 2017-2025 @polkadot/util-crypto authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { getSharedSecret } from '@scure/sr25519';
|
||||
|
||||
import { u8aToU8a } from '@polkadot/util';
|
||||
import { sr25519Agree } from '@polkadot/wasm-crypto';
|
||||
|
||||
/**
|
||||
* @name sr25519Agreement
|
||||
@@ -18,5 +19,5 @@ export function sr25519Agreement (secretKey: string | Uint8Array, publicKey: str
|
||||
throw new Error(`Invalid secretKey, received ${secretKeyU8a.length} bytes, expected 64`);
|
||||
}
|
||||
|
||||
return sr25519Agree(publicKeyU8a, secretKeyU8a);
|
||||
return getSharedSecret(secretKeyU8a, publicKeyU8a);
|
||||
}
|
||||
|
||||
@@ -3,10 +3,9 @@
|
||||
|
||||
import type { Keypair } from '../types.js';
|
||||
|
||||
import { isU8a } from '@polkadot/util';
|
||||
import * as sr25519 from '@scure/sr25519';
|
||||
|
||||
import { sr25519PairFromU8a } from './pair/fromU8a.js';
|
||||
import { sr25519KeypairToU8a } from './pair/toU8a.js';
|
||||
import { isU8a } from '@polkadot/util';
|
||||
|
||||
export function createDeriveFn (derive: (pair: Uint8Array, cc: Uint8Array) => Uint8Array): (keypair: Keypair, chainCode: Uint8Array) => Keypair {
|
||||
return (keypair: Keypair, chainCode: Uint8Array): Keypair => {
|
||||
@@ -14,8 +13,9 @@ export function createDeriveFn (derive: (pair: Uint8Array, cc: Uint8Array) => Ui
|
||||
throw new Error('Invalid chainCode passed to derive');
|
||||
}
|
||||
|
||||
return sr25519PairFromU8a(
|
||||
derive(sr25519KeypairToU8a(keypair), chainCode)
|
||||
);
|
||||
const secretKey = derive(keypair.secretKey, chainCode);
|
||||
const publicKey = sr25519.getPublicKey(secretKey);
|
||||
|
||||
return { publicKey, secretKey };
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
// Copyright 2017-2025 @polkadot/util-crypto authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { sr25519DeriveKeypairHard } from '@polkadot/wasm-crypto';
|
||||
import * as sr25519 from '@scure/sr25519';
|
||||
|
||||
import { createDeriveFn } from './derive.js';
|
||||
|
||||
export const sr25519DeriveHard = /*#__PURE__*/ createDeriveFn(sr25519DeriveKeypairHard);
|
||||
// eslint-disable-next-line @typescript-eslint/unbound-method
|
||||
export const sr25519DeriveHard = /*#__PURE__*/ createDeriveFn(sr25519.HDKD.secretHard);
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
// Copyright 2017-2025 @polkadot/util-crypto authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import * as sr25519 from '@scure/sr25519';
|
||||
|
||||
import { isU8a, u8aToU8a } from '@polkadot/util';
|
||||
import { sr25519DerivePublicSoft } from '@polkadot/wasm-crypto';
|
||||
|
||||
export function sr25519DerivePublic (publicKey: string | Uint8Array, chainCode: Uint8Array): Uint8Array {
|
||||
const publicKeyU8a = u8aToU8a(publicKey);
|
||||
@@ -13,5 +14,5 @@ export function sr25519DerivePublic (publicKey: string | Uint8Array, chainCode:
|
||||
throw new Error(`Invalid publicKey, received ${publicKeyU8a.length} bytes, expected 32`);
|
||||
}
|
||||
|
||||
return sr25519DerivePublicSoft(publicKeyU8a, chainCode);
|
||||
return sr25519.HDKD.publicSoft(publicKeyU8a, chainCode);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
// Copyright 2017-2025 @polkadot/util-crypto authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { sr25519DeriveKeypairSoft } from '@polkadot/wasm-crypto';
|
||||
import * as sr25519 from '@scure/sr25519';
|
||||
|
||||
import { createDeriveFn } from './derive.js';
|
||||
|
||||
export const sr25519DeriveSoft = /*#__PURE__*/ createDeriveFn(sr25519DeriveKeypairSoft);
|
||||
// eslint-disable-next-line @typescript-eslint/unbound-method
|
||||
export const sr25519DeriveSoft = /*#__PURE__*/ createDeriveFn(sr25519.HDKD.secretSoft);
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
||||
|
||||
import { stringToU8a, u8aToHex } from '@polkadot/util';
|
||||
import { waitReady } from '@polkadot/wasm-crypto';
|
||||
|
||||
import { mnemonicToMiniSecret } from '../../mnemonic/index.js';
|
||||
import { sr25519PairFromSeed } from '../index.js';
|
||||
@@ -17,10 +16,6 @@ describe('sr25519PairFromSeed', (): void => {
|
||||
secretKey: new Uint8Array([240, 16, 102, 96, 195, 221, 162, 63, 22, 218, 169, 172, 91, 129, 27, 150, 48, 119, 245, 188, 10, 248, 159, 133, 128, 79, 13, 232, 228, 36, 240, 80, 249, 141, 102, 243, 148, 66, 80, 111, 249, 71, 253, 145, 31, 24, 199, 167, 165, 218, 99, 154, 99, 232, 211, 180, 226, 51, 247, 65, 67, 217, 81, 193])
|
||||
};
|
||||
|
||||
beforeEach(async (): Promise<void> => {
|
||||
await waitReady();
|
||||
});
|
||||
|
||||
it('generates a valid publicKey/secretKey pair (u8a)', (): void => {
|
||||
expect(
|
||||
sr25519PairFromSeed(TEST)
|
||||
|
||||
@@ -3,10 +3,9 @@
|
||||
|
||||
import type { Keypair } from '../../types.js';
|
||||
|
||||
import { u8aToU8a } from '@polkadot/util';
|
||||
import { sr25519KeypairFromSeed } from '@polkadot/wasm-crypto';
|
||||
import * as sr25519 from '@scure/sr25519';
|
||||
|
||||
import { sr25519PairFromU8a } from './fromU8a.js';
|
||||
import { u8aToU8a } from '@polkadot/util';
|
||||
|
||||
/**
|
||||
* @name sr25519PairFromSeed
|
||||
@@ -19,7 +18,11 @@ export function sr25519PairFromSeed (seed: string | Uint8Array): Keypair {
|
||||
throw new Error(`Expected a seed matching 32 bytes, found ${seedU8a.length}`);
|
||||
}
|
||||
|
||||
return sr25519PairFromU8a(
|
||||
sr25519KeypairFromSeed(seedU8a)
|
||||
);
|
||||
const sec = sr25519.secretFromSeed(seedU8a);
|
||||
const pub = sr25519.getPublicKey(sec);
|
||||
|
||||
return {
|
||||
publicKey: pub,
|
||||
secretKey: sec
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
||||
|
||||
import { stringToU8a } from '@polkadot/util';
|
||||
import { waitReady } from '@polkadot/wasm-crypto';
|
||||
|
||||
import { randomAsU8a } from '../random/asU8a.js';
|
||||
import { sr25519PairFromSeed } from './pair/fromSeed.js';
|
||||
@@ -13,10 +12,6 @@ import { sr25519Sign } from './sign.js';
|
||||
const MESSAGE = stringToU8a('this is a message');
|
||||
|
||||
describe('sign', (): void => {
|
||||
beforeEach(async (): Promise<void> => {
|
||||
await waitReady();
|
||||
});
|
||||
|
||||
it('has 64-byte signatures', (): void => {
|
||||
const pair = sr25519PairFromSeed(randomAsU8a());
|
||||
|
||||
|
||||
@@ -3,8 +3,9 @@
|
||||
|
||||
import type { Keypair } from '../types.js';
|
||||
|
||||
import * as sr25519 from '@scure/sr25519';
|
||||
|
||||
import { u8aToU8a } from '@polkadot/util';
|
||||
import { sr25519Sign as wasmSign } from '@polkadot/wasm-crypto';
|
||||
|
||||
/**
|
||||
* @name sr25519Sign
|
||||
@@ -17,5 +18,5 @@ export function sr25519Sign (message: string | Uint8Array, { publicKey, secretKe
|
||||
throw new Error('Expected a valid secretKey, 64-bytes');
|
||||
}
|
||||
|
||||
return wasmSign(publicKey, secretKey, u8aToU8a(message));
|
||||
return sr25519.sign(secretKey, u8aToU8a(message));
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
||||
|
||||
import { stringToU8a } from '@polkadot/util';
|
||||
import { waitReady } from '@polkadot/wasm-crypto';
|
||||
|
||||
import { randomAsU8a } from '../random/asU8a.js';
|
||||
import { sr25519PairFromSeed } from './pair/fromSeed.js';
|
||||
@@ -14,10 +13,6 @@ import { sr25519Verify } from './verify.js';
|
||||
const MESSAGE = stringToU8a('this is a message');
|
||||
|
||||
describe('verify', (): void => {
|
||||
beforeEach(async (): Promise<void> => {
|
||||
await waitReady();
|
||||
});
|
||||
|
||||
it('can sign and verify a message', (): void => {
|
||||
const pair = sr25519PairFromSeed(randomAsU8a());
|
||||
const signature = sr25519Sign(MESSAGE, pair);
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
// Copyright 2017-2025 @polkadot/util-crypto authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import * as sr25519 from '@scure/sr25519';
|
||||
|
||||
import { u8aToU8a } from '@polkadot/util';
|
||||
import { sr25519Verify as wasmVerify } from '@polkadot/wasm-crypto';
|
||||
|
||||
/**
|
||||
* @name sr25519Verify
|
||||
@@ -18,5 +19,5 @@ export function sr25519Verify (message: string | Uint8Array, signature: string |
|
||||
throw new Error(`Invalid signature, received ${signatureU8a.length} bytes, expected 64`);
|
||||
}
|
||||
|
||||
return wasmVerify(signatureU8a, u8aToU8a(message), publicKeyU8a);
|
||||
return sr25519.verify(u8aToU8a(message), signatureU8a, publicKeyU8a);
|
||||
}
|
||||
|
||||
@@ -3,8 +3,10 @@
|
||||
|
||||
import type { Keypair } from '../types.js';
|
||||
|
||||
import { randomBytes } from '@noble/hashes/utils';
|
||||
import * as sr25519 from '@scure/sr25519';
|
||||
|
||||
import { u8aToU8a } from '@polkadot/util';
|
||||
import { vrfSign } from '@polkadot/wasm-crypto';
|
||||
|
||||
const EMPTY_U8A = new Uint8Array();
|
||||
|
||||
@@ -17,5 +19,6 @@ export function sr25519VrfSign (message: string | Uint8Array, { secretKey }: Par
|
||||
throw new Error('Invalid secretKey, expected 64-bytes');
|
||||
}
|
||||
|
||||
return vrfSign(secretKey, u8aToU8a(context), u8aToU8a(message), u8aToU8a(extra));
|
||||
return sr25519.vrf.sign(u8aToU8a(message), secretKey, u8aToU8a(context), u8aToU8a(extra), randomBytes);
|
||||
// return vrfSign(secretKey, u8aToU8a(context), u8aToU8a(message), u8aToU8a(extra));
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
||||
|
||||
import { stringToU8a, u8aEq } from '@polkadot/util';
|
||||
import { waitReady } from '@polkadot/wasm-crypto';
|
||||
|
||||
import { randomAsU8a } from '../random/asU8a.js';
|
||||
import { sr25519PairFromSeed } from './pair/fromSeed.js';
|
||||
@@ -14,10 +13,6 @@ import { sr25519VrfVerify } from './vrfVerify.js';
|
||||
const MESSAGE = stringToU8a('this is a message');
|
||||
|
||||
describe('vrf sign and verify', (): void => {
|
||||
beforeEach(async (): Promise<void> => {
|
||||
await waitReady();
|
||||
});
|
||||
|
||||
it('has 96-byte proofs', (): void => {
|
||||
const pair = sr25519PairFromSeed(randomAsU8a());
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
// Copyright 2017-2025 @polkadot/util-crypto authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import * as sr25519 from '@scure/sr25519';
|
||||
|
||||
import { u8aToU8a } from '@polkadot/util';
|
||||
import { vrfVerify } from '@polkadot/wasm-crypto';
|
||||
|
||||
const EMPTY_U8A = new Uint8Array();
|
||||
|
||||
@@ -20,5 +21,5 @@ export function sr25519VrfVerify (message: string | Uint8Array, signOutput: stri
|
||||
throw new Error('Invalid vrfSign output, expected 96 bytes');
|
||||
}
|
||||
|
||||
return vrfVerify(publicKeyU8a, u8aToU8a(context), u8aToU8a(message), u8aToU8a(extra), proofU8a);
|
||||
return sr25519.vrf.verify(u8aToU8a(message), proofU8a, publicKeyU8a, u8aToU8a(context), u8aToU8a(extra));
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
"./packageDetect.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "13.5.6",
|
||||
"version": "14.0.1",
|
||||
"main": "index.js",
|
||||
"exports": {
|
||||
"./hex/toU8a": {
|
||||
@@ -35,15 +35,15 @@
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@polkadot/x-bigint": "13.5.6",
|
||||
"@polkadot/x-global": "13.5.6",
|
||||
"@polkadot/x-textdecoder": "13.5.6",
|
||||
"@polkadot/x-textencoder": "13.5.6",
|
||||
"@polkadot/x-bigint": "14.0.1",
|
||||
"@polkadot/x-global": "14.0.1",
|
||||
"@polkadot/x-textdecoder": "14.0.1",
|
||||
"@polkadot/x-textencoder": "14.0.1",
|
||||
"@types/bn.js": "^5.1.6",
|
||||
"bn.js": "^5.2.1",
|
||||
"tslib": "^2.8.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@polkadot/x-randomvalues": "13.5.6"
|
||||
"@polkadot/x-randomvalues": "14.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/util', path: 'auto', type: 'auto', version: '13.5.6' };
|
||||
export const packageInfo = { name: '@polkadot/util', path: 'auto', type: 'auto', version: '14.0.1' };
|
||||
|
||||
@@ -18,9 +18,9 @@
|
||||
"./shim.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "13.5.6",
|
||||
"version": "14.0.1",
|
||||
"dependencies": {
|
||||
"@polkadot/x-global": "13.5.6",
|
||||
"@polkadot/x-global": "14.0.1",
|
||||
"tslib": "^2.8.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/x-bigint', path: 'auto', type: 'auto', version: '13.5.6' };
|
||||
export const packageInfo = { name: '@polkadot/x-bigint', path: 'auto', type: 'auto', version: '14.0.1' };
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
},
|
||||
"sideEffects": false,
|
||||
"type": "module",
|
||||
"version": "13.5.6",
|
||||
"version": "14.0.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@polkadot/util": "13.5.6",
|
||||
"@polkadot/util": "14.0.1",
|
||||
"buffer-es6": "^4.9.3",
|
||||
"tslib": "^2.8.0"
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/x-bundle', path: 'auto', type: 'auto', version: '13.5.6' };
|
||||
export const packageInfo = { name: '@polkadot/x-bundle', path: 'auto', type: 'auto', version: '14.0.1' };
|
||||
|
||||
@@ -15,12 +15,12 @@
|
||||
},
|
||||
"sideEffects": false,
|
||||
"type": "module",
|
||||
"version": "13.5.6",
|
||||
"version": "14.0.1",
|
||||
"browser": "browser.js",
|
||||
"main": "node.js",
|
||||
"react-native": "react-native.js",
|
||||
"dependencies": {
|
||||
"@polkadot/x-global": "13.5.6",
|
||||
"@polkadot/x-global": "14.0.1",
|
||||
"node-fetch": "^3.3.2",
|
||||
"tslib": "^2.8.0"
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/x-fetch', path: 'auto', type: 'auto', version: '13.5.6' };
|
||||
export const packageInfo = { name: '@polkadot/x-fetch', path: 'auto', type: 'auto', version: '14.0.1' };
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
},
|
||||
"sideEffects": false,
|
||||
"type": "module",
|
||||
"version": "13.5.6",
|
||||
"version": "14.0.1",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"tslib": "^2.8.0"
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/x-global', path: 'auto', type: 'auto', version: '13.5.6' };
|
||||
export const packageInfo = { name: '@polkadot/x-global', path: 'auto', type: 'auto', version: '14.0.1' };
|
||||
|
||||
@@ -15,21 +15,21 @@
|
||||
},
|
||||
"sideEffects": false,
|
||||
"type": "module",
|
||||
"version": "13.5.6",
|
||||
"version": "14.0.1",
|
||||
"browser": "browser.js",
|
||||
"main": "node.js",
|
||||
"react-native": "react-native.js",
|
||||
"dependencies": {
|
||||
"@polkadot/x-global": "13.5.6",
|
||||
"@polkadot/x-global": "14.0.1",
|
||||
"tslib": "^2.8.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@polkadot/util": "13.5.6",
|
||||
"@polkadot/wasm-util": "^7.5.1",
|
||||
"@polkadot/util": "14.0.1",
|
||||
"@polkadot/wasm-util": "^7.5.3",
|
||||
"@types/react-native": "^0.73.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@polkadot/util": "13.5.6",
|
||||
"@polkadot/util": "14.0.1",
|
||||
"@polkadot/wasm-util": "*"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/x-randomvalues', path: 'auto', type: 'auto', version: '13.5.6' };
|
||||
export const packageInfo = { name: '@polkadot/x-randomvalues', path: 'auto', type: 'auto', version: '14.0.1' };
|
||||
|
||||
@@ -43,14 +43,18 @@ function getRandomValuesRn (output: Uint8Array): Uint8Array {
|
||||
);
|
||||
}
|
||||
|
||||
// Check for native RN modules first (highest priority)
|
||||
const hasNativeRNModules = !!NativeModules['ExpoRandom'] || !!(NativeModules as RNExt).RNGetRandomValues;
|
||||
const hasNativeCrypto = typeof xglobal.crypto === 'object' && typeof xglobal.crypto.getRandomValues === 'function';
|
||||
|
||||
export const getRandomValues = (
|
||||
(typeof xglobal.crypto === 'object' && typeof xglobal.crypto.getRandomValues === 'function')
|
||||
? getRandomValuesBrowser
|
||||
: (typeof xglobal['nativeCallSyncHook'] === 'undefined')
|
||||
? () => {
|
||||
hasNativeRNModules
|
||||
? getRandomValuesRn
|
||||
: hasNativeCrypto
|
||||
? getRandomValuesBrowser
|
||||
: () => {
|
||||
throw new Error('No secure random number generator available. This environment does not support crypto.getRandomValues.');
|
||||
}
|
||||
: getRandomValuesRn
|
||||
);
|
||||
|
||||
export const crypto = (
|
||||
|
||||
@@ -15,12 +15,12 @@
|
||||
},
|
||||
"sideEffects": false,
|
||||
"type": "module",
|
||||
"version": "13.5.6",
|
||||
"version": "14.0.1",
|
||||
"browser": "browser.js",
|
||||
"main": "node.js",
|
||||
"react-native": "react-native.js",
|
||||
"dependencies": {
|
||||
"@polkadot/x-global": "13.5.6",
|
||||
"@polkadot/x-global": "14.0.1",
|
||||
"tslib": "^2.8.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/x-textdecoder', path: 'auto', type: 'auto', version: '13.5.6' };
|
||||
export const packageInfo = { name: '@polkadot/x-textdecoder', path: 'auto', type: 'auto', version: '14.0.1' };
|
||||
|
||||
@@ -15,12 +15,12 @@
|
||||
},
|
||||
"sideEffects": false,
|
||||
"type": "module",
|
||||
"version": "13.5.6",
|
||||
"version": "14.0.1",
|
||||
"browser": "browser.js",
|
||||
"main": "node.js",
|
||||
"react-native": "react-native.js",
|
||||
"dependencies": {
|
||||
"@polkadot/x-global": "13.5.6",
|
||||
"@polkadot/x-global": "14.0.1",
|
||||
"tslib": "^2.8.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/x-textencoder', path: 'auto', type: 'auto', version: '13.5.6' };
|
||||
export const packageInfo = { name: '@polkadot/x-textencoder', path: 'auto', type: 'auto', version: '14.0.1' };
|
||||
|
||||
@@ -15,12 +15,12 @@
|
||||
},
|
||||
"sideEffects": false,
|
||||
"type": "module",
|
||||
"version": "13.5.6",
|
||||
"version": "14.0.1",
|
||||
"browser": "browser.js",
|
||||
"main": "node.js",
|
||||
"react-native": "react-native.js",
|
||||
"dependencies": {
|
||||
"@polkadot/x-global": "13.5.6",
|
||||
"@polkadot/x-global": "14.0.1",
|
||||
"tslib": "^2.8.0",
|
||||
"ws": "^8.18.0"
|
||||
},
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/x-ws', path: 'auto', type: 'auto', version: '13.5.6' };
|
||||
export const packageInfo = { name: '@polkadot/x-ws', path: 'auto', type: 'auto', version: '14.0.1' };
|
||||
|
||||
@@ -1313,6 +1313,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@noble/curves@npm:~1.9.2":
|
||||
version: 1.9.7
|
||||
resolution: "@noble/curves@npm:1.9.7"
|
||||
dependencies:
|
||||
"@noble/hashes": "npm:1.8.0"
|
||||
checksum: 10/3cfe2735ea94972988ca9e217e0ebb2044372a7160b2079bf885da789492a6291fc8bf76ca3d8bf8dee477847ee2d6fac267d1e6c4f555054059f5e8c4865d44
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@noble/hashes@npm:1.3.3, @noble/hashes@npm:^1.3.3":
|
||||
version: 1.3.3
|
||||
resolution: "@noble/hashes@npm:1.3.3"
|
||||
@@ -1320,6 +1329,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@noble/hashes@npm:1.8.0, @noble/hashes@npm:~1.8.0":
|
||||
version: 1.8.0
|
||||
resolution: "@noble/hashes@npm:1.8.0"
|
||||
checksum: 10/474b7f56bc6fb2d5b3a42132561e221b0ea4f91e590f4655312ca13667840896b34195e2b53b7f097ec080a1fdd3b58d902c2a8d0fbdf51d2e238b53808a177e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@nodelib/fs.scandir@npm:2.1.5":
|
||||
version: 2.1.5
|
||||
resolution: "@nodelib/fs.scandir@npm:2.1.5"
|
||||
@@ -1574,7 +1590,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/hw-ledger-transports@npm:13.5.6, @polkadot/hw-ledger-transports@workspace:packages/hw-ledger-transports":
|
||||
"@polkadot/hw-ledger-transports@npm:14.0.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:
|
||||
@@ -1582,7 +1598,7 @@ __metadata:
|
||||
"@ledgerhq/hw-transport-node-hid-singleton": "npm:^6.31.5"
|
||||
"@ledgerhq/hw-transport-webhid": "npm:^6.29.4"
|
||||
"@ledgerhq/hw-transport-webusb": "npm:^6.29.4"
|
||||
"@polkadot/util": "npm:13.5.6"
|
||||
"@polkadot/util": "npm:14.0.1"
|
||||
tslib: "npm:^2.8.0"
|
||||
dependenciesMeta:
|
||||
"@ledgerhq/hw-transport-node-hid-singleton":
|
||||
@@ -1590,12 +1606,12 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@polkadot/hw-ledger@npm:13.5.6, @polkadot/hw-ledger@workspace:packages/hw-ledger":
|
||||
"@polkadot/hw-ledger@npm:14.0.1, @polkadot/hw-ledger@workspace:packages/hw-ledger":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/hw-ledger@workspace:packages/hw-ledger"
|
||||
dependencies:
|
||||
"@polkadot/hw-ledger-transports": "npm:13.5.6"
|
||||
"@polkadot/util": "npm:13.5.6"
|
||||
"@polkadot/hw-ledger-transports": "npm:14.0.1"
|
||||
"@polkadot/util": "npm:14.0.1"
|
||||
"@zondax/ledger-substrate": "npm:1.1.1"
|
||||
tslib: "npm:^2.8.0"
|
||||
languageName: unknown
|
||||
@@ -1605,145 +1621,146 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/keyring@workspace:packages/keyring"
|
||||
dependencies:
|
||||
"@polkadot/util": "npm:13.5.6"
|
||||
"@polkadot/util-crypto": "npm:13.5.6"
|
||||
"@polkadot/util": "npm:14.0.1"
|
||||
"@polkadot/util-crypto": "npm:14.0.1"
|
||||
tslib: "npm:^2.8.0"
|
||||
peerDependencies:
|
||||
"@polkadot/util": 13.5.6
|
||||
"@polkadot/util-crypto": 13.5.6
|
||||
"@polkadot/util": 14.0.1
|
||||
"@polkadot/util-crypto": 14.0.1
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@polkadot/networks@npm:13.5.6, @polkadot/networks@workspace:packages/networks":
|
||||
"@polkadot/networks@npm:14.0.1, @polkadot/networks@workspace:packages/networks":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/networks@workspace:packages/networks"
|
||||
dependencies:
|
||||
"@polkadot/hw-ledger": "npm:13.5.6"
|
||||
"@polkadot/util": "npm:13.5.6"
|
||||
"@polkadot/hw-ledger": "npm:14.0.1"
|
||||
"@polkadot/util": "npm:14.0.1"
|
||||
"@substrate/ss58-registry": "npm:^1.51.0"
|
||||
tslib: "npm:^2.8.0"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@polkadot/util-crypto@npm:13.5.6, @polkadot/util-crypto@workspace:packages/util-crypto":
|
||||
"@polkadot/util-crypto@npm:14.0.1, @polkadot/util-crypto@workspace:packages/util-crypto":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/util-crypto@workspace:packages/util-crypto"
|
||||
dependencies:
|
||||
"@noble/curves": "npm:^1.3.0"
|
||||
"@noble/hashes": "npm:^1.3.3"
|
||||
"@polkadot/networks": "npm:13.5.6"
|
||||
"@polkadot/util": "npm:13.5.6"
|
||||
"@polkadot/wasm-crypto": "npm:^7.5.1"
|
||||
"@polkadot/wasm-util": "npm:^7.5.1"
|
||||
"@polkadot/x-bigint": "npm:13.5.6"
|
||||
"@polkadot/x-randomvalues": "npm:13.5.6"
|
||||
"@polkadot/networks": "npm:14.0.1"
|
||||
"@polkadot/util": "npm:14.0.1"
|
||||
"@polkadot/wasm-crypto": "npm:^7.5.3"
|
||||
"@polkadot/wasm-util": "npm:^7.5.3"
|
||||
"@polkadot/x-bigint": "npm:14.0.1"
|
||||
"@polkadot/x-randomvalues": "npm:14.0.1"
|
||||
"@scure/base": "npm:^1.1.7"
|
||||
"@scure/sr25519": "npm:^0.2.0"
|
||||
tslib: "npm:^2.8.0"
|
||||
peerDependencies:
|
||||
"@polkadot/util": 13.5.6
|
||||
"@polkadot/util": 14.0.1
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@polkadot/util@npm:13.5.6, @polkadot/util@workspace:packages/util":
|
||||
"@polkadot/util@npm:14.0.1, @polkadot/util@workspace:packages/util":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/util@workspace:packages/util"
|
||||
dependencies:
|
||||
"@polkadot/x-bigint": "npm:13.5.6"
|
||||
"@polkadot/x-global": "npm:13.5.6"
|
||||
"@polkadot/x-randomvalues": "npm:13.5.6"
|
||||
"@polkadot/x-textdecoder": "npm:13.5.6"
|
||||
"@polkadot/x-textencoder": "npm:13.5.6"
|
||||
"@polkadot/x-bigint": "npm:14.0.1"
|
||||
"@polkadot/x-global": "npm:14.0.1"
|
||||
"@polkadot/x-randomvalues": "npm:14.0.1"
|
||||
"@polkadot/x-textdecoder": "npm:14.0.1"
|
||||
"@polkadot/x-textencoder": "npm:14.0.1"
|
||||
"@types/bn.js": "npm:^5.1.6"
|
||||
bn.js: "npm:^5.2.1"
|
||||
tslib: "npm:^2.8.0"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@polkadot/wasm-bridge@npm:7.5.1":
|
||||
version: 7.5.1
|
||||
resolution: "@polkadot/wasm-bridge@npm:7.5.1"
|
||||
"@polkadot/wasm-bridge@npm:7.5.3":
|
||||
version: 7.5.3
|
||||
resolution: "@polkadot/wasm-bridge@npm:7.5.3"
|
||||
dependencies:
|
||||
"@polkadot/wasm-util": "npm:7.5.1"
|
||||
"@polkadot/wasm-util": "npm:7.5.3"
|
||||
tslib: "npm:^2.7.0"
|
||||
peerDependencies:
|
||||
"@polkadot/util": "*"
|
||||
"@polkadot/x-randomvalues": "*"
|
||||
checksum: 10/70094b6e9727a902a922709326022e22c2a9bc7e27de541d646cb25d3cbee56df5eddd4a0046269ef34092562bc7f746e5d3347ac3f8aff01990eae837d078b8
|
||||
checksum: 10/b2274de457978c961f40be54d243056608d82035762e1bbbfbfa09f51191b7fbb35d34f25854f8251aa5d451faa0547061578c906922c8d3f7964075f1993955
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/wasm-crypto-asmjs@npm:7.5.1":
|
||||
version: 7.5.1
|
||||
resolution: "@polkadot/wasm-crypto-asmjs@npm:7.5.1"
|
||||
"@polkadot/wasm-crypto-asmjs@npm:7.5.3":
|
||||
version: 7.5.3
|
||||
resolution: "@polkadot/wasm-crypto-asmjs@npm:7.5.3"
|
||||
dependencies:
|
||||
tslib: "npm:^2.7.0"
|
||||
peerDependencies:
|
||||
"@polkadot/util": "*"
|
||||
checksum: 10/6849a96bf9191f22e238fa847ebc8cbbb13d9d2569007dde6055769144c3c6cf8398e81f3ab93b3fad458bf69f3833a77f197ff36b015fb61690ee15ba9ec45b
|
||||
checksum: 10/407bfd079dc81e310966c855f9abb759ce6199e0380b4054d084f248915bd8259b8b9c1ca6d380d5628af3356fd70809ac67df8a847408eddb044a3944972ef6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/wasm-crypto-init@npm:7.5.1":
|
||||
version: 7.5.1
|
||||
resolution: "@polkadot/wasm-crypto-init@npm:7.5.1"
|
||||
"@polkadot/wasm-crypto-init@npm:7.5.3":
|
||||
version: 7.5.3
|
||||
resolution: "@polkadot/wasm-crypto-init@npm:7.5.3"
|
||||
dependencies:
|
||||
"@polkadot/wasm-bridge": "npm:7.5.1"
|
||||
"@polkadot/wasm-crypto-asmjs": "npm:7.5.1"
|
||||
"@polkadot/wasm-crypto-wasm": "npm:7.5.1"
|
||||
"@polkadot/wasm-util": "npm:7.5.1"
|
||||
"@polkadot/wasm-bridge": "npm:7.5.3"
|
||||
"@polkadot/wasm-crypto-asmjs": "npm:7.5.3"
|
||||
"@polkadot/wasm-crypto-wasm": "npm:7.5.3"
|
||||
"@polkadot/wasm-util": "npm:7.5.3"
|
||||
tslib: "npm:^2.7.0"
|
||||
peerDependencies:
|
||||
"@polkadot/util": "*"
|
||||
"@polkadot/x-randomvalues": "*"
|
||||
checksum: 10/ca429d97bdfe637d1b3672015d16bc0a160af37bf647ccb52597b40f929fc7af16096c1af5603fb5b838e04140db91904c774fb3e59cd34debf026e45c77ac5b
|
||||
checksum: 10/3e2e78252856d6be25df12eb7dcd1f2985f95c86178ec95698cdc1a6b5fe7a90e5950767c98dac9daa91c50eb667bcf06a2a2d6a8011cf3357287fdfab07687d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/wasm-crypto-wasm@npm:7.5.1":
|
||||
version: 7.5.1
|
||||
resolution: "@polkadot/wasm-crypto-wasm@npm:7.5.1"
|
||||
"@polkadot/wasm-crypto-wasm@npm:7.5.3":
|
||||
version: 7.5.3
|
||||
resolution: "@polkadot/wasm-crypto-wasm@npm:7.5.3"
|
||||
dependencies:
|
||||
"@polkadot/wasm-util": "npm:7.5.1"
|
||||
"@polkadot/wasm-util": "npm:7.5.3"
|
||||
tslib: "npm:^2.7.0"
|
||||
peerDependencies:
|
||||
"@polkadot/util": "*"
|
||||
checksum: 10/c652b38edbb07d7b7546ecdb44ea370244e3f1ff37c9733ee2db4d7e7483e7c7496ce220ec5c621a26fdb49d0475390fc84d51cec5ddb110fa0fc3373d06dd43
|
||||
checksum: 10/b5d0ca87c750d246fe49d170c3738764d649d9a1869eb0c275b5c3024d6a9c44ab5d581d2f81f6b2d4d29e44856397f7102fc94c8adead12729b7d493174d2bd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/wasm-crypto@npm:^7.5.1":
|
||||
version: 7.5.1
|
||||
resolution: "@polkadot/wasm-crypto@npm:7.5.1"
|
||||
"@polkadot/wasm-crypto@npm:^7.5.3":
|
||||
version: 7.5.3
|
||||
resolution: "@polkadot/wasm-crypto@npm:7.5.3"
|
||||
dependencies:
|
||||
"@polkadot/wasm-bridge": "npm:7.5.1"
|
||||
"@polkadot/wasm-crypto-asmjs": "npm:7.5.1"
|
||||
"@polkadot/wasm-crypto-init": "npm:7.5.1"
|
||||
"@polkadot/wasm-crypto-wasm": "npm:7.5.1"
|
||||
"@polkadot/wasm-util": "npm:7.5.1"
|
||||
"@polkadot/wasm-bridge": "npm:7.5.3"
|
||||
"@polkadot/wasm-crypto-asmjs": "npm:7.5.3"
|
||||
"@polkadot/wasm-crypto-init": "npm:7.5.3"
|
||||
"@polkadot/wasm-crypto-wasm": "npm:7.5.3"
|
||||
"@polkadot/wasm-util": "npm:7.5.3"
|
||||
tslib: "npm:^2.7.0"
|
||||
peerDependencies:
|
||||
"@polkadot/util": "*"
|
||||
"@polkadot/x-randomvalues": "*"
|
||||
checksum: 10/d304959e67dab123f9ba9e9d400358156478f633ef3e2f760530fc556d79fcebc155be809ec73dc54c247c4e5185e118fe23c191167a9ad77ec575adb32979e3
|
||||
checksum: 10/a695a6bc3402ee7c79e90b546114fc504f80d0247fb445810fcb1b8ab62351b3d9f0c50a6ca47ebda0bec145534275ab9092bb926fd69443cbc7be7b9bb50bc0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/wasm-util@npm:7.5.1, @polkadot/wasm-util@npm:^7.5.1":
|
||||
version: 7.5.1
|
||||
resolution: "@polkadot/wasm-util@npm:7.5.1"
|
||||
"@polkadot/wasm-util@npm:7.5.3, @polkadot/wasm-util@npm:^7.5.3":
|
||||
version: 7.5.3
|
||||
resolution: "@polkadot/wasm-util@npm:7.5.3"
|
||||
dependencies:
|
||||
tslib: "npm:^2.7.0"
|
||||
peerDependencies:
|
||||
"@polkadot/util": "*"
|
||||
checksum: 10/7e96be99a275f6e4a68b92b6439b70aa7d80f1209031d4f7e7f7c00dee65272aabaaee43ec153c969a72a02792c2bf271e266bccd60e83e9a1450c5c5e7b06ee
|
||||
checksum: 10/82c2149c7db0c9cc566aea6caad51e6048d1ee6b9bb7ac06f59c3c28bb94f0d0678f6ee4e51becd241105ba37a6d9e30653f74d630d1bc685ceb18b601f9acda
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/x-bigint@npm:13.5.6, @polkadot/x-bigint@workspace:packages/x-bigint":
|
||||
"@polkadot/x-bigint@npm:14.0.1, @polkadot/x-bigint@workspace:packages/x-bigint":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/x-bigint@workspace:packages/x-bigint"
|
||||
dependencies:
|
||||
"@polkadot/x-global": "npm:13.5.6"
|
||||
"@polkadot/x-global": "npm:14.0.1"
|
||||
tslib: "npm:^2.8.0"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
@@ -1752,7 +1769,7 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/x-bundle@workspace:packages/x-bundle"
|
||||
dependencies:
|
||||
"@polkadot/util": "npm:13.5.6"
|
||||
"@polkadot/util": "npm:14.0.1"
|
||||
buffer-es6: "npm:^4.9.3"
|
||||
tslib: "npm:^2.8.0"
|
||||
languageName: unknown
|
||||
@@ -1762,13 +1779,13 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/x-fetch@workspace:packages/x-fetch"
|
||||
dependencies:
|
||||
"@polkadot/x-global": "npm:13.5.6"
|
||||
"@polkadot/x-global": "npm:14.0.1"
|
||||
node-fetch: "npm:^3.3.2"
|
||||
tslib: "npm:^2.8.0"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@polkadot/x-global@npm:13.5.6, @polkadot/x-global@workspace:packages/x-global":
|
||||
"@polkadot/x-global@npm:14.0.1, @polkadot/x-global@workspace:packages/x-global":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/x-global@workspace:packages/x-global"
|
||||
dependencies:
|
||||
@@ -1776,35 +1793,35 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@polkadot/x-randomvalues@npm:13.5.6, @polkadot/x-randomvalues@workspace:packages/x-randomvalues":
|
||||
"@polkadot/x-randomvalues@npm:14.0.1, @polkadot/x-randomvalues@workspace:packages/x-randomvalues":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/x-randomvalues@workspace:packages/x-randomvalues"
|
||||
dependencies:
|
||||
"@polkadot/util": "npm:13.5.6"
|
||||
"@polkadot/wasm-util": "npm:^7.5.1"
|
||||
"@polkadot/x-global": "npm:13.5.6"
|
||||
"@polkadot/util": "npm:14.0.1"
|
||||
"@polkadot/wasm-util": "npm:^7.5.3"
|
||||
"@polkadot/x-global": "npm:14.0.1"
|
||||
"@types/react-native": "npm:^0.73.0"
|
||||
tslib: "npm:^2.8.0"
|
||||
peerDependencies:
|
||||
"@polkadot/util": 13.5.6
|
||||
"@polkadot/util": 14.0.1
|
||||
"@polkadot/wasm-util": "*"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@polkadot/x-textdecoder@npm:13.5.6, @polkadot/x-textdecoder@workspace:packages/x-textdecoder":
|
||||
"@polkadot/x-textdecoder@npm:14.0.1, @polkadot/x-textdecoder@workspace:packages/x-textdecoder":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/x-textdecoder@workspace:packages/x-textdecoder"
|
||||
dependencies:
|
||||
"@polkadot/x-global": "npm:13.5.6"
|
||||
"@polkadot/x-global": "npm:14.0.1"
|
||||
tslib: "npm:^2.8.0"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@polkadot/x-textencoder@npm:13.5.6, @polkadot/x-textencoder@workspace:packages/x-textencoder":
|
||||
"@polkadot/x-textencoder@npm:14.0.1, @polkadot/x-textencoder@workspace:packages/x-textencoder":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/x-textencoder@workspace:packages/x-textencoder"
|
||||
dependencies:
|
||||
"@polkadot/x-global": "npm:13.5.6"
|
||||
"@polkadot/x-global": "npm:14.0.1"
|
||||
tslib: "npm:^2.8.0"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
@@ -1813,7 +1830,7 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/x-ws@workspace:packages/x-ws"
|
||||
dependencies:
|
||||
"@polkadot/x-global": "npm:13.5.6"
|
||||
"@polkadot/x-global": "npm:14.0.1"
|
||||
"@types/ws": "npm:^8.5.12"
|
||||
tslib: "npm:^2.8.0"
|
||||
ws: "npm:^8.18.0"
|
||||
@@ -2386,6 +2403,16 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@scure/sr25519@npm:^0.2.0":
|
||||
version: 0.2.0
|
||||
resolution: "@scure/sr25519@npm:0.2.0"
|
||||
dependencies:
|
||||
"@noble/curves": "npm:~1.9.2"
|
||||
"@noble/hashes": "npm:~1.8.0"
|
||||
checksum: 10/3c47b474811642b43fd8c96f7846c9d88c9a06eefa7d6360b6421ebdfb6cf582e1e8fdce9ae4708b088a0e323cd6519c883c3a33a284c2fad592414b02f19049
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@sideway/address@npm:^4.1.4":
|
||||
version: 4.1.4
|
||||
resolution: "@sideway/address@npm:4.1.4"
|
||||
|
||||
Reference in New Issue
Block a user