Compare commits

...
484 Commits
Author SHA1 Message Date
github-actions[bot] 1fdc2c8dae [CI Skip] release/stable 12.2.2
skip-checks: true
2023-06-04 09:06:26 +00:00
Jaco b6a2693e5f 12.2.2 (#1839) 2023-06-04 11:58:18 +03:00
github-actions[bot] 8b3687e062 [CI Skip] bump/beta 12.2.2-7-x
skip-checks: true
2023-06-04 08:30:55 +00:00
Jaco 3a8429b687 Bump noble/{curves, hashes} (#1838) 2023-06-04 11:24:40 +03:00
github-actions[bot] 26e9b01198 [CI Skip] bump/beta 12.2.2-6-x
skip-checks: true
2023-06-02 10:51:44 +00:00
Jaco 76d71d946d Bump deps (w/ TS 5.1) (#1837)
* Bump deps (w/ TS 5.1)

* Adjust fallback

* Revert promisify adjustments
2023-06-02 13:44:54 +03:00
github-actions[bot] 0ebc7bd374 [CI Skip] bump/beta 12.2.2-5-x
skip-checks: true
2023-05-30 08:57:58 +00:00
Jaco d94c126744 Apply missing count assignment in for loops (#1836) 2023-05-30 11:50:04 +03:00
github-actions[bot] 86597dcb17 [CI Skip] bump/beta 12.2.2-4-x
skip-checks: true
2023-05-28 07:53:44 +00:00
Jaco 1be682827b Bump deps (incl Ledger) (#1835) 2023-05-28 10:47:42 +03:00
github-actions[bot] 081b6b4f2b [CI Skip] bump/beta 12.2.2-3-x
skip-checks: true
2023-05-25 07:37:17 +00:00
Jaco 7dc38e78cf jg-bump-deps (#1834) 2023-05-25 10:29:17 +03:00
github-actions[bot] dcf214f250 [CI Skip] bump/beta 12.2.2-2-x
skip-checks: true
2023-05-21 09:48:48 +00:00
Jaco 2e82528e1b Bump dev (w/ eslint config adj) (#1832) 2023-05-21 12:42:39 +03:00
github-actions[bot] 090b91910f [CI Skip] bump/beta 12.2.2-1-x
skip-checks: true
2023-05-18 09:05:38 +00:00
Jaco 058d197646 Adjust tsconfig usage (w/ latest dev) (#1831) 2023-05-18 11:59:17 +03:00
github-actions[bot] 0fca8904e6 [CI Skip] bump/beta 12.2.2-0-x
skip-checks: true
2023-05-18 05:35:04 +00:00
Jaco 0bf7bc416a Bump dev deps (#1830) 2023-05-18 08:29:07 +03:00
github-actions[bot] ea08763307 [CI Skip] release/stable 12.2.1
skip-checks: true
2023-05-13 08:25:36 +00:00
Jaco 5272645abe 12.2.1 (#1829) 2023-05-13 11:17:53 +03:00
Jaco e5373c35c8 Unroll u8aToBigInt loops (#1821)
* Unroll u8aToBigInt loops

* Bump dev

* Rolling tests
2023-05-13 10:51:46 +03:00
github-actions[bot] b73b96e412 [CI Skip] bump/beta 12.1.3-2-x
skip-checks: true
2023-05-06 09:00:28 +00:00
Jaco 18d24bf509 Bump dev (#1827) 2023-05-06 11:52:33 +03:00
github-actions[bot] fe230f143f [CI Skip] bump/beta 12.1.3-1-x
skip-checks: true
2023-05-05 07:07:53 +00:00
Jaco 6357c1e040 Update Constructor interface params (#1823)
* Update Constructor interface params

* Adjust

* Adjust
2023-05-05 10:01:56 +03:00
github-actions[bot] 1876efe13e [CI Skip] bump/beta 12.1.3-0-x
skip-checks: true
2023-05-05 06:46:01 +00:00
Jaco 9de142b5f6 Bump deps (#1826) 2023-05-05 09:39:58 +03:00
github-actions[bot] e5cb0ba2b4 [CI Skip] release/stable 12.1.2
skip-checks: true
2023-05-01 16:14:41 +00:00
Jaco dba5d3e7b3 Fix typings for isChildClass (#1824)
* Fix typings for isChildClass

* Adjust
2023-05-01 19:08:41 +03:00
github-actions[bot] 8ccfecfff8 [CI Skip] bump/beta 12.1.2-0-x
skip-checks: true
2023-04-29 10:42:54 +00:00
Jaco f2e79ffe67 Align u8aToBigInt tests with u8aToBn (#1820)
* Align u8aToBigInt tests with u8aToBn

* Remove unused import
2023-04-29 13:33:53 +03:00
github-actions[bot] e7f595a11f [CI Skip] release/stable 12.1.1
skip-checks: true
2023-04-29 05:50:45 +00:00
Jaco 770471aef0 12.1.1 (#1819) 2023-04-29 08:44:25 +03:00
github-actions[bot] 6b1ff0036e [CI Skip] bump/beta 12.0.2-2-x
skip-checks: true
2023-04-28 06:13:30 +00:00
Jaco fee81b89ac Bump deps (#1818) 2023-04-28 09:07:41 +03:00
github-actions[bot] c4d5b8e1ae [CI Skip] bump/beta 12.0.2-1-x
skip-checks: true
2023-04-26 09:36:39 +00:00
Jaco 5674b1df67 Bump deps w/ export ordering (#1817) 2023-04-26 12:29:21 +03:00
github-actions[bot] 5ccb3e85f8 [CI Skip] bump/beta 12.0.2-0-x
skip-checks: true
2023-04-24 04:59:26 +00:00
Jaco 785a23433d Flatten Buffer | Uint8Array types (#1816)
* Flatten Buffer | Uint8Array types

* Remove dangling Buffer references

* CHANGELOG

* Adjust
2023-04-24 07:53:31 +03:00
github-actions[bot] bead42ca5f [CI Skip] release/stable 12.0.1
skip-checks: true
2023-04-22 07:44:07 +00:00
Jaco 2d2a1a5989 12.0.1 (#1815)
* 12.0.1

* Inline xxhash single-use

* Adjust comments
2023-04-22 10:37:53 +03:00
github-actions[bot] db4dde0a57 [CI Skip] bump/beta 11.1.4-19-x
skip-checks: true
2023-04-21 08:23:53 +00:00
Jaco b5d83f8836 Allow wordlist? param to mnemonic* functions (#1814) 2023-04-21 11:16:43 +03:00
github-actions[bot] cdf6cc6096 [CI Skip] bump/beta 11.1.4-18-x
skip-checks: true
2023-04-21 07:34:55 +00:00
Jaco dfd07e04d4 Align x-randomvalues with webCrypto (#1782)
* Align x-randomvalues with webCrypto

* Deno export from browser

* export * for x-ws

* export * from RN

* CHANGELOG
2023-04-21 10:27:30 +03:00
github-actions[bot] f5a3a6fd73 [CI Skip] bump/beta 11.1.4-17-x
skip-checks: true
2023-04-21 07:18:16 +00:00
Jaco 51a7263d38 Bump dev (w/ Node 16+ only) (#1813)
* Bump dev (w/ Node 16+ only)

* Lint

* Fix build
2023-04-21 10:10:27 +03:00
github-actions[bot] e3b11360ab [CI Skip] bump/beta 11.1.4-16-x
skip-checks: true
2023-04-20 06:58:05 +00:00
Jaco b4bed3d801 Bump deps (#1812) 2023-04-20 09:52:10 +03:00
github-actions[bot] 1f8b573d81 [CI Skip] bump/beta 11.1.4-15-x
skip-checks: true
2023-04-15 11:37:12 +00:00
Jaco a0e5d48208 CHANGELOG (#1811) 2023-04-15 14:30:49 +03:00
github-actions[bot] 6ce32b8039 [CI Skip] bump/beta 11.1.4-14-x
skip-checks: true
2023-04-15 11:15:05 +00:00
Jaco 3ee810904e Adjust isCodec with better API alignment (#1810)
* Adjust isCodec with better API alignment

* Adjust tests

* Remove test dupes
2023-04-15 14:07:44 +03:00
github-actions[bot] ed73a7912b [CI Skip] bump/beta 11.1.4-13-x
skip-checks: true
2023-04-14 07:28:50 +00:00
Jaco 4ec2cf9e43 Small adjustment to x-* exports (#1809) 2023-04-14 10:22:53 +03:00
github-actions[bot] 38ac05203e [CI Skip] release/beta 11.1.4-12
skip-checks: true
2023-04-13 13:13:49 +00:00
Jaco bb6a2b4468 Add missing peerDependencies for x-randomvalues (#1808)
* Add missing peerDependencies for x-randomvalues

* publish
2023-04-13 16:07:34 +03:00
github-actions[bot] 3c9b20e902 [CI Skip] release/beta 11.1.4-11
skip-checks: true
2023-04-13 11:39:47 +00:00
Jaco e1a2ea49cb x-randomvalues w/ shared base64 decoding (#1807)
* x-randomvalues w/ shared base64 decoding

* Adjust

* npm publish
2023-04-13 14:33:45 +03:00
github-actions[bot] 892004563f [CI Skip] bump/beta 11.1.4-10-x
skip-checks: true
2023-04-13 06:20:56 +00:00
Jaco efe4ce8d9d Allow for wordlists in JS bip39 functions (#1805) 2023-04-13 09:14:45 +03:00
github-actions[bot] f0f561e243 [CI Skip] bump/beta 11.1.4-9-x
skip-checks: true
2023-04-12 19:52:44 +00:00
Shamilkhan 56e34586b3 Add genesis hash for Cere Network (#1806)
* Add genesis hash for Cere Network

* Put Cere Network in correct alphabet order

* Rename CereNetwork to Cere
2023-04-12 22:46:39 +03:00
github-actions[bot] 667fe8fb17 [CI Skip] bump/beta 11.1.4-8-x
skip-checks: true
2023-04-12 11:09:35 +00:00
Jaco 3fd8074877 Add missing bip39 wordlists (only en is used) (#1803) 2023-04-12 14:01:27 +03:00
github-actions[bot] 91a2eac220 [CI Skip] release/beta 11.1.4-7
skip-checks: true
2023-04-12 10:04:21 +00:00
Jaco 455ae2ccde Use @noble/curves (secp256k1 + ed25519) (#1776)
* Use @noble/curves (secp256k1 only for now)

* Re-add canonical signatures (now lowS)

* Swap tweetnacl usage for ed25519

* Adjust previously failing tests

* Adjust test for ethereum encoding

* hasBigInt for ed25519 operations

* CHANGELOG

* Publich beta to npm for size check
2023-04-12 12:58:17 +03:00
github-actions[bot] 9d43b787fd [CI Skip] bump/beta 11.1.4-6-x
skip-checks: true
2023-04-12 09:45:36 +00:00
Jaco 29551e46b0 Import box functionality from tweetnacl (#1785)
* Import box functionality from tweetnacl

* Remove box/boxOpen functionality

* Additional comment

* Import secretbox test vectors

* Allow empty base64 input

* Combine non-xor crypto_stream usage with xor

* Adjust

* inline let

* Rename tests, extract test vectors

* Adjust chnages comments

* Remove box keypair

* Remove rng set operation

* Inline adjust

* Verify adjustment
2023-04-12 12:39:31 +03:00
Jaco 103745f845 Trace tweetnacl usage (Step 5: secretbox & .open available) (#1802) 2023-04-12 12:25:41 +03:00
Jaco cd7a32cf1f Trace tweetnacl usage (step 4: apply TS types) (#1801) 2023-04-12 12:11:40 +03:00
Jaco 5004d1d79f Trace tweetnacl usage (step 3: comment all code) (#1800) 2023-04-12 11:42:15 +03:00
Jaco 2607203925 Trace tweetnacl usage (step 2: move to TS) (#1799) 2023-04-12 11:39:17 +03:00
Jaco 5abab5bf13 Trace tweetnacl usage (step 1: raw initial import) (#1798) 2023-04-12 11:35:50 +03:00
github-actions[bot] a990b4e40f [CI Skip] bump/beta 11.1.4-5-x
skip-checks: true
2023-04-12 08:14:47 +00:00
Jaco 997f8f6a51 Align x-bigint extraction with other x-* (#1797) 2023-04-12 11:08:48 +03:00
github-actions[bot] 23e055869c [CI Skip] bump/beta 11.1.4-4-x
skip-checks: true
2023-04-11 12:00:36 +00:00
Jaco de85d063a4 Bump dev (w/ lint updates) (#1795)
* Bump dev (w/ lint updates)

* Bump dev

* Adjust behavior for global setting

* Adjust versionDetect expectations
2023-04-11 14:52:49 +03:00
github-actions[bot] 5964f790b5 [CI Skip] bump/beta 11.1.4-3-x
skip-checks: true
2023-04-10 07:27:42 +00:00
Jaco a767ef68ca Bump dev (w/ eslint adjustments) (#1794) 2023-04-10 10:21:33 +03:00
github-actions[bot] c096a4981d [CI Skip] bump/beta 11.1.4-2-x
skip-checks: true
2023-04-08 08:09:52 +00:00
Jaco 7dcdef17c3 Bump TypeScript (#1793)
* Bump TypeScript

* Bump dev

* Bump dev, no npm:
2023-04-08 11:02:20 +03:00
github-actions[bot] ef839a7a42 [CI Skip] bump/beta 11.1.4-1-x
skip-checks: true
2023-04-04 05:40:36 +00:00
Jaco 7bf1706994 Update lock wf (#1791) 2023-04-04 08:31:58 +03:00
github-actions[bot] 2999987fb0 [CI Skip] bump/beta 11.1.4-0-x
skip-checks: true
2023-04-02 07:01:09 +00:00
Jaco 6ba45086b5 Move type-only imports (w/ verbatimModuleSyntax) (#1790) 2023-04-02 09:53:43 +03:00
github-actions[bot] e3c51d4b6b [CI Skip] release/stable 11.1.3
skip-checks: true
2023-04-01 07:04:11 +00:00
Jaco 1295c85df3 11.1.3 (#1789) 2023-04-01 09:58:20 +03:00
github-actions[bot] 14d66c32de [CI Skip] bump/beta 11.1.3-4-x
skip-checks: true
2023-03-31 06:24:39 +00:00
Jaco b794d22ac4 Allow empty string as valid base32/base58/base64 decoder input (#1788)
* Allow empty string as valid base32/base58/base64 decoder input

* Remove empty failure

* Validation with optional validation flag

* Empty validation
2023-03-31 09:18:38 +03:00
github-actions[bot] edb62407e2 [CI Skip] bump/beta 11.1.3-3-x
skip-checks: true
2023-03-31 05:14:41 +00:00
Jaco 45b040fbf8 Additional __PURE__ annotations (#1787)
* Additional __PURE__ annotations

* Revert as const (This _could_ yield breaking external changes)
2023-03-31 08:08:01 +03:00
github-actions[bot] 777b823317 [CI Skip] bump/beta 11.1.3-2-x
skip-checks: true
2023-03-29 04:28:57 +00:00
Cameron Fairchild c5ef717398 Add bittensor details (#1783)
* add with todo

* update genesis hash

* remove from ledger

* remove from ledger
2023-03-29 07:21:56 +03:00
github-actions[bot] 98f0933da5 [CI Skip] bump/beta 11.1.3-1-x
skip-checks: true
2023-03-25 15:52:28 +00:00
Jaco 493d0df0c1 Add repo dev req. for Node.js (#1779) 2023-03-25 17:46:33 +02:00
github-actions[bot] 5d8e92f17c [CI Skip] bump/beta 11.1.3-0-x
skip-checks: true
2023-03-25 10:57:53 +00:00
Jaco 2ce178cad2 Bump dev (w/ some node:test adjustments) (#1778) 2023-03-25 12:51:53 +02:00
github-actions[bot] 9ccac88372 [CI Skip] release/stable 11.1.2
skip-checks: true
2023-03-25 07:20:00 +00:00
Jaco 0aa441de96 11.1.2 (#1777)
* 11.1.2

* Bump dev

* Bump deps
2023-03-25 09:14:10 +02:00
github-actions[bot] 78941a3cde [CI Skip] bump/beta 11.1.2-3-x
skip-checks: true
2023-03-24 08:37:26 +00:00
Jaco 514570a5fb Additional hw-ledger cleanups (#1775)
* Additional hw-ledger cleanups

* Rename ledgerName
2023-03-24 10:29:45 +02:00
github-actions[bot] ad2da94408 [CI Skip] bump/beta 11.1.2-2-x
skip-checks: true
2023-03-24 08:14:57 +00:00
Jaco 803edbb8cc Small Ledger process dedupe (#1774)
* Small Ledger process dedupe

* Add yarn.lock
2023-03-24 10:08:45 +02:00
github-actions[bot] 94692cbbb4 [CI Skip] bump/beta 11.1.2-1-x
skip-checks: true
2023-03-24 07:43:44 +00:00
Jaco 0a27c23439 Specific per-method JSDoc for hw-ledger (#1773)
* Specific per-method JSDoc for hw-ledger

* Adjust, less types floating around
2023-03-24 09:36:42 +02:00
github-actions[bot] 0a1cfb15ef [CI Skip] bump/beta 11.1.2-0-x
skip-checks: true
2023-03-23 09:17:47 +00:00
Jaco cd494d7de0 Expand error details on invalid publicKey (#1772) 2023-03-23 11:11:53 +02:00
github-actions[bot] 4f5029118e [CI Skip] release/stable 11.1.1
skip-checks: true
2023-03-18 12:18:29 +00:00
Jaco 2df8d01186 11.1.1 (#1771) 2023-03-18 14:12:07 +02:00
github-actions[bot] f1b3240728 [CI Skip] bump/beta 11.0.3-9-x
skip-checks: true
2023-03-18 10:30:36 +00:00
Mikhail Fedosov 748b26924e feat: add 3dpass network (#1769) 2023-03-18 12:24:39 +02:00
github-actions[bot] 26f6572f29 [CI Skip] bump/beta 11.0.3-8-x
skip-checks: true
2023-03-18 10:04:15 +00:00
Jaco 8e3a75ed8d Bump deps (& remove unused overrides) (#1770) 2023-03-18 11:58:18 +02:00
github-actions[bot] c13d1b4ae6 [CI Skip] bump/beta 11.0.3-7-x
skip-checks: true
2023-03-17 06:14:08 +00:00
Jaco 17388b7865 Bump to TS 5.0 (#1768)
* Bump to TS 5.0

* Fix build
2023-03-17 08:06:31 +02:00
github-actions[bot] 85785be8cf [CI Skip] bump/beta 11.0.3-6-x
skip-checks: true
2023-03-17 05:29:15 +00:00
Jaco 211af1f999 Bump dev deps (#1767) 2023-03-17 07:22:49 +02:00
github-actions[bot] b8116fcf5a [CI Skip] bump/beta 11.0.3-5-x
skip-checks: true
2023-03-15 15:12:53 +00:00
Jaco 79593b0a70 Bump dev (#1766)
* Bump dev

* Change ref types
2023-03-15 17:06:07 +02:00
github-actions[bot] 4ecf53dcf4 [CI Skip] bump/beta 11.0.3-4-x
skip-checks: true
2023-03-15 12:08:22 +00:00
Jaco 5652023c5a Bump dev (#1765) 2023-03-15 14:02:11 +02:00
github-actions[bot] f6e667df26 [CI Skip] bump/beta 11.0.3-3-x
skip-checks: true
2023-03-14 11:19:14 +00:00
Jaco aeac277590 Remove stale workflow (#1764) 2023-03-14 13:05:34 +02:00
github-actions[bot] dca3f17b1c [CI Skip] bump/beta 11.0.3-2-x
skip-checks: true
2023-03-14 07:56:38 +00:00
Jaco b22b225252 Remove support for encrypt/decrypt on keypair (#1762)
* Remove support for encrypt/decrupt on keypair

* Update Keypair type

* Remove encrypt/decrypt tests

* Remove ed2curve dependency

* Remove export

* Adjust nobody
2023-03-14 09:41:49 +02:00
github-actions[bot] 6d1944bef9 [CI Skip] bump/beta 11.0.3-1-x
skip-checks: true
2023-03-14 07:32:48 +00:00
Jaco 357b5feb2e Adjust x-global type definitions (#1763)
* Adjust x-global type definitions

* Re-add Record<string, unknown>

* Adjust for deno
2023-03-14 09:20:50 +02:00
github-actions[bot] 354a2a4eaa [CI Skip] bump/beta 11.0.3-0-x
skip-checks: true
2023-03-12 10:14:34 +00:00
Jaco 3fd61e678a Bump dev (#1761)
* Bump dev

* Adjust dev/node/test/node.d.ts imports

* Adjust extensionless import

* Additional adjustments
2023-03-12 12:01:35 +02:00
github-actions[bot] 71d2802f00 [CI Skip] release/stable 11.0.2
skip-checks: true
2023-03-11 07:00:52 +00:00
Jaco 816e30fb0a 11.0.2 (#1760) 2023-03-11 08:49:14 +02:00
github-actions[bot] 77c6177c9a [CI Skip] bump/beta 11.0.2-4-x
skip-checks: true
2023-03-10 06:44:17 +00:00
Jaco 9f97924d33 Update GH actions (#1758) 2023-03-10 08:32:08 +02:00
github-actions[bot] d7d8edcc9b [CI Skip] bump/beta 11.0.2-3-x
skip-checks: true
2023-03-09 14:57:30 +00:00
Jaco d6047e38d3 Align tsconfig to allow moduleResolution: nodenext (#1757)
* Align tsconfig to allow moduleResolution: nodenext

* Revert node.d.ts reference types
2023-03-09 16:42:46 +02:00
github-actions[bot] 5f44768796 [CI Skip] bump/beta 11.0.2-2-x
skip-checks: true
2023-03-09 09:16:23 +00:00
Jaco 9c224f5076 Use .js imports in src (#1756)
* Use .js imports in src

* Revert node/test/node -> node/test/node.d.ts (for now)

* util-crypto

* Additional

* Adjust tsconfig aliases

* Bump dev
2023-03-09 11:04:03 +02:00
github-actions[bot] bcb7861d88 [CI Skip] bump/beta 11.0.2-1-x
skip-checks: true
2023-03-06 12:29:43 +00:00
Jaco 0b85a4d5e2 Bump dev deps (#1755) 2023-03-06 14:17:56 +02:00
github-actions[bot] c17ef47548 [CI Skip] bump/beta 11.0.2-0-x
skip-checks: true
2023-03-05 12:08:14 +00:00
Jaco df7f533491 jg-rm-babel-config (#1754) 2023-03-05 13:52:42 +02:00
github-actions[bot] 500a38e1ab [CI Skip] release/stable 11.0.1
skip-checks: true
2023-03-04 15:01:52 +00:00
Jaco 3437fb65cd 11.0.1 (#1753)
* 11.0.1

* Re-adjust for ws usage

* Correct dev dependencies

* Bump dev
2023-03-04 16:50:01 +02:00
Jaco 3d43aba4a1 Swap x-ws to use ws (#1749)
* Swap x-ws to use ws

* Revert swc usage

* Remove unneeded --env to test
2023-03-04 15:02:04 +02:00
github-actions[bot] 7cd5204fb7 [CI Skip] bump/beta 10.4.3-9-x
skip-checks: true
2023-03-03 09:30:06 +00:00
Jaco 3fdf3b5523 Bump dev & update gh workflows (#1752) 2023-03-03 11:24:21 +02:00
github-actions[bot] 8fd0fe846f [CI Skip] bump/beta 10.4.3-8-x
skip-checks: true
2023-03-01 11:20:36 +00:00
Jaco 130a59fb02 Align gh workflows (#1751)
* Align gh workflows

* continue-on-error: true
2023-03-01 13:13:43 +02:00
github-actions[bot] e6aec6d178 [CI Skip] bump/beta 10.4.3-7-x
skip-checks: true
2023-02-28 09:51:47 +00:00
Jaco 6fb73f3124 Add __PURE__ annotations for x-* exports (#1750) 2023-02-28 11:46:56 +02:00
github-actions[bot] ea96abc1a4 [CI Skip] bump/beta 10.4.3-6-x
skip-checks: true
2023-02-27 09:46:00 +00:00
Jaco 9c08fa6206 Bump dev deps (#1748)
* Bump dev deps

* Bump dev
2023-02-27 11:39:53 +02:00
github-actions[bot] 8edb2abe30 [CI Skip] bump/beta 10.4.3-5-x
skip-checks: true
2023-02-25 09:18:47 +00:00
Jaco 3e2c3a6ed8 Move test cryptoWaitReady top-level (#1747)
* Move test cryptoWaitReady top-level

* Add missing mod.ts

* Revert mod.ts add

* Add types reference for tests

* Adjust

* adjust

* node:fs & node:path
2023-02-25 11:13:51 +02:00
github-actions[bot] 1e35c5cd25 [CI Skip] bump/beta 10.4.3-4-x
skip-checks: true
2023-02-24 08:15:05 +00:00
Jaco 40dc599acc Remove usage of {describe, it}.each (#1746)
* Remove usage of {describe, it}.each

* Bump dev

* Reference test types once per module
2023-02-24 10:10:07 +02:00
github-actions[bot] d1d6fc631c [CI Skip] bump/beta 10.4.3-3-x
skip-checks: true
2023-02-22 07:20:28 +00:00
Jaco 28c6139068 Bump deps (#1745)
* Bump deps

* Bump dev
2023-02-22 09:13:21 +02:00
github-actions[bot] b00d8573fd [CI Skip] bump/beta 10.4.3-2-x
skip-checks: true
2023-02-20 15:42:30 +00:00
Jaco 6afebd70d0 Bump dev deps (#1744) 2023-02-20 17:37:21 +02:00
github-actions[bot] 1f4d423682 [CI Skip] bump/beta 10.4.3-1-x
skip-checks: true
2023-02-19 14:10:41 +00:00
Jaco 57718cacfb Small adjustment to test command params (#1743) 2023-02-19 16:06:23 +02:00
github-actions[bot] b51d4e13fb [CI Skip] bump/beta 10.4.3-0-x
skip-checks: true
2023-02-19 09:37:24 +00:00
Jaco 08af19e2d5 Bump deps (#1742) 2023-02-19 11:32:55 +02:00
github-actions[bot] 9830457c9a [CI Skip] release/stable 10.4.2
skip-checks: true
2023-02-19 08:15:26 +00:00
Jaco 4619ab6668 10.4.2 (#1741)
* 10.4.2

* dep up changelog entry
2023-02-19 10:11:47 +02:00
github-actions[bot] d886c02b23 [CI Skip] bump/beta 10.4.2-8-x
skip-checks: true
2023-02-18 11:13:59 +00:00
Jaco 7d745661b7 Bump deps (#1740)
* Bump deps

* lint fixes
2023-02-18 13:10:13 +02:00
github-actions[bot] da9c2bc10b [CI Skip] bump/beta 10.4.2-7-x
skip-checks: true
2023-02-16 12:53:16 +00:00
Carlo Sala eab8d44487 feat(networks): support ledger for pendulum (#1739) 2023-02-16 14:49:31 +02:00
github-actions[bot] 19ecae37dd [CI Skip] bump/beta 10.4.2-6-x
skip-checks: true
2023-02-15 14:44:23 +00:00
Jaco 3d3e46cb77 Adjust performance compare (#1738) 2023-02-15 16:40:39 +02:00
github-actions[bot] e09027e83d [CI Skip] bump/beta 10.4.2-5-x
skip-checks: true
2023-02-15 09:58:19 +00:00
Jaco c544e0b478 Bump deps (#1737) 2023-02-15 11:53:55 +02:00
github-actions[bot] f914061365 [CI Skip] bump/beta 10.4.2-4-x
skip-checks: true
2023-02-15 07:19:59 +00:00
Jaco 55e4e8209e Fix CI release workflow (#1736) 2023-02-15 09:15:27 +02:00
Jaco 193c9ebb37 Reset global formatBalance test side effects (#1735) 2023-02-15 08:07:56 +02:00
Jaco 5d67d92454 Use latest LTS for CI scripts (#1734) 2023-02-14 10:46:54 +02:00
github-actions[bot] 3a0d566f60 [CI Skip] bump/beta 10.4.2-3-x
skip-checks: true
2023-02-13 17:44:09 +00:00
Jaco 675f1e71b5 Bump dev (#1733) 2023-02-13 19:40:12 +02:00
github-actions[bot] 4bbf38c7e4 [CI Skip] bump/beta 10.4.2-2-x
skip-checks: true
2023-02-13 08:30:36 +00:00
Jaco fd76246c11 Enufer u8aToU8a(Buffer) return non-Buffer instance (#1731) 2023-02-13 10:26:46 +02:00
github-actions[bot] 0b14539a98 [CI Skip] bump/beta 10.4.2-1-x
skip-checks: true
2023-02-12 11:54:19 +00:00
Jaco 09b1a0e6e3 Bump dev (#1730) 2023-02-12 13:50:35 +02:00
github-actions[bot] 03e64c9120 [CI Skip] bump/beta 10.4.2-0-x
skip-checks: true
2023-02-12 10:58:52 +00:00
Jaco f848c87fde Remove it.concurrent (jest advises against use) (#1729) 2023-02-12 12:55:02 +02:00
github-actions[bot] 46a05b6a60 [CI Skip] release/stable 10.4.1
skip-checks: true
2023-02-12 09:19:44 +00:00
Jaco a9f671b501 10.4.1 (#1728) 2023-02-12 11:14:33 +02:00
github-actions[bot] f1187f5981 [CI Skip] bump/beta 10.3.2-6-x
skip-checks: true
2023-02-11 15:55:56 +00:00
Jaco 4134bf8a85 Bump deps (#1727) 2023-02-11 17:52:08 +02:00
github-actions[bot] 4709a62c0b [CI Skip] bump/beta 10.3.2-5-x
skip-checks: true
2023-02-07 13:11:55 +00:00
Jaco 900cf21bc5 Bump deps (#1726) 2023-02-07 15:08:02 +02:00
github-actions[bot] fa8229de06 [CI Skip] bump/beta 10.3.2-4-x
skip-checks: true
2023-02-07 13:00:21 +00:00
Aleš Ferlan 913bf65dab feat: allow setting of thousand/decimal separators (#1722)
* feat: allow setting of thousand/decimal separators

* fix: add file header and fix lint errors

* fix: move getSeparator to format
2023-02-07 14:56:27 +02:00
Carlo Sala 769b953983 feat(networks): support ledger for picasso (#1725) 2023-02-07 14:55:00 +02:00
github-actions[bot] 2949e12c55 [CI Skip] bump/beta 10.3.2-3-x
skip-checks: true
2023-02-05 12:11:05 +00:00
Jaco 1664a8d8a2 Bump dev (#1724) 2023-02-05 14:05:53 +02:00
github-actions[bot] ab71a25b96 [CI Skip] bump/beta 10.3.2-2-x
skip-checks: true
2023-02-05 07:55:38 +00:00
Jaco 02c1a95ea1 Bump dev (#1723) 2023-02-05 09:51:48 +02:00
github-actions[bot] 3ee6830c0e [CI Skip] bump/beta 10.3.2-1-x
skip-checks: true
2023-02-03 08:52:36 +00:00
Jaco 642724ab6d Bump deps (incl. TS) (#1721) 2023-02-03 10:48:19 +02:00
github-actions[bot] 022756e6dd [CI Skip] bump/beta 10.3.2-0-x
skip-checks: true
2023-02-03 08:02:56 +00:00
Jaco e29003f51e Add isClass helper (#1720)
* Add isClass helper

* add isOnFunction helper
2023-02-03 09:59:18 +02:00
github-actions[bot] e5c2f8f529 [CI Skip] release/stable 10.3.1
skip-checks: true
2023-01-28 07:12:58 +00:00
Jaco f7ce22b158 10.3.1 (#1719) 2023-01-28 09:09:21 +02:00
github-actions[bot] 0028d212e4 [CI Skip] bump/beta 10.2.7-10-x
skip-checks: true
2023-01-27 08:21:32 +00:00
Jaco 719c48f8f2 Bump dev (#1718)
* Bump dev

* Bump dev
2023-01-27 10:17:59 +02:00
github-actions[bot] b137f8ec8b [CI Skip] bump/beta 10.2.7-9-x
skip-checks: true
2023-01-26 08:25:25 +00:00
Jaco e93b7a3626 Expose sqrt(MAX_SAFE_INTEGER) for bi/bn (#1717) 2023-01-26 10:20:59 +02:00
github-actions[bot] 7bf2d220dd [CI Skip] bump/beta 10.2.7-8-x
skip-checks: true
2023-01-26 08:09:51 +00:00
Jaco 7efa20c066 Adjust internal character maps to operate on Uint8Array (#1685)
* Adjust internal character maps to operate on Uint8Array

* Use Uint8Array

* Actual perf testing

* Rename perf exports

* Expose specs in own tsconfig (circular)
2023-01-26 10:06:18 +02:00
Jaco f2afcfc1a7 Adjust internal character maps to operate on Uint8Array (#1685)
* Adjust internal character maps to operate on Uint8Array

* Use Uint8Array

* Actual perf testing

* Rename perf exports

* Expose specs in own tsconfig (circular)
2023-01-26 10:05:15 +02:00
github-actions[bot] 45e2a560a9 [CI Skip] bump/beta 10.2.7-7-x
skip-checks: true
2023-01-26 07:35:14 +00:00
Jaco 5b5cdae9ff Align bigint constans with those in BN (#1716) 2023-01-26 09:31:41 +02:00
github-actions[bot] 5147f64a64 [CI Skip] bump/beta 10.2.7-6-x
skip-checks: true
2023-01-25 12:51:44 +00:00
Mohsan Riaz 0116a3f1f7 Add Ternoa for ledger hardware support (#1711)
* added ternoa to hw-ledger defaults

* added Ternoa to networks defaults

* linter fixes

* re-run-CI
2023-01-25 14:48:01 +02:00
github-actions[bot] 01839b5f63 [CI Skip] bump/beta 10.2.7-5-x
skip-checks: true
2023-01-25 08:46:20 +00:00
Jaco 18d02f49fd Bump deps (w/ CHANGELOG) (#1715) 2023-01-25 10:42:41 +02:00
github-actions[bot] 12e2a44935 [CI Skip] bump/beta 10.2.7-4-x
skip-checks: true
2023-01-25 07:31:14 +00:00
Jaco 9c47980c68 Bump deps (#1714)
* Bump deps

* Bump dev

* networks rebuild
2023-01-25 09:27:36 +02:00
github-actions[bot] 14f7a5c0bb [CI Skip] bump/beta 10.2.7-3-x
skip-checks: true
2023-01-23 06:51:38 +00:00
Jaco f512f4aa27 Adjust Ledger check naming (#1713) 2023-01-23 08:47:47 +02:00
github-actions[bot] 4b9d4fa935 [CI Skip] bump/beta 10.2.7-2-x
skip-checks: true
2023-01-22 06:58:27 +00:00
Jaco 35288e81e1 Expand arrayChunk tests (#1712)
* Expand arrayChunk tests

* Bump deps

* Remove duplicated LICENSE files (copied by build)

* Bump dev
2023-01-22 08:54:33 +02:00
github-actions[bot] f95fa2e60d [CI Skip] bump/beta 10.2.7-1-x
skip-checks: true
2023-01-15 08:49:22 +00:00
Jaco 0c62a8a676 Bump dev (#1709) 2023-01-15 10:45:31 +02:00
github-actions[bot] 346989211c [CI Skip] bump/beta 10.2.7-0-x
skip-checks: true
2023-01-15 08:21:36 +00:00
Jaco ba2453457d Bump deps (#1708) 2023-01-15 10:17:14 +02:00
github-actions[bot] 9c4d409e66 [CI Skip] release/stable 10.2.6
skip-checks: true
2023-01-13 14:21:32 +00:00
Jaco 5f9e345dd4 Drop stray console.error log (#1707) 2023-01-13 16:17:51 +02:00
github-actions[bot] bf141cd874 [CI Skip] release/stable 10.2.5
skip-checks: true
2023-01-13 13:59:30 +00:00
Jaco 08bf4b7eb2 Bugfix for formatBalance (forceUnit), result < 0 (#1706)
* Bugfix for formatBalance (forceUnit), result < 0

* Deps up
2023-01-13 15:54:40 +02:00
github-actions[bot] 42daac5327 [CI Skip] release/stable 10.2.4
skip-checks: true
2023-01-13 07:49:02 +00:00
Jaco 694fb8b241 10.2.4 (#1705) 2023-01-13 09:44:39 +02:00
github-actions[bot] b0b69c27dc [CI Skip] bump/beta 10.2.4-1-x
skip-checks: true
2023-01-12 10:10:49 +00:00
Jaco b57bcdc38f Bump deps (#1704) 2023-01-12 12:06:11 +02:00
github-actions[bot] 4fd4178ce9 [CI Skip] bump/beta 10.2.4-0-x
skip-checks: true
2023-01-11 13:49:51 +00:00
Jaco 39403fcfe7 formatBalance withAll/withZero (#1703) 2023-01-11 15:45:19 +02:00
github-actions[bot] 955605b2b0 [CI Skip] release/stable 10.2.3
skip-checks: true
2023-01-07 13:05:49 +00:00
Jaco d291a76798 10.2.3 (#1702) 2023-01-07 15:02:13 +02:00
github-actions[bot] aa12647ef6 [CI Skip] bump/beta 10.2.3-0-x
skip-checks: true
2023-01-07 10:16:23 +00:00
Jaco ceff8cc9ff Adjust Buffer check (#1701)
* Adjust Buffer check

* Adjust
2023-01-07 12:12:43 +02:00
github-actions[bot] 0b11d5b9c1 [CI Skip] release/stable 10.2.2
skip-checks: true
2023-01-06 10:28:35 +00:00
Jaco a1afff886b 10.2.2 (#1700) 2023-01-06 12:25:00 +02:00
github-actions[bot] 08785c3ae6 [CI Skip] bump/beta 10.2.2-9-x
skip-checks: true
2023-01-06 08:42:26 +00:00
Alex Sedighi 438fc8bd86 fix Nodle's known network name (#1699) 2023-01-06 10:38:38 +02:00
github-actions[bot] 6531bf1e36 [CI Skip] bump/beta 10.2.2-8-x
skip-checks: true
2023-01-03 12:42:26 +00:00
Jaco c066593d7a Bump deps (#1698) 2023-01-03 14:38:45 +02:00
github-actions[bot] 66f777ece9 [CI Skip] bump/beta 10.2.2-7-x
skip-checks: true
2023-01-01 08:25:34 +00:00
Jaco 3fe6be655d Update headers for 2023 (#1697) 2023-01-01 10:21:43 +02:00
github-actions[bot] 3810e392dd [CI Skip] bump/beta 10.2.2-6-x
skip-checks: true
2022-12-26 07:56:29 +00:00
Jaco 3dd4c8d6e5 Bump dev (#1696) 2022-12-26 09:52:49 +02:00
github-actions[bot] 7611ec8b01 [CI Skip] bump/beta 10.2.2-5-x
skip-checks: true
2022-12-17 11:26:20 +00:00
Jaco 82d8207f48 Bump @noble/hashes (#1695) 2022-12-17 13:22:42 +02:00
github-actions[bot] b2575437e4 [CI Skip] bump/beta 10.2.2-4-x
skip-checks: true
2022-12-14 06:10:22 +00:00
Jaco 1ee92c356a Bump dev (w/ deprecation warnings) (#1694) 2022-12-14 08:06:40 +02:00
github-actions[bot] 372e4cc59b [CI Skip] bump/beta 10.2.2-3-x
skip-checks: true
2022-12-13 08:02:41 +00:00
Jaco f1eb7ee489 Adjust TS target (#1693)
* Adjust TS target

* es2020
2022-12-13 09:58:52 +02:00
github-actions[bot] 039b849713 [CI Skip] bump/beta 10.2.2-2-x
skip-checks: true
2022-12-08 07:02:09 +00:00
Jaco 8913c70205 Remove CC (#1692) 2022-12-08 08:57:45 +02:00
github-actions[bot] 352c2df232 [CI Skip] bump/beta 10.2.2-1-x
skip-checks: true
2022-12-08 06:28:19 +00:00
Jaco 2994c594fc Bump TS (#1691)
* Bump TS

* Add ss registry compare
2022-12-08 08:24:41 +02:00
github-actions[bot] 29dba0a55f [CI Skip] bump/beta 10.2.2-0-x
skip-checks: true
2022-12-07 13:51:36 +00:00
Jaco 2d89b5b493 Update token retrieval (#1690) 2022-12-07 15:47:51 +02:00
github-actions[bot] 72bdf6cbae [CI Skip] release/stable 10.2.1
skip-checks: true
2022-12-04 09:45:10 +00:00
Jaco f7d2bf9d11 10.2.1 (#1687) 2022-12-04 11:41:20 +02:00
github-actions[bot] 8275f3bc54 [CI Skip] bump/beta 10.1.15-3-x
skip-checks: true
2022-12-03 09:08:03 +00:00
Jaco 058786689e Bump @polkadot/wasm (#1686) 2022-12-03 11:04:22 +02:00
github-actions[bot] 3d4b0018c0 [CI Skip] bump/beta 10.1.15-2-x
skip-checks: true
2022-12-02 08:04:26 +00:00
Jaco fa593ef1fc Add /*#__PURE__*/ annotations (#1684) 2022-12-02 09:59:59 +02:00
github-actions[bot] 179ca120fa [CI Skip] bump/beta 10.1.15-1-x
skip-checks: true
2022-12-02 07:46:24 +00:00
Jaco 984a4a1ae8 Adjust has{Buffer, Process} checks w/ globalThis (#1683) 2022-12-02 09:42:41 +02:00
github-actions[bot] 1ad77eb58c [CI Skip] bump/beta 10.1.15-0-x
skip-checks: true
2022-12-02 07:09:25 +00:00
Carlo 928eef865a feat(networks): support ledger for ajuna (#1682)
* chore(hw-ledger): update ledger-substrate to latest

* feat(networks): support ledger for ajuna
2022-12-02 09:04:58 +02:00
github-actions[bot] 16ea0d2ddb [CI Skip] release/stable 10.1.14
skip-checks: true
2022-11-27 07:04:52 +00:00
Jaco 203321c83e 10.1.14 (#1681) 2022-11-27 09:01:20 +02:00
github-actions[bot] f42721d545 [CI Skip] bump/beta 10.1.14-0-x
skip-checks: true
2022-11-26 15:55:01 +00:00
Jaco 9846e97d73 Bump deps (#1680)
* Bump deps

* Update network json compare
2022-11-26 17:49:56 +02:00
github-actions[bot] cc5ab430b5 [CI Skip] release/stable 10.1.13
skip-checks: true
2022-11-20 08:56:39 +00:00
Jaco 33b8d410b4 10.1.13 (#1678) 2022-11-20 10:53:06 +02:00
github-actions[bot] d9c2ed85bf [CI Skip] bump/beta 10.1.13-2-x
skip-checks: true
2022-11-19 11:31:58 +00:00
Jaco 6602421cfe Cleanup ledger-substrate path imports (#1677)
* Cleanup leadger-substrate path imports

* Adjust
2022-11-19 13:28:23 +02:00
github-actions[bot] cf61061863 [CI Skip] bump/beta 10.1.13-1-x
skip-checks: true
2022-11-19 06:47:21 +00:00
Jaco b47d83fd3c Bump deps (#1676) 2022-11-19 08:42:33 +02:00
github-actions[bot] 37e8d53a12 [CI Skip] bump/beta 10.1.13-0-x
skip-checks: true
2022-11-18 12:49:49 +00:00
Carlo fc667b7b72 feat(networks): support ledger for origintrail (#1674)
* chore(hw-ledger): update ledger-substrate to latest

* feat(networks): support ledger for origintrail
2022-11-18 14:44:46 +02:00
github-actions[bot] a020835039 [CI Skip] release/stable 10.1.12
skip-checks: true
2022-11-13 08:29:00 +00:00
Jaco 9cf963170d 10.1.12 (#1673) 2022-11-13 10:25:32 +02:00
github-actions[bot] 291d609dba [CI Skip] bump/beta 10.1.12-5-x
skip-checks: true
2022-11-09 12:16:11 +00:00
Jaco a6fa8cec17 `Bump deps (#1672)
* `Bump deps

* networks build
2022-11-09 14:11:28 +02:00
github-actions[bot] c4b95c7b52 [CI Skip] bump/beta 10.1.12-4-x
skip-checks: true
2022-11-05 15:38:35 +00:00
Jaco d5243f3527 Bump dev deps (#1671) 2022-11-05 17:34:56 +02:00
github-actions[bot] d71e34188e [CI Skip] bump/beta 10.1.12-3-x
skip-checks: true
2022-11-02 08:27:31 +00:00
Jaco 3f0f443124 Adjust deno deps imports (#1670) 2022-11-02 10:23:38 +02:00
github-actions[bot] 074879c7a7 [CI Skip] bump/beta 10.1.12-2-x
skip-checks: true
2022-10-30 08:14:05 +00:00
Jaco 516af6f81e Bump dev (#1669) 2022-10-30 10:09:48 +02:00
github-actions[bot] 4ee1446823 [CI Skip] bump/beta 10.1.12-1-x
skip-checks: true
2022-10-22 07:23:29 +00:00
Jaco 88850918b9 Bump dev (#1668) 2022-10-22 10:19:54 +03:00
github-actions[bot] 11ed1c4249 [CI Skip] bump/beta 10.1.12-0-x
skip-checks: true
2022-10-19 05:13:54 +00:00
Jaco 0be13f451d Bump deps (#1667) 2022-10-19 08:09:41 +03:00
github-actions[bot] f7e431adf9 [CI Skip] release/stable 10.1.11
skip-checks: true
2022-10-15 09:54:21 +00:00
Jaco 6efca949cc 10.1.11 (#1666) 2022-10-15 12:50:55 +03:00
github-actions[bot] 80ed10201f [CI Skip] bump/beta 10.1.11-2-x
skip-checks: true
2022-10-15 09:04:56 +00:00
Jaco 6763d1c062 Bump dev (w/ jest) (#1665) 2022-10-15 12:01:15 +03:00
github-actions[bot] 2c1efaa7a0 [CI Skip] bump/beta 10.1.11-1-x
skip-checks: true
2022-10-14 07:01:10 +00:00
Jaco d0fd445c06 Bump deps (#1664)
* Bump deps

* Bump deps
2022-10-14 09:57:35 +03:00
github-actions[bot] f1c84da0b0 [CI Skip] bump/beta 10.1.11-0-x
skip-checks: true
2022-10-07 06:48:06 +00:00
Jaco a5e68db05f Bump dev (#1663) 2022-10-07 09:43:47 +03:00
github-actions[bot] 60c0e81314 [CI Skip] release/stable 10.1.10
skip-checks: true
2022-10-07 04:37:47 +00:00
Jaco f72be29dbf 10.1.10 (#1662) 2022-10-07 07:34:02 +03:00
github-actions[bot] f301a57122 [CI Skip] bump/beta 10.1.10-5-x
skip-checks: true
2022-10-07 04:04:29 +00:00
Jaco 9523e6b0d3 Correct numberToHex(0) conversion (#1661) 2022-10-07 07:00:46 +03:00
github-actions[bot] b17bfbaf34 [CI Skip] bump/beta 10.1.10-4-x
skip-checks: true
2022-10-07 03:49:18 +00:00
Jaco 669d8b1a84 Ensure {bn, n}ToHex respects bitLength with 0 values (#1660) 2022-10-07 06:45:49 +03:00
github-actions[bot] b7815d43a5 [CI Skip] bump/beta 10.1.10-3-x
skip-checks: true
2022-10-05 08:39:36 +00:00
Jaco 7622c8b151 Bump deps (#1658)
* Bump deps

* Run tests
2022-10-05 11:35:41 +03:00
github-actions[bot] 37bc63b130 [CI Skip] bump/beta 10.1.10-2-x
skip-checks: true
2022-09-30 05:52:23 +00:00
Jaco 43f9676341 Bump deps (#1657) 2022-09-30 08:48:43 +03:00
github-actions[bot] 1283be6c19 [CI Skip] bump/beta 10.1.10-1-x
skip-checks: true
2022-09-28 10:48:35 +00:00
Jaco cdd6314a4f Bump TS (#1656) 2022-09-28 13:44:46 +03:00
github-actions[bot] 8d027717bb [CI Skip] bump/beta 10.1.10-0-x
skip-checks: true
2022-09-24 06:10:20 +00:00
Jaco dec9bbff49 Bump dev (#1655) 2022-09-24 09:05:51 +03:00
github-actions[bot] 536eef02c5 [CI Skip] release/stable 10.1.9
skip-checks: true
2022-09-24 05:32:50 +00:00
Jaco 3b51154d60 10.1.9 (#1654) 2022-09-24 08:29:24 +03:00
github-actions[bot] f5767e3def [CI Skip] bump/beta 10.1.9-3-x
skip-checks: true
2022-09-23 09:24:05 +00:00
Jaco 29057558ac CHANGELOG (#1653) 2022-09-23 12:20:29 +03:00
github-actions[bot] e591a75988 [CI Skip] bump/beta 10.1.9-2-x
skip-checks: true
2022-09-23 08:22:36 +00:00
Guilane DENGUIR 2fdc1679f2 feat(VTB): Added support for VTB blockchain (#1651)
* feat(VTB): Added support for VTB blockchain

* fix(lint): sorted struct alphabetically
2022-09-23 11:17:55 +03:00
github-actions[bot] 35f6a51a6b [CI Skip] bump/beta 10.1.9-1-x
skip-checks: true
2022-09-22 07:14:37 +00:00
Jaco 640bab086e Bump deps (#1652) 2022-09-22 10:11:01 +03:00
github-actions[bot] 5f9ffca721 [CI Skip] bump/beta 10.1.9-0-x
skip-checks: true
2022-09-17 07:17:42 +00:00
Jaco 2fd9d18910 Bump dev (#1650) 2022-09-17 10:13:13 +03:00
github-actions[bot] 7782eef6e3 [CI Skip] release/stable 10.1.8
skip-checks: true
2022-09-17 06:26:53 +00:00
Jaco 0c477e15c4 10.1.8 (#1649) 2022-09-17 09:22:50 +03:00
github-actions[bot] f39820e9c0 [CI Skip] bump/beta 10.1.8-7-x
skip-checks: true
2022-09-14 08:22:20 +00:00
Jaco 35d1a8e57f Bump deps (#1648) 2022-09-14 11:19:00 +03:00
github-actions[bot] 83567b75c5 [CI Skip] bump/beta 10.1.8-6-x
skip-checks: true
2022-09-13 10:37:41 +00:00
Carlos Medeiros 501d0fa249 add hydradx to knownLedger (#1647)
*update `@zondax/ledger-substrate`

* add hydradx to knownLedger
2022-09-13 13:33:59 +03:00
github-actions[bot] 014702ca16 [CI Skip] bump/beta 10.1.8-5-x
skip-checks: true
2022-09-12 05:59:33 +00:00
Jaco b53d34b41f Bump deps (#1645)
* Bump deps

* ss58 tests

* Bump dev
2022-09-12 08:56:04 +03:00
github-actions[bot] 47d995b88d [CI Skip] bump/beta 10.1.8-4-x
skip-checks: true
2022-09-09 06:04:13 +00:00
Jaco cedba4af0c Bump deps (#1644) 2022-09-09 09:00:38 +03:00
github-actions[bot] df8d84467b [CI Skip] bump/beta 10.1.8-3-x
skip-checks: true
2022-09-07 11:02:13 +00:00
Carlo SalaandJaco c289a83b16 feat: add darwinia to knownLedger (#1643)
Co-authored-by: Jaco <jacogr@gmail.com>
2022-09-07 13:58:25 +03:00
github-actions[bot] a869ba7793 [CI Skip] bump/beta 10.1.8-2-x
skip-checks: true
2022-09-07 10:31:33 +00:00
Jaco 4f4ce3549e Bump deps & CHANGELOG (#1642)
* Bump deps & CHANGELOG

* Downgrade rollup node-resolve
2022-09-07 13:27:13 +03:00
github-actions[bot] ce55d5b7d8 [CI Skip] bump/beta 10.1.8-1-x
skip-checks: true
2022-09-06 12:16:25 +00:00
Carlo Sala 10997a6d73 feat(networks): add phala and khala to knownLedger (#1641)
* chore: update `@zondax/ledger-substrate`

* feat(networks): add phala and khala to knownLedger
2022-09-06 15:12:41 +03:00
github-actions[bot] ebe30a2880 [CI Skip] bump/beta 10.1.8-0-x
skip-checks: true
2022-09-04 04:36:57 +00:00
Jaco b4963cc6bd Expose xxhashAsHex JS tests (#1640) 2022-09-04 07:33:07 +03:00
github-actions[bot] 304f7ad124 [CI Skip] release/stable 10.1.7
skip-checks: true
2022-09-02 08:30:00 +00:00
Jaco 9777bca5d4 10.1.7 (#1639) 2022-09-02 11:26:06 +03:00
github-actions[bot] 4c379e85cc [CI Skip] bump/beta 10.1.7-3-x
skip-checks: true
2022-09-02 08:18:45 +00:00
Jaco 4ee83d3d29 Hoist Ledger interface wrapError (#1638) 2022-09-02 11:15:11 +03:00
github-actions[bot] 40d6a388b2 [CI Skip] bump/beta 10.1.7-2-x
skip-checks: true
2022-08-31 05:53:00 +00:00
Jaco 31f4940ec6 Bump deps (#1637) 2022-08-31 08:48:06 +03:00
github-actions[bot] 1ac50696ca [CI Skip] bump/beta 10.1.7-1-x
skip-checks: true
2022-08-26 15:04:48 +00:00
Jaco 1ca5ff48a0 Pin Github actions (#1636) 2022-08-26 18:00:25 +03:00
github-actions[bot] 8253272901 [CI Skip] bump/beta 10.1.7-0-x
skip-checks: true
2022-08-26 12:54:03 +00:00
Jaco 82c38e9805 Bump TS (#1635) 2022-08-26 15:50:21 +03:00
github-actions[bot] 509834c491 [CI Skip] release/stable 10.1.6
skip-checks: true
2022-08-23 17:59:07 +00:00
Jaco d713a7a116 10.1.6 (#1633)
* 10.1.6

* Promise.resolve() for asyn calls

* Fix tests

* Extra testnet
2022-08-23 20:55:38 +03:00
github-actions[bot] d24e14aa5e [CI Skip] release/stable 10.1.5
skip-checks: true
2022-08-21 05:35:18 +00:00
Jaco b1a4a87926 10.1.5 (#1632) 2022-08-21 08:31:51 +03:00
github-actions[bot] 05e0d36a0e [CI Skip] bump/beta 10.1.5-1-x
skip-checks: true
2022-08-19 08:28:26 +00:00
Jaco 5599a8877c Add new @zondax/ledger-substrate (#1631) 2022-08-19 11:24:47 +03:00
github-actions[bot] 2d850c5ac4 [CI Skip] bump/beta 10.1.5-0-x
skip-checks: true
2022-08-19 07:51:21 +00:00
Jaco 82ba3fb9b1 Bump deps (#1630)
* Bump deps

* Responsebase import

* Do Ledger creation via newSubstrateApp
2022-08-19 10:47:44 +03:00
github-actions[bot] 0aae0e2bc2 [CI Skip] release/stable 10.1.4
skip-checks: true
2022-08-12 08:47:28 +00:00
Jaco 2bcea83e0a 10.1.4 (#1629)
* 10.1.4

* Bump deps
2022-08-12 11:43:55 +03:00
github-actions[bot] 20e126759e [CI Skip] bump/beta 10.1.4-2-x
skip-checks: true
2022-08-12 06:57:47 +00:00
Jaco 566127bcb6 Bump dev (#1628)
* Bump dev

* Adjust deno version

* bn.js import_map
2022-08-12 09:53:00 +03:00
github-actions[bot] b50ee462da [CI Skip] bump/beta 10.1.4-1-x
skip-checks: true
2022-08-10 11:52:51 +00:00
Jaco a3cd2de56d Master build fixes, CHANGELOG (#1627) 2022-08-10 14:48:35 +03:00
pan 7f60123417 add bifrost kusama (#1626) 2022-08-07 17:34:53 +03:00
github-actions[bot] bb124813dc [CI Skip] bump/beta 10.1.4-0-x
skip-checks: true
2022-08-07 08:55:28 +00:00
Jaco 652ede8ce7 Bump dev (#1625) 2022-08-07 11:51:50 +03:00
github-actions[bot] 52d2d38051 [CI Skip] release/stable 10.1.3
skip-checks: true
2022-08-05 13:32:13 +00:00
Jaco 65f627c0dc 10.1.3 (#1624) 2022-08-05 16:28:45 +03:00
github-actions[bot] 9ecf29b83b [CI Skip] bump/beta 10.1.3-5-x
skip-checks: true
2022-08-05 06:02:22 +00:00
Jaco 97b84977b7 Bump dev (#1623) 2022-08-05 08:58:55 +03:00
github-actions[bot] f9315c307f [CI Skip] bump/beta 10.1.3-4-x
skip-checks: true
2022-08-04 07:48:59 +00:00
Jaco c08c947abf Convert assert to if + throw (remaining occurences) (#1622)
* Convert assert to if + throw (remaining occurences)

* Adjust for readability

* CHANGELOG
2022-08-04 10:45:10 +03:00
github-actions[bot] 2d4509c32a [CI Skip] bump/beta 10.1.3-3-x
skip-checks: true
2022-08-03 08:00:59 +00:00
Jaco c6e18b1a9e Optimization of flatten 0 case (#1621)
* Optimizationf or flatten 0 case

* Remove wayward .123deno
2022-08-03 10:57:24 +03:00
github-actions[bot] 515a77781f [CI Skip] bump/beta 10.1.3-2-x
skip-checks: true
2022-08-02 07:56:00 +00:00
Jaco 55d2c149f7 Adjust logger constant map (#1620) 2022-08-02 10:52:23 +03:00
github-actions[bot] 43b959ad1f [CI Skip] bump/beta 10.1.3-1-x
skip-checks: true
2022-08-02 04:35:44 +00:00
Jaco 6708b34a01 Bump deps (#1619) 2022-08-02 07:32:07 +03:00
github-actions[bot] a9a9214f3b [CI Skip] bump/beta 10.1.3-0-x
skip-checks: true
2022-07-30 04:50:00 +00:00
Jaco 8bd77c97a0 Allow errors on GH actions (#1618) 2022-07-30 07:45:49 +03:00
github-actions[bot] ed70e5c65f [CI Skip] release/stable 10.1.2
skip-checks: true
2022-07-29 10:09:28 +00:00
Jaco ca6f157007 10.1.2 (#1617) 2022-07-29 13:06:02 +03:00
github-actions[bot] 6c30e328bb [CI Skip] bump/beta 10.1.2-1-x
skip-checks: true
2022-07-28 08:18:33 +00:00
Jaco 1f6f3c67a8 Bump deps (#1616) 2022-07-28 11:14:19 +03:00
github-actions[bot] d19e2c8469 [CI Skip] bump/beta 10.1.2-0-x
skip-checks: true
2022-07-26 12:06:54 +00:00
Jaco 92f479e0e5 Bump ss58registry (#1615)
* Bump ss58registry

* Adjust
2022-07-26 15:02:34 +03:00
github-actions[bot] 25f9444c53 [CI Skip] release/stable 10.1.1
skip-checks: true
2022-07-21 05:37:00 +00:00
Jaco 6d46f8b24e 10.1.1 (#1614) 2022-07-21 08:33:15 +03:00
github-actions[bot] 0189cdabe9 [CI Skip] bump/beta 10.0.3-19-x
skip-checks: true
2022-07-20 08:51:57 +00:00
Jaco 9d61c2c96c Adjust spread check for .entries() (#1613) 2022-07-20 11:47:55 +03:00
github-actions[bot] 6599b41155 [CI Skip] bump/beta 10.0.3-18-x
skip-checks: true
2022-07-20 08:27:48 +00:00
Jaco 9c05257046 Add ability to spread Map entries (optimization) (#1612) 2022-07-20 11:23:26 +03:00
github-actions[bot] 41e2e67fd0 [CI Skip] bump/beta 10.0.3-17-x
skip-checks: true
2022-07-20 06:39:06 +00:00
Jaco 092fbdd923 Align property & lazy signatures (getName & self) (#1611)
* Align property & lazy signatures (getName & self)

* Adjust tests
2022-07-20 09:34:13 +03:00
github-actions[bot] c1cdc80169 [CI Skip] bump/beta 10.0.3-16-x
skip-checks: true
2022-07-19 19:07:58 +00:00
Jaco 306bbdea12 Pass internal this through on objectProperties (#1610)
* Pass internal this through on objectProperties

* Fix property test
2022-07-19 22:03:26 +03:00
github-actions[bot] f41519e185 [CI Skip] bump/beta 10.0.3-15-x
skip-checks: true
2022-07-19 15:33:00 +00:00
Carlo Sala 1a3fd344b5 feat(ledger): add interlay and unique (#1609) 2022-07-19 18:28:30 +03:00
github-actions[bot] f798c1dbd5 [CI Skip] bump/beta 10.0.3-14-x
skip-checks: true
2022-07-19 08:58:31 +00:00
Jaco 813d358999 hexToU8a lookup optimizations (#1608)
* hexToU8a lookup optimizations

* Non-aligned test
2022-07-19 11:55:01 +03:00
github-actions[bot] e85eb35413 [CI Skip] bump/beta 10.0.3-13-x
skip-checks: true
2022-07-19 05:36:50 +00:00
Jaco 8a50cba394 Additional assert cleanups (#1604) 2022-07-19 08:33:22 +03:00
github-actions[bot] 20f030e987 [CI Skip] bump/beta 10.0.3-12-x
skip-checks: true
2022-07-19 05:28:13 +00:00
Jaco 4a683f41d3 Dev bump (w/ additional deno overrides) (#1607) 2022-07-19 08:23:42 +03:00
github-actions[bot] ea7f59ab73 [CI Skip] bump/beta 10.0.3-11-x
skip-checks: true
2022-07-18 14:54:47 +00:00
Jaco 60498f7f36 Dev bump (#1606) 2022-07-18 17:49:02 +03:00
github-actions[bot] 9ad0c46417 [CI Skip] bump/beta 10.0.3-10-x
skip-checks: true
2022-07-18 13:45:34 +00:00
Jaco 0fc140f838 Additional speed optimizations (#1605) 2022-07-18 16:41:53 +03:00
github-actions[bot] cd63bb695d [CI Skip] bump/beta 10.0.3-9-x
skip-checks: true
2022-07-18 11:55:15 +00:00
Jaco 7eac688074 Small performance adjustments for Uint8Array indexing (#1603) 2022-07-18 14:51:39 +03:00
github-actions[bot] 820a5e4077 [CI Skip] bump/beta 10.0.3-8-x
skip-checks: true
2022-07-18 11:13:19 +00:00
Jaco bc0f69aef0 Create public/secret pairs on add to keyring (#1602)
* Create public/secret pairs on add to keyring

* Remove comment sort

* Adjust pre-compute comment

* Adjust tests

* Fix expectation
2022-07-18 14:09:38 +03:00
github-actions[bot] 5074adf690 [CI Skip] bump/beta 10.0.3-7-x
skip-checks: true
2022-07-18 09:31:32 +00:00
Jaco 8461d105d6 Adjust nobody zero-key pair with pre-computed address (#1601) 2022-07-18 12:27:56 +03:00
github-actions[bot] cd246e2381 [CI Skip] bump/beta 10.0.3-6-x
skip-checks: true
2022-07-17 13:39:12 +00:00
Jaco 8a499bf1bf Bump ss58registry (#1600)
* Bump ss58registry

* Adjust networks deps
2022-07-17 16:35:42 +03:00
github-actions[bot] 5b2ec8e4d6 [CI Skip] bump/beta 10.0.3-5-x
skip-checks: true
2022-07-16 12:44:01 +00:00
Jaco 4a06d1382f Adjust isAscii check to disallow \t, \n, & \r characters (#1599)
* Adjust `isAscii` check to disallow `\t`, `\n`, & `\r` characters

* Readability (& unused code removal)

* Only > & <
2022-07-16 15:40:30 +03:00
github-actions[bot] 66ac9e15a6 [CI Skip] bump/beta 10.0.3-4-x
skip-checks: true
2022-07-16 08:58:10 +00:00
Jaco 0e55357053 Add arrayUnzip (#1598) 2022-07-16 11:54:02 +03:00
github-actions[bot] b4b80bbf67 [CI Skip] bump/beta 10.0.3-3-x
skip-checks: true
2022-07-15 08:13:43 +00:00
Jaco 4355b9b066 Bump deps (w/ @noble/secp256k1) (#1597) 2022-07-15 11:10:00 +03:00
github-actions[bot] 5c92e095ff [CI Skip] bump/beta 10.0.3-2-x
skip-checks: true
2022-07-11 13:35:08 +00:00
Jaco 4fedd594f1 Dedupe sqrt tests between bi/bn (#1596) 2022-07-11 16:31:41 +03:00
github-actions[bot] 6f05fa6634 [CI Skip] bump/beta 10.0.3-1-x
skip-checks: true
2022-07-11 05:19:12 +00:00
Jaco 856e93f4a0 Bump dev (#1595) 2022-07-11 08:15:26 +03:00
github-actions[bot] 195e42ec11 [CI Skip] bump/beta 10.0.3-0-x
skip-checks: true
2022-07-10 08:38:48 +00:00
Jaco 16e90aadfc Fix .123trigger 2022-07-10 11:35:16 +03:00
github-actions[bot] bcdf5ba26e [CI Skip] release/stable 10.0.2
skip-checks: true
2022-07-10 06:28:02 +00:00
Jaco ae9a04e557 Work-around for Jest + dynamic imports (#1594)
* Work-around for Jest + dynamic imports

* CHANGELOG

* 10.0.2
2022-07-10 09:24:11 +03:00
github-actions[bot] 4b37a82fb3 [CI Skip] bump/beta 10.0.2-1-x
skip-checks: true
2022-07-08 21:22:55 +00:00
Jaco 1b69bb9dfa Bump dev deps (#1593) 2022-07-09 00:19:36 +03:00
github-actions[bot] e8f703f850 [CI Skip] bump/beta 10.0.2-0-x
skip-checks: true
2022-07-08 13:34:11 +00:00
Jaco 3ad4455fe1 Adjust eslint config (#1592) 2022-07-08 16:30:50 +03:00
github-actions[bot] 1f6a263a8e [CI Skip] release/stable 10.0.1
skip-checks: true
2022-07-08 05:31:28 +00:00
Jaco 73073529bb 10.0.1 (#1591) 2022-07-08 08:28:07 +03:00
github-actions[bot] e1bdac1ba5 [CI Skip] bump/beta 9.7.3-17-x
skip-checks: true
2022-07-08 04:47:55 +00:00
Jaco 56c619944c Bump deps (#1590)
* Bump deps

* Rebump
2022-07-08 07:44:35 +03:00
github-actions[bot] 4c60b98b07 [CI Skip] bump/beta 9.7.3-16-x
skip-checks: true
2022-07-07 14:50:24 +00:00
Jaco 2f9f007547 CHANGELOG (#1589) 2022-07-07 17:46:30 +03:00
github-actions[bot] d00184fff7 [CI Skip] bump/beta 9.7.3-15-x
skip-checks: true
2022-07-07 14:33:54 +00:00
Carlo Sala e1e3a1699f feat(networks): add ledger support for Aleph Zero (#1588) 2022-07-07 17:30:29 +03:00
github-actions[bot] 90a1837978 [CI Skip] bump/beta 9.7.3-14-x
skip-checks: true
2022-07-07 07:53:03 +00:00
Jaco c96ad1a34e Align BigInt functions with BN (option handling) (#1587)
* Align BigInt functions with BN (option handling)

* CHANGELOG

* Pass bitLength parameter
2022-07-07 10:49:40 +03:00
github-actions[bot] b1eda9efe9 [CI Skip] bump/beta 9.7.3-13-x
skip-checks: true
2022-07-07 07:31:23 +00:00
kaelnewandfengwenjun 2184ae8511 add ledger support for stafi (#1569)
Co-authored-by: fengwenjun <kael@fengwenjun.com>
2022-07-07 10:27:34 +03:00
github-actions[bot] ce94314992 [CI Skip] bump/beta 9.7.3-12-x
skip-checks: true
2022-07-07 07:18:28 +00:00
Jaco eea3596847 Bump deps (#1586) 2022-07-07 10:14:14 +03:00
github-actions[bot] 37e78f7abd [CI Skip] bump/beta 9.7.3-11-x
skip-checks: true
2022-07-07 05:35:56 +00:00
Jaco 4bb2c83213 Adjust exports (#1585) 2022-07-07 08:31:58 +03:00
github-actions[bot] 3828d941a9 [CI Skip] bump/beta 9.7.3-10-x
skip-checks: true
2022-07-07 04:57:20 +00:00
Jaco c92d5cfb20 Remove deprecated call signatures (#1584) 2022-07-07 07:54:07 +03:00
github-actions[bot] 70d2250b3b [CI Skip] bump/beta 9.7.3-9-x
skip-checks: true
2022-07-06 17:37:27 +00:00
Jakub Pánik a46279876f Add HydraDX parachain to genesis (#1583) 2022-07-06 20:34:05 +03:00
github-actions[bot] 4267c4ac76 [CI Skip] bump/beta 9.7.3-8-x
skip-checks: true
2022-07-06 11:04:00 +00:00
Jaco e09dfcffbe Adjust issue template (#1582) 2022-07-06 14:00:36 +03:00
github-actions[bot] b722291de2 [CI Skip] bump/beta 9.7.3-7-x
skip-checks: true
2022-07-06 09:54:00 +00:00
Jaco 4367bb0f68 Adjust for available ESM-only dependencies (#1581)
* Adjust for available ESM-only dependencies

* Flags for jest (sadly, still required mid-2022)
2022-07-06 12:50:36 +03:00
github-actions[bot] 1d71f67e2a [CI Skip] bump/beta 9.7.3-6-x
skip-checks: true
2022-07-05 21:22:56 +00:00
Jaco 2d4995b16e Additional CI actions (#1580) 2022-07-06 00:19:30 +03:00
github-actions[bot] b96cfd36cf [CI Skip] bump/beta 9.7.3-5-x
skip-checks: true
2022-07-05 07:42:41 +00:00
Jaco 9f53838626 Bump dev deps (#1579) 2022-07-05 10:38:50 +03:00
github-actions[bot] 478dd6ccd9 [CI Skip] bump/beta 9.7.3-4-x
skip-checks: true
2022-07-05 07:04:53 +00:00
Jaco fd313c2e91 Push to deno 2022-07-05 10:01:25 +03:00
github-actions[bot] 66b58ea5f2 [CI Skip] bump/beta 9.7.3-3-x
skip-checks: true
2022-07-05 06:59:07 +00:00
Jaco 66acbe04af Adjust deno exports in x-* (#1578)
* Adjust deno exports in x-*

* Adjust versionDetect
2022-07-05 09:55:57 +03:00
github-actions[bot] 2194cc58d7 [CI Skip] bump/beta 9.7.3-2-x
skip-checks: true
2022-07-05 05:38:54 +00:00
Jaco 768f64aec7 Push to deno repo 2022-07-05 08:35:29 +03:00
github-actions[bot] 2176bedd50 [CI Skip] bump/beta 9.7.3-1-x
skip-checks: true
2022-07-04 09:38:31 +00:00
Jaco 8273eb5441 Switch on TS isolatedModules (#1577) 2022-07-04 12:35:03 +03:00
github-actions[bot] 76af1b8822 [CI Skip] bump/beta 9.7.3-0-x
skip-checks: true
2022-07-04 07:23:50 +00:00
Jaco 80eb70a382 Adjust some usages to not require @types/node (#1576) 2022-07-04 10:20:24 +03:00
688 changed files with 15952 additions and 10713 deletions
-1
View File
@@ -1 +0,0 @@
9.7.2
-32
View File
@@ -1,32 +0,0 @@
8
2.6.2
2.12.2
5.2.2
5.2.3
5.4.2
5.4.3
5.4.4
5.5.2
5.6.2
5.6.3
5.9.2
6.0.2
6.0.3
6.0.4
6.0.5
7.0.2
7.0.3
7.1.2
7.8.2
7.9.2
8.0.2
8.0.3
8.0.4
8.0.5
8.1.2
8.2.2
8.3.2
8.3.3
9.6.2
9.7.2
-21
View File
@@ -1,21 +0,0 @@
checks:
argument-count:
config:
threshold: 5
method-complexity:
config:
threshold: 7
method-count:
config:
threshold: 25
method-lines:
config:
threshold: 30
exclude_patterns:
- "**/*.spec.js"
- "**/*.spec.ts"
- "packages/networks/src/substrate.ts"
- "packages/util/src/is/utf8.ts"
- "packages/x-noble-hashes/src/**.ts"
- "packages/x-noble-secp256k1/src/**.ts"
-2
View File
@@ -1,2 +0,0 @@
packages/x-noble-hashes/**/*.ts
packages/x-noble-secp256k1/**/*.ts
-22
View File
@@ -1,22 +0,0 @@
// Copyright 2017-2022 @polkadot/util authors & contributors
// SPDX-License-Identifier: Apache-2.0
const base = require('@polkadot/dev/config/eslint.cjs');
module.exports = {
...base,
ignorePatterns: [
...base.ignorePatterns
],
parserOptions: {
...base.parserOptions,
project: [
'./tsconfig.eslint.json'
]
},
rules: {
...base.rules,
// this seems very broken atm, false positives
'@typescript-eslint/unbound-method': 'off'
}
};
+49 -13
View File
@@ -1,50 +1,86 @@
<!--
For general support, howto, coding and bundling questions, please use the Substrate & Polkadot StackExchange at https://substrate.stackexchange.com/ and get other ecosystem developers involved. This issues in this repository are meant for the tracking of feature requests and bug reports.
For general support, howto, coding and bundling questions, please
use the Substrate & Polkadot StackExchange at
While all issues are looked at non-bug and non-features would take quite a bit longer to get to and may yield less than satisfactory responses in this format.
https://substrate.stackexchange.com/
Additionally, please ensure you have done a search on the existing and closed issues before logging a new request. This saves time on all sides.
and get other ecosystem developers involved. This issues in this
repository are meant for the tracking of feature requests and bug
reports.
While all issues are looked at non-bug and non-features would take
quite a bit longer to get to and may yield less than satisfactory
responses in this format.
Additionally, please ensure you have done a search on the existing
and closed issues before logging a new request. This saves time on
all sides.
-->
* **I'm submitting a ...**
<!--- Try and classify your actual report -->
<!---
REQUIRED:
Classify the type of report your are submitting
-->
- [ ] Bug report
- [ ] Feature request
- [ ] Support request (please bear the comments above in mind)
- [ ] Support request
- [ ] Other
* **What is the current behavior and expected behavior?**
<!--- If you're describing a bug, tell us what should happen -->
<!--- If you're suggesting a change/improvement, tell us how it should work -->
<!---
REQUIRED:
If you're describing a bug, tell us what should happen. If you're
suggesting a change/improvement, tell us how it should work.
-->
* **What is the motivation for changing the behavior?**
<!--- Not obligatory, but suggest a motivation for the request -->
<!--- or ideas how to implement the addition or change -->
<!---
OPTIONAL:
Suggest a motivation for the request or ideas how to implement the
addition or change
-->
* **Please tell us about your environment:**
<!--- Include as many relevant details about the environment you experienced the issue in -->
<!--- Also snsure that you have tested against the latest stable releases if a bug -->
<!---
REQUIRED:
Include as many relevant details about the environment in which you
experienced the issue. Also ensure that you have tested against the
latest stable releases if you believe this to be a bug
-->
- Version:
- Environment:
- [ ] Node.js
- [ ] Browser
- [ ] Other (limited support for other environments available)
- [ ] Other (limited support for other environments)
- Language:
- [ ] JavaScript
- [ ] TypeScript
- [ ] TypeScript (include tsc --version)
- [ ] Other
+1 -1
View File
@@ -9,7 +9,7 @@ jobs:
if: "! startsWith(github.event.head_commit.message, '[CI Skip]') && (!github.event.pull_request || github.event.pull_request.head.repo.full_name == github.repository)"
runs-on: ubuntu-latest
steps:
- uses: jacogr/action-approve@master
- uses: jacogr/action-approve@795afd1dd096a2071d7ec98740661af4e853b7da
with:
authors: jacogr
labels: -auto
+2 -2
View File
@@ -8,9 +8,9 @@ jobs:
merge:
runs-on: ubuntu-latest
steps:
- uses: jacogr/action-merge@master
- uses: jacogr/action-merge@d2d64b4545acd93b0a9575177d3d215ae3f92029
with:
checks: build,lint,test
checks: pr (build),pr (lint),pr (test)
labels: -auto
strategy: squash
token: ${{ secrets.GH_PAT_BOT }}
+5 -5
View File
@@ -10,16 +10,16 @@ jobs:
env:
YARN_ENABLE_SCRIPTS: false
steps:
- uses: dessant/lock-threads@v2
- uses: dessant/lock-threads@c1b35aecc5cdb1a34539d14196df55838bb2f836
with:
github-token: ${{ secrets.GH_PAT_BOT }}
issue-lock-inactive-days: '7'
issue-lock-comment: >
issue-inactive-days: '7'
issue-comment: >
This thread has been automatically locked since there has not been
any recent activity after it was closed. Please open a new issue
if you think you have a related problem or query.
pr-lock-inactive-days: '2'
pr-lock-comment: >
pr-inactive-days: '2'
pr-comment: >
This pull request has been automatically locked since there
has not been any recent activity after it was closed.
Please open a new issue for related bugs.
+11 -4
View File
@@ -3,17 +3,24 @@ on: [pull_request]
jobs:
pr:
continue-on-error: true
strategy:
matrix:
step: ['lint', 'test', 'build']
name: ${{ matrix.step }}
step: ['lint', 'test', 'build', 'deno']
runs-on: ubuntu-latest
env:
YARN_ENABLE_SCRIPTS: false
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 'lts/*'
- uses: denoland/setup-deno@v1
with:
deno-version: vx.x.x
- name: ${{ matrix.step }}
if: always()
run: |
yarn install --immutable | grep -v 'YN0013'
yarn install --immutable
yarn ${{ matrix.step }}
+8 -6
View File
@@ -10,20 +10,22 @@ jobs:
strategy:
matrix:
step: ['build:release']
name: ${{ matrix.step }}
runs-on: ubuntu-latest
env:
YARN_ENABLE_SCRIPTS: false
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
GH_PAT: ${{ secrets.GH_PAT }}
GH_RELEASE_GITHUB_API_TOKEN: ${{ secrets.GH_PAT }}
GH_PAT: ${{ secrets.GH_PAT_BOT }}
GH_RELEASE_GITHUB_API_TOKEN: ${{ secrets.GH_PAT_BOT }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0
token: ${{ secrets.GH_PAT }}
token: ${{ secrets.GH_PAT_BOT }}
- uses: actions/setup-node@v3
with:
node-version: 'lts/*'
- name: ${{ matrix.step }}
run: |
yarn install --immutable | grep -v 'YN0013'
yarn install --immutable
yarn ${{ matrix.step }}
-20
View File
@@ -1,20 +0,0 @@
name: Semgrep
on:
pull_request: {}
push:
branches:
- master
jobs:
check:
if: "! startsWith(github.event.head_commit.message, '[CI Skip]') && (!github.event.pull_request || github.event.pull_request.head.repo.full_name == github.repository)"
runs-on: ubuntu-latest
env:
YARN_ENABLE_SCRIPTS: false
steps:
- uses: actions/checkout@v2
- uses: returntocorp/semgrep-action@v1
with:
auditOn: push
publishToken: ${{ secrets.SEMGREP_APP_TOKEN }}
publishDeployment: 1395
-19
View File
@@ -1,19 +0,0 @@
name: 'Close stale issues and PRs'
on:
schedule:
- cron: '50 1/3 * * *'
jobs:
stale:
runs-on: ubuntu-latest
env:
YARN_ENABLE_SCRIPTS: false
steps:
- uses: actions/stale@v3
with:
repo-token: ${{ secrets.GH_PAT_BOT }}
stale-issue-message: 'This issue has been open for 21 days with no activity and is not labelled as an enhancement. It will be closed in 7 days.'
stale-issue-label: 'stale'
exempt-issue-labels: '-size-l,-size-m,-size-s,-size-xl,-size-xs,[bug],ci'
days-before-stale: 21
days-before-close: 7
+3 -7
View File
@@ -1,14 +1,12 @@
--test-*
_book/
build/
build-cjs/
build-esm/
build-deno/
build-docs/
build-*/
coverage/
docs/.vuepress/dist/
node_modules/
tmp/
/import_map.json
/mod.ts
.DS_Store
.env.local
.env.development.local
@@ -27,6 +25,4 @@ npm-debug.log*
package-lock.json
yarn-debug.log*
yarn-error.log*
store.db
store.db.compacted
tsconfig.*buildinfo
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2022 @polkadot/dev authors & contributors
// Copyright 2017-2023 @polkadot/dev authors & contributors
// SPDX-License-Identifier: Apache-2.0
module.exports = require('@polkadot/dev/config/prettier.cjs');
+5
View File
@@ -2,6 +2,11 @@ enableImmutableInstalls: false
enableProgressBars: false
logFilters:
# Discard any "cannot be found in cache" messages
- code: YN0013
level: discard
nodeLinker: node-modules
plugins:
+363
View File
@@ -1,5 +1,368 @@
# CHANGELOG
## 12.2.2 Jun 4, 2023
Changes:
- Apply missing count assignment for `for (...)` loops
- Remove unused `@types/*` dev dependencies
- Upgrade dependencies to latest stable versions
## 12.2.1 May 13, 2023
Changes:
- Align `u8aToBigInt` tests with `u8aToBn`
- Unroll loops on most-frequently used paths for `u8aToBigInt`
- Add `module` to `package.json` export map (ESM-only)
- Upgrade dependencies to latest stable versions
## 12.1.2 May 1, 2023
Changes:
- Adjust typing for `isChildClass` & `Constructor` usage
## 12.1.1 Apr 29, 2023
Changes:
- Add shareable `identity` & `noop` functions
- Flatten `Buffer | Uint8Array` types (as used) to base-only `Uint8Array`
- Apply `readonly` specifiers to private class fields where applicable
- Adjust compilation output for `__internal__` class fields
- Remove unused types from `util`
- Upgrade dependencies to latest stable versions
## 12.0.1 Apr 22, 2023
Contributed:
- Add Cere genesisHash (Thanks to https://github.com/shamilkhan)
Changes:
- Swap secp256k1 functionality to `@noble/curves`
- Swap ed25519 functionality to `@noble/curves`
- Replace `tweetnacl` secretbox usage with slimmer local version
- Adjust `isCodec` helper with closer API alignment
- Initial steps to multi-language bip39 support
- Use Node webcrypto for Node `getRandomValues` support
- Upgrade dependencies to latest stable versions
- Drop support for Node 14 (EOL 30 Apr 2023)
## 11.1.3 Apr 1, 2023
Contributed:
- Add Bittensor genesisHash (Thanks to https://github.com/camfairchild)
Changes:
- Allow empty string as valid base32/base58/base64 decoder input
- Add additional/missing `/*#__PURE__*/` annotations
- Upgrade dependencies to latest stable versions
## 11.1.2 Mar 25, 2023
Changes:
- Expand error details for invalid publicKeys in secp256k1 compress/expand operations
- Expand `@polkadot/hw-ledger` with specific per-method JSDoc
- Upgrade dependencies to latest stable versions
## 11.1.1 Mar 18, 2023
Contributed:
- Add 3DPass genesisHash (Thanks to https://github.com/fedosov)
Changes:
- Remove support for encrypt/decrypt functionality on keypair
- Upgrade dependencies to latest stable versions
## 11.0.2 Mar 11, 2023
Changes:
- Use consistent `.js` imports in source files (TS moduleResolution)
- Remove TS resolveJsonModule option
- Upgrade to `@polkadot/wasm-crypto` 7.0.3
## 11.0.1 Mar 4, 2023
Changes:
- Change `@polkadot/x-ws` to use [ws](https://www.npmjs.com/package/ws) package (previous: `websocket`)
- Add `/*#__PURE__*/` annotations for `@polkadot/x-*` packages
- Swap TS -> JS compiler to use tsc (from babel)
- Adjust all tests to use `node:test` runner (ESM variants)
- Move `cryptoWaitReady()` top-level in test files
- Upgrade to `@polkadot/wasm-crypto` 7.0.1
## 10.4.2 Feb 19, 2023
Contributed:
- Ledger support for Pendulum (Thanks to https://github.com/carlosala)
Changes:
- Ensure `u8aToU8a` correctly unwraps Buffer value (check ordering)
- Upgrade dependencies to latest stable versions
## 10.4.1 Feb 12, 2023
Contributed:
- Locale support for number formatting (Thanks to https://github.com/alko89)
- Ledger support for Picasso (Thanks to https://github.com/carlosala)
Changes:
- Add `isClass` helper (checks if input is actual Class Constructor)
- Adjust `isChildClass` to rely on new `isClass`
- Upgrade dependencies to latest stable versions
## 10.3.1 Jan 28, 2023
Contributed:
- Ledger support for Ternoa (Thanks to https://github.com/mohsinriaz17)
Changes:
- Expand `arrayChunk` tests
- Adjust output for Ledger sanity checks
- Expand exported `bigint` constants to match with those in `BN`
- Adjust internal character maps to operate on `Uint8Array` instad of `Array<number>`
- Upgrade dependencies to latest stable versions
## 10.2.6 Jan 13, 2023
Changes:
- Drop stray `console.error` log (it really _is_ Friday 13th)
## 10.2.5 Jan 13, 2023
Changes:
- Bugfix for `formatBalance` (forceUnit) with `BN` inputs where output is less than 0
## 10.2.4 Jan 13, 2023
Changes:
- Add the `withAll` (default false) flag to `formatBalance` to format to max decimals
- Add the `withZero` (default true) flags to `formatBalance` to retain trailing zeros
## 10.2.3 Jan 7, 2023
Changes:
- Adjust `isBuffer` check on `xglobal` (no auto-polyfill detection on eg. parcel)
- Upgrade dependencies to latest stable versions
## 10.2.2 Jan 6, 2023
Contributed:
- Adjust Nodle Ledger mapping (Thanks to https://github.com/aliXsed)
Changes:
- Upgrade dependencies to latest stable versions
## 10.2.1 Dec 4, 2022
Contributed:
- Ledger support for Ajuna (Thanks to https://github.com/carlosala)
Changes:
- `has{Buffer, Process}` now checks on `globalThis` (helps bundlers with auto-injection)
- Add `/*#__PURE__*/` annotations for specific `export const something = someFunction(...)`
- Upgrade dependencies to latest stable versions
- Upgrade to `@polkadot/wasm-crypto` 6.4.1
## 10.1.14 Nov 27, 2022
Changes:
- Upgrade dependencies to latest stable versions
## 10.1.13 Nov 20, 2022
Contributed:
- Ledger support for Origintrail (Thanks to https://github.com/carlosala)
Changes:
- Expand type descriptions around Ledger-based structures
- Upgrade dependencies to latest stable versions
## 10.1.12 Nov 13, 2022
Changes:
- Upgrade dependencies to latest stable versions
## 10.1.11 Oct 15, 2022
Changes:
- Upgrade dependencies to latest stable versions
## 10.1.10 Oct 7, 2022
Changes:
- Ensure `{bn, n, number}ToHex(0)` always respects `bitLength`
- Upgrade dependencies to latest stable versions
## 10.1.9 Sep 24, 2022
Contributed:
- Ledger support for VTB (Thanks to https://github.com/GuilaneDen)
Changes:
- Upgrade dependencies to latest stable versions
## 10.1.8 Sep 17, 2022
Contributed:
- Ledger support for Darwinia, Phala & Khala (Thanks to https://github.com/carlosala)
- Ledger support for HydraX (Thanks to https://github.com/chcmedeiros)
Changes:
- Expand test cases
- Upgrade dependencies to latest stable versions
## 10.1.7 Sep 2, 2022
Changes:
- Hoist Ledger interface wrapError (internal adjustment)
- Upgrade dependencies to latest stable versions
## 10.1.6 Aug 23, 2022
Changes:
- Adjust `nextTick` with greater care for browser loops
- Upgrade dependencies to latest stable versions
## 10.1.5 Aug 21, 2022
Changes:
- Adjust `ledgerApps` to use new `@zondax/ledger-substrate` interfaces
- Upgrade dependencies to latest stable versions
## 10.1.4 Aug 12, 2022
Contributed:
- Ledger support for Kusama Bifrost (Thanks to https://github.com/awesomepan)
Changes:
- Upgrade dependencies to latest stable versions
## 10.1.3 Aug 5, 2022
Changes:
- Optimization for empty `arrayFlatten` case
- Coding cleanups for logger (no `as` casting)
- Optiomizations in assertion checks
## 10.1.2 Jul 29, 2022
Changes:
- Upgrade dependencies to latest stable versions
## 10.1.1 Jul 21, 2022
Changes:
- Add `arrayUnzip` as reverse of `arrayZip`
- Adjust `objectSpread` to natively handle `Map` entries spreads
- Adjust `isAscii` check to disallow `\t`, `\n`, & `\r` characters
- Adjust `nobody` zero-key pair with pre-computed address
- Align `objectProperty` & `lazyMethod` call signatures (backwards compatible)
- Various internal speed optimizations
- Upgrade dependencies to latest stable versions
## 10.0.2 Jul 10, 2022
Changes:
- Adjust async import in `x-fetch` to be Jest-friendly
## 10.0.1 Jul 8, 2022
- **Breaking change** In this major version version previously deprecated function signatures have been removed. If still using the old forms for either `bnToHex`, `bnToU8a`, `formatBalance`, `hexToBn` or `u8aToBn`, please update and only pass through an options object as the second parameter.
Contributed:
- Ledger support for Stafi (Thanks to https://github.com/kaelnew)
- Ledger support for Aleph Zero (Thanks to https://github.com/carlosala)
- Add genesis for HydraDX parachain (Thanks to https://github.com/jak-pan)
Changes:
- Remove deprecated signatures for `bnToHex`, `bnToU8a`, `formatBalance`, `hexToBn`, `u8aToBn`
- Align option handling of `n*` (BigInt) functions with `bn*` (BN)
- Allow for usage without `@types/node` installed
- Adjust for available ESM-only dependencies
- Upgrade dependencies to latest stable versions
- Upgrade to `@polkadot/wasm-crypto` 6.2.3
## 9.7.2 Jul 4, 2022
Changes:
+13 -4
View File
@@ -1,12 +1,12 @@
1393 Jaco 9.7.2 (#1575)
1622 Jaco 12.2.2 (#1839)
12 Carlo Sala feat(networks): support ledger for pendulum (#1739)
9 Antoine Estienne Add eth uri keyring test (#1291)
6 Amaury Martiny Add tests from Rust (#283)
5 Jakub Pánik Add HydraDX parachain to genesis (#1583)
5 kwingram25 Add BN consts and timeToString (#610)
4 Adam Dossa Update Polymesh Genesis Hash (#1193)
4 Carlo Sala add Composable support for ledger (#1515)
4 Jakub Pánik Add basilisk 🐍 (#1396)
4 pan add bifrost kusama (#1626)
3 Luke Schoen docs: Fix example in readme since we use default imports (#243)
3 pan update bifrost genesis hash (#1521)
2 AndreasGassmann feat(dependencies): remove moment.js (#530)
2 Gav Wood Fix stake:unstake (#182)
2 Hyungsuk Kang Add cross client Encryption/Decryption (#496)
@@ -16,12 +16,17 @@
2 Nantian fix bigint type (#1079)
2 Stefanie Doll Add missing dependencies to util-crypto (#424)
1 Agustinus Theodorus docs: fix typo in naclSeal docs. (#1005)
1 Aleš Ferlan feat: allow setting of thousand/decimal separators (#1722)
1 Alex Sedighi fix Nodle's known network name (#1699)
1 Alexander Krupenkin Added ECDSA keypair support (#589)
1 alexdniep added equilibrium slip44; added equilibrium genesis hash (#984)
1 amphineko chore: fix typo in versionDetect messages (#941)
1 Axel Chalon Simplify @polkadot/keyring KeyringPair (#419)
1 Brad Larson [FIX] Adjust error message (#646)
1 Cameron Fairchild Add bittensor details (#1783)
1 Carlos Medeiros add hydradx to knownLedger (#1647)
1 Eliott Teissonniere add nodle ledger specs (#1089)
1 Guilane DENGUIR feat(VTB): Added support for VTB blockchain (#1651)
1 h4x3rotab Throws an error when signing with a locked keypair (#578)
1 Harry Liu Update README.md (#446)
1 Hoon Kim replace plasm genesis with astar (#1397)
@@ -30,9 +35,12 @@
1 Jake Naviasky Add evmToAddress and addressToEvm crypto utils. (#705)
1 JesseAbram added check if valid address to docs (#440)
1 joe petrowski Add example for multisig address creation (#590)
1 kaelnew add ledger support for stafi (#1569)
1 Lezek123 logger - wildcard include/exclude with DEBUG env (#932)
1 Mario Neises remove redudant export (#257)
1 Miguel Hervas Add CFG Ledger Support (#1057)
1 Mikhail Fedosov feat: add 3dpass network (#1769)
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 qwer951123 Add acala genesis (#1161)
@@ -40,6 +48,7 @@
1 Raymond Zhong Add Edgeware ledger app (#1006)
1 Reto Trinkler Adding 4 as address type of ss58 for Katal Chain (#639)
1 Rocco Musolino remove doc broken link (#697)
1 Shamilkhan Add genesis hash for Cere Network (#1806)
1 Song Zhou Add in ability to encrypt/decrypt msg with keyring (#1070)
1 Thibaut Sardan add hasLedgerSupport prop to networks (#835)
1 Tomokazu Kozuma fix comment (#1119)
-7
View File
@@ -1,10 +1,3 @@
[![polkadotjs](https://img.shields.io/badge/polkadot-js-orange?logo=&style=flat-square)](https://polkadot.js.org)
![license](https://img.shields.io/badge/License-Apache%202.0-blue?logo=apache&style=flat-square)
[![npm](https://img.shields.io/npm/v/@polkadot/util?logo=npm&style=flat-square)](https://www.npmjs.com/package/@polkadot/util)
[![beta](https://img.shields.io/npm/v/@polkadot/util/beta?label=beta&logo=npm&style=flat-square)](https://www.npmjs.com/package/@polkadot/util)
[![maintainability](https://img.shields.io/codeclimate/maintainability-percentage/polkadot-js/common?logo=code-climate&style=flat-square)](https://codeclimate.com/github/polkadot-js/common)
[![coverage](https://img.shields.io/codeclimate/coverage/polkadot-js/common?logo=code-climate&style=flat-square)](https://codeclimate.com/github/polkadot-js/common)
# @polkadot/common
Various useful utility functions that are used across all projects in the [@polkadot](https://polkadot.js.org) namespace. It provides utility functions with additional safety checks, allowing not only for consistent coding, but also reducing the general boilerplate.
-4
View File
@@ -1,4 +0,0 @@
// Copyright 2017-2022 @polkadot/util authors & contributors
// SPDX-License-Identifier: Apache-2.0
module.exports = require('@polkadot/dev/config/babel-config-cjs.cjs');
+8
View File
@@ -0,0 +1,8 @@
// Copyright 2017-2023 @polkadot/dev authors & contributors
// SPDX-License-Identifier: Apache-2.0
import baseConfig from '@polkadot/dev/config/eslint';
export default [
...baseConfig
];
+5
View File
@@ -0,0 +1,5 @@
{
"imports": {
"https://esm.sh/v90/@types/bn.js@~5.2/index.d.ts": "https://esm.sh/v90/@types/bn.js@5.1.0/index.d.ts"
}
}
-19
View File
@@ -1,19 +0,0 @@
// Copyright 2017-2022 @polkadot/util authors & contributors
// SPDX-License-Identifier: Apache-2.0
const config = require('@polkadot/dev/config/jest.cjs');
module.exports = Object.assign({}, config, {
moduleNameMapper: {
'@polkadot/hw-ledger-transports(.*)$': '<rootDir>/packages/hw-ledger-transports/src/node',
// eslint-disable-next-line sort-keys
'@polkadot/hw-ledger(.*)$': '<rootDir>/packages/hw-ledger/src/$1',
'@polkadot/keyring(.*)$': '<rootDir>/packages/keyring/src/$1',
'@polkadot/networks(.*)$': '<rootDir>/packages/networks/src/$1',
'@polkadot/util-(crypto)(.*)$': '<rootDir>/packages/util-$1/src/$2',
// eslint-disable-next-line sort-keys
'@polkadot/util(.*)$': '<rootDir>/packages/util/src/$1',
'@polkadot/x-(bigint|global)(.*)$': '<rootDir>/packages/x-$1/src/$2',
'@polkadot/x-(fetch|randomvalues|textdecoder|textencoder|ws)(.*)$': '<rootDir>/packages/x-$1/src/node'
}
});
+18 -9
View File
@@ -1,6 +1,9 @@
{
"author": "Jaco Greeff <jacogr@gmail.com>",
"bugs": "https://github.com/polkadot-js/common/issues",
"engines": {
"node": ">=18.14"
},
"homepage": "https://github.com/polkadot-js/common#readme",
"license": "Apache-2.0",
"packageManager": "yarn@3.2.0",
@@ -10,28 +13,34 @@
"url": "https://github.com/polkadot-js/common.git"
},
"sideEffects": false,
"version": "9.7.2",
"type": "module",
"version": "12.2.2",
"versions": {
"git": "12.2.2",
"npm": "12.2.2"
},
"workspaces": [
"packages/*"
],
"scripts": {
"build": "polkadot-dev-build-ts",
"build:networks": "polkadot-dev-run-test packages/networks/src",
"build:release": "polkadot-ci-ghact-build",
"build:rollup": "polkadot-exec-rollup --config",
"clean": "polkadot-dev-clean-build",
"deno": "yarn polkadot-dev-deno-map && yarn build && deno check --import-map=import_map.json mod.ts",
"lint": "polkadot-dev-run-lint",
"networks:crosscheck": "polkadot-dev-run-test packages/networks/src/crosscheck",
"postinstall": "polkadot-dev-yarn-only",
"test": "polkadot-dev-run-test --coverage --runInBand --testPathIgnorePatterns crosscheck --testPathIgnorePatterns toMiniSecretCmp",
"test:mnemonicCmp": "polkadot-dev-run-test packages/util-crypto/src/mnemonic/toMiniSecretCmp.spec.ts",
"test:one": "polkadot-dev-run-test --runInBand"
"test": "polkadot-dev-run-test --env browser ^mnemonic/toMiniSecretCmp",
"test:mnemonicCmp": "polkadot-dev-run-test --env browser mnemonic/toMiniSecretCmp",
"test:node": "polkadot-dev-run-test --env browser ^mnemonic/toMiniSecretCmp",
"test:one": "polkadot-dev-run-test --env browser"
},
"devDependencies": {
"@babel/core": "^7.18.6",
"@polkadot/dev": "^0.67.50",
"@types/jest": "^28.1.4"
"@polkadot/dev": "^0.75.16",
"@types/node": "^20.2.5"
},
"resolutions": {
"typescript": "^4.7.4"
"typescript": "^5.1.3"
}
}
-201
View File
@@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+8 -10
View File
@@ -1,13 +1,11 @@
{
"author": "Jaco Greeff <jacogr@gmail.com>",
"bugs": "https://github.com/polkadot-js/common/issues",
"contributors": [],
"engines": {
"node": ">=14.0.0"
"node": ">=16"
},
"homepage": "https://github.com/polkadot-js/common/tree/master/packages/hw-ledger-transports#readme",
"license": "Apache-2.0",
"maintainers": [],
"name": "@polkadot/hw-ledger-transports",
"repository": {
"directory": "packages/hw-ledger-transports",
@@ -16,18 +14,18 @@
},
"sideEffects": false,
"type": "module",
"version": "9.7.2",
"version": "12.2.2",
"browser": "browser.js",
"main": "node.js",
"react-native": "react-native.js",
"dependencies": {
"@babel/runtime": "^7.18.6",
"@ledgerhq/hw-transport": "^6.27.1",
"@ledgerhq/hw-transport-webhid": "^6.27.1",
"@ledgerhq/hw-transport-webusb": "^6.27.1",
"@polkadot/util": "9.7.2"
"@ledgerhq/hw-transport": "^6.28.4",
"@ledgerhq/hw-transport-webhid": "^6.27.15",
"@ledgerhq/hw-transport-webusb": "^6.27.15",
"@polkadot/util": "12.2.2",
"tslib": "^2.5.3"
},
"optionalDependencies": {
"@ledgerhq/hw-transport-node-hid-singleton": "^6.27.1"
"@ledgerhq/hw-transport-node-hid-singleton": "^6.28.12"
}
}
+6 -18
View File
@@ -1,23 +1,11 @@
// Copyright 2017-2022 @polkadot/hw-ledger authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type Transport from '@ledgerhq/hw-transport';
import type { TransportDef } from './types';
import LedgerHid from '@ledgerhq/hw-transport-webhid';
import LedgerUsb from '@ledgerhq/hw-transport-webusb';
import LedgerWebHid from '@ledgerhq/hw-transport-webhid';
import LedgerWebUsb from '@ledgerhq/hw-transport-webusb';
import { createDefs } from './util.js';
export { packageInfo } from './packageInfo';
export { packageInfo } from './packageInfo.js';
export const transports: TransportDef[] = [
{
create: (): Promise<Transport> =>
LedgerWebUsb.create(),
type: 'webusb'
},
{
create: (): Promise<Transport> =>
LedgerWebHid.create(),
type: 'hid'
}
];
export const transports = /*#__PURE__*/ createDefs(['webusb', LedgerUsb], ['hid', LedgerHid]);
@@ -1,4 +1,4 @@
// Copyright 2017-2022 @polkadot/hw-ledger authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
export default [];
@@ -1,11 +1,11 @@
// Copyright 2017-2022 @polkadot/hw-ledger-transports authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger-transports authors & contributors
// SPDX-License-Identifier: Apache-2.0
// Do not edit, auto-generated by @polkadot/dev
import { detectPackage } from '@polkadot/util';
import others from './detectOther';
import { packageInfo } from './packageInfo';
import others from './detectOther.js';
import { packageInfo } from './packageInfo.js';
detectPackage(packageInfo, null, others);
+4 -4
View File
@@ -1,8 +1,8 @@
// Copyright 2017-2022 @polkadot/hw-ledger authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { TransportDef } from './types';
import { createDefs } from './util.js';
export { packageInfo } from './packageInfo';
export { packageInfo } from './packageInfo.js';
export const transports: TransportDef[] = [];
export const transports = /*#__PURE__*/ createDefs();
+2 -2
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2022 @polkadot/hw-ledger authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
export * from './empty';
export * from './empty.js';
+5 -12
View File
@@ -1,17 +1,10 @@
// Copyright 2017-2022 @polkadot/hw-ledger authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type Transport from '@ledgerhq/hw-transport';
import type { TransportDef } from './types';
import LedgerHid from '@ledgerhq/hw-transport-node-hid-singleton';
export { packageInfo } from './packageInfo';
import { createDefs } from './util.js';
export const transports: TransportDef[] = [
{
create: (): Promise<Transport> =>
LedgerHid.create(),
type: 'hid'
}
];
export { packageInfo } from './packageInfo.js';
export const transports = /*#__PURE__*/ createDefs(['hid', LedgerHid]);
@@ -1,6 +1,6 @@
// Copyright 2017-2022 @polkadot/hw-ledger-transports authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger-transports authors & contributors
// SPDX-License-Identifier: Apache-2.0
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/hw-ledger-transports', path: 'auto', type: 'auto', version: '9.7.2' };
export const packageInfo = { name: '@polkadot/hw-ledger-transports', path: 'auto', type: 'auto', version: '12.2.2' };
@@ -1,4 +1,4 @@
// Copyright 2017-2022 @polkadot/hw-ledger authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
export * from './empty';
export * from './empty.js';
+10 -4
View File
@@ -1,11 +1,17 @@
// Copyright 2017-2022 @polkadot/hw-ledger authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
import Transport from '@ledgerhq/hw-transport';
// CJS, so we use import * syntax
import type * as HwTransport from '@ledgerhq/hw-transport';
export type LedgerTypes = 'hid' | 'u2f' | 'webusb';
// u2f is deprecated an therefore not added
export type TransportType = 'hid' | 'webusb';
export type Transport = HwTransport.default;
export interface TransportDef {
/** Create a transport to be used in Ledger operations */
create (): Promise<Transport>;
type: LedgerTypes;
/** The type of the underlying transport definition */
type: TransportType;
}
+12
View File
@@ -0,0 +1,12 @@
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Transport, TransportDef, TransportType } from './types.js';
export function createDefs (...items: readonly [type: TransportType, Clazz: unknown][]): TransportDef[] {
return items.map(([type, Clazz]): TransportDef => ({
create: (): Promise<Transport> =>
(Clazz as Pick<TransportDef, 'create'>).create(),
type
}));
}
@@ -5,6 +5,9 @@
"outDir": "./build",
"rootDir": "./src"
},
"exclude": [
"**/mod.ts"
],
"references": [
{ "path": "../util/tsconfig.build.json" }
]
-201
View File
@@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+6 -9
View File
@@ -1,13 +1,11 @@
{
"author": "Jaco Greeff <jacogr@gmail.com>",
"bugs": "https://github.com/polkadot-js/common/issues",
"contributors": [],
"engines": {
"node": ">=14.0.0"
"node": ">=16"
},
"homepage": "https://github.com/polkadot-js/common/tree/master/packages/hw-ledger#readme",
"license": "Apache-2.0",
"maintainers": [],
"name": "@polkadot/hw-ledger",
"repository": {
"directory": "packages/hw-ledger",
@@ -19,13 +17,12 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "9.7.2",
"version": "12.2.2",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.18.6",
"@ledgerhq/hw-transport": "^6.27.1",
"@polkadot/hw-ledger-transports": "9.7.2",
"@polkadot/util": "9.7.2",
"@zondax/ledger-substrate": "^0.31.0"
"@polkadot/hw-ledger-transports": "12.2.2",
"@polkadot/util": "12.2.2",
"@zondax/ledger-substrate": "^0.40.7",
"tslib": "^2.5.3"
}
}
+78 -62
View File
@@ -1,55 +1,84 @@
// Copyright 2017-2022 @polkadot/hw-ledger authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { ResponseBase, SubstrateApp } from '@zondax/ledger-substrate';
import type { AccountOptions, LedgerAddress, LedgerSignature, LedgerTypes, LedgerVersion } from './types';
import type { SubstrateApp } from '@zondax/ledger-substrate';
import type { TransportDef, TransportType } from '@polkadot/hw-ledger-transports/types';
import type { AccountOptions, LedgerAddress, LedgerSignature, LedgerVersion } from './types.js';
import { newSubstrateApp } from '@zondax/ledger-substrate';
import { transports } from '@polkadot/hw-ledger-transports';
import { u8aToBuffer } from '@polkadot/util';
import { hexAddPrefix, u8aToBuffer } from '@polkadot/util';
import { LEDGER_DEFAULT_ACCOUNT, LEDGER_DEFAULT_CHANGE, LEDGER_DEFAULT_INDEX, LEDGER_SUCCESS_CODE } from './constants';
import { ledgerApps } from './defaults';
import { LEDGER_DEFAULT_ACCOUNT, LEDGER_DEFAULT_CHANGE, LEDGER_DEFAULT_INDEX, LEDGER_SUCCESS_CODE } from './constants.js';
import { ledgerApps } from './defaults.js';
export { packageInfo } from './packageInfo';
export { packageInfo } from './packageInfo.js';
type Chain = keyof typeof ledgerApps;
// A very basic wrapper for a ledger app -
// - it connects automatically, creating an app as required
// - Promises return errors (instead of wrapper errors)
export class Ledger {
#app: SubstrateApp | null = null;
type WrappedResult = Awaited<ReturnType<SubstrateApp['getAddress' | 'getVersion' | 'sign']>>;
#chain: Chain;
/** @internal Wraps a SubstrateApp call, checking the result for any errors which result in a rejection */
async function wrapError <T extends WrappedResult> (promise: Promise<T>): Promise<T> {
const result = await promise;
#transport: LedgerTypes;
constructor (transport: LedgerTypes, chain: Chain) {
// u2f is deprecated
if (!['hid', 'webusb'].includes(transport)) {
throw new Error(`Unsupported transport ${transport}`);
} else if (!Object.keys(ledgerApps).includes(chain)) {
throw new Error(`Unsupported chain ${chain}`);
}
this.#chain = chain;
this.#transport = transport;
if (result.return_code !== LEDGER_SUCCESS_CODE) {
throw new Error(result.error_message);
}
return result;
}
/**
* @name Ledger
*
* @description
* A very basic wrapper for a ledger app -
* - it connects automatically on use, creating an underlying interface as required
* - Promises reject with errors (unwrapped errors from @zondax/ledger-substrate)
*/
export class Ledger {
readonly #ledgerName: string;
readonly #transportDef: TransportDef;
#app: SubstrateApp | null = null;
constructor (transport: TransportType, chain: Chain) {
const ledgerName = ledgerApps[chain];
const transportDef = transports.find(({ type }) => type === transport);
if (!ledgerName) {
throw new Error(`Unsupported Ledger chain ${chain}`);
} else if (!transportDef) {
throw new Error(`Unsupported Ledger transport ${transport}`);
}
this.#ledgerName = ledgerName;
this.#transportDef = transportDef;
}
/**
* Returns the address associated with a specific account & address offset. Optionally
* asks for on-device confirmation
*/
public async getAddress (confirm = false, accountOffset = 0, addressOffset = 0, { account = LEDGER_DEFAULT_ACCOUNT, addressIndex = LEDGER_DEFAULT_INDEX, change = LEDGER_DEFAULT_CHANGE }: Partial<AccountOptions> = {}): Promise<LedgerAddress> {
return this.#withApp(async (app: SubstrateApp): Promise<LedgerAddress> => {
const { address, pubKey } = await this.#wrapError(app.getAddress(account + accountOffset, change, addressIndex + addressOffset, confirm));
return this.withApp(async (app: SubstrateApp): Promise<LedgerAddress> => {
const { address, pubKey } = await wrapError(app.getAddress(account + accountOffset, change, addressIndex + addressOffset, confirm));
return {
address,
publicKey: `0x${pubKey}`
publicKey: hexAddPrefix(pubKey)
};
});
}
/**
* Returns the version of the Ledger application on the device
*/
public async getVersion (): Promise<LedgerVersion> {
return this.#withApp(async (app: SubstrateApp): Promise<LedgerVersion> => {
const { device_locked: isLocked, major, minor, patch, test_mode: isTestMode } = await this.#wrapError(app.getVersion());
return this.withApp(async (app: SubstrateApp): Promise<LedgerVersion> => {
const { device_locked: isLocked, major, minor, patch, test_mode: isTestMode } = await wrapError(app.getVersion());
return {
isLocked,
@@ -59,52 +88,39 @@ export class Ledger {
});
}
/**
* Signs a transaction on the Ledger device
*/
public async sign (message: Uint8Array, accountOffset = 0, addressOffset = 0, { account = LEDGER_DEFAULT_ACCOUNT, addressIndex = LEDGER_DEFAULT_INDEX, change = LEDGER_DEFAULT_CHANGE }: Partial<AccountOptions> = {}): Promise<LedgerSignature> {
return this.#withApp(async (app: SubstrateApp): Promise<LedgerSignature> => {
return this.withApp(async (app: SubstrateApp): Promise<LedgerSignature> => {
const buffer = u8aToBuffer(message);
const { signature } = await this.#wrapError(app.sign(account + accountOffset, change, addressIndex + addressOffset, buffer));
const { signature } = await wrapError(app.sign(account + accountOffset, change, addressIndex + addressOffset, buffer));
return {
signature: `0x${signature.toString('hex')}`
signature: hexAddPrefix(signature.toString('hex'))
};
});
}
#getApp = async (): Promise<SubstrateApp> => {
if (!this.#app) {
const def = transports.find(({ type }) => type === this.#transport);
/**
* @internal
*
* Returns a created SubstrateApp to perform operations against. Generally
* this is only used internally, to ensure consistent bahavior.
*/
async withApp <T> (fn: (app: SubstrateApp) => Promise<T>): Promise<T> {
try {
if (!this.#app) {
const transport = await this.#transportDef.create();
if (!def) {
throw new Error(`Unable to find a transport for ${this.#transport}`);
this.#app = newSubstrateApp(transport, this.#ledgerName);
}
const transport = await def.create();
this.#app = ledgerApps[this.#chain](transport);
}
return this.#app;
};
#withApp = async <T> (fn: (app: SubstrateApp) => Promise<T>): Promise<T> => {
try {
const app = await this.#getApp();
return await fn(app);
return await fn(this.#app);
} catch (error) {
this.#app = null;
throw error;
}
};
#wrapError = async <T extends ResponseBase> (promise: Promise<T>): Promise<T> => {
const result = await promise;
if (result.return_code !== LEDGER_SUCCESS_CODE) {
throw new Error(result.error_message);
}
return result;
};
}
}
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2022 @polkadot/hw-ledger authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
export const LEDGER_DEFAULT_ACCOUNT = 0x80000000;
+20
View File
@@ -0,0 +1,20 @@
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
/// <reference types="@polkadot/dev-test/globals.d.ts" />
import { supportedApps } from '@zondax/ledger-substrate';
import { ledgerApps } from './defaults.js';
describe('ledgerApps', (): void => {
for (const k of Object.keys(ledgerApps)) {
it(`${k} is available in @zondax/ledger-substrate`, (): void => {
expect(
supportedApps.find(({ name }) =>
name === ledgerApps[k]
)
).toBeDefined();
});
}
});
+38 -27
View File
@@ -1,31 +1,42 @@
// Copyright 2017-2022 @polkadot/hw-ledger authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type Transport from '@ledgerhq/hw-transport';
import type { SubstrateApp } from '@zondax/ledger-substrate';
import { newAcalaApp, newAstarApp, newBifrostApp, newCentrifugeApp, newComposableApp, newDockApp, newEdgewareApp, newEquilibriumApp, newGenshiroApp, newKaruraApp, newKusamaApp, newNodleApp, newParallelApp, newPolkadexApp, newPolkadotApp, newPolymeshApp, newSoraApp, newStatemineApp, newStatemintApp, newXXNetworkApp } from '@zondax/ledger-substrate';
// These match up with the keys of the knownLedger object in the @polkadot/networks/defaults/ledger.ts
export const ledgerApps: Record<string, (transport: Transport) => SubstrateApp> = {
acala: newAcalaApp,
astar: newAstarApp,
bifrost: newBifrostApp,
centrifuge: newCentrifugeApp,
composable: newComposableApp,
'dock-mainnet': newDockApp,
edgeware: newEdgewareApp,
equilibrium: newEquilibriumApp,
genshiro: newGenshiroApp,
karura: newKaruraApp,
kusama: newKusamaApp,
'nodle-para': newNodleApp,
parallel: newParallelApp,
polkadex: newPolkadexApp,
polkadot: newPolkadotApp,
polymesh: newPolymeshApp,
sora: newSoraApp,
statemine: newStatemineApp,
statemint: newStatemintApp,
xxnetwork: newXXNetworkApp
// and maps to the known name in the @zondax/ledger-substrate/supported_apps package
export const ledgerApps: Record<string, string> = {
acala: 'Acala',
ajuna: 'Ajuna',
'aleph-node': 'AlephZero',
astar: 'Astar',
bifrost: 'Bifrost',
'bifrost-kusama': 'BifrostKusama',
centrifuge: 'Centrifuge',
composable: 'Composable',
darwinia: 'Darwinia',
'dock-mainnet': 'Dock',
edgeware: 'Edgeware',
equilibrium: 'Equilibrium',
genshiro: 'Genshiro',
hydradx: 'HydraDX',
'interlay-parachain': 'Interlay',
karura: 'Karura',
khala: 'Khala',
kusama: 'Kusama',
nodle: 'Nodle',
origintrail: 'OriginTrail',
parallel: 'Parallel',
pendulum: 'Pendulum',
phala: 'Phala',
picasso: 'Picasso',
polkadex: 'Polkadex',
polkadot: 'Polkadot',
polymesh: 'Polymesh',
sora: 'Sora',
stafi: 'Stafi',
statemine: 'Statemine',
statemint: 'Statemint',
ternoa: 'Ternoa',
unique: 'Unique',
vtb: 'VTB',
xxnetwork: 'XXNetwork'
};
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2022 @polkadot/hw-ledger authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { packageInfo as transportInfo } from '@polkadot/hw-ledger-transports/packageInfo';
+3 -3
View File
@@ -1,11 +1,11 @@
// Copyright 2017-2022 @polkadot/hw-ledger authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
// Do not edit, auto-generated by @polkadot/dev
import { detectPackage } from '@polkadot/util';
import others from './detectOther';
import { packageInfo } from './packageInfo';
import others from './detectOther.js';
import { packageInfo } from './packageInfo.js';
detectPackage(packageInfo, null, others);
+3 -3
View File
@@ -1,6 +1,6 @@
// Copyright 2017-2022 @polkadot/hw-ledger authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
import './detectPackage';
import './detectPackage.js';
export * from './bundle';
export * from './bundle.js';
+2 -2
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2022 @polkadot/hw-ledger authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
export * from './index';
export * from './index.js';
+2 -2
View File
@@ -1,6 +1,6 @@
// Copyright 2017-2022 @polkadot/hw-ledger authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/hw-ledger', path: 'auto', type: 'auto', version: '9.7.2' };
export const packageInfo = { name: '@polkadot/hw-ledger', path: 'auto', type: 'auto', version: '12.2.2' };
+11 -7
View File
@@ -1,30 +1,34 @@
// Copyright 2017-2022 @polkadot/hw-ledger authors & contributors
// Copyright 2017-2023 @polkadot/hw-ledger authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { HexString } from '@polkadot/util/types';
export type LedgerTypes = 'hid' | 'u2f' | 'webusb';
export interface AccountOptions {
/** The index of the account */
account: number;
/** The index of the address */
addressIndex: number;
/** The change to apply */
change: number;
}
export interface LedgerAddress {
/** The ss58 encoded address */
address: string;
/** The hex-encoded publicKey */
publicKey: HexString;
}
export interface LedgerSignature {
/** A hex-encoded signature, as generated by the device */
signature: HexString;
}
export interface LedgerVersion {
/** Indicator flag for locked status */
isLocked: boolean;
/** Indicator flag for testmode status */
isTestMode: boolean;
/**
* @description Tuple with major, minor, patch
*/
version: [number, number, number];
/** The software version for this device */
version: [major: number, minor: number, patch: number];
}
+4
View File
@@ -5,6 +5,10 @@
"outDir": "./build",
"rootDir": "./src"
},
"exclude": [
"**/*.spec.ts",
"**/mod.ts"
],
"references": [
{ "path": "../hw-ledger-transports/tsconfig.build.json" },
{ "path": "../util/tsconfig.build.json" }
+16
View File
@@ -0,0 +1,16 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"baseUrl": "..",
"outDir": "./build",
"rootDir": "./src",
"emitDeclarationOnly": false,
"noEmit": true
},
"include": [
"**/*.spec.ts"
],
"references": [
{ "path": "../hw-ledger/tsconfig.build.json" }
]
}
-201
View File
@@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+7 -9
View File
@@ -1,14 +1,12 @@
{
"author": "Jaco Greeff <jacogr@gmail.com>",
"bugs": "https://github.com/polkadot-js/common/issues",
"contributors": [],
"description": "Keyring management",
"engines": {
"node": ">=14.0.0"
"node": ">=16"
},
"homepage": "https://github.com/polkadot-js/common/tree/master/packages/keyring#readme",
"license": "Apache-2.0",
"maintainers": [],
"name": "@polkadot/keyring",
"repository": {
"directory": "packages/keyring",
@@ -20,15 +18,15 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "9.7.2",
"version": "12.2.2",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.18.6",
"@polkadot/util": "9.7.2",
"@polkadot/util-crypto": "9.7.2"
"@polkadot/util": "12.2.2",
"@polkadot/util-crypto": "12.2.2",
"tslib": "^2.5.3"
},
"peerDependencies": {
"@polkadot/util": "9.7.2",
"@polkadot/util-crypto": "9.7.2"
"@polkadot/util": "12.2.2",
"@polkadot/util-crypto": "12.2.2"
}
}
+11 -9
View File
@@ -1,14 +1,16 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { Keyring } from './keyring';
// all external
// eslint-disable-next-line deprecation/deprecation
export { decodeAddress, encodeAddress, setSS58Format } from '@polkadot/util-crypto';
export * from './defaults';
export { createPair } from './pair';
export { packageInfo } from './packageInfo';
export { createTestKeyring } from './testing';
export { createTestPairs } from './testingPairs';
// all named
export { Keyring } from './keyring.js';
export { packageInfo } from './packageInfo.js';
export { createPair } from './pair/index.js';
export { createTestKeyring } from './testing.js';
export { createTestPairs } from './testingPairs.js';
export { Keyring };
// all starred
export * from './defaults.js';
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
// default substrate dev phrase
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { packageInfo as utilInfo } from '@polkadot/util/packageInfo';
+3 -3
View File
@@ -1,11 +1,11 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
// Do not edit, auto-generated by @polkadot/dev
import { detectPackage } from '@polkadot/util';
import others from './detectOther';
import { packageInfo } from './packageInfo';
import others from './detectOther.js';
import { packageInfo } from './packageInfo.js';
detectPackage(packageInfo, null, others);
+9 -8
View File
@@ -1,19 +1,19 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KeyringPair$Json } from './types';
/// <reference types="@polkadot/dev-test/globals.d.ts" />
import type { KeyringPair$Json } from './types.js';
import { hexToU8a, stringToU8a } from '@polkadot/util';
import { base64Decode, cryptoWaitReady, encodeAddress, randomAsU8a, setSS58Format } from '@polkadot/util-crypto';
import { decodePair } from './pair/decode';
import Keyring from '.';
import { decodePair } from './pair/decode.js';
import Keyring from './index.js';
await cryptoWaitReady();
describe('keypair', (): void => {
beforeEach(async (): Promise<void> => {
await cryptoWaitReady();
});
describe('ed25519', (): void => {
const publicKeyOne = new Uint8Array([47, 140, 97, 41, 216, 22, 207, 81, 195, 116, 188, 127, 8, 195, 230, 62, 209, 86, 207, 120, 174, 251, 74, 101, 80, 217, 123, 135, 153, 121, 119, 238]);
const publicKeyTwo = new Uint8Array([215, 90, 152, 1, 130, 177, 10, 183, 213, 75, 254, 211, 201, 100, 7, 58, 14, 225, 114, 243, 218, 166, 35, 37, 175, 2, 26, 104, 247, 7, 81, 26]);
@@ -48,6 +48,7 @@ describe('keypair', (): void => {
});
it('adds from a mnemonic, with correct ss58', (): void => {
// eslint-disable-next-line deprecation/deprecation
setSS58Format(20); // this would not be used
keyring.setSS58Format(2); // this would be used
+4 -4
View File
@@ -1,10 +1,10 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import './detectPackage';
import './detectPackage.js';
import { Keyring } from './bundle';
import { Keyring } from './bundle.js';
export * from './bundle';
export * from './bundle.js';
export default Keyring;
+7 -7
View File
@@ -1,15 +1,15 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { EncryptedJsonEncoding, Keypair, KeypairType } from '@polkadot/util-crypto/types';
import type { KeyringInstance, KeyringOptions, KeyringPair, KeyringPair$Json, KeyringPair$Meta } from './types';
import type { KeyringInstance, KeyringOptions, KeyringPair, KeyringPair$Json, KeyringPair$Meta } from './types.js';
import { hexToU8a, isHex, stringToU8a } from '@polkadot/util';
import { base64Decode, decodeAddress, ed25519PairFromSeed as ed25519FromSeed, encodeAddress, ethereumEncode, hdEthereum, keyExtractSuri, keyFromPath, mnemonicToLegacySeed, mnemonicToMiniSecret, secp256k1PairFromSeed as secp256k1FromSeed, sr25519PairFromSeed as sr25519FromSeed } from '@polkadot/util-crypto';
import { DEV_PHRASE } from './defaults';
import { createPair } from './pair';
import { Pairs } from './pairs';
import { createPair } from './pair/index.js';
import { DEV_PHRASE } from './defaults.js';
import { Pairs } from './pairs.js';
const PairFromSeed = {
ecdsa: (seed: Uint8Array): Keypair => secp256k1FromSeed(seed),
@@ -43,7 +43,7 @@ export class Keyring implements KeyringInstance {
readonly #type: KeypairType;
#ss58?: number;
#ss58?: number | undefined;
public decodeAddress = decodeAddress;
@@ -246,7 +246,7 @@ export class Keyring implements KeyringInstance {
public encodeAddress = (address: Uint8Array | string, ss58Format?: number): string => {
return this.type === 'ethereum'
? ethereumEncode(address)
: encodeAddress(address, ss58Format === undefined ? this.#ss58 : ss58Format);
: encodeAddress(address, ss58Format ?? this.#ss58);
};
/**
+2 -2
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
export * from './index';
export * from './index.js';
+2 -2
View File
@@ -1,6 +1,6 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/keyring', path: 'auto', type: 'auto', version: '9.7.2' };
export const packageInfo = { name: '@polkadot/keyring', path: 'auto', type: 'auto', version: '12.2.2' };
+4 -2
View File
@@ -1,7 +1,9 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { createTestPairs } from '../testingPairs';
/// <reference types="@polkadot/dev-test/globals.d.ts" />
import { createTestPairs } from '../testingPairs.js';
const keyring = createTestPairs({ type: 'ed25519' }, false);
+10 -6
View File
@@ -1,13 +1,13 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { EncryptedJsonEncoding } from '@polkadot/util-crypto/types';
import type { PairInfo } from './types';
import type { PairInfo } from './types.js';
import { assert, u8aEq } from '@polkadot/util';
import { u8aEq } from '@polkadot/util';
import { jsonDecryptData } from '@polkadot/util-crypto';
import { PKCS8_DIVIDER, PKCS8_HEADER, PUB_LENGTH, SEC_LENGTH, SEED_LENGTH } from './defaults';
import { PKCS8_DIVIDER, PKCS8_HEADER, PUB_LENGTH, SEC_LENGTH, SEED_LENGTH } from './defaults.js';
const SEED_OFFSET = PKCS8_HEADER.length;
@@ -22,7 +22,9 @@ export function decodePair (passphrase?: string, encrypted?: Uint8Array | null,
const decrypted = jsonDecryptData(encrypted, passphrase, encType);
const header = decrypted.subarray(0, PKCS8_HEADER.length);
assert(u8aEq(header, PKCS8_HEADER), 'Invalid Pkcs8 header found in body');
if (!u8aEq(header, PKCS8_HEADER)) {
throw new Error('Invalid Pkcs8 header found in body');
}
let secretKey = decrypted.subarray(SEED_OFFSET, SEED_OFFSET + SEC_LENGTH);
let divOffset = SEED_OFFSET + SEC_LENGTH;
@@ -34,7 +36,9 @@ export function decodePair (passphrase?: string, encrypted?: Uint8Array | null,
secretKey = decrypted.subarray(SEED_OFFSET, divOffset);
divider = decrypted.subarray(divOffset, divOffset + PKCS8_DIVIDER.length);
assert(u8aEq(divider, PKCS8_DIVIDER), 'Invalid Pkcs8 divider found in body');
if (!u8aEq(divider, PKCS8_DIVIDER)) {
throw new Error('Invalid Pkcs8 divider found in body');
}
}
const pubOffset = divOffset + PKCS8_DIVIDER.length;
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
export const PKCS8_DIVIDER = new Uint8Array([161, 35, 3, 33, 0]);
+5 -3
View File
@@ -1,10 +1,12 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
/// <reference types="@polkadot/dev-test/globals.d.ts" />
import { NONCE_LENGTH, SCRYPT_LENGTH } from '@polkadot/util-crypto/json/constants';
import { createTestPairs } from '../testingPairs';
import { PKCS8_DIVIDER, PKCS8_HEADER, PUB_LENGTH, SEC_LENGTH } from './defaults';
import { createTestPairs } from '../testingPairs.js';
import { PKCS8_DIVIDER, PKCS8_HEADER, PUB_LENGTH, SEC_LENGTH } from './defaults.js';
const PKCS8_LENGTH = PKCS8_DIVIDER.length + PKCS8_HEADER.length + PUB_LENGTH + SEC_LENGTH;
const ENCODED_LENGTH = 16 + PKCS8_LENGTH + NONCE_LENGTH + SCRYPT_LENGTH;
+7 -5
View File
@@ -1,15 +1,17 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { PairInfo } from './types';
import type { PairInfo } from './types.js';
import { assert, u8aConcat } from '@polkadot/util';
import { u8aConcat } from '@polkadot/util';
import { naclEncrypt, scryptEncode, scryptToU8a } from '@polkadot/util-crypto';
import { PKCS8_DIVIDER, PKCS8_HEADER } from './defaults';
import { PKCS8_DIVIDER, PKCS8_HEADER } from './defaults.js';
export function encodePair ({ publicKey, secretKey }: PairInfo, passphrase?: string): Uint8Array {
assert(secretKey, 'Expected a valid secretKey to be passed to encode');
if (!secretKey) {
throw new Error('Expected a valid secretKey to be passed to encode');
}
const encoded = u8aConcat(
PKCS8_HEADER,
+12 -118
View File
@@ -1,27 +1,23 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
/// <reference types="@polkadot/dev-test/globals.d.ts" />
import { hexToU8a, u8aToHex } from '@polkadot/util';
import { cryptoWaitReady, encodeAddress as toSS58, setSS58Format } from '@polkadot/util-crypto';
import { PAIRSSR25519 } from '../testing';
import { createTestPairs } from '../testingPairs';
import { createPair } from '.';
import { PAIRSSR25519 } from '../testing.js';
import { createTestPairs } from '../testingPairs.js';
import { createPair } from './index.js';
const keyring = createTestPairs({ type: 'ed25519' }, false);
const TEST_ADDRESS = '0x4119b2e6c3Cb618F4f0B93ac77f9BeeC7FF02887';
await cryptoWaitReady();
describe('pair', (): void => {
beforeEach(async (): Promise<void> => {
await cryptoWaitReady();
});
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(
@@ -98,93 +94,6 @@ 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' });
@@ -198,10 +107,12 @@ describe('pair', (): void => {
it('allows encoding of address with different prefixes', (): void => {
expect(keyring.alice.address).toEqual('5GoKvZWG5ZPYL1WUovuHW3zJBWBP5eT8CbqjdRY4Q6iMaQua');
// eslint-disable-next-line deprecation/deprecation
setSS58Format(255);
expect(keyring.alice.address).toEqual('yGHU8YKprxHbHdEv7oUK4rzMZXtsdhcXVG2CAMyC9WhzhjH2k');
// eslint-disable-next-line deprecation/deprecation
setSS58Format(42);
});
@@ -217,11 +128,11 @@ describe('pair', (): void => {
});
it('allows derivation on the pair', (): void => {
const alice = createPair({ toSS58, type: 'sr25519' }, { publicKey: PAIRSSR25519[0].publicKey, secretKey: PAIRSSR25519[0].secretKey }, {});
const alice = createPair({ toSS58, type: 'sr25519' }, { publicKey: hexToU8a(PAIRSSR25519[0].p), secretKey: hexToU8a(PAIRSSR25519[0].s) }, {});
const stash = alice.derive('//stash');
const soft = alice.derive('//funding/0');
expect(stash.publicKey).toEqual(PAIRSSR25519[1].publicKey);
expect(stash.publicKey).toEqual(hexToU8a(PAIRSSR25519[1].p));
expect(soft.address).toEqual('5ECQNn7UueWHPFda5qUi4fTmTtyCnPvGnuoyVVSj5CboJh9J');
});
@@ -274,22 +185,5 @@ 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');
});
});
});
+19 -33
View File
@@ -1,17 +1,17 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { HexString } from '@polkadot/util/types';
import type { EncryptedJsonEncoding, Keypair, KeypairType } from '@polkadot/util-crypto/types';
import type { KeyringPair, KeyringPair$Json, KeyringPair$Meta, SignOptions } from '../types';
import type { PairInfo } from './types';
import type { KeyringPair, KeyringPair$Json, KeyringPair$Meta, SignOptions } from '../types.js';
import type { PairInfo } from './types.js';
import { assert, objectSpread, u8aConcat, u8aEmpty, u8aEq, u8aToHex, u8aToU8a } from '@polkadot/util';
import { blake2AsU8a, convertPublicKeyToCurve25519, convertSecretKeyToCurve25519, ed25519PairFromSeed as ed25519FromSeed, ed25519Sign, ethereumEncode, keccakAsU8a, keyExtractPath, keyFromPath, naclOpen, naclSeal, secp256k1Compress, secp256k1Expand, secp256k1PairFromSeed as secp256k1FromSeed, secp256k1Sign, signatureVerify, sr25519PairFromSeed as sr25519FromSeed, sr25519Sign, sr25519VrfSign, sr25519VrfVerify } from '@polkadot/util-crypto';
import { objectSpread, u8aConcat, u8aEmpty, u8aEq, u8aToHex, u8aToU8a } from '@polkadot/util';
import { blake2AsU8a, ed25519PairFromSeed as ed25519FromSeed, ed25519Sign, ethereumEncode, keccakAsU8a, keyExtractPath, keyFromPath, secp256k1Compress, secp256k1Expand, secp256k1PairFromSeed as secp256k1FromSeed, secp256k1Sign, signatureVerify, sr25519PairFromSeed as sr25519FromSeed, sr25519Sign, sr25519VrfSign, sr25519VrfVerify } from '@polkadot/util-crypto';
import { decodePair } from './decode';
import { encodePair } from './encode';
import { pairToJson } from './toJson';
import { decodePair } from './decode.js';
import { encodePair } from './encode.js';
import { pairToJson } from './toJson.js';
interface Setup {
toSS58: (publicKey: Uint8Array) => string;
@@ -144,22 +144,12 @@ export function createPair ({ toSS58, type }: Setup, { publicKey, secretKey }: P
},
// eslint-disable-next-line sort-keys
decodePkcs8,
decryptMessage: (encryptedMessageWithNonce: HexString | string | Uint8Array, senderPublicKey: HexString | string | Uint8Array): Uint8Array | null => {
assert(!isLocked(secretKey), 'Cannot encrypt with a locked key pair');
assert(!['ecdsa', 'ethereum'].includes(type), 'Secp256k1 not supported yet');
const messageU8a = u8aToU8a(encryptedMessageWithNonce);
return naclOpen(
messageU8a.slice(24, messageU8a.length),
messageU8a.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');
if (type === 'ethereum') {
throw new Error('Unable to derive on this keypair');
} else if (isLocked(secretKey)) {
throw new Error('Cannot derive on a locked keypair');
}
const { path } = keyExtractPath(suri);
const derived = keyFromPath({ publicKey, secretKey }, path, type);
@@ -169,14 +159,6 @@ export function createPair ({ toSS58, type }: Setup, { publicKey, secretKey }: P
encodePkcs8: (passphrase?: string): Uint8Array => {
return recode(passphrase);
},
encryptMessage: (message: HexString | string | Uint8Array, recipientPublicKey: HexString | string | Uint8Array, nonceIn?: 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)), nonceIn);
return u8aConcat(nonce, sealed);
},
lock: (): void => {
secretKey = new Uint8Array();
},
@@ -184,7 +166,9 @@ export function createPair ({ toSS58, type }: Setup, { publicKey, secretKey }: P
meta = objectSpread({}, meta, additional);
},
sign: (message: HexString | string | Uint8Array, options: SignOptions = {}): Uint8Array => {
assert(!isLocked(secretKey), 'Cannot sign with a locked key pair');
if (isLocked(secretKey)) {
throw new Error('Cannot sign with a locked key pair');
}
return u8aConcat(
options.withType
@@ -212,7 +196,9 @@ export function createPair ({ toSS58, type }: Setup, { publicKey, secretKey }: P
return signatureVerify(message, signature, TYPE_ADDRESS[type](u8aToU8a(signerPublic))).isValid;
},
vrfSign: (message: HexString | string | Uint8Array, context?: HexString | string | Uint8Array, extra?: string | Uint8Array): Uint8Array => {
assert(!isLocked(secretKey), 'Cannot sign with a locked key pair');
if (isLocked(secretKey)) {
throw new Error('Cannot sign with a locked key pair');
}
if (type === 'sr25519') {
return sr25519VrfSign(message, { secretKey }, context, extra);
+16 -31
View File
@@ -1,12 +1,13 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KeyringPair, KeyringPair$Json, KeyringPair$Meta } from '../types';
import { encodeAddress } from '@polkadot/util-crypto';
import type { KeyringPair, KeyringPair$Json, KeyringPair$Meta } from '../types.js';
// empty publicKey
const publicKey = new Uint8Array(32);
const address = encodeAddress(publicKey);
// pre-computed via encodeAddress(publicKey)
const address = '5C4hrfjw9DjXZTzV3MwzrrAr9P1MJhSrvWGWqi1eSuyUpnhM';
const meta = {
isTesting: true,
@@ -27,48 +28,32 @@ const json: KeyringPair$Json = {
const pair: KeyringPair = {
address,
addressRaw: publicKey,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
decodePkcs8: (passphrase?: string, encoded?: Uint8Array): void =>
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 =>
derive: (_suri: string, _meta?: KeyringPair$Meta): KeyringPair =>
pair,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
encodePkcs8: (passphrase?: string): Uint8Array =>
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
},
meta,
publicKey,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
setMeta: (meta: KeyringPair$Meta): void =>
setMeta: (_meta: KeyringPair$Meta): void =>
undefined,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
sign: (message: Uint8Array): Uint8Array =>
sign: (_message: Uint8Array): Uint8Array =>
new Uint8Array(64),
// eslint-disable-next-line @typescript-eslint/no-unused-vars
toJson: (passphrase?: string): KeyringPair$Json =>
toJson: (_passphrase?: string): KeyringPair$Json =>
json,
type: 'ed25519',
// eslint-disable-next-line @typescript-eslint/no-unused-vars
unlock: (passphrase?: string): void =>
unlock: (_passphrase?: string): void =>
undefined,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
verify: (message: Uint8Array, signature: Uint8Array): boolean =>
verify: (_message: Uint8Array, _signature: Uint8Array): boolean =>
false,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
vrfSign: (message: Uint8Array, context?: string | Uint8Array, extra?: string | Uint8Array): Uint8Array =>
vrfSign: (_message: Uint8Array, _context?: string | Uint8Array, _extra?: string | Uint8Array): Uint8Array =>
new Uint8Array(96),
// eslint-disable-next-line @typescript-eslint/no-unused-vars
vrfVerify: (message: Uint8Array, vrfResult: Uint8Array, context?: string | Uint8Array, extra?: string | Uint8Array): boolean =>
vrfVerify: (_message: Uint8Array, _vrfResult: Uint8Array, _context?: string | Uint8Array, _extra?: string | Uint8Array): boolean =>
false
};
+4 -2
View File
@@ -1,7 +1,9 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { createTestPairs } from '../testingPairs';
/// <reference types="@polkadot/dev-test/globals.d.ts" />
import { createTestPairs } from '../testingPairs.js';
const keyring = createTestPairs({ type: 'ed25519' }, false);
+2 -2
View File
@@ -1,8 +1,8 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KeypairType } from '@polkadot/util-crypto/types';
import type { KeyringPair$Json, KeyringPair$Meta } from '../types';
import type { KeyringPair$Json, KeyringPair$Meta } from '../types.js';
import { objectSpread } from '@polkadot/util';
import { jsonEncryptFormat } from '@polkadot/util-crypto';
+2 -2
View File
@@ -1,8 +1,8 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
export interface PairInfo {
publicKey: Uint8Array;
secretKey?: Uint8Array;
secretKey?: Uint8Array | undefined;
seed?: Uint8Array | null;
}
+9 -15
View File
@@ -1,29 +1,23 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KeyringPair } from '../types';
/// <reference types="@polkadot/dev-test/globals.d.ts" />
import { u8aToHex } from '@polkadot/util';
import { cryptoWaitReady, ed25519PairFromSeed, encodeAddress as toSS58, randomAsU8a, secp256k1PairFromSeed, sr25519PairFromSeed } from '@polkadot/util-crypto';
import { createPair } from '.';
import { createPair } from './index.js';
const MESSAGE = 'this is a test message';
const CONTEXT = 'some context';
await cryptoWaitReady();
const ecdsa = createPair({ toSS58, type: 'ecdsa' }, secp256k1PairFromSeed(randomAsU8a()));
const ed25519 = createPair({ toSS58, type: 'ed25519' }, ed25519PairFromSeed(randomAsU8a()));
const sr25519 = createPair({ toSS58, type: 'sr25519' }, sr25519PairFromSeed(randomAsU8a()));
describe('vrf', (): void => {
let ecdsa: KeyringPair;
let ed25519: KeyringPair;
let sr25519: KeyringPair;
beforeAll(async (): Promise<void> => {
await cryptoWaitReady();
ecdsa = createPair({ toSS58, type: 'ecdsa' }, secp256k1PairFromSeed(randomAsU8a()));
ed25519 = createPair({ toSS58, type: 'ed25519' }, ed25519PairFromSeed(randomAsU8a()));
sr25519 = createPair({ toSS58, type: 'sr25519' }, sr25519PairFromSeed(randomAsU8a()));
});
it('has deterministic signature values for ecdsa', (): void => {
const sig1 = ecdsa.vrfSign(MESSAGE, CONTEXT);
const sig2 = ecdsa.vrfSign(MESSAGE, CONTEXT);
+2 -2
View File
@@ -1,8 +1,8 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { HexString } from '@polkadot/util/types';
import type { KeyringPair, KeyringPairs } from './types';
import type { KeyringPair, KeyringPairs } from './types.js';
import { isHex, isU8a, u8aToHex, u8aToU8a } from '@polkadot/util';
import { decodeAddress } from '@polkadot/util-crypto';
+9 -9
View File
@@ -1,6 +1,8 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
/// <reference types="@polkadot/dev-test/globals.d.ts" />
// From https://github.com/paritytech/substrate/wiki/Secret-URI-Test-Vectors
import type { KeypairType } from '@polkadot/util-crypto/types';
@@ -8,7 +10,7 @@ import type { KeypairType } from '@polkadot/util-crypto/types';
import { u8aToHex } from '@polkadot/util';
import { cryptoWaitReady } from '@polkadot/util-crypto';
import Keyring from '.';
import Keyring from './index.js';
const PHRASE = 'bottom drive obey lake curtain smoke basket hold race lonely fit walk';
const ETHEREUM_PHRASE = 'seed sock milk update focus rotate barely fade car face mechanic mercy';
@@ -87,15 +89,13 @@ const TESTS = {
]
};
await cryptoWaitReady();
describe('keyring.addFromUri', (): void => {
Object.entries(TESTS).forEach(([type, tests]): void => {
for (const [type, tests] of Object.entries(TESTS)) {
const keyring = new Keyring({ type: type as KeypairType });
beforeEach(async (): Promise<void> => {
await cryptoWaitReady();
});
describe(type, (): void => {
describe(`${type}`, (): void => {
tests.forEach(({ pk, ss, uri }): void => {
it(`creates ${uri}`, (): void => {
const pair = keyring.addFromUri(uri, {}, type as KeypairType);
@@ -105,5 +105,5 @@ describe('keyring.addFromUri', (): void => {
});
});
});
});
}
});
+43 -38
View File
@@ -1,19 +1,20 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KeyringInstance, KeyringOptions } from './types';
import type { HexString } from '@polkadot/util/types';
import type { KeypairType } from '@polkadot/util-crypto/types';
import type { KeyringInstance, KeyringOptions } from './types.js';
import { hexToU8a } from '@polkadot/util';
import { KeypairType } from '@polkadot/util-crypto/types';
import { Keyring } from './keyring';
import { createPair } from './pair';
import { createPair } from './pair/index.js';
import { Keyring } from './keyring.js';
interface PairDef {
name?: string;
publicKey: Uint8Array;
p: HexString;
s: HexString;
seed?: string;
secretKey?: Uint8Array;
type: KeypairType
}
@@ -23,50 +24,50 @@ interface PairDef {
// adding the keys when only the keyring is used.
export const PAIRSSR25519: PairDef[] = [
{
publicKey: hexToU8a('0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d'),
secretKey: hexToU8a('0x98319d4ff8a9508c4bb0cf0b5a78d760a0b2082c02775e6e82370816fedfff48925a225d97aa00682d6a59b95b18780c10d7032336e88f3442b42361f4a66011'), // nosemgrep
p: '0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d',
s: '0x98319d4ff8a9508c4bb0cf0b5a78d760a0b2082c02775e6e82370816fedfff48925a225d97aa00682d6a59b95b18780c10d7032336e88f3442b42361f4a66011', // nosemgrep
seed: 'Alice',
type: 'sr25519'
},
{
publicKey: hexToU8a('0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f'),
secretKey: hexToU8a('0xe8da6c9d810e020f5e3c7f5af2dea314cbeaa0d72bc6421e92c0808a0c584a6046ab28e97c3ffc77fe12b5a4d37e8cd4afbfebbf2391ffc7cb07c0f38c023efd'), // nosemgrep
p: '0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f',
s: '0xe8da6c9d810e020f5e3c7f5af2dea314cbeaa0d72bc6421e92c0808a0c584a6046ab28e97c3ffc77fe12b5a4d37e8cd4afbfebbf2391ffc7cb07c0f38c023efd', // nosemgrep
seed: 'Alice//stash',
type: 'sr25519'
},
{
publicKey: hexToU8a('0x8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48'),
secretKey: hexToU8a('0x081ff694633e255136bdb456c20a5fc8fed21f8b964c11bb17ff534ce80ebd5941ae88f85d0c1bfc37be41c904e1dfc01de8c8067b0d6d5df25dd1ac0894a325'), // nosemgrep
p: '0x8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48',
s: '0x081ff694633e255136bdb456c20a5fc8fed21f8b964c11bb17ff534ce80ebd5941ae88f85d0c1bfc37be41c904e1dfc01de8c8067b0d6d5df25dd1ac0894a325', // nosemgrep
seed: 'Bob',
type: 'sr25519'
},
{
publicKey: hexToU8a('0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e'),
secretKey: hexToU8a('0xc006507cdfc267a21532394c49ca9b754ca71de21e15a1cdf807c7ceab6d0b6c3ed408d9d35311540dcd54931933e67cf1ea10d46f75408f82b789d9bd212fde'), // nosemgrep
p: '0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e',
s: '0xc006507cdfc267a21532394c49ca9b754ca71de21e15a1cdf807c7ceab6d0b6c3ed408d9d35311540dcd54931933e67cf1ea10d46f75408f82b789d9bd212fde', // nosemgrep
seed: 'Bob//stash',
type: 'sr25519'
},
{
publicKey: hexToU8a('0x90b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22'),
secretKey: hexToU8a('0xa8f2d83016052e5d6d77b2f6fd5d59418922a09024cda701b3c34369ec43a7668faf12ff39cd4e5d92bb773972f41a7a5279ebc2ed92264bed8f47d344f8f18c'), // nosemgrep
p: '0x90b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22',
s: '0xa8f2d83016052e5d6d77b2f6fd5d59418922a09024cda701b3c34369ec43a7668faf12ff39cd4e5d92bb773972f41a7a5279ebc2ed92264bed8f47d344f8f18c', // nosemgrep
seed: 'Charlie',
type: 'sr25519'
},
{
publicKey: hexToU8a('0x306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20'),
secretKey: hexToU8a('0x20e05482ca4677e0edbc58ae9a3a59f6ed3b1a9484ba17e64d6fe8688b2b7b5d108c4487b9323b98b11fe36cb301b084e920f7b7895536809a6d62a451b25568'), // nosemgrep
p: '0x306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20',
s: '0x20e05482ca4677e0edbc58ae9a3a59f6ed3b1a9484ba17e64d6fe8688b2b7b5d108c4487b9323b98b11fe36cb301b084e920f7b7895536809a6d62a451b25568', // nosemgrep
seed: 'Dave',
type: 'sr25519'
},
{
publicKey: hexToU8a('0xe659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4e'),
secretKey: hexToU8a('0x683576abfd5dc35273e4264c23095a1bf21c14517bece57c7f0cc5c0ed4ce06a3dbf386b7828f348abe15d76973a72009e6ef86a5c91db2990cb36bb657c6587'), // nosemgrep
p: '0xe659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4e',
s: '0x683576abfd5dc35273e4264c23095a1bf21c14517bece57c7f0cc5c0ed4ce06a3dbf386b7828f348abe15d76973a72009e6ef86a5c91db2990cb36bb657c6587', // nosemgrep
seed: 'Eve',
type: 'sr25519'
},
{
publicKey: hexToU8a('0x1cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07c'),
secretKey: hexToU8a('0xb835c20f450079cf4f513900ae9faf8df06ad86c681884122c752a4b2bf74d4303e4f21bc6cc62bb4eeed5a9cce642c25e2d2ac1464093b50f6196d78e3a7426'), // nosemgrep
p: '0x1cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07c',
s: '0xb835c20f450079cf4f513900ae9faf8df06ad86c681884122c752a4b2bf74d4303e4f21bc6cc62bb4eeed5a9cce642c25e2d2ac1464093b50f6196d78e3a7426', // nosemgrep
seed: 'Ferdie',
type: 'sr25519'
}
@@ -75,38 +76,38 @@ export const PAIRSSR25519: PairDef[] = [
export const PAIRSETHEREUM: PairDef[] = [
{
name: 'Alith',
publicKey: hexToU8a('0x02509540919faacf9ab52146c9aa40db68172d83777250b28e4679176e49ccdd9f'),
secretKey: hexToU8a('0x5fb92d6e98884f76de468fa3f6278f8807c48bebc13595d45af5bdc4da702133'), // nosemgrep
p: '0x02509540919faacf9ab52146c9aa40db68172d83777250b28e4679176e49ccdd9f',
s: '0x5fb92d6e98884f76de468fa3f6278f8807c48bebc13595d45af5bdc4da702133', // nosemgrep
type: 'ethereum'
},
{
name: 'Baltathar',
publicKey: hexToU8a('0x033bc19e36ff1673910575b6727a974a9abd80c9a875d41ab3e2648dbfb9e4b518'),
secretKey: hexToU8a('0x8075991ce870b93a8870eca0c0f91913d12f47948ca0fd25b49c6fa7cdbeee8b'), // nosemgrep
p: '0x033bc19e36ff1673910575b6727a974a9abd80c9a875d41ab3e2648dbfb9e4b518',
s: '0x8075991ce870b93a8870eca0c0f91913d12f47948ca0fd25b49c6fa7cdbeee8b', // nosemgrep
type: 'ethereum'
},
{
name: 'Charleth',
publicKey: hexToU8a('0x0234637bdc0e89b5d46543bcbf8edff329d2702bc995e27e9af4b1ba009a3c2a5e'),
secretKey: hexToU8a('0x0b6e18cafb6ed99687ec547bd28139cafdd2bffe70e6b688025de6b445aa5c5b'), // nosemgrep
p: '0x0234637bdc0e89b5d46543bcbf8edff329d2702bc995e27e9af4b1ba009a3c2a5e',
s: '0x0b6e18cafb6ed99687ec547bd28139cafdd2bffe70e6b688025de6b445aa5c5b', // nosemgrep
type: 'ethereum'
},
{
name: 'Dorothy',
publicKey: hexToU8a('0x02a00d60b2b408c2a14c5d70cdd2c205db8985ef737a7e55ad20ea32cc9e7c417c'),
secretKey: hexToU8a('0x39539ab1876910bbf3a223d84a29e28f1cb4e2e456503e7e91ed39b2e7223d68'), // nosemgrep
p: '0x02a00d60b2b408c2a14c5d70cdd2c205db8985ef737a7e55ad20ea32cc9e7c417c',
s: '0x39539ab1876910bbf3a223d84a29e28f1cb4e2e456503e7e91ed39b2e7223d68', // nosemgrep
type: 'ethereum'
},
{
name: 'Ethan',
publicKey: hexToU8a('0x025cdc005b752651cd3f728fb9192182acb3a9c89e19072cbd5b03f3ee1f1b3ffa'),
secretKey: hexToU8a('0x7dce9bc8babb68fec1409be38c8e1a52650206a7ed90ff956ae8a6d15eeaaef4'), // nosemgrep
p: '0x025cdc005b752651cd3f728fb9192182acb3a9c89e19072cbd5b03f3ee1f1b3ffa',
s: '0x7dce9bc8babb68fec1409be38c8e1a52650206a7ed90ff956ae8a6d15eeaaef4', // nosemgrep
type: 'ethereum'
},
{
name: 'Faith',
publicKey: hexToU8a('0x037964b6c9d546da4646ada28a99e34acaa1d14e7aba861a9055f9bd200c8abf74'),
secretKey: hexToU8a('0xb9d2ea9a615f3165812e8d44de0d24da9bbd164b65c4f0573e1ce2c8dbd9c8df'), // nosemgrep
p: '0x037964b6c9d546da4646ada28a99e34acaa1d14e7aba861a9055f9bd200c8abf74',
s: '0xb9d2ea9a615f3165812e8d44de0d24da9bbd164b65c4f0573e1ce2c8dbd9c8df', // nosemgrep
type: 'ethereum'
}
];
@@ -130,16 +131,20 @@ function createMeta (name?: string, seed?: string) {
*/
export function createTestKeyring (options: KeyringOptions = {}, isDerived = true): KeyringInstance {
const keyring = new Keyring(options);
const pairs = (options.type && options.type === 'ethereum')
const pairs = options.type === 'ethereum'
? PAIRSETHEREUM
: PAIRSSR25519;
for (const { name, publicKey, secretKey, seed, type } of pairs) {
for (const { name, p, s, seed, type } of pairs) {
const meta = createMeta(name, seed);
const pair = !isDerived && !name && seed
? keyring.addFromUri(seed, meta, options.type)
: keyring.addPair(
createPair({ toSS58: keyring.encodeAddress, type }, { publicKey, secretKey }, meta)
createPair(
{ toSS58: keyring.encodeAddress, type },
{ publicKey: hexToU8a(p), secretKey: hexToU8a(s) },
meta
)
);
pair.lock = (): void => {
+20 -13
View File
@@ -1,19 +1,19 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
/// <reference types="@polkadot/dev-test/globals.d.ts" />
import { u8aToHex } from '@polkadot/util';
import { cryptoWaitReady } from '@polkadot/util-crypto';
import { createTestPairs } from './testingPairs';
import Keyring from '.';
import Keyring from './index.js';
import { createTestPairs } from './testingPairs.js';
const TEST_ADD = '0xf24FF3a9CF04c71Dbc94D0b566f7A27B94566cac';
describe('testingPairs', (): void => {
beforeEach(async (): Promise<void> => {
await cryptoWaitReady();
});
await cryptoWaitReady();
describe('testingPairs', (): void => {
it('creates without failing', (): void => {
expect(
Object.keys(createTestPairs())
@@ -47,7 +47,7 @@ describe('testingPairs', (): void => {
).toEqual(TEST_ADD);
});
it('checks eth test addresses', (): void => {
describe('checks eth test addresses', (): void => {
const ring = createTestPairs({ type: 'ethereum' });
const keyring = new Keyring({ type: 'ethereum' });
// priv keys generated by ganache-cli --mnemonic "bottom drive obey lake curtain smoke basket hold race lonely fit walk"
@@ -64,10 +64,17 @@ describe('testingPairs', (): void => {
delete ring.nobody;
Object.keys(ring).forEach((testKeyring, i) => {
if (i < 6) {
expect(u8aToHex(ring[testKeyring].publicKey)).toEqual(u8aToHex(keyring.createFromUri(privKeys[i]).publicKey));
}
});
Object
.keys(ring)
.filter((_, i) => i < 6)
.forEach((testKeyring, i) => {
it(`checks #${i}`, (): void => {
expect(
u8aToHex(ring[testKeyring].publicKey)
).toEqual(
u8aToHex(keyring.createFromUri(privKeys[i]).publicKey)
);
});
});
});
});
+4 -4
View File
@@ -1,10 +1,10 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KeyringOptions, KeyringPair } from './types';
import type { KeyringOptions, KeyringPair } from './types.js';
import { nobody } from './pair/nobody';
import { createTestKeyring } from './testing';
import { nobody } from './pair/nobody.js';
import { createTestKeyring } from './testing.js';
export interface TestKeyringMap {
[index: string]: KeyringPair;
+3 -3
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { HexString } from '@polkadot/util/types';
@@ -18,7 +18,9 @@ export interface KeyringOptions {
export type KeyringPair$Meta = Record<string, unknown>;
export interface KeyringPair$Json extends EncryptedJson {
/** The ss58 encoded address or the hex-encoded version (the latter is for ETH-compat chains) */
address: string | HexString;
/** The underlying metadata associated with the keypair */
meta: KeyringPair$Meta;
}
@@ -45,8 +47,6 @@ export interface KeyringPair {
sign (message: HexString | string | Uint8Array, options?: SignOptions): Uint8Array;
toJson (passphrase?: string): KeyringPair$Json;
unlock (passphrase?: string): void;
encryptMessage (message: HexString | string | Uint8Array, recipientPublicKey: HexString | string | Uint8Array, nonce?: Uint8Array): Uint8Array;
decryptMessage (encryptedMessageWithNonce: HexString | string | Uint8Array, senderPublicKey: HexString | string | Uint8Array): Uint8Array | null;
verify (message: HexString | string | Uint8Array, signature: Uint8Array, signerPublic: HexString | string | Uint8Array): boolean;
vrfSign (message: HexString | string | Uint8Array, context?: HexString | string | Uint8Array, extra?: HexString | string | Uint8Array): Uint8Array;
vrfVerify (message: HexString | string | Uint8Array, vrfResult: Uint8Array, signerPublic: HexString | Uint8Array | string, context?: HexString | string | Uint8Array, extra?: HexString | string | Uint8Array): boolean;
+4
View File
@@ -5,6 +5,10 @@
"outDir": "./build",
"rootDir": "./src"
},
"exclude": [
"**/*.spec.ts",
"**/mod.ts"
],
"references": [
{ "path": "../util/tsconfig.build.json" },
{ "path": "../util-crypto/tsconfig.build.json" }
+18
View File
@@ -0,0 +1,18 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"baseUrl": "..",
"outDir": "./build",
"rootDir": "./src",
"emitDeclarationOnly": false,
"noEmit": true
},
"include": [
"**/*.spec.ts"
],
"references": [
{ "path": "../keyring/tsconfig.build.json" },
{ "path": "../util/tsconfig.build.json" },
{ "path": "../util-crypto/tsconfig.build.json" }
]
}
-201
View File
@@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+6 -9
View File
@@ -1,14 +1,12 @@
{
"author": "Jaco Greeff <jacogr@gmail.com>",
"bugs": "https://github.com/polkadot-js/common/issues",
"contributors": [],
"description": "A list of all available Substrate networks and their applicable prefixes",
"engines": {
"node": ">=14.0.0"
"node": ">=16"
},
"homepage": "https://github.com/polkadot-js/common/tree/master/packages/networks#readme",
"license": "Apache-2.0",
"maintainers": [],
"name": "@polkadot/networks",
"repository": {
"directory": "packages/networks",
@@ -17,15 +15,14 @@
},
"sideEffects": false,
"type": "module",
"version": "9.7.2",
"version": "12.2.2",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.18.6",
"@polkadot/util": "9.7.2",
"@substrate/ss58-registry": "^1.23.0"
"@polkadot/util": "12.2.2",
"@substrate/ss58-registry": "^1.40.0",
"tslib": "^2.5.3"
},
"devDependencies": {
"@polkadot/hw-ledger": "9.7.2",
"@polkadot/x-fetch": "9.7.2"
"@polkadot/hw-ledger": "12.2.2"
}
}
-75
View File
@@ -1,75 +0,0 @@
// Copyright 2017-2022 @polkadot/networks authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Ss58Registry } from './types';
import fs from 'fs';
import { objectKeys, stringify } from '@polkadot/util';
import { fetch } from '@polkadot/x-fetch';
import { allNetworks } from './';
const REGISTRY = 'https://raw.githubusercontent.com/paritytech/ss58-registry/main/ss58-registry.json';
const OUTPUT = './.github/ss58-check.md';
function assertAndLog (check: boolean, error: string): void {
if (!check) {
process.env.CI_LOG && fs.appendFileSync(OUTPUT, `
${error}
`);
throw new Error(error);
}
}
describe('check latest Substrate ss58 registry', (): void => {
let original: Ss58Registry;
beforeAll(async (): Promise<void> => {
original = (await (await fetch(REGISTRY)).json()) as Ss58Registry;
});
it('has the same number as the original', (): void => {
assertAndLog(allNetworks.length === original.registry.length, `Number of entries mismatched:: Expected ${original.registry.length} found ${allNetworks.length}`);
});
it('has no missing any entries', (): void => {
const missing = original.registry
.filter(({ prefix }) => !allNetworks.some((n) => n.prefix === prefix))
.map(({ displayName, prefix }) => `${displayName} (${prefix})`);
assertAndLog(!missing.length, `Missing entries found: ${stringify(missing, 2)}`);
});
it('has no extra entries', (): void => {
const missing = allNetworks
.filter(({ prefix }) => !original.registry.some((n) => n.prefix === prefix))
.map(({ displayName, prefix }) => `${displayName} (${prefix})`);
assertAndLog(!missing.length, `Extra entries found: ${stringify(missing, 2)}`);
});
it('has the same values as the original', (): void => {
const fields = objectKeys(original.schema);
const errors = original.registry
.map((n): [string, string[]] => {
const other = allNetworks.find(({ prefix }) => prefix === n.prefix);
return [
`${n.displayName} (${n.prefix})`,
other
? fields.filter((f) =>
['decimals', 'symbols'].includes(f)
? stringify(n[f] || []) !== stringify(other[f] || [])
: stringify(n[f]) !== stringify(other[f])
)
: []
];
})
.filter(([, fields]) => fields.length);
assertAndLog(!errors.length, `Mismatches found: ${stringify(errors.map(([n, m]) => `${n}:: ${m.join(', ')}`), 2)}`);
});
});
+4 -2
View File
@@ -1,10 +1,12 @@
// Copyright 2017-2022 @polkadot/networks authors & contributors
// Copyright 2017-2023 @polkadot/networks authors & contributors
// SPDX-License-Identifier: Apache-2.0
/// <reference types="@polkadot/dev-test/globals.d.ts" />
import { ledgerApps } from '@polkadot/hw-ledger/defaults';
import { isHex } from '@polkadot/util';
import { knownGenesis, knownLedger } from './defaults';
import { knownGenesis, knownLedger } from './defaults/index.js';
describe('defaults', (): void => {
describe('genesis', (): void => {
+51 -3
View File
@@ -1,7 +1,7 @@
// Copyright 2017-2022 @polkadot/networks authors & contributors
// Copyright 2017-2023 @polkadot/networks authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KnownGenesis } from '../types';
import type { KnownGenesis } from '../types.js';
// NOTE: In the case where the network was hard-spooned and multiple genesisHashes
// are provided, it needs to be in reverse order, i.e. most-recent first, oldest
@@ -11,6 +11,12 @@ export const knownGenesis: KnownGenesis = {
acala: [
'0xfc41b9bd8ef8fe53d58c7ea67c794c7ec9a73daf05e6d54b14ff6342c99ba64c'
],
ajuna: [
'0xe358eb1d11b31255a286c12e44fe6780b7edb171d657905a97e39f71d9c6c3ee'
],
'aleph-node': [
'0x70255b4d28de0fc4e1a193d7e175ad1ccef431598211c55538f1018651a0344e'
],
astar: [
'0x9eb76c5184c4ab8679d2d5d819fdf90b9c001403e9e17da2e14b6d8aec4029c6'
],
@@ -20,13 +26,25 @@ export const knownGenesis: KnownGenesis = {
bifrost: [
'0x262e1b2ad728475fd6fe88e62d34c200abe6fd693931ddad144059b1eb884e5b'
],
'bifrost-kusama': [
'0x9f28c6a68e0fc9646eff64935684f6eeeece527e37bbe1f213d22caa1d9d6bed'
],
bittensor: [
'0x2f0555cc76fc2840a25a6ea3b9637146806f1f44b090c175ffde2a7e5ab36c03'
],
centrifuge: [
'0xb3db41421702df9a7fcac62b53ffeac85f7853cc4e689e0b93aeb3db18c09d82',
'0x67dddf2673b69e5f875f6f25277495834398eafd67f492e09f3f3345e003d1b5'
],
cere: [
'0x81443836a9a24caaa23f1241897d1235717535711d1d3fe24eae4fdc942c092c'
],
composable: [
'0xdaab8df776eb52ec604a5df5d388bb62a050a0aaec4556a64265b9d42755552d'
],
darwinia: [
'0xe71578b37a7c799b0ab4ee87ffa6f059a6b98f71f06fb8c84a8d88013a548ad6'
],
'dock-mainnet': [
'0x6bfe24dca2a3be10f22212678ac13a6446ec764103c0f3471c71609eac384aae',
'0xf73467c6544aa68df2ee546b135f955c46b90fa627e9b5d7935f41061bb8a5a9'
@@ -41,14 +59,21 @@ export const knownGenesis: KnownGenesis = {
'0x9b8cefc0eb5c568b527998bdd76c184e2b76ae561be76e4667072230217ea243'
],
hydradx: [
'0xafdc188f45c71dacbaa0b62e16a91f726c7b8699a9748cdf715459de6b7f366d', // HydraDX Parachain
'0xd2a620c27ec5cbc5621ff9a522689895074f7cca0d08e7134a7804e1a3ba86fc', // Snakenet Gen3-1
'0x10af6e84234477d84dc572bac0789813b254aa490767ed06fb9591191d1073f9', // Snakenet Gen3
'0x3d75507dd46301767e601265791da1d9cb47b6ebc94e87347b635e5bf58bd047', // Snakenet Gen2
'0x0ed32bfcab4a83517fac88f2aa7cbc2f88d3ab93be9a12b6188a036bf8a943c2' // Snakenet Gen1
],
'interlay-parachain': [
'0xbf88efe70e9e0e916416e8bed61f2b45717f517d7f3523e33c7b001e5ffcbc72'
],
karura: [
'0xbaf5aabe40646d11f0ee8abbdc64f4a4b7674925cba08e4a05ff9ebed6e2126b'
],
khala: [
'0xd43540ba6d3eb4897c28a77d48cb5b729fea37603cbbfc7a86a73b72adb3be8d'
],
kulupu: [
'0xf7a99d3cb92853d00d5275c971c132c074636256583fee53b3bbe60d7b8769ba'
],
@@ -57,13 +82,26 @@ export const knownGenesis: KnownGenesis = {
'0xe3777fa922cafbff200cadeaea1a76bd7898ad5b89f7848999058b50e715f636', // Kusama CC2
'0x3fd7b9eb6a00376e5be61f01abb429ffb0b104be05eaff4d458da48fcd425baf' // Kusama CC1
],
'nodle-para': [
nodle: [
'0x97da7ede98d7bad4e36b4d734b6055425a3be036da2a332ea5a7037656427a21'
],
origintrail: [
'0xe7e0962324a3b86c83404dbea483f25fb5dab4c224791c81b756cfc948006174'
],
p3d: [
'0x6c5894837ad89b6d92b114a2fb3eafa8fe3d26a54848e3447015442cd6ef4e66'
],
parallel: [
'0xe61a41c53f5dcd0beb09df93b34402aada44cb05117b71059cce40a2723a4e97'
],
pendulum: [
'0x5d3c298622d5634ed019bf61ea4b71655030015bde9beb0d6a24743714462c86'
],
phala: [
'0x1bb969d85965e4bb5a651abbedf21a54b6b31a21f66b5401cc3f1e286268d736'
],
picasso: [
'0x6811a339673c9daa897944dcdac99c6e2939cc88245ed21951a0a3c9a2be75bc',
'0xe8e7f0f4c4f5a00720b4821dbfddefea7490bcf0b19009961cc46957984e2c1c'
],
polkadex: [
@@ -104,6 +142,16 @@ export const knownGenesis: KnownGenesis = {
subsocial: [
'0x0bd72c1c305172e1275278aaeb3f161e02eccb7a819e63f62d47bd53a28189f8'
],
ternoa: [
'0x6859c81ca95ef624c9dfe4dc6e3381c33e5d6509e35e147092bfbc780f777c4e'
],
unique: [
'0x84322d9cddbf35088f1e54e9a85c967a41a56a4f43445768125e61af166c7d31'
],
vtb: [
'0x286bc8414c7000ce1d6ee6a834e29a54c1784814b76243eb77ed0b2c5573c60f',
'0x7483b89572fb2bd687c7b9a93b242d0b237f9aba463aba07ec24503931038aaa'
],
westend: [
'0xe143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e'
],
+2 -2
View File
@@ -1,7 +1,7 @@
// Copyright 2017-2022 @polkadot/networks authors & contributors
// Copyright 2017-2023 @polkadot/networks authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KnownIcon } from '../types';
import type { KnownIcon } from '../types.js';
// these are icon overrides
export const knownIcon: KnownIcon = {
+5 -5
View File
@@ -1,7 +1,7 @@
// Copyright 2017-2022 @polkadot/networks authors & contributors
// Copyright 2017-2023 @polkadot/networks authors & contributors
// SPDX-License-Identifier: Apache-2.0
export { knownGenesis } from './genesis';
export { knownIcon } from './icons';
export { knownLedger } from './ledger';
export { knownTestnet } from './testnets';
export { knownGenesis } from './genesis.js';
export { knownIcon } from './icons.js';
export { knownLedger } from './ledger.js';
export { knownTestnet } from './testnets.js';
+18 -3
View File
@@ -1,7 +1,7 @@
// Copyright 2017-2022 @polkadot/networks authors & contributors
// Copyright 2017-2023 @polkadot/networks authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KnownLedger } from '../types';
import type { KnownLedger } from '../types.js';
// These match up with the keys of the ledgerApps object in the @polkadot/hw-ledger/defaults.ts
// and maps to the known slip44 (minus the `0x8` hard derivation flag)
@@ -9,23 +9,38 @@ import type { KnownLedger } from '../types';
// NOTE: Any network here needs to have a genesisHash attached in the ./genesis.ts config
export const knownLedger: KnownLedger = {
acala: 0x00000313,
ajuna: 0x00000162,
'aleph-node': 0x00000283,
astar: 0x0000032a,
bifrost: 0x00000314,
'bifrost-kusama': 0x00000314,
centrifuge: 0x000002eb,
composable: 0x00000162,
darwinia: 0x00000162,
'dock-mainnet': 0x00000252,
edgeware: 0x0000020b,
equilibrium: 0x05f5e0fd,
genshiro: 0x05f5e0fc,
hydradx: 0x00000162,
'interlay-parachain': 0x00000162,
karura: 0x000002ae,
khala: 0x000001b2,
kusama: 0x000001b2,
'nodle-para': 0x000003eb,
nodle: 0x000003eb,
origintrail: 0x00000162,
parallel: 0x00000162,
pendulum: 0x00000162,
phala: 0x00000162,
picasso: 0x000001b2,
polkadex: 0x0000031f,
polkadot: 0x00000162,
polymesh: 0x00000253,
sora: 0x00000269,
stafi: 0x0000038b,
statemine: 0x000001b2, // common-good on Kusama, shares derivation
statemint: 0x00000162, // common-good on Polkadot, shares derivation
ternoa: 0x00003e3,
unique: 0x00000162,
vtb: 0x000002b6,
xxnetwork: 0x000007a3
};
+3 -2
View File
@@ -1,7 +1,7 @@
// Copyright 2017-2022 @polkadot/networks authors & contributors
// Copyright 2017-2023 @polkadot/networks authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KnownTestnet } from '../types';
import type { KnownTestnet } from '../types.js';
// testnets should not allow selection
export const knownTestnet: KnownTestnet = {
@@ -10,6 +10,7 @@ export const knownTestnet: KnownTestnet = {
'dock-testnet': true,
jupiter: true,
'mathchain-testnet': true,
p3dt: true,
subspace_testnet: true,
'zero-alphaville': true
};
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2022 @polkadot/networks authors & contributors
// Copyright 2017-2023 @polkadot/networks authors & contributors
// SPDX-License-Identifier: Apache-2.0
export default [];
+3 -3
View File
@@ -1,11 +1,11 @@
// Copyright 2017-2022 @polkadot/networks authors & contributors
// Copyright 2017-2023 @polkadot/networks authors & contributors
// SPDX-License-Identifier: Apache-2.0
// Do not edit, auto-generated by @polkadot/dev
import { detectPackage } from '@polkadot/util';
import others from './detectOther';
import { packageInfo } from './packageInfo';
import others from './detectOther.js';
import { packageInfo } from './packageInfo.js';
detectPackage(packageInfo, null, others);
+8 -6
View File
@@ -1,10 +1,12 @@
// Copyright 2017-2022 @polkadot/networks authors & contributors
// Copyright 2017-2023 @polkadot/networks authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { SubstrateNetwork } from './types';
/// <reference types="@polkadot/dev-test/globals.d.ts" />
import { knownGenesis, knownIcon, knownLedger, knownTestnet } from './defaults';
import { allNetworks, availableNetworks, selectableNetworks } from '.';
import type { SubstrateNetwork } from './types.js';
import { knownGenesis, knownIcon, knownLedger, knownTestnet } from './defaults/index.js';
import { allNetworks, availableNetworks, selectableNetworks } from './index.js';
describe('availableNetworks', (): void => {
it('has the correct starting order', (): void => {
@@ -12,7 +14,7 @@ describe('availableNetworks', (): void => {
});
it('has a sorted list (first external, last external)', (): void => {
expect(availableNetworks[3].displayName).toEqual('Acala');
expect(availableNetworks[3].displayName).toEqual('3DP network');
expect(availableNetworks[availableNetworks.length - 1].displayName).toEqual('ZERO');
});
@@ -112,7 +114,7 @@ describe('selectableNetworks', (): void => {
});
it('has a sorted list (first external, last external)', (): void => {
expect(selectableNetworks[3].displayName).toEqual('Acala');
expect(selectableNetworks[3].displayName).toEqual('3DP network');
expect(selectableNetworks[selectableNetworks.length - 1].displayName).toEqual('xx network');
});
});
+3 -3
View File
@@ -1,9 +1,9 @@
// Copyright 2017-2022 @polkadot/networks authors & contributors
// Copyright 2017-2023 @polkadot/networks authors & contributors
// SPDX-License-Identifier: Apache-2.0
// TODO: This was removed, really cannot recall the reason...
// ... put it back, but keep it removed
// import './detectPackage';
export * from './interfaces';
export { packageInfo } from './packageInfo';
export * from './interfaces.js';
export { packageInfo } from './packageInfo.js';
+3 -3
View File
@@ -1,11 +1,11 @@
// Copyright 2017-2022 @polkadot/networks authors & contributors
// Copyright 2017-2023 @polkadot/networks authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { KnownSubstrate, Network, SubstrateNetwork } from './types';
import type { KnownSubstrate, Network, SubstrateNetwork } from './types.js';
import knownSubstrate from '@substrate/ss58-registry';
import { knownGenesis, knownIcon, knownLedger, knownTestnet } from './defaults';
import { knownGenesis, knownIcon, knownLedger, knownTestnet } from './defaults/index.js';
// These are known prefixes that are not sorted
const UNSORTED = [0, 2, 42];
+2 -2
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2022 @polkadot/networks authors & contributors
// Copyright 2017-2023 @polkadot/networks authors & contributors
// SPDX-License-Identifier: Apache-2.0
export * from './index';
export * from './index.js';
+2 -2
View File
@@ -1,6 +1,6 @@
// Copyright 2017-2022 @polkadot/networks authors & contributors
// Copyright 2017-2023 @polkadot/networks authors & contributors
// SPDX-License-Identifier: Apache-2.0
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/networks', path: 'auto', type: 'auto', version: '9.7.2' };
export const packageInfo = { name: '@polkadot/networks', path: 'auto', type: 'auto', version: '12.2.2' };
+8 -6
View File
@@ -1,11 +1,13 @@
// Copyright 2017-2022 @polkadot/networks authors & contributors
// Copyright 2017-2023 @polkadot/networks authors & contributors
// SPDX-License-Identifier: Apache-2.0
import known from '@substrate/ss58-registry';
import fs from 'fs';
import path from 'path';
/// <reference types="@polkadot/dev-test/globals.d.ts" />
import other from './test/ss58registry.test.json';
import known from '@substrate/ss58-registry';
import fs from 'node:fs';
import path from 'node:path';
const other = JSON.parse(fs.readFileSync(path.join(process.cwd(), 'packages/networks/test/ss58registry.json'), 'utf-8')) as unknown;
describe('@substrate/ss58-registry', (): void => {
it('has known values', (): void => {
@@ -20,7 +22,7 @@ describe('@substrate/ss58-registry', (): void => {
throw error;
}
fs.writeFileSync(path.join(__dirname, './test/ss58registry.test.json'), json, { flag: 'w' });
fs.writeFileSync(path.join(process.cwd(), 'packages/networks/test/ss58registry.json'), json, { flag: 'w' });
}
});
});
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright 2017-2022 @polkadot/keyring authors & contributors
// Copyright 2017-2023 @polkadot/keyring authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { RegistryEntry } from '@substrate/ss58-registry';

Some files were not shown because too many files have changed in this diff Show More