fix all errors resulting from running 'npx lerna bootstrap', hoist github actions to top, hoist vscode config to top

This commit is contained in:
Greg Weisbrod
2021-11-07 18:13:47 -05:00
parent 1106ad1405
commit 99c817ca8a
34 changed files with 15138 additions and 15703 deletions

View File

@@ -1,5 +1,8 @@
{ {
"editor.tabSize": 2, "editor.tabSize": 2,
"cSpell.words": [
"secp256k1"
],
"[javascript]": { "[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode", "editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true "editor.formatOnSave": true

View File

@@ -1,7 +1,11 @@
{ {
"private": true, "private": true,
"scripts": { "scripts": {
"test": "mocha" "test": "lerna run test",
"test:browser": "lerna run test:browser",
"test:integration": "lerna run test:integration",
"lint": "lerna run lint",
"build": "lerna run build"
}, },
"devDependencies": { "devDependencies": {
"lerna": "^4.0.0" "lerna": "^4.0.0"

View File

@@ -1,21 +0,0 @@
version: 2
updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
time: "15:00"
open-pull-requests-limit: 20
ignore:
- dependency-name: "@types/node"
versions:
- 14.14.25
- 14.14.28
- 14.14.32
- dependency-name: typescript
versions:
- 4.2.2
- dependency-name: ts-jest
versions:
- 26.5.0
- 26.5.2

View File

@@ -1,32 +0,0 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Node.js CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x, 12.x, 13.x, 14.x]
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm install
- run: npm run compile
- run: npm test
- run: npm run lint

View File

@@ -1,5 +0,0 @@
{
"cSpell.words": [
"secp256k1"
]
}

View File

@@ -5,6 +5,7 @@
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "ripple-address-codec",
"version": "4.1.3", "version": "4.1.3",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {

View File

@@ -15,15 +15,15 @@
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git://github.com/ripple/ripple-address-codec.git" "url": "git@github.com:XRPLF/xrpl.js.git"
}, },
"prepublish": "tsc", "prepublish": "tsc -b",
"prepublishOnly": "tslint -p ./ && jest", "prepublishOnly": "tslint -b ./ && jest",
"scripts": { "scripts": {
"build": "tsc", "build": "tsc -b",
"compile": "tsc",
"test": "jest", "test": "jest",
"lint": "tslint -p ./" "lint": "tslint -p ./",
"clean": "rm -rf ./dist && rm -rf tsconfig.tsbuildinfo"
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^27.0.2", "@types/jest": "^27.0.2",

View File

@@ -1,24 +1,19 @@
{ {
"extends": "../../tsconfig.json",
"compilerOptions": { "compilerOptions": {
"target": "es6", "target": "es6",
"lib": [ "lib": [
"es2017" "es2017"
], ],
"outDir": "dist", "rootDir": "./src",
"rootDir": "src", "outDir": "./dist",
"module": "commonjs",
"moduleResolution": "node",
"noUnusedLocals": true, "noUnusedLocals": true,
"noUnusedParameters": true, "noUnusedParameters": true,
"removeComments": false, "removeComments": false,
"preserveConstEnums": false, "preserveConstEnums": false,
"suppressImplicitAnyIndexErrors": false, "suppressImplicitAnyIndexErrors": false,
"sourceMap": true,
"skipLibCheck": true, "skipLibCheck": true,
"declaration": true, "declaration": true
"strict": true
}, },
"include": [ "include": ["src/**/*.ts"]
"src/**/*.ts"
]
} }

View File

@@ -1,48 +0,0 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Node.js CI
on:
push:
branches: [master]
pull_request:
workflow_dispatch:
jobs:
build_with_nvm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Read .nvmrc # From https://github.com/actions/setup-node/issues/32#issuecomment-525791142
run: echo "##[set-output name=NVMRC;]$(cat .nvmrc)"
id: nvm
- name: Use Node.js (.nvmrc)
uses: actions/setup-node@v1
with:
node-version: "${{ steps.nvm.outputs.NVMRC }}"
- run: npm install
- run: npm test
- run: npm run lint
- run: npm run compile
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x, 12.x, 13.x, 14.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm install
- run: npm test
- run: npm run lint
- run: npm run compile

View File

@@ -1568,9 +1568,9 @@
} }
}, },
"node_modules/base-x": { "node_modules/base-x": {
"version": "3.0.7", "version": "3.0.8",
"resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.7.tgz", "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz",
"integrity": "sha512-zAKJGuQPihXW22fkrfOclUUZXM2g92z5GzlSMHxhO6r6Qj+Nm0ccaGNBzDZojzwOMkpjAv4J0fOv1U4go+a4iw==", "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==",
"dependencies": { "dependencies": {
"safe-buffer": "^5.0.1" "safe-buffer": "^5.0.1"
} }
@@ -6395,11 +6395,11 @@
} }
}, },
"node_modules/ripple-address-codec": { "node_modules/ripple-address-codec": {
"version": "4.1.1", "version": "4.1.3",
"resolved": "https://registry.npmjs.org/ripple-address-codec/-/ripple-address-codec-4.1.1.tgz", "resolved": "https://registry.npmjs.org/ripple-address-codec/-/ripple-address-codec-4.1.3.tgz",
"integrity": "sha512-mcVD8f7+CH6XaBnLkRcmw4KyHMufa0HTJE3TYeaecwleIQASLYVenjQmVJLgmJQcDUS2Ldh/EltqktmiFMFgkg==", "integrity": "sha512-9mymOhfCUyLZGwotGPg3I2wMfrwHof0W8ygjhW46UdNgFW6J+OvDB/VS9dbHlgED/41mzECp41IXvTrkc1fTwA==",
"dependencies": { "dependencies": {
"base-x": "3.0.7", "base-x": "3.0.8",
"create-hash": "^1.1.2" "create-hash": "^1.1.2"
}, },
"engines": { "engines": {
@@ -9295,9 +9295,9 @@
} }
}, },
"base-x": { "base-x": {
"version": "3.0.7", "version": "3.0.8",
"resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.7.tgz", "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz",
"integrity": "sha512-zAKJGuQPihXW22fkrfOclUUZXM2g92z5GzlSMHxhO6r6Qj+Nm0ccaGNBzDZojzwOMkpjAv4J0fOv1U4go+a4iw==", "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==",
"requires": { "requires": {
"safe-buffer": "^5.0.1" "safe-buffer": "^5.0.1"
} }
@@ -12991,11 +12991,11 @@
} }
}, },
"ripple-address-codec": { "ripple-address-codec": {
"version": "4.1.1", "version": "4.1.3",
"resolved": "https://registry.npmjs.org/ripple-address-codec/-/ripple-address-codec-4.1.1.tgz", "resolved": "https://registry.npmjs.org/ripple-address-codec/-/ripple-address-codec-4.1.3.tgz",
"integrity": "sha512-mcVD8f7+CH6XaBnLkRcmw4KyHMufa0HTJE3TYeaecwleIQASLYVenjQmVJLgmJQcDUS2Ldh/EltqktmiFMFgkg==", "integrity": "sha512-9mymOhfCUyLZGwotGPg3I2wMfrwHof0W8ygjhW46UdNgFW6J+OvDB/VS9dbHlgED/41mzECp41IXvTrkc1fTwA==",
"requires": { "requires": {
"base-x": "3.0.7", "base-x": "3.0.8",
"create-hash": "^1.1.2" "create-hash": "^1.1.2"
} }
}, },

View File

@@ -13,8 +13,8 @@
}, },
"dependencies": { "dependencies": {
"assert": "^2.0.0", "assert": "^2.0.0",
"buffer": "5.6.0",
"big-integer": "^1.6.48", "big-integer": "^1.6.48",
"buffer": "5.6.0",
"create-hash": "^1.2.0", "create-hash": "^1.2.0",
"decimal.js": "^10.2.0", "decimal.js": "^10.2.0",
"ripple-address-codec": "^4.1.1" "ripple-address-codec": "^4.1.1"
@@ -35,19 +35,20 @@
"typescript": "^3.9.5" "typescript": "^3.9.5"
}, },
"scripts": { "scripts": {
"compile": "tsc && cp ./src/enums/definitions.json ./dist/enums", "build": "tsc -b && cp ./src/enums/definitions.json ./dist/enums",
"prepare": "npm run compile && npm test", "clean": "rm -rf ./dist && rm -rf tsconfig.tsbuildinfo",
"prepare": "npm run build && npm test",
"test": "jest", "test": "jest",
"lint": "eslint . --ext .ts --ext .test.js" "lint": "eslint . --ext .ts --ext .test.js"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git://github.com/ripple/ripple-binary-codec.git" "url": "git@github.com:XRPLF/xrpl.js.git"
}, },
"bugs": { "bugs": {
"url": "https://github.com/ripple/ripple-binary-codec/issues" "url": "https://github.com/XRPLF/xrpl.js/issues"
}, },
"homepage": "https://github.com/ripple/ripple-binary-codec#readme", "homepage": "https://github.com/XRPLF/xrpl.js/packages/ripple-binary-codec#readme",
"license": "ISC", "license": "ISC",
"readmeFilename": "README.md", "readmeFilename": "README.md",
"prettier": { "prettier": {

View File

@@ -18,7 +18,7 @@ const {
* @returns the JSON representation of the transaction * @returns the JSON representation of the transaction
*/ */
function decode(binary: string): JsonObject { function decode(binary: string): JsonObject {
assert(typeof binary === "string", "binary must be a hex string"); assert.ok(typeof binary === "string", "binary must be a hex string");
return binaryToJSON(binary); return binaryToJSON(binary);
} }
@@ -29,7 +29,7 @@ function decode(binary: string): JsonObject {
* @returns A hex-string of the encoded transaction * @returns A hex-string of the encoded transaction
*/ */
function encode(json: object): string { function encode(json: object): string {
assert(typeof json === "object"); assert.ok(typeof json === "object");
return serializeObject(json as JsonObject) return serializeObject(json as JsonObject)
.toString("hex") .toString("hex")
.toUpperCase(); .toUpperCase();
@@ -43,7 +43,7 @@ function encode(json: object): string {
* @returns a hex string of the encoded transaction * @returns a hex string of the encoded transaction
*/ */
function encodeForSigning(json: object): string { function encodeForSigning(json: object): string {
assert(typeof json === "object"); assert.ok(typeof json === "object");
return signingData(json as JsonObject) return signingData(json as JsonObject)
.toString("hex") .toString("hex")
.toUpperCase(); .toUpperCase();
@@ -57,7 +57,7 @@ function encodeForSigning(json: object): string {
* @returns a hex string of the encoded transaction * @returns a hex string of the encoded transaction
*/ */
function encodeForSigningClaim(json: object): string { function encodeForSigningClaim(json: object): string {
assert(typeof json === "object"); assert.ok(typeof json === "object");
return signingClaimData(json as ClaimObject) return signingClaimData(json as ClaimObject)
.toString("hex") .toString("hex")
.toUpperCase(); .toUpperCase();
@@ -71,7 +71,7 @@ function encodeForSigningClaim(json: object): string {
* @returns a hex string of the encoded transaction * @returns a hex string of the encoded transaction
*/ */
function encodeForMultisigning(json: object, signer: string): string { function encodeForMultisigning(json: object, signer: string): string {
assert(typeof json === "object"); assert.ok(typeof json === "object");
assert.equal(json["SigningPubKey"], ""); assert.equal(json["SigningPubKey"], "");
return multiSigningData(json as JsonObject, signer) return multiSigningData(json as JsonObject, signer)
.toString("hex") .toString("hex")
@@ -85,7 +85,7 @@ function encodeForMultisigning(json: object, signer: string): string {
* @returns a hex-string representing the quality * @returns a hex-string representing the quality
*/ */
function encodeQuality(value: string): string { function encodeQuality(value: string): string {
assert(typeof value === "string"); assert.ok(typeof value === "string");
return quality.encode(value).toString("hex").toUpperCase(); return quality.encode(value).toString("hex").toUpperCase();
} }
@@ -96,7 +96,7 @@ function encodeQuality(value: string): string {
* @returns a string representing the quality * @returns a string representing the quality
*/ */
function decodeQuality(value: string): string { function decodeQuality(value: string): string {
assert(typeof value === "string"); assert.ok(typeof value === "string");
return quality.decode(value).toString(); return quality.decode(value).toString();
} }

View File

@@ -45,7 +45,7 @@ interface transactionItemObject extends JsonObject {
function transactionItemizer( function transactionItemizer(
json: transactionItemObject json: transactionItemObject
): [Hash256, ShaMapNode, undefined] { ): [Hash256, ShaMapNode, undefined] {
assert(json.hash); assert.ok(json.hash);
const index = Hash256.from(json.hash); const index = Hash256.from(json.hash);
const item = { const item = {
hashPrefix() { hashPrefix() {
@@ -139,8 +139,8 @@ interface ledgerObject {
function ledgerHash(header: ledgerObject): Hash256 { function ledgerHash(header: ledgerObject): Hash256 {
const hash = new Sha512Half(); const hash = new Sha512Half();
hash.put(HashPrefix.ledgerHeader); hash.put(HashPrefix.ledgerHeader);
assert(header.parent_close_time !== undefined); assert.ok(header.parent_close_time !== undefined);
assert(header.close_flags !== undefined); assert.ok(header.close_flags !== undefined);
UInt32.from<number>(header.ledger_index).toBytesSink(hash); UInt32.from<number>(header.ledger_index).toBytesSink(hash);
UInt64.from<bigInt.BigInteger>( UInt64.from<bigInt.BigInteger>(
@@ -163,7 +163,7 @@ function ledgerHash(header: ledgerObject): Hash256 {
* @returns A JSON object describing a ledger header * @returns A JSON object describing a ledger header
*/ */
function decodeLedgerData(binary: string): object { function decodeLedgerData(binary: string): object {
assert(typeof binary === "string", "binary must be a hex string"); assert.ok(typeof binary === "string", "binary must be a hex string");
const parser = new BinaryParser(binary); const parser = new BinaryParser(binary);
return { return {
ledger_index: parser.readUInt32(), ledger_index: parser.readUInt32(),

View File

@@ -24,7 +24,7 @@ class BinaryParser {
* @returns The first byte of the BinaryParser * @returns The first byte of the BinaryParser
*/ */
peek(): number { peek(): number {
assert(this.bytes.byteLength !== 0); assert.ok(this.bytes.byteLength !== 0);
return this.bytes[0]; return this.bytes[0];
} }
@@ -34,7 +34,7 @@ class BinaryParser {
* @param n the number of bytes to skip * @param n the number of bytes to skip
*/ */
skip(n: number): void { skip(n: number): void {
assert(n <= this.bytes.byteLength); assert.ok(n <= this.bytes.byteLength);
this.bytes = this.bytes.slice(n); this.bytes = this.bytes.slice(n);
} }
@@ -45,7 +45,7 @@ class BinaryParser {
* @return The bytes * @return The bytes
*/ */
read(n: number): Buffer { read(n: number): Buffer {
assert(n <= this.bytes.byteLength); assert.ok(n <= this.bytes.byteLength);
const slice = this.bytes.slice(0, n); const slice = this.bytes.slice(0, n);
this.skip(n); this.skip(n);
@@ -59,7 +59,7 @@ class BinaryParser {
* @return The number represented by those bytes * @return The number represented by those bytes
*/ */
readUIntN(n: number): number { readUIntN(n: number): number {
assert(0 < n && n <= 4, "invalid n"); assert.ok(0 < n && n <= 4, "invalid n");
return this.read(n).reduce((a, b) => (a << 8) | b) >>> 0; return this.read(n).reduce((a, b) => (a << 8) | b) >>> 0;
} }

View File

@@ -128,8 +128,8 @@ class BinarySerializer {
*/ */
writeFieldAndValue(field: FieldInstance, value: SerializedType): void { writeFieldAndValue(field: FieldInstance, value: SerializedType): void {
const associatedValue = field.associatedType.from(value); const associatedValue = field.associatedType.from(value);
assert(associatedValue.toBytesSink !== undefined); assert.ok(associatedValue.toBytesSink !== undefined);
assert(field.name !== undefined); assert.ok(field.name !== undefined);
this.sink.put(field.header); this.sink.put(field.header);

View File

@@ -158,7 +158,7 @@ class ShaMapInner extends ShaMapNode {
* @param leaf Leaf node to insert when branch doesn't exist * @param leaf Leaf node to insert when branch doesn't exist
*/ */
addItem(index?: Hash256, item?: ShaMapNode, leaf?: ShaMapLeaf): void { addItem(index?: Hash256, item?: ShaMapNode, leaf?: ShaMapLeaf): void {
assert(index !== undefined); assert.ok(index !== undefined);
const nibble = index.nibblet(this.depth); const nibble = index.nibblet(this.depth);
const existing = this.branches[nibble]; const existing = this.branches[nibble];

View File

@@ -101,8 +101,8 @@ class STObject extends SerializedType {
const xAddressDecoded = Object.entries(value).reduce((acc, [key, val]) => { const xAddressDecoded = Object.entries(value).reduce((acc, [key, val]) => {
let handled: JsonObject | undefined = undefined; let handled: JsonObject | undefined = undefined;
if (isValidXAddress(val)) { if (val && isValidXAddress(val.toString())) {
handled = handleXAddress(key, val); handled = handleXAddress(key, val.toString());
checkForDuplicateTags(handled, value as JsonObject); checkForDuplicateTags(handled, value as JsonObject);
} }
return Object.assign(acc, handled ?? { [key]: val }); return Object.assign(acc, handled ?? { [key]: val });

View File

@@ -1,27 +1,30 @@
{ {
"compilerOptions": { "extends": "../../tsconfig.json",
"target": "es5", "compilerOptions": {
"lib": [ "target": "es5",
"es2017" "lib": [
], "es2017"
"outDir": "dist", ],
"rootDir": "src", "rootDir": "./src",
"module": "commonjs", "outDir": "./dist",
"moduleResolution": "node", "noUnusedLocals": true,
"noUnusedLocals": true, "noUnusedParameters": true,
"noUnusedParameters": true, "resolveJsonModule": true,
"resolveJsonModule": true, "noImplicitThis": false,
"noImplicitThis": false, "noImplicitAny": false,
"noImplicitAny": false, "removeComments": false,
"removeComments": false, "preserveConstEnums": false,
"preserveConstEnums": false, "suppressImplicitAnyIndexErrors": true,
"suppressImplicitAnyIndexErrors": true, "skipLibCheck": true,
"sourceMap": true, "declaration": true
"skipLibCheck": true, },
"declaration": true, "references": [
"strict": true {
}, "path": "../ripple-address-codec/tsconfig.json"
"include": [ }
"src/**/*.ts" ],
] "include": [
} "src/**/*.ts",
"src/**/*.json"
]
}

View File

@@ -1,25 +0,0 @@
version: 2
updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
time: "15:00"
open-pull-requests-limit: 20
ignore:
- dependency-name: "@types/node"
versions:
- 14.14.22
- 14.14.25
- 14.14.28
- 14.14.32
- 14.14.34
- 14.14.35
- 14.14.37
- dependency-name: mocha
versions:
- 8.3.1
- 8.3.2
- dependency-name: typescript
versions:
- 4.2.2

View File

@@ -1,67 +0,0 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '44 23 * * 3'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps:
- name: Checkout repository
uses: actions/checkout@v2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

View File

@@ -1,32 +0,0 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Node.js CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x, 12.x, 13.x, 14.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm install
- run: npm test
- run: npm run lint
- run: npm run compile
- run: npm run coverage

View File

@@ -1,32 +0,0 @@
coverage:
# How to display and round code coverage
precision: 2
round: down
# Range of coverages to consider "green"
range: '95...100'
status:
#
project:
default:
# Target defines our target coverage number. 'auto' here would uses coverage from the base commit
target: 100%
# Threshold defines how much coverage is allowed to drop
threshold: 0%
# Measures how well the lines diffed in a PR are tested
patch:
default:
target: 100%
threshold: 0%
# Status will fail if no report for the head
if_not_found: failure
# Configure the PR comments that Codecov leaves
comment:
# 'reach' is a coverage graph embedded
# 'diff' is the coverage diff of the PR
# 'files' are a list of files impacted by the PR
layout: 'diff, files'
# Delete old coverage comment and post new one on PR changes
behavior: new
# Only post a new comment if coverage changes
require_changes: true

View File

@@ -5,6 +5,7 @@
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "ripple-keypairs",
"version": "1.0.3", "version": "1.0.3",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
@@ -19,7 +20,6 @@
"@types/node": "^16.4.3", "@types/node": "^16.4.3",
"@typescript-eslint/eslint-plugin": "^2.19.0", "@typescript-eslint/eslint-plugin": "^2.19.0",
"@typescript-eslint/parser": "^2.16.0", "@typescript-eslint/parser": "^2.16.0",
"codecov": "^3.6.2",
"eslint": "^7.32.0", "eslint": "^7.32.0",
"eslint-config-airbnb-base": "^14.0.0", "eslint-config-airbnb-base": "^14.0.0",
"eslint-config-airbnb-typescript": "^7.0.0", "eslint-config-airbnb-typescript": "^7.0.0",
@@ -578,15 +578,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/@tootallnate/once": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
"integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
"dev": true,
"engines": {
"node": ">= 6"
}
},
"node_modules/@tsconfig/node10": { "node_modules/@tsconfig/node10": {
"version": "1.0.8", "version": "1.0.8",
"resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz",
@@ -781,18 +772,6 @@
"node": ">=0.4.0" "node": ">=0.4.0"
} }
}, },
"node_modules/agent-base": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"dev": true,
"dependencies": {
"debug": "4"
},
"engines": {
"node": ">= 6.0.0"
}
},
"node_modules/aggregate-error": { "node_modules/aggregate-error": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
@@ -898,15 +877,6 @@
"sprintf-js": "~1.0.2" "sprintf-js": "~1.0.2"
} }
}, },
"node_modules/argv": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz",
"integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=",
"dev": true,
"engines": {
"node": ">=0.6.10"
}
},
"node_modules/aria-query": { "node_modules/aria-query": {
"version": "4.2.2", "version": "4.2.2",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz",
@@ -1219,25 +1189,6 @@
"wrap-ansi": "^7.0.0" "wrap-ansi": "^7.0.0"
} }
}, },
"node_modules/codecov": {
"version": "3.8.3",
"resolved": "https://registry.npmjs.org/codecov/-/codecov-3.8.3.tgz",
"integrity": "sha512-Y8Hw+V3HgR7V71xWH2vQ9lyS358CbGCldWlJFR0JirqoGtOoas3R3/OclRTvgUYFK29mmJICDPauVKmpqbwhOA==",
"dev": true,
"dependencies": {
"argv": "0.0.2",
"ignore-walk": "3.0.4",
"js-yaml": "3.14.1",
"teeny-request": "7.1.1",
"urlgrey": "1.0.0"
},
"bin": {
"codecov": "bin/codecov"
},
"engines": {
"node": ">=4.0"
}
},
"node_modules/color-convert": { "node_modules/color-convert": {
"version": "1.9.3", "version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -2176,21 +2127,6 @@
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
"dev": true "dev": true
}, },
"node_modules/fast-url-parser": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz",
"integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=",
"dev": true,
"dependencies": {
"punycode": "^1.3.2"
}
},
"node_modules/fast-url-parser/node_modules/punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true
},
"node_modules/file-entry-cache": { "node_modules/file-entry-cache": {
"version": "6.0.1", "version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -2698,33 +2634,6 @@
"integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
"dev": true "dev": true
}, },
"node_modules/http-proxy-agent": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
"integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
"dev": true,
"dependencies": {
"@tootallnate/once": "1",
"agent-base": "6",
"debug": "4"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/https-proxy-agent": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
"integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
"dev": true,
"dependencies": {
"agent-base": "6",
"debug": "4"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/ignore": { "node_modules/ignore": {
"version": "4.0.6", "version": "4.0.6",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
@@ -2734,15 +2643,6 @@
"node": ">= 4" "node": ">= 4"
} }
}, },
"node_modules/ignore-walk": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz",
"integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==",
"dev": true,
"dependencies": {
"minimatch": "^3.0.4"
}
},
"node_modules/import-fresh": { "node_modules/import-fresh": {
"version": "3.3.0", "version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@@ -3727,15 +3627,6 @@
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
"dev": true "dev": true
}, },
"node_modules/node-fetch": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
"dev": true,
"engines": {
"node": "4.x || >=6.0.0"
}
},
"node_modules/node-preload": { "node_modules/node-preload": {
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
@@ -4674,15 +4565,6 @@
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true "dev": true
}, },
"node_modules/stream-events": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz",
"integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==",
"dev": true,
"dependencies": {
"stubs": "^3.0.0"
}
},
"node_modules/string_decoder": { "node_modules/string_decoder": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
@@ -4803,12 +4685,6 @@
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/stubs": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz",
"integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=",
"dev": true
},
"node_modules/supports-color": { "node_modules/supports-color": {
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -4860,31 +4736,6 @@
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true "dev": true
}, },
"node_modules/teeny-request": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-7.1.1.tgz",
"integrity": "sha512-iwY6rkW5DDGq8hE2YgNQlKbptYpY5Nn2xecjQiNjOXWbKzPGUfmeUBCSQbbr306d7Z7U2N0TPl+/SwYRfua1Dg==",
"dev": true,
"dependencies": {
"http-proxy-agent": "^4.0.0",
"https-proxy-agent": "^5.0.0",
"node-fetch": "^2.6.1",
"stream-events": "^1.0.5",
"uuid": "^8.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/teeny-request/node_modules/uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
"dev": true,
"bin": {
"uuid": "dist/bin/uuid"
}
},
"node_modules/test-exclude": { "node_modules/test-exclude": {
"version": "6.0.0", "version": "6.0.0",
"resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
@@ -5109,15 +4960,6 @@
"punycode": "^2.1.0" "punycode": "^2.1.0"
} }
}, },
"node_modules/urlgrey": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-1.0.0.tgz",
"integrity": "sha512-hJfIzMPJmI9IlLkby8QrsCykQ+SXDeO2W5Q9QTW3QpqZVTx4a/K7p8/5q+/isD8vsbVaFgql/gvAoQCRQ2Cb5w==",
"dev": true,
"dependencies": {
"fast-url-parser": "^1.1.3"
}
},
"node_modules/util-deprecate": { "node_modules/util-deprecate": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -5774,12 +5616,6 @@
"integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
"dev": true "dev": true
}, },
"@tootallnate/once": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
"integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
"dev": true
},
"@tsconfig/node10": { "@tsconfig/node10": {
"version": "1.0.8", "version": "1.0.8",
"resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz",
@@ -5910,15 +5746,6 @@
"integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==", "integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==",
"dev": true "dev": true
}, },
"agent-base": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"dev": true,
"requires": {
"debug": "4"
}
},
"aggregate-error": { "aggregate-error": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
@@ -6002,12 +5829,6 @@
"sprintf-js": "~1.0.2" "sprintf-js": "~1.0.2"
} }
}, },
"argv": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz",
"integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=",
"dev": true
},
"aria-query": { "aria-query": {
"version": "4.2.2", "version": "4.2.2",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz",
@@ -6250,19 +6071,6 @@
"wrap-ansi": "^7.0.0" "wrap-ansi": "^7.0.0"
} }
}, },
"codecov": {
"version": "3.8.3",
"resolved": "https://registry.npmjs.org/codecov/-/codecov-3.8.3.tgz",
"integrity": "sha512-Y8Hw+V3HgR7V71xWH2vQ9lyS358CbGCldWlJFR0JirqoGtOoas3R3/OclRTvgUYFK29mmJICDPauVKmpqbwhOA==",
"dev": true,
"requires": {
"argv": "0.0.2",
"ignore-walk": "3.0.4",
"js-yaml": "3.14.1",
"teeny-request": "7.1.1",
"urlgrey": "1.0.0"
}
},
"color-convert": { "color-convert": {
"version": "1.9.3", "version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -6994,23 +6802,6 @@
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
"dev": true "dev": true
}, },
"fast-url-parser": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz",
"integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=",
"dev": true,
"requires": {
"punycode": "^1.3.2"
},
"dependencies": {
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true
}
}
},
"file-entry-cache": { "file-entry-cache": {
"version": "6.0.1", "version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -7363,42 +7154,12 @@
"integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
"dev": true "dev": true
}, },
"http-proxy-agent": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
"integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
"dev": true,
"requires": {
"@tootallnate/once": "1",
"agent-base": "6",
"debug": "4"
}
},
"https-proxy-agent": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
"integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
"dev": true,
"requires": {
"agent-base": "6",
"debug": "4"
}
},
"ignore": { "ignore": {
"version": "4.0.6", "version": "4.0.6",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
"integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
"dev": true "dev": true
}, },
"ignore-walk": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz",
"integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==",
"dev": true,
"requires": {
"minimatch": "^3.0.4"
}
},
"import-fresh": { "import-fresh": {
"version": "3.3.0", "version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@@ -8123,12 +7884,6 @@
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
"dev": true "dev": true
}, },
"node-fetch": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
"dev": true
},
"node-preload": { "node-preload": {
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
@@ -8845,15 +8600,6 @@
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true "dev": true
}, },
"stream-events": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz",
"integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==",
"dev": true,
"requires": {
"stubs": "^3.0.0"
}
},
"string_decoder": { "string_decoder": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
@@ -8938,12 +8684,6 @@
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
"dev": true "dev": true
}, },
"stubs": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz",
"integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=",
"dev": true
},
"supports-color": { "supports-color": {
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -8987,27 +8727,6 @@
} }
} }
}, },
"teeny-request": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-7.1.1.tgz",
"integrity": "sha512-iwY6rkW5DDGq8hE2YgNQlKbptYpY5Nn2xecjQiNjOXWbKzPGUfmeUBCSQbbr306d7Z7U2N0TPl+/SwYRfua1Dg==",
"dev": true,
"requires": {
"http-proxy-agent": "^4.0.0",
"https-proxy-agent": "^5.0.0",
"node-fetch": "^2.6.1",
"stream-events": "^1.0.5",
"uuid": "^8.0.0"
},
"dependencies": {
"uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
"dev": true
}
}
},
"test-exclude": { "test-exclude": {
"version": "6.0.0", "version": "6.0.0",
"resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
@@ -9169,15 +8888,6 @@
"punycode": "^2.1.0" "punycode": "^2.1.0"
} }
}, },
"urlgrey": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-1.0.0.tgz",
"integrity": "sha512-hJfIzMPJmI9IlLkby8QrsCykQ+SXDeO2W5Q9QTW3QpqZVTx4a/K7p8/5q+/isD8vsbVaFgql/gvAoQCRQ2Cb5w==",
"dev": true,
"requires": {
"fast-url-parser": "^1.1.3"
}
},
"util-deprecate": { "util-deprecate": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",

View File

@@ -3,11 +3,11 @@
"version": "1.0.3", "version": "1.0.3",
"description": "Cryptographic key pairs for the XRP Ledger", "description": "Cryptographic key pairs for the XRP Ledger",
"scripts": { "scripts": {
"compile": "tsc", "build": "tsc -b",
"test": "tsc && nyc mocha", "test": "tsc -b && nyc mocha",
"clean": "rm -rf ./dist && rm -rf tsconfig.tsbuildinfo",
"lint": "eslint . --ext .ts --fix", "lint": "eslint . --ext .ts --fix",
"prepublish": "npm run lint && npm test", "prepublish": "npm run lint && npm test"
"coverage": "nyc --reporter=lcov mocha && codecov"
}, },
"files": [ "files": [
"dist/*" "dist/*"
@@ -28,7 +28,6 @@
"@types/node": "^16.4.3", "@types/node": "^16.4.3",
"@typescript-eslint/eslint-plugin": "^2.19.0", "@typescript-eslint/eslint-plugin": "^2.19.0",
"@typescript-eslint/parser": "^2.16.0", "@typescript-eslint/parser": "^2.16.0",
"codecov": "^3.6.2",
"eslint": "^7.32.0", "eslint": "^7.32.0",
"eslint-config-airbnb-base": "^14.0.0", "eslint-config-airbnb-base": "^14.0.0",
"eslint-config-airbnb-typescript": "^7.0.0", "eslint-config-airbnb-typescript": "^7.0.0",
@@ -45,7 +44,7 @@
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git://github.com/ripple/ripple-keypairs.git" "url": "git@github.com:XRPLF/xrpl.js.git"
}, },
"license": "ISC", "license": "ISC",
"engines": { "engines": {

View File

@@ -19,7 +19,10 @@ function generateSeed(
algorithm?: 'ed25519' | 'ecdsa-secp256k1' algorithm?: 'ed25519' | 'ecdsa-secp256k1'
} = {}, } = {},
): string { ): string {
assert(!options.entropy || options.entropy.length >= 16, 'entropy too short') assert.ok(
!options.entropy || options.entropy.length >= 16,
'entropy too short',
)
const entropy = options.entropy ? options.entropy.slice(0, 16) : brorand(16) const entropy = options.entropy ? options.entropy.slice(0, 16) : brorand(16)
const type = options.algorithm === 'ed25519' ? 'ed25519' : 'secp256k1' const type = options.algorithm === 'ed25519' ? 'ed25519' : 'secp256k1'
return addressCodec.encodeSeed(entropy, type) return addressCodec.encodeSeed(entropy, type)
@@ -79,7 +82,7 @@ const ed25519 = {
sign(message, privateKey): string { sign(message, privateKey): string {
// caution: Ed25519.sign interprets all strings as hex, stripping // caution: Ed25519.sign interprets all strings as hex, stripping
// any non-hex characters without warning // any non-hex characters without warning
assert(Array.isArray(message), 'message must be array of octets') assert.ok(Array.isArray(message), 'message must be array of octets')
return bytesToHex( return bytesToHex(
Ed25519.sign(message, hexToBytes(privateKey).slice(1)).toBytes(), Ed25519.sign(message, hexToBytes(privateKey).slice(1)).toBytes(),
) )

View File

@@ -12,7 +12,7 @@ function bytesToHex(a): string {
} }
function hexToBytes(a): number[] { function hexToBytes(a): number[] {
assert(a.length % 2 === 0) assert.ok(a.length % 2 === 0)
return new BN(a, 16).toArray(null, a.length / 2) return new BN(a, 16).toArray(null, a.length / 2)
} }

View File

@@ -1,31 +1,20 @@
{ {
"extends": "../../tsconfig.json",
"compilerOptions": { "compilerOptions": {
// Basic Options
"target": "ES2017", "target": "ES2017",
"module": "CommonJS",
"declaration": true, "declaration": true,
"declarationMap": true, "declarationMap": true,
"sourceMap": true, "outDir": "./dist",
"rootDir": "./src",
// Directories
"outDir": "dist",
"rootDir": "src",
// Strict Type-Checking Options
"strict": true,
"noImplicitAny": false, "noImplicitAny": false,
// Additional Checks
"noUnusedLocals": true, "noUnusedLocals": true,
"noUnusedParameters": true, "noUnusedParameters": true,
"noImplicitReturns": true, "noImplicitReturns": true,
"noFallthroughCasesInSwitch": true, "noFallthroughCasesInSwitch": true,
// Module Resolution Options
"moduleResolution": "node",
// Advanced Options
"forceConsistentCasingInFileNames": true "forceConsistentCasingInFileNames": true
}, },
"references": [{
"path": "../ripple-address-codec/tsconfig.json"
}],
"include": ["src/**/*.ts"] "include": ["src/**/*.ts"]
} }

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,7 @@
{ {
"extends": "../tsconfig.build.json", "extends": "../tsconfig.json",
"compilerOptions": { "compilerOptions": {
"outDir": "./dist", "rootDir": "./src"
}, },
"include": [ "include": ["./src/**/*.ts"]
"./src/**/*.ts"
]
} }

View File

@@ -1,4 +1,18 @@
{ {
"extends": "./tsconfig.json", "extends": "./tsconfig.json",
"include": ["src/**/*.ts"] "compilerOptions": {
} "rootDir": "./src"
},
"include": ["./src/**/*.ts"],
"references": [
{
"path": "../ripple-address-codec/tsconfig.json"
},
{
"path": "../ripple-binary-codec/tsconfig.json"
},
{
"path": "../ripple-keypairs/tsconfig.json"
}
]
}

View File

@@ -1,12 +1,11 @@
{ {
"extends": "./tsconfig.json", "extends": "./tsconfig.json",
"include": [ "include": [
"./src/**/*.ts", "./src/**/*.ts",
"./test/**/*.ts", "./test/**/*.ts",
"./snippets/src/**/*.ts", "./snippets/src/**/*.ts",
".prettierrc.js", ".prettierrc.js",
".eslintrc.js", ".eslintrc.js",
"jest.config.js" "jest.config.js"
] ]
} }

View File

@@ -1,16 +1,11 @@
{ {
"extends": "../../tsconfig.json",
"compilerOptions": { "compilerOptions": {
"pretty": true, "pretty": true,
"target": "es6", "target": "es6",
"module": "commonjs",
"moduleResolution": "node",
"outDir": "./dist/npm", "outDir": "./dist/npm",
"declaration": true, "declaration": true,
"declarationMap": true, "declarationMap": true,
"sourceMap": true,
"strict": true,
"strictNullChecks": true, "strictNullChecks": true,
"noImplicitAny": false, "noImplicitAny": false,
"noUnusedLocals": true, "noUnusedLocals": true,

View File

@@ -53,6 +53,10 @@ function getDefaultConfiguration() {
'https-proxy-agent': false, 'https-proxy-agent': false,
}, },
extensions: ['.js', '.json'], extensions: ['.js', '.json'],
// We don't want to webpack any of the local dependencies:
// ripple-address-codec, ripple-binary-codec, ripple-keypairs, which are
// symlinked together via lerna
symlinks: false,
fallback: { fallback: {
buffer: require.resolve('buffer/'), buffer: require.resolve('buffer/'),
assert: require.resolve('assert/'), assert: require.resolve('assert/'),

13
tsconfig.json Normal file
View File

@@ -0,0 +1,13 @@
{
"compilerOptions": {
"composite": true,
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"strict": true
},
"exclude": [
"node_modules",
"dist"
]
}