diff --git a/neon/build.sh b/neon/build.sh new file mode 100755 index 0000000000000000000000000000000000000000..f12cd426d7233172a27bfb8fc08d7da5a4c61893 --- /dev/null +++ b/neon/build.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +cd neon + +if [ "${NODE_ENV}" = "production" ] +then + neon build --release +else + neon build +fi + +cd .. \ No newline at end of file diff --git a/neon/lib/crypto.d.ts b/neon/lib/crypto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..d1a18ea9a056c46bd740376d3647861599e518ad --- /dev/null +++ b/neon/lib/crypto.d.ts @@ -0,0 +1,22 @@ +/* tslint:disable */ + +export class KeyPairBuilder { + + static fromSeed(seed: Buffer): Ed25519Signator; + + static fromSecretKey(secretKey: string): Ed25519Signator; + + static random(): Ed25519Signator; +} + +export class Ed25519Signator { + + getPublicKey(): string; + + sign(message: Buffer | string): string; +} + +export function generateRandomSeed(): Buffer; +export function seedToSecretKey(seed: Buffer): string; +export function sha256(data: string): string; +export function verify(message: Buffer | string, sig: string, pubkey: string): boolean; diff --git a/neon/lib/index.d.ts b/neon/lib/index.d.ts index 7a5ef5ad420af12593e60df59a7aefb88cdf924b..227ff4931a5d81a4f916fd6f5a1161db5e414b57 100644 --- a/neon/lib/index.d.ts +++ b/neon/lib/index.d.ts @@ -1,91 +1,14 @@ /* tslint:disable */ -export class KeyPairBuilder { - - static fromSeed(seed: Buffer): Ed25519Signator; - - static fromSecretKey(secretKey: string): Ed25519Signator; - - static random(): Ed25519Signator; -} - -export class Ed25519Signator { - - getPublicKey(): string; - - sign(message: Buffer | string): string; -} - -export function generateRandomSeed(): Buffer; -export function seedToSecretKey(seed: Buffer): string; -export function sha256(data: string): string; -export function verify(message: Buffer | string, sig: string, pubkey: string): boolean; - -export class DetailedDistance { - nbSentries: number; - nbSuccess: number; - nbSuccessAtBorder: number; - nbReached: number; - nbReachedAtBorder: number; - isOutdistanced: number; -} - -export class WotBuilder { - static fromWot(wot: Wot): Wot; - - static fromFile(filePath: string): Wot; -} - -export class Wot { - constructor(maxCert: number); - - clear(): void; - - getMaxCert(): number; - - setMaxCert(maxCert: number): void; - - addNode(): number; - - removeNode(): number; - - getWoTSize(): number; - - isEnabled(node_id: number): boolean; - - getEnabled(): number[]; - - setEnabled(enabled: boolean, node_id: number): boolean; - - getDisabled(): number[]; - - getSentries(sentry_requirement: number): number[]; - - getNonSentries(sentry_requirement: number): number[]; - - addLink(source: number, target: number): number; - - existsLink(source: number, target: number): boolean; - - removeLink(source: number, target: number): number; - - isOutdistanced( - node_id: number, - sentry_requirement: number, - step_max: number, - x_percent: number - ): boolean; - - detailedDistance( - nde_id: number, - sentry_requirement: number, - step_max: number, - x_percent: number - ): DetailedDistance; - - getPaths(source: number, target: number, step_max: number): number[][]; - - writeInFile(file_path: string): boolean; - - dump(): string; -} +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; +export import sha256 = _crypto.sha256; +export import verify = _crypto.verify; + +export import Wot = _wot.Wot; +export import WotBuilder = _wot.WotBuilder; diff --git a/neon/lib/wot.d.ts b/neon/lib/wot.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..86ebf1264b24ea85c294cfd6224c0145157ef5ee --- /dev/null +++ b/neon/lib/wot.d.ts @@ -0,0 +1,70 @@ +/* tslint:disable */ + +export class DetailedDistance { + nbSentries: number; + nbSuccess: number; + nbSuccessAtBorder: number; + nbReached: number; + nbReachedAtBorder: number; + isOutdistanced: number; +} + +export class WotBuilder { + static fromWot(wot: Wot): Wot; + + static fromFile(filePath: string): Wot; +} + +export class Wot { + constructor(maxCert: number); + + clear(): void; + + getMaxCert(): number; + + setMaxCert(maxCert: number): void; + + addNode(): number; + + removeNode(): number; + + getWoTSize(): number; + + isEnabled(node_id: number): boolean; + + getEnabled(): number[]; + + setEnabled(enabled: boolean, node_id: number): boolean; + + getDisabled(): number[]; + + getSentries(sentry_requirement: number): number[]; + + getNonSentries(sentry_requirement: number): number[]; + + addLink(source: number, target: number): number; + + existsLink(source: number, target: number): boolean; + + removeLink(source: number, target: number): number; + + isOutdistanced( + node_id: number, + sentry_requirement: number, + step_max: number, + x_percent: number + ): boolean; + + detailedDistance( + nde_id: number, + sentry_requirement: number, + step_max: number, + x_percent: number + ): DetailedDistance; + + getPaths(source: number, target: number, step_max: number): number[][]; + + writeInFile(file_path: string): boolean; + + dump(): string; +} diff --git a/neon/native/artifacts.json b/neon/native/artifacts.json index 3f346e098060aa63ab49162d2e1b63335e8b2b02..837b6fb098085aa2c03e9f16f2d3012e99586b67 100644 --- a/neon/native/artifacts.json +++ b/neon/native/artifacts.json @@ -1 +1 @@ -{"active":"release","targets":{"debug":{"rustc":"","env":{"npm_config_target":null,"npm_config_arch":null,"npm_config_target_arch":null,"npm_config_disturl":null,"npm_config_runtime":null,"npm_config_build_from_source":null,"npm_config_devdir":null}},"release":{"rustc":"","env":{"npm_config_target":null,"npm_config_arch":null,"npm_config_target_arch":null,"npm_config_disturl":null,"npm_config_runtime":null,"npm_config_build_from_source":null,"npm_config_devdir":null}}}} \ No newline at end of file +{"active":"debug","targets":{"debug":{"rustc":"","env":{"npm_config_target":null,"npm_config_arch":null,"npm_config_target_arch":null,"npm_config_disturl":null,"npm_config_runtime":null,"npm_config_build_from_source":null,"npm_config_devdir":null}},"release":{"rustc":"","env":{"npm_config_target":null,"npm_config_arch":null,"npm_config_target_arch":null,"npm_config_disturl":null,"npm_config_runtime":null,"npm_config_build_from_source":null,"npm_config_devdir":null}}}} \ No newline at end of file diff --git a/package.json b/package.json index b73e9bf37b6ae57dfbda53fb5ae4ecce08fff04d..bb61389a3fe0445949d1cb5d7563c191643771b9 100644 --- a/package.json +++ b/package.json @@ -29,8 +29,8 @@ "doc": "typedoc --out typedoc/ index.ts app/ --mode file --readme README.md --includeDeclarations --sourcefile-url-prefix \"https://git.duniter.org/nodes/typescript/duniter/blob/loki/\"", "test": "nyc --reporter html mocha", "start": "node bin/duniter start", - "build": "cd neon && neon build --release && cd.. && tsc && cd \"../node_modules/duniter-ui\" && npm install && npm run build", - "install": "cd neon && neon build --release", + "build": "./neon/build.sh && cd.. && tsc && cd \"../node_modules/duniter-ui\" && npm install && npm run build", + "install": "./neon/build.sh", "lint": "lint-staged", "prettier": "prettier --write app/**/*/*.ts", "reformat": "eslint --cache --fix app/**/*/*.ts",