summaryrefslogtreecommitdiff
path: root/includes/external/matrix/node_modules/base-x
diff options
context:
space:
mode:
authorRaindropsSys <contact@minteck.org>2023-04-24 14:03:36 +0200
committerRaindropsSys <contact@minteck.org>2023-04-24 14:03:36 +0200
commit633c92eae865e957121e08de634aeee11a8b3992 (patch)
tree09d881bee1dae0b6eee49db1dfaf0f500240606c /includes/external/matrix/node_modules/base-x
parentc4657e4509733699c0f26a3c900bab47e915d5a0 (diff)
downloadpluralconnect-633c92eae865e957121e08de634aeee11a8b3992.tar.gz
pluralconnect-633c92eae865e957121e08de634aeee11a8b3992.tar.bz2
pluralconnect-633c92eae865e957121e08de634aeee11a8b3992.zip
Updated 18 files, added 1692 files and deleted includes/system/compare.inc (automated)
Diffstat (limited to 'includes/external/matrix/node_modules/base-x')
-rw-r--r--includes/external/matrix/node_modules/base-x/LICENSE.md22
-rw-r--r--includes/external/matrix/node_modules/base-x/README.md73
-rw-r--r--includes/external/matrix/node_modules/base-x/package.json46
-rw-r--r--includes/external/matrix/node_modules/base-x/src/index.d.ts9
-rw-r--r--includes/external/matrix/node_modules/base-x/src/index.js121
5 files changed, 271 insertions, 0 deletions
diff --git a/includes/external/matrix/node_modules/base-x/LICENSE.md b/includes/external/matrix/node_modules/base-x/LICENSE.md
new file mode 100644
index 0000000..c5dca45
--- /dev/null
+++ b/includes/external/matrix/node_modules/base-x/LICENSE.md
@@ -0,0 +1,22 @@
+The MIT License (MIT)
+
+Copyright (c) 2018 base-x contributors
+Copyright (c) 2014-2018 The Bitcoin Core developers
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/includes/external/matrix/node_modules/base-x/README.md b/includes/external/matrix/node_modules/base-x/README.md
new file mode 100644
index 0000000..10faf66
--- /dev/null
+++ b/includes/external/matrix/node_modules/base-x/README.md
@@ -0,0 +1,73 @@
+# base-x
+
+[![NPM Package](https://img.shields.io/npm/v/base-x.svg?style=flat-square)](https://www.npmjs.org/package/base-x)
+[![Build Status](https://img.shields.io/travis/cryptocoinjs/base-x.svg?branch=master&style=flat-square)](https://travis-ci.org/cryptocoinjs/base-x)
+
+[![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
+
+Fast base encoding / decoding of any given alphabet using bitcoin style leading
+zero compression.
+
+**WARNING:** This module is **NOT RFC3548** compliant, it cannot be used for base16 (hex), base32, or base64 encoding in a standards compliant manner.
+
+## Example
+
+Base58
+
+``` javascript
+var BASE58 = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
+var bs58 = require('base-x')(BASE58)
+
+var decoded = bs58.decode('5Kd3NBUAdUnhyzenEwVLy9pBKxSwXvE9FMPyR4UKZvpe6E3AgLr')
+
+console.log(decoded)
+// => Uint8Array(33) [
+// 128, 237, 219, 220, 17, 104, 241, 218,
+// 234, 219, 211, 228, 76, 30, 63, 143,
+// 90, 40, 76, 32, 41, 247, 138, 210,
+// 106, 249, 133, 131, 164, 153, 222, 91,
+// 25
+// ]
+
+console.log(bs58.encode(decoded))
+// => 5Kd3NBUAdUnhyzenEwVLy9pBKxSwXvE9FMPyR4UKZvpe6E3AgLr
+```
+
+### Alphabets
+
+See below for a list of commonly recognized alphabets, and their respective base.
+
+Base | Alphabet
+------------- | -------------
+2 | `01`
+8 | `01234567`
+11 | `0123456789a`
+16 | `0123456789abcdef`
+32 | `0123456789ABCDEFGHJKMNPQRSTVWXYZ`
+32 | `ybndrfg8ejkmcpqxot1uwisza345h769` (z-base-32)
+36 | `0123456789abcdefghijklmnopqrstuvwxyz`
+58 | `123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`
+62 | `0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`
+64 | `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`
+67 | `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.!~`
+
+
+## How it works
+
+It encodes octet arrays by doing long divisions on all significant digits in the
+array, creating a representation of that number in the new base. Then for every
+leading zero in the input (not significant as a number) it will encode as a
+single leader character. This is the first in the alphabet and will decode as 8
+bits. The other characters depend upon the base. For example, a base58 alphabet
+packs roughly 5.858 bits per character.
+
+This means the encoded string 000f (using a base16, 0-f alphabet) will actually decode
+to 4 bytes unlike a canonical hex encoding which uniformly packs 4 bits into each
+character.
+
+While unusual, this does mean that no padding is required and it works for bases
+like 43.
+
+
+## LICENSE [MIT](LICENSE)
+A direct derivation of the base58 implementation from [`bitcoin/bitcoin`](https://github.com/bitcoin/bitcoin/blob/f1e2f2a85962c1664e4e55471061af0eaa798d40/src/base58.cpp), generalized for variable length alphabets.
diff --git a/includes/external/matrix/node_modules/base-x/package.json b/includes/external/matrix/node_modules/base-x/package.json
new file mode 100644
index 0000000..30061da
--- /dev/null
+++ b/includes/external/matrix/node_modules/base-x/package.json
@@ -0,0 +1,46 @@
+{
+ "name": "base-x",
+ "version": "4.0.0",
+ "description": "Fast base encoding / decoding of any given alphabet",
+ "keywords": [
+ "base-x",
+ "base58",
+ "base62",
+ "base64",
+ "crypto",
+ "crytography",
+ "decode",
+ "decoding",
+ "encode",
+ "encoding"
+ ],
+ "homepage": "https://github.com/cryptocoinjs/base-x",
+ "bugs": {
+ "url": "https://github.com/cryptocoinjs/base-x/issues"
+ },
+ "license": "MIT",
+ "author": "Daniel Cousens",
+ "files": [
+ "src"
+ ],
+ "main": "src/index.js",
+ "types": "src/index.d.ts",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/cryptocoinjs/base-x.git"
+ },
+ "scripts": {
+ "build": "tsc -p ./tsconfig.json ; standard --fix",
+ "gitdiff": "npm run build && git diff --exit-code",
+ "prepublish": "npm run gitdiff",
+ "standard": "standard",
+ "test": "npm run unit && npm run standard",
+ "unit": "tape test/*.js"
+ },
+ "devDependencies": {
+ "@types/node": "12.0.10",
+ "standard": "^10.0.3",
+ "tape": "^4.5.1",
+ "typescript": "3.5.2"
+ }
+}
diff --git a/includes/external/matrix/node_modules/base-x/src/index.d.ts b/includes/external/matrix/node_modules/base-x/src/index.d.ts
new file mode 100644
index 0000000..f8555ef
--- /dev/null
+++ b/includes/external/matrix/node_modules/base-x/src/index.d.ts
@@ -0,0 +1,9 @@
+declare function base(ALPHABET: string): base.BaseConverter;
+export = base;
+declare namespace base {
+ interface BaseConverter {
+ encode(buffer: Uint8Array | number[]): string;
+ decodeUnsafe(string: string): Uint8Array | undefined;
+ decode(string: string): Uint8Array;
+ }
+}
diff --git a/includes/external/matrix/node_modules/base-x/src/index.js b/includes/external/matrix/node_modules/base-x/src/index.js
new file mode 100644
index 0000000..11e1a13
--- /dev/null
+++ b/includes/external/matrix/node_modules/base-x/src/index.js
@@ -0,0 +1,121 @@
+'use strict'
+// base-x encoding / decoding
+// Copyright (c) 2018 base-x contributors
+// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)
+// Distributed under the MIT software license, see the accompanying
+// file LICENSE or http://www.opensource.org/licenses/mit-license.php.
+function base (ALPHABET) {
+ if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }
+ var BASE_MAP = new Uint8Array(256)
+ for (var j = 0; j < BASE_MAP.length; j++) {
+ BASE_MAP[j] = 255
+ }
+ for (var i = 0; i < ALPHABET.length; i++) {
+ var x = ALPHABET.charAt(i)
+ var xc = x.charCodeAt(0)
+ if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }
+ BASE_MAP[xc] = i
+ }
+ var BASE = ALPHABET.length
+ var LEADER = ALPHABET.charAt(0)
+ var FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up
+ var iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up
+ function encode (source) {
+ if (source instanceof Uint8Array) {
+ } else if (ArrayBuffer.isView(source)) {
+ source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength)
+ } else if (Array.isArray(source)) {
+ source = Uint8Array.from(source)
+ }
+ if (!(source instanceof Uint8Array)) { throw new TypeError('Expected Uint8Array') }
+ if (source.length === 0) { return '' }
+ // Skip & count leading zeroes.
+ var zeroes = 0
+ var length = 0
+ var pbegin = 0
+ var pend = source.length
+ while (pbegin !== pend && source[pbegin] === 0) {
+ pbegin++
+ zeroes++
+ }
+ // Allocate enough space in big-endian base58 representation.
+ var size = ((pend - pbegin) * iFACTOR + 1) >>> 0
+ var b58 = new Uint8Array(size)
+ // Process the bytes.
+ while (pbegin !== pend) {
+ var carry = source[pbegin]
+ // Apply "b58 = b58 * 256 + ch".
+ var i = 0
+ for (var it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {
+ carry += (256 * b58[it1]) >>> 0
+ b58[it1] = (carry % BASE) >>> 0
+ carry = (carry / BASE) >>> 0
+ }
+ if (carry !== 0) { throw new Error('Non-zero carry') }
+ length = i
+ pbegin++
+ }
+ // Skip leading zeroes in base58 result.
+ var it2 = size - length
+ while (it2 !== size && b58[it2] === 0) {
+ it2++
+ }
+ // Translate the result into a string.
+ var str = LEADER.repeat(zeroes)
+ for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }
+ return str
+ }
+ function decodeUnsafe (source) {
+ if (typeof source !== 'string') { throw new TypeError('Expected String') }
+ if (source.length === 0) { return new Uint8Array() }
+ var psz = 0
+ // Skip and count leading '1's.
+ var zeroes = 0
+ var length = 0
+ while (source[psz] === LEADER) {
+ zeroes++
+ psz++
+ }
+ // Allocate enough space in big-endian base256 representation.
+ var size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.
+ var b256 = new Uint8Array(size)
+ // Process the characters.
+ while (source[psz]) {
+ // Decode character
+ var carry = BASE_MAP[source.charCodeAt(psz)]
+ // Invalid character
+ if (carry === 255) { return }
+ var i = 0
+ for (var it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {
+ carry += (BASE * b256[it3]) >>> 0
+ b256[it3] = (carry % 256) >>> 0
+ carry = (carry / 256) >>> 0
+ }
+ if (carry !== 0) { throw new Error('Non-zero carry') }
+ length = i
+ psz++
+ }
+ // Skip leading zeroes in b256.
+ var it4 = size - length
+ while (it4 !== size && b256[it4] === 0) {
+ it4++
+ }
+ var vch = new Uint8Array(zeroes + (size - it4))
+ var j = zeroes
+ while (it4 !== size) {
+ vch[j++] = b256[it4++]
+ }
+ return vch
+ }
+ function decode (string) {
+ var buffer = decodeUnsafe(string)
+ if (buffer) { return buffer }
+ throw new Error('Non-base' + BASE + ' character')
+ }
+ return {
+ encode: encode,
+ decodeUnsafe: decodeUnsafe,
+ decode: decode
+ }
+}
+module.exports = base