FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

GitHub Viewer

// Copyright (C) 2018 Zilliqa // // This file is part of Zilliqa-Javascript-Library. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . import BN from 'bn.js'; import hash from 'hash.js'; declare namespace Elliptic { type HexEnc = 'hex'; type Utf8Enc = 'utf8'; type CurveTypes = 'short' | 'edwards' | 'mont'; type PrivateKey = | string | Buffer | { x: Buffer; y: Buffer } | { x: string; y: string }; interface Curve { type: CurveTypes; n: BN; g: Point; decodePoint(msg: Buffer | Array | string, enc?: string): Point; validate(point: Point): boolean; } interface Point { x: BN; y: BN; inf: boolean; encode(enc: string, compressed?: boolean): Array; encodeCompressed(enc?: string): Array; isInfinity(): boolean; add(k: BN | Number | Point): Point; mul(k: BN | Number | Point): Point; } interface EC { curve: Curve; genKeyPair(opt?: GenKeyPairOpt): KeyPair; keyFromPrivate(priv: string, enc: string): KeyPair; keyFromPublic(pub: string, enc: string): KeyPair; } interface GenKeyPairOpt { entropy?: string | Buffer; entropyEnc?: HexEnc | Utf8Enc; pers?: string | Buffer; persEnc?: HexEnc | Utf8Enc; } interface KeyPair { fromPublic(ec: Curve, pub: BN, enc: string): KeyPair; fromPrivate(ec: Curve, priv: BN, enc: string): KeyPair; // this is broken, but we can't fix it without changing the upstream // library; compact is optional, but optional parameters should always // _follow_ mandatory ones. getPublic(compact: boolean, enc: string): string; getPrivate(enc?: T): T extends HexEnc ? string : BN; validate(): { result: boolean; reason: string | null }; } export function ec(curve: string): EC; } export = Elliptic;

Back | FazBrowse Home | New Git URL