Skip to content

Commit

Permalink
Don't use nanocurrency-js due to potential licensing issues
Browse files Browse the repository at this point in the history
  • Loading branch information
bbedward committed May 2, 2019
1 parent e2bcf64 commit 33b8a74
Show file tree
Hide file tree
Showing 6 changed files with 1,758 additions and 23 deletions.
19 changes: 5 additions & 14 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,16 @@
"@fortawesome/free-brands-svg-icons": "^5.2.0",
"@fortawesome/free-regular-svg-icons": "^5.2.0",
"@fortawesome/free-solid-svg-icons": "^5.2.0",
"@types/node": "^11.13.8",
"affix": "^1.0.15",
"babel-cli": "^6.26.0",
"babel-preset-env": "^1.7.0",
"blakejs": "^1.1.0",
"bootstrap": "^4.3.1",
"bufferutil": "^3.0.5",
"fs": "0.0.1-security",
"ignore-loader": "^0.1.2",
"mini-css-extract-plugin": "^0.5.0",
"nanocurrency": "^2.3.0",
"node-sass": "^4.11.0",
"popper.js": "^1.14.3",
"precss": "^3.1.2",
Expand Down
1 change: 1 addition & 0 deletions src/types/blakejs/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
declare module "blakejs";
98 changes: 98 additions & 0 deletions src/util/nacl.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
// Type definitions for TweetNaCl.js

export as namespace nacl;

declare var nacl: nacl;
export = nacl;

declare namespace nacl {
export interface BoxKeyPair {
publicKey: Uint8Array;
secretKey: Uint8Array;
}

export interface SignKeyPair {
publicKey: Uint8Array;
secretKey: Uint8Array;
}

export interface secretbox {
(msg: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array;
open(box: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array | null;
readonly keyLength: number;
readonly nonceLength: number;
readonly overheadLength: number;
}

export interface scalarMult {
(n: Uint8Array, p: Uint8Array): Uint8Array;
base(n: Uint8Array): Uint8Array;
readonly scalarLength: number;
readonly groupElementLength: number;
}

namespace boxProps {
export interface open {
(msg: Uint8Array, nonce: Uint8Array, publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array | null;
after(box: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array | null;
}

export interface keyPair {
(): BoxKeyPair;
fromSecretKey(secretKey: Uint8Array): BoxKeyPair;
}
}

export interface box {
(msg: Uint8Array, nonce: Uint8Array, publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array;
before(publicKey: Uint8Array, secretKey: Uint8Array): Uint8Array;
after(msg: Uint8Array, nonce: Uint8Array, key: Uint8Array): Uint8Array;
open: boxProps.open;
keyPair: boxProps.keyPair;
readonly publicKeyLength: number;
readonly secretKeyLength: number;
readonly sharedKeyLength: number;
readonly nonceLength: number;
readonly overheadLength: number;
}

namespace signProps {
export interface detached {
(msg: Uint8Array, secretKey: Uint8Array): Uint8Array;
verify(msg: Uint8Array, sig: Uint8Array, publicKey: Uint8Array): boolean;
}

export interface keyPair {
(): SignKeyPair;
fromSecretKey(secretKey: Uint8Array): SignKeyPair;
fromSeed(secretKey: Uint8Array): SignKeyPair;
}
}

export interface sign {
(msg: Uint8Array, secretKey: Uint8Array): Uint8Array;
open(signedMsg: Uint8Array, publicKey: Uint8Array): Uint8Array | null;
detached: signProps.detached;
keyPair: signProps.keyPair;
readonly publicKeyLength: number;
readonly secretKeyLength: number;
readonly seedLength: number;
readonly signatureLength: number;
}

export interface hash {
(msg: Uint8Array): Uint8Array;
readonly hashLength: number;
}
}

declare interface nacl {
randomBytes(n: number): Uint8Array;
secretbox: nacl.secretbox;
scalarMult: nacl.scalarMult;
box: nacl.box;
sign: nacl.sign;
hash: nacl.hash;
verify(x: Uint8Array, y: Uint8Array): boolean;
setPRNG(fn: (x: Uint8Array, n: number) => void): void;
}
Loading

0 comments on commit 33b8a74

Please sign in to comment.