diff --git a/.gitignore b/.gitignore index 1808fde75b77c3d4640300bb8e9c422525b948f1..155f50e2725e1c6623f957b22e8828a19be34ccd 100644 --- a/.gitignore +++ b/.gitignore @@ -36,14 +36,15 @@ coverage/ # typecode typedoc/ +# files generated by tsc /index.js* /index.d.ts /server.js* /server.d.ts -app/**/*.js* +*/**/*.js* app/**/*.d.ts +neon/lib/*.d.ts test/**/*.d.ts -test/**/*.js* # files generated by neon tests test2.bin.gz diff --git a/neon/lib/crypto.js b/neon/lib/crypto.js deleted file mode 100644 index 18537334af2af98897fb0606c86521de3c20891f..0000000000000000000000000000000000000000 --- a/neon/lib/crypto.js +++ /dev/null @@ -1,20 +0,0 @@ -const addon = require('../native/index.node'); - -const { Ed25519Signator, generateRandomSeed, seedToSecretKey, sha256, verify } = addon; - -class KeyPairBuilder { - - static fromSeed(seed) { - return new Ed25519Signator(seed); - } - - static fromSecretKey(secretKey) { - return new Ed25519Signator(secretKey); - } - - static random() { - return addon.generateRandomSeed(); - } -} - -module.exports = { Ed25519Signator, KeyPairBuilder, generateRandomSeed, seedToSecretKey, sha256, verify }; diff --git a/neon/lib/crypto.ts b/neon/lib/crypto.ts new file mode 100644 index 0000000000000000000000000000000000000000..5643b375f621a284dbaa5e12a7f4bc45c6451b3b --- /dev/null +++ b/neon/lib/crypto.ts @@ -0,0 +1,17 @@ + +import { Ed25519Signator, generateRandomSeed } from "../native"; + +export class KeyPairBuilder { + + static fromSeed(seed: Buffer): Ed25519Signator { + return new Ed25519Signator(seed); + } + + static fromSecretKey(secretKey: string): Ed25519Signator { + return new Ed25519Signator(secretKey); + } + + static random(): Ed25519Signator { + return new Ed25519Signator(generateRandomSeed()); + } +} diff --git a/neon/lib/index.js b/neon/lib/index.js deleted file mode 100644 index 7ebb99a4cf67244f5fc17cfc96799a3baec2ed43..0000000000000000000000000000000000000000 --- a/neon/lib/index.js +++ /dev/null @@ -1,4 +0,0 @@ -const { Wot, WotBuilder } = require('./wot'); -const { Ed25519Signator, KeyPairBuilder, generateRandomSeed, seedToSecretKey, sha256, verify } = require('./crypto'); - -module.exports = { Ed25519Signator, KeyPairBuilder, generateRandomSeed, seedToSecretKey, sha256, verify, Wot, WotBuilder }; diff --git a/neon/lib/index.ts b/neon/lib/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..48fdad95ce394d4af0b1875f0940595960e531aa --- /dev/null +++ b/neon/lib/index.ts @@ -0,0 +1,3 @@ +export { Ed25519Signator, generateRandomSeed, seedToSecretKey, sha256, verify, Wot } from "../native"; +export { KeyPairBuilder } from "./crypto"; +export { WotBuilder } from "./wot"; diff --git a/neon/lib/wot.js b/neon/lib/wot.js deleted file mode 100644 index f2ae9703d6f841a80fb1efebb56b680bd34638f6..0000000000000000000000000000000000000000 --- a/neon/lib/wot.js +++ /dev/null @@ -1,16 +0,0 @@ -const addon = require('../native/index.node'); - -const { Wot } = addon; - -class WotBuilder { - - static fromWot(wot) { - return new Wot(wot.toBytes()); - } - - static fromFile(filePath) { - return new Wot(filePath) - } -} - -module.exports = { Wot, WotBuilder }; diff --git a/neon/lib/wot.ts b/neon/lib/wot.ts new file mode 100644 index 0000000000000000000000000000000000000000..e62942455cf52747878d629bf63450456d75b366 --- /dev/null +++ b/neon/lib/wot.ts @@ -0,0 +1,12 @@ +import { Wot } from "../native"; + +export class WotBuilder { + + static fromWot(wot: Wot): Wot { + return new Wot(wot.toBytes()); + } + + static fromFile(filePath: string): Wot { + return new Wot(filePath) + } +} diff --git a/neon/lib/crypto.d.ts b/neon/native/crypto.d.ts similarity index 66% rename from neon/lib/crypto.d.ts rename to neon/native/crypto.d.ts index d1a18ea9a056c46bd740376d3647861599e518ad..ba6c22595cbef4d9e69367203e3c7f0981f7d993 100644 --- a/neon/lib/crypto.d.ts +++ b/neon/native/crypto.d.ts @@ -1,16 +1,9 @@ /* tslint:disable */ -export class KeyPairBuilder { - - static fromSeed(seed: Buffer): Ed25519Signator; - - static fromSecretKey(secretKey: string): Ed25519Signator; - - static random(): Ed25519Signator; -} - export class Ed25519Signator { + constructor(seedOrSecretKey: Buffer | string); + getPublicKey(): string; sign(message: Buffer | string): string; diff --git a/neon/lib/index.d.ts b/neon/native/index.d.ts similarity index 79% rename from neon/lib/index.d.ts rename to neon/native/index.d.ts index 227ff4931a5d81a4f916fd6f5a1161db5e414b57..e31c8cbdf33858186239385d59905349669bc4d6 100644 --- a/neon/lib/index.d.ts +++ b/neon/native/index.d.ts @@ -3,7 +3,6 @@ import * as _crypto from './crypto'; import * as _wot from './wot'; -export import KeyPairBuilder = _crypto.KeyPairBuilder; export import Ed25519Signator = _crypto.Ed25519Signator; export import generateRandomSeed = _crypto.generateRandomSeed; export import seedToSecretKey = _crypto.seedToSecretKey; @@ -11,4 +10,4 @@ export import sha256 = _crypto.sha256; export import verify = _crypto.verify; export import Wot = _wot.Wot; -export import WotBuilder = _wot.WotBuilder; +export import DetailedDistance = _wot.DetailedDistance; diff --git a/neon/lib/wot.d.ts b/neon/native/wot.d.ts similarity index 90% rename from neon/lib/wot.d.ts rename to neon/native/wot.d.ts index 86ebf1264b24ea85c294cfd6224c0145157ef5ee..fe40b3646dc24828f2196286e1772fbc2c88b04a 100644 --- a/neon/lib/wot.d.ts +++ b/neon/native/wot.d.ts @@ -9,14 +9,8 @@ export class DetailedDistance { isOutdistanced: number; } -export class WotBuilder { - static fromWot(wot: Wot): Wot; - - static fromFile(filePath: string): Wot; -} - export class Wot { - constructor(maxCert: number); + constructor(maxCertOrFilePathOrBytes: number | string | Buffer); clear(): void; @@ -66,5 +60,7 @@ export class Wot { writeInFile(file_path: string): boolean; + toBytes(): Buffer; + dump(): string; }