File size: 16,796 Bytes
be5030f
1
{"version":3,"sources":["util/bn.ts"],"names":[],"mappings":"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","file":"bn.js","sourcesContent":["// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements.  See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership.  The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License.  You may obtain a copy of the License at\n//\n//   http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied.  See the License for the\n// specific language governing permissions and limitations\n// under the License.\n\nimport { ArrayBufferViewInput, toArrayBufferView } from './buffer';\nimport { TypedArray, TypedArrayConstructor } from '../interfaces';\nimport { BigIntArray, BigIntArrayConstructor } from '../interfaces';\nimport { BigIntAvailable, BigInt64Array, BigUint64Array } from './compat';\n\n/** @ignore */\nexport const isArrowBigNumSymbol = Symbol.for('isArrowBigNum');\n\n/** @ignore */ type BigNumArray = IntArray | UintArray;\n/** @ignore */ type IntArray = Int8Array | Int16Array | Int32Array;\n/** @ignore */ type UintArray = Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray;\n\n/** @ignore */\nfunction BigNum(this: any, x: any, ...xs: any) {\n    if (xs.length === 0) {\n        return Object.setPrototypeOf(toArrayBufferView(this['TypedArray'], x), this.constructor.prototype);\n    }\n    return Object.setPrototypeOf(new this['TypedArray'](x, ...xs), this.constructor.prototype);\n}\n\nBigNum.prototype[isArrowBigNumSymbol] = true;\nBigNum.prototype.toJSON = function<T extends BN<BigNumArray>>(this: T) { return `\"${bignumToString(this)}\"`; };\nBigNum.prototype.valueOf = function<T extends BN<BigNumArray>>(this: T) { return bignumToNumber(this); };\nBigNum.prototype.toString = function<T extends BN<BigNumArray>>(this: T) { return bignumToString(this); };\nBigNum.prototype[Symbol.toPrimitive] = function<T extends BN<BigNumArray>>(this: T, hint: 'string' | 'number' | 'default' = 'default') {\n    switch (hint) {\n        case 'number': return bignumToNumber(this);\n        case 'string': return bignumToString(this);\n        case 'default': return bignumToBigInt(this);\n    }\n    return bignumToString(this);\n};\n\n/** @ignore */\ntype TypedArrayConstructorArgs =\n    [number | void] |\n    [Iterable<number> | Iterable<bigint>] |\n    [ArrayBufferLike, number | void, number | void] ;\n\n/** @ignore */\nfunction SignedBigNum(this: any, ...args: TypedArrayConstructorArgs) { return BigNum.apply(this, args); }\n/** @ignore */\nfunction UnsignedBigNum(this: any, ...args: TypedArrayConstructorArgs) { return BigNum.apply(this, args); }\n/** @ignore */\nfunction DecimalBigNum(this: any, ...args: TypedArrayConstructorArgs) { return BigNum.apply(this, args); }\n\nObject.setPrototypeOf(SignedBigNum.prototype,   Object.create(Int32Array.prototype));\nObject.setPrototypeOf(UnsignedBigNum.prototype, Object.create(Uint32Array.prototype));\nObject.setPrototypeOf(DecimalBigNum.prototype,  Object.create(Uint32Array.prototype));\nObject.assign(SignedBigNum.prototype,   BigNum.prototype, { 'constructor': SignedBigNum,   'signed': true,  'TypedArray': Int32Array,  'BigIntArray': BigInt64Array  });\nObject.assign(UnsignedBigNum.prototype, BigNum.prototype, { 'constructor': UnsignedBigNum, 'signed': false, 'TypedArray': Uint32Array, 'BigIntArray': BigUint64Array });\nObject.assign(DecimalBigNum.prototype,  BigNum.prototype, { 'constructor': DecimalBigNum,  'signed': true,  'TypedArray': Uint32Array, 'BigIntArray': BigUint64Array });\n\n/** @ignore */\nfunction bignumToNumber<T extends BN<BigNumArray>>(bn: T) {\n    let { buffer, byteOffset, length, 'signed': signed } = bn;\n    let words = new Int32Array(buffer, byteOffset, length);\n    let number = 0, i = 0, n = words.length, hi, lo;\n    while (i < n) {\n        lo = words[i++];\n        hi = words[i++];\n        signed || (hi = hi >>> 0);\n        number += (lo >>> 0) + (hi * (i ** 32));\n    }\n    return number;\n}\n\n/** @ignore */\nexport let bignumToString: { <T extends BN<BigNumArray>>(a: T): string; };\n/** @ignore */\nexport let bignumToBigInt: { <T extends BN<BigNumArray>>(a: T): bigint; };\n\nif (!BigIntAvailable) {\n    bignumToString = decimalToString;\n    bignumToBigInt = <any> bignumToString;\n} else {\n    bignumToBigInt = (<T extends BN<BigNumArray>>(a: T) => a.byteLength === 8 ? new a['BigIntArray'](a.buffer, a.byteOffset, 1)[0] : <any>decimalToString(a));\n    bignumToString = (<T extends BN<BigNumArray>>(a: T) => a.byteLength === 8 ? `${new a['BigIntArray'](a.buffer, a.byteOffset, 1)[0]}` : decimalToString(a));\n}\n\n/** @ignore */\nfunction decimalToString<T extends BN<BigNumArray>>(a: T) {\n    let digits = '';\n    let base64 = new Uint32Array(2);\n    let base32 = new Uint16Array(a.buffer, a.byteOffset, a.byteLength / 2);\n    let checks = new Uint32Array((base32 = new Uint16Array(base32).reverse()).buffer);\n    let i = -1, n = base32.length - 1;\n    do {\n        for (base64[0] = base32[i = 0]; i < n;) {\n            base32[i++] = base64[1] = base64[0] / 10;\n            base64[0] = ((base64[0] - base64[1] * 10) << 16) + base32[i];\n        }\n        base32[i] = base64[1] = base64[0] / 10;\n        base64[0] = base64[0] - base64[1] * 10;\n        digits = `${base64[0]}${digits}`;\n    } while (checks[0] || checks[1] || checks[2] || checks[3]);\n    return digits ? digits : `0`;\n}\n\n/** @ignore */\nexport class BN<T extends BigNumArray> {\n    /** @nocollapse */\n    public static new<T extends BigNumArray>(num: T, isSigned?: boolean): (T & BN<T>) {\n        switch (isSigned) {\n            case true: return new (<any> SignedBigNum)(num) as (T & BN<T>);\n            case false: return new (<any> UnsignedBigNum)(num) as (T & BN<T>);\n        }\n        switch (num.constructor) {\n            case Int8Array:\n            case Int16Array:\n            case Int32Array:\n            case BigInt64Array:\n                return new (<any> SignedBigNum)(num) as (T & BN<T>);\n        }\n        if (num.byteLength === 16) {\n            return new (<any> DecimalBigNum)(num) as (T & BN<T>);\n        }\n        return new (<any> UnsignedBigNum)(num) as (T & BN<T>);\n    }\n    /** @nocollapse */\n    public static signed<T extends IntArray>(num: T): (T & BN<T>) {\n        return new (<any> SignedBigNum)(num) as (T & BN<T>);\n    }\n    /** @nocollapse */\n    public static unsigned<T extends UintArray>(num: T): (T & BN<T>) {\n        return new (<any> UnsignedBigNum)(num) as (T & BN<T>);\n    }\n    /** @nocollapse */\n    public static decimal<T extends UintArray>(num: T): (T & BN<T>) {\n        return new (<any> DecimalBigNum)(num) as (T & BN<T>);\n    }\n    constructor(num: T, isSigned?: boolean) {\n        return BN.new(num, isSigned) as any;\n    }\n}\n\n/** @ignore */\nexport interface BN<T extends BigNumArray> extends TypedArrayLike<T> {\n\n    new<T extends ArrayBufferViewInput>(buffer: T, signed?: boolean): T;\n\n    readonly signed: boolean;\n    readonly TypedArray: TypedArrayConstructor<TypedArray>;\n    readonly BigIntArray: BigIntArrayConstructor<BigIntArray>;\n\n    [Symbol.toStringTag]:\n        'Int8Array'         |\n        'Int16Array'        |\n        'Int32Array'        |\n        'Uint8Array'        |\n        'Uint16Array'       |\n        'Uint32Array'       |\n        'Uint8ClampedArray';\n\n    /**\n     * Convert the bytes to their (positive) decimal representation for printing\n     */\n    toString(): string;\n    /**\n     * Down-convert the bytes to a 53-bit precision integer. Invoked by JS for\n     * arithmetic operators, like `+`. Easy (and unsafe) way to convert BN to\n     * number via `+bn_inst`\n     */\n    valueOf(): number;\n    /**\n     * Return the JSON representation of the bytes. Must be wrapped in double-quotes,\n     * so it's compatible with JSON.stringify().\n     */\n    toJSON(): string;\n    [Symbol.toPrimitive](hint?: any): number | string | bigint;\n}\n\n/** @ignore */\ninterface TypedArrayLike<T extends BigNumArray> {\n\n    readonly length: number;\n    readonly buffer: ArrayBuffer;\n    readonly byteLength: number;\n    readonly byteOffset: number;\n    readonly BYTES_PER_ELEMENT: number;\n\n    includes(searchElement: number, fromIndex?: number | undefined): boolean;\n    copyWithin(target: number, start: number, end?: number | undefined): this;\n    every(callbackfn: (value: number, index: number, array: T) => boolean, thisArg?: any): boolean;\n    fill(value: number, start?: number | undefined, end?: number | undefined): this;\n    filter(callbackfn: (value: number, index: number, array: T) => boolean, thisArg?: any): T;\n    find(predicate: (value: number, index: number, obj: T) => boolean, thisArg?: any): number | undefined;\n    findIndex(predicate: (value: number, index: number, obj: T) => boolean, thisArg?: any): number;\n    forEach(callbackfn: (value: number, index: number, array: T) => void, thisArg?: any): void;\n    indexOf(searchElement: number, fromIndex?: number | undefined): number;\n    join(separator?: string | undefined): string;\n    lastIndexOf(searchElement: number, fromIndex?: number | undefined): number;\n    map(callbackfn: (value: number, index: number, array: T) => number, thisArg?: any): T;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: T) => number): number;\n    reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: T) => number, initialValue: number): number;\n    reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: T) => U, initialValue: U): U;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: T) => number): number;\n    reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: T) => number, initialValue: number): number;\n    reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: T) => U, initialValue: U): U;\n    reverse(): T;\n    set(array: ArrayLike<number>, offset?: number | undefined): void;\n    slice(start?: number | undefined, end?: number | undefined): T;\n    some(callbackfn: (value: number, index: number, array: T) => boolean, thisArg?: any): boolean;\n    sort(compareFn?: ((a: number, b: number) => number) | undefined): this;\n    subarray(begin: number, end?: number | undefined): T;\n    toLocaleString(): string;\n    entries(): IterableIterator<[number, number]>;\n    keys(): IterableIterator<number>;\n    values(): IterableIterator<number>;\n}\n"]}