Compare commits

...

19 Commits

Author SHA1 Message Date
nixer89
15cfee9e65 fix lint line ending error on windows 2021-12-16 16:08:30 +01:00
nixer89
7efdbe7b1f Merge branch 'main' into ds/wallet-from-secret-numbers 2021-12-16 15:50:29 +01:00
nixer89
700a18bb68 use 'const' over 'let' and simply forward opts 2021-12-16 15:07:17 +01:00
Jackson Mills
22e104ef3a Regenerated the lockfile 2021-11-30 11:09:37 -08:00
nixer89
45b8d91017 lint fix #2 2021-11-23 11:44:28 +01:00
nixer89
c655993e10 fix lint 2021-11-23 11:40:03 +01:00
nixer89
63c469f89a updates for PR 2021-11-23 11:19:50 +01:00
Daniel
88e9b4dae2 Update packages/xrpl/src/Wallet/index.ts
Co-authored-by: Jackson Mills <aim4math@gmail.com>
2021-11-23 11:15:35 +01:00
nixer89
e558399263 Merge branch 'develop' into ds/wallet-from-secret-numbers 2021-11-23 11:11:38 +01:00
Greg Weisbrod
ea32c888b1 run lint --fix 2021-11-15 22:58:10 -05:00
Greg Weisbrod
ce833a66a7 fix tsc errors in ripple-keypairs 2021-11-15 22:50:04 -05:00
Greg Weisbrod
01a3938307 Merge branch 'ds/wallet-from-secret-numbers' of https://github.com/XRPLF/xrpl.js into ds/wallet-from-secret-numbers 2021-11-15 22:40:37 -05:00
Greg Weisbrod
8e14f6a6a6 update package lock 2021-11-15 22:40:13 -05:00
ledhed2222
02f638f0ea Merge branch 'develop' into ds/wallet-from-secret-numbers 2021-11-15 22:36:06 -05:00
Daniel
75ccbbdfd7 Merge branch 'develop' into ds/wallet-from-secret-numbers 2021-11-15 14:19:23 +01:00
nixer89
55245e0422 move dependency from top level package.json to xrpl package.json 2021-11-15 13:55:53 +01:00
nixer89
976a77ab49 add back xrpl-secret-numbers lib after merge 2021-11-12 12:09:56 +01:00
nixer89
99fb3bd0e6 Merge branch 'develop' into ds/wallet-from-secret-numbers 2021-11-12 11:56:57 +01:00
nixer89
42bb7bb603 add the possibility to create a wallet from Secret Numbers 2021-11-12 11:40:28 +01:00
8 changed files with 185 additions and 58 deletions

101
package-lock.json generated
View File

@@ -719,7 +719,6 @@
}, },
"node_modules/@es-joy/jsdoccomment": { "node_modules/@es-joy/jsdoccomment": {
"version": "0.12.0", "version": "0.12.0",
"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.12.0.tgz",
"integrity": "sha512-Gw4/j9v36IKY8ET+W0GoOzrRw17xjf21EIFFRL3zx21fF5MnqmeNpNi+PU/LKjqLpPb2Pw2XdlJbYM31VVo/PQ==", "integrity": "sha512-Gw4/j9v36IKY8ET+W0GoOzrRw17xjf21EIFFRL3zx21fF5MnqmeNpNi+PU/LKjqLpPb2Pw2XdlJbYM31VVo/PQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
@@ -733,7 +732,6 @@
}, },
"node_modules/@es-joy/jsdoccomment/node_modules/comment-parser": { "node_modules/@es-joy/jsdoccomment/node_modules/comment-parser": {
"version": "1.2.4", "version": "1.2.4",
"resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.2.4.tgz",
"integrity": "sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==", "integrity": "sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==",
"dev": true, "dev": true,
"engines": { "engines": {
@@ -2796,6 +2794,13 @@
"@babel/types": "^7.3.0" "@babel/types": "^7.3.0"
} }
}, },
"node_modules/@types/brorand": {
"version": "1.0.30",
"integrity": "sha1-NmaYVFCddw4TA3xYBMyAlfwcors=",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/chai": { "node_modules/@types/chai": {
"version": "4.2.22", "version": "4.2.22",
"integrity": "sha512-tFfcE+DSTzWAgifkjik9AySNqIyNoYwmR+uecPwwD/XRNfvOjmC/FjCxpiUGDkDVDphPfCUecSQVFw+lN3M3kQ==", "integrity": "sha512-tFfcE+DSTzWAgifkjik9AySNqIyNoYwmR+uecPwwD/XRNfvOjmC/FjCxpiUGDkDVDphPfCUecSQVFw+lN3M3kQ==",
@@ -2803,7 +2808,6 @@
}, },
"node_modules/@types/create-hash": { "node_modules/@types/create-hash": {
"version": "1.2.2", "version": "1.2.2",
"resolved": "https://registry.npmjs.org/@types/create-hash/-/create-hash-1.2.2.tgz",
"integrity": "sha512-Fg8/kfMJObbETFU/Tn+Y0jieYewryLrbKwLCEIwPyklZZVY2qB+64KFjhplGSw+cseZosfFXctXO+PyIYD8iZQ==", "integrity": "sha512-Fg8/kfMJObbETFU/Tn+Y0jieYewryLrbKwLCEIwPyklZZVY2qB+64KFjhplGSw+cseZosfFXctXO+PyIYD8iZQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
@@ -2894,9 +2898,7 @@
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "16.11.11", "version": "16.11.11",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.11.tgz", "integrity": "sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw=="
"integrity": "sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw==",
"dev": true
}, },
"node_modules/@types/normalize-package-data": { "node_modules/@types/normalize-package-data": {
"version": "2.4.1", "version": "2.4.1",
@@ -4885,7 +4887,6 @@
}, },
"node_modules/comment-parser": { "node_modules/comment-parser": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz",
"integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==", "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==",
"dev": true, "dev": true,
"engines": { "engines": {
@@ -6050,7 +6051,6 @@
}, },
"node_modules/eslint-plugin-consistent-default-export-name": { "node_modules/eslint-plugin-consistent-default-export-name": {
"version": "0.0.14", "version": "0.0.14",
"resolved": "https://registry.npmjs.org/eslint-plugin-consistent-default-export-name/-/eslint-plugin-consistent-default-export-name-0.0.14.tgz",
"integrity": "sha512-9+YfYLQchFArcFvg7vHPjJZi3sUUIA5D2DWLmZzFbnmRf+wdX/9lgbKEaiJKfr+3/sYIvP71EdFlpjzOlSbm2Q==", "integrity": "sha512-9+YfYLQchFArcFvg7vHPjJZi3sUUIA5D2DWLmZzFbnmRf+wdX/9lgbKEaiJKfr+3/sYIvP71EdFlpjzOlSbm2Q==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
@@ -6091,7 +6091,6 @@
}, },
"node_modules/eslint-plugin-import": { "node_modules/eslint-plugin-import": {
"version": "2.25.3", "version": "2.25.3",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.3.tgz",
"integrity": "sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg==", "integrity": "sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
@@ -6142,7 +6141,6 @@
}, },
"node_modules/eslint-plugin-jsdoc": { "node_modules/eslint-plugin-jsdoc": {
"version": "37.1.0", "version": "37.1.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.1.0.tgz",
"integrity": "sha512-DpkFzX5Sqkqzy4MCgowhDXmusWcF1Gn7wYnphdGfWmIkoQr6SwL0jEtltGAVyF5Rj6ACi6ydw0oCCI5hF3yz6w==", "integrity": "sha512-DpkFzX5Sqkqzy4MCgowhDXmusWcF1Gn7wYnphdGfWmIkoQr6SwL0jEtltGAVyF5Rj6ACi6ydw0oCCI5hF3yz6w==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
@@ -6165,7 +6163,6 @@
}, },
"node_modules/eslint-plugin-jsdoc/node_modules/debug": { "node_modules/eslint-plugin-jsdoc/node_modules/debug": {
"version": "4.3.3", "version": "4.3.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
@@ -7198,19 +7195,6 @@
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true "dev": true
}, },
"node_modules/fsevents": {
"version": "2.3.2",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
"hasInstallScript": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/function-bind": { "node_modules/function-bind": {
"version": "1.1.1", "version": "1.1.1",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
@@ -9821,7 +9805,6 @@
}, },
"node_modules/jsdoc-type-pratt-parser": { "node_modules/jsdoc-type-pratt-parser": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.0.0.tgz",
"integrity": "sha512-sUuj2j48wxrEpbFjDp1sAesAxPiLT+z0SWVmMafyIINs6Lj5gIPKh3VrkBZu4E/Dv+wHpOot0m6H8zlHQjwqeQ==", "integrity": "sha512-sUuj2j48wxrEpbFjDp1sAesAxPiLT+z0SWVmMafyIINs6Lj5gIPKh3VrkBZu4E/Dv+wHpOot0m6H8zlHQjwqeQ==",
"dev": true, "dev": true,
"engines": { "engines": {
@@ -12767,7 +12750,6 @@
}, },
"node_modules/prettier": { "node_modules/prettier": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.0.tgz",
"integrity": "sha512-FM/zAKgWTxj40rH03VxzIPdXmj39SwSjwG0heUcNFwI+EMZJnY93yAiKXM3dObIKAM5TA88werc8T/EwhB45eg==", "integrity": "sha512-FM/zAKgWTxj40rH03VxzIPdXmj39SwSjwG0heUcNFwI+EMZJnY93yAiKXM3dObIKAM5TA88werc8T/EwhB45eg==",
"dev": true, "dev": true,
"bin": { "bin": {
@@ -15577,7 +15559,6 @@
}, },
"node_modules/typedoc": { "node_modules/typedoc": {
"version": "0.22.10", "version": "0.22.10",
"resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.10.tgz",
"integrity": "sha512-hQYZ4WtoMZ61wDC6w10kxA42+jclWngdmztNZsDvIz7BMJg7F2xnT+uYsUa7OluyKossdFj9E9Ye4QOZKTy8SA==", "integrity": "sha512-hQYZ4WtoMZ61wDC6w10kxA42+jclWngdmztNZsDvIz7BMJg7F2xnT+uYsUa7OluyKossdFj9E9Ye4QOZKTy8SA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
@@ -15622,7 +15603,6 @@
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "4.5.2", "version": "4.5.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz",
"integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==",
"dev": true, "dev": true,
"bin": { "bin": {
@@ -16482,6 +16462,16 @@
"resolved": "packages/xrpl/src", "resolved": "packages/xrpl/src",
"link": true "link": true
}, },
"node_modules/xrpl-secret-numbers": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/xrpl-secret-numbers/-/xrpl-secret-numbers-0.3.3.tgz",
"integrity": "sha512-D6VeXQVJcWQllNDZtX/h+hlnk06bP1EkVZhm14qnEwR8vE/svZJuwrYJQIREkglOJyeZ/+09CHh2iDXgI2ZclQ==",
"dependencies": {
"@types/brorand": "^1.0.30",
"brorand": "^1.1.0",
"ripple-keypairs": "^1.0.3"
}
},
"node_modules/xtend": { "node_modules/xtend": {
"version": "4.0.2", "version": "4.0.2",
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
@@ -16610,7 +16600,7 @@
}, },
"packages/ripple-address-codec": { "packages/ripple-address-codec": {
"version": "4.2.2", "version": "4.2.2",
"integrity": "sha512-9QhBNDiWjwj7l+WQ7H7klXF/VwxVj2Q0HRhd4vLCueTPoxUtaNQyfvUZFiXJrqxg0heM3/iWxupkq4TwrXgSuQ==", "integrity": "sha512-+SwDjVS3yBetAPwvLTE2un/WDyaimMTFo5VmvJ7j0Sei28moBtn0lo9RV/CXAtlzp2gWXT4rKml8ynMf8lGO+w==",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"base-x": "3.0.9", "base-x": "3.0.9",
@@ -16622,7 +16612,7 @@
}, },
"packages/ripple-binary-codec": { "packages/ripple-binary-codec": {
"version": "1.2.2", "version": "1.2.2",
"integrity": "sha512-XMRCbFXyG+dGp3x7tMs9IwA+FVWPPaGjdHYW2+g4Q/WQJqFp5MRED+jjOBOUafmrW4TUsOn1PEEdbB4ozWbDBw==", "integrity": "sha512-ojFBSkr2qP1th9ynEp1wGNi2n/lhsMRR+geIDh31W/CuKBDMzRHu4xLfGdoJb7L39oQl1v2fbc+6tuBB6+1JMQ==",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"assert": "^2.0.0", "assert": "^2.0.0",
@@ -16646,7 +16636,7 @@
}, },
"packages/ripple-keypairs": { "packages/ripple-keypairs": {
"version": "1.1.2", "version": "1.1.2",
"integrity": "sha512-Zlmbtn2YUpW4uKlLm2/tpkY5RC/EXQlkJwIIKp0AoF9D23pJ43/EuipNW2F6qURdbkUezDwB0bMV7uRXip3x2w==", "integrity": "sha512-8qIQTdTDGmCjMOnqKuRo1eD3tq/s5prTuGXktcE33DteB6928VHD00IyGFV81JFjGwJlejco1yWSvB5Du4+Owg==",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"bn.js": "^5.1.1", "bn.js": "^5.1.1",
@@ -16661,7 +16651,7 @@
}, },
"packages/xrpl": { "packages/xrpl": {
"version": "2.0.4", "version": "2.0.4",
"integrity": "sha512-NmrSYpXym7NzGABeXU1H8g4ZtCxRhr/3wu0lguxzcIYpcKPgWLYimg+s9NLLNbPWTZdxXu9SeSWu5zh4gyqAeA==", "integrity": "sha512-7aGYp4baokxA0J4xirdY4cUrS8ALQYVF0jAAIrzGxzCRjlOqm6NRgXyiETvxcDU5A/Ecyd9kDD1b3ovKBdL3PA==",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"bignumber.js": "^9.0.0", "bignumber.js": "^9.0.0",
@@ -16672,7 +16662,8 @@
"ripple-address-codec": "^4.2.2", "ripple-address-codec": "^4.2.2",
"ripple-binary-codec": "^1.2.2", "ripple-binary-codec": "^1.2.2",
"ripple-keypairs": "^1.1.2", "ripple-keypairs": "^1.1.2",
"ws": "^8.2.2" "ws": "^8.2.2",
"xrpl-secret-numbers": "^0.3.3"
}, },
"devDependencies": { "devDependencies": {
"xrpl-local": "file:./src" "xrpl-local": "file:./src"
@@ -16701,8 +16692,6 @@
} }
}, },
"packages/xrpl/src": { "packages/xrpl/src": {
"name": "xrpl-local",
"version": "0.0.1",
"dev": true "dev": true
} }
}, },
@@ -17189,7 +17178,6 @@
}, },
"@es-joy/jsdoccomment": { "@es-joy/jsdoccomment": {
"version": "0.12.0", "version": "0.12.0",
"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.12.0.tgz",
"integrity": "sha512-Gw4/j9v36IKY8ET+W0GoOzrRw17xjf21EIFFRL3zx21fF5MnqmeNpNi+PU/LKjqLpPb2Pw2XdlJbYM31VVo/PQ==", "integrity": "sha512-Gw4/j9v36IKY8ET+W0GoOzrRw17xjf21EIFFRL3zx21fF5MnqmeNpNi+PU/LKjqLpPb2Pw2XdlJbYM31VVo/PQ==",
"dev": true, "dev": true,
"requires": { "requires": {
@@ -17200,7 +17188,6 @@
"dependencies": { "dependencies": {
"comment-parser": { "comment-parser": {
"version": "1.2.4", "version": "1.2.4",
"resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.2.4.tgz",
"integrity": "sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==", "integrity": "sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==",
"dev": true "dev": true
} }
@@ -18854,6 +18841,13 @@
"@babel/types": "^7.3.0" "@babel/types": "^7.3.0"
} }
}, },
"@types/brorand": {
"version": "1.0.30",
"integrity": "sha1-NmaYVFCddw4TA3xYBMyAlfwcors=",
"requires": {
"@types/node": "*"
}
},
"@types/chai": { "@types/chai": {
"version": "4.2.22", "version": "4.2.22",
"integrity": "sha512-tFfcE+DSTzWAgifkjik9AySNqIyNoYwmR+uecPwwD/XRNfvOjmC/FjCxpiUGDkDVDphPfCUecSQVFw+lN3M3kQ==", "integrity": "sha512-tFfcE+DSTzWAgifkjik9AySNqIyNoYwmR+uecPwwD/XRNfvOjmC/FjCxpiUGDkDVDphPfCUecSQVFw+lN3M3kQ==",
@@ -18861,7 +18855,6 @@
}, },
"@types/create-hash": { "@types/create-hash": {
"version": "1.2.2", "version": "1.2.2",
"resolved": "https://registry.npmjs.org/@types/create-hash/-/create-hash-1.2.2.tgz",
"integrity": "sha512-Fg8/kfMJObbETFU/Tn+Y0jieYewryLrbKwLCEIwPyklZZVY2qB+64KFjhplGSw+cseZosfFXctXO+PyIYD8iZQ==", "integrity": "sha512-Fg8/kfMJObbETFU/Tn+Y0jieYewryLrbKwLCEIwPyklZZVY2qB+64KFjhplGSw+cseZosfFXctXO+PyIYD8iZQ==",
"dev": true, "dev": true,
"requires": { "requires": {
@@ -18952,9 +18945,7 @@
}, },
"@types/node": { "@types/node": {
"version": "16.11.11", "version": "16.11.11",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.11.tgz", "integrity": "sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw=="
"integrity": "sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw==",
"dev": true
}, },
"@types/normalize-package-data": { "@types/normalize-package-data": {
"version": "2.4.1", "version": "2.4.1",
@@ -20477,7 +20468,6 @@
}, },
"comment-parser": { "comment-parser": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz",
"integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==", "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==",
"dev": true "dev": true
}, },
@@ -21413,7 +21403,6 @@
}, },
"eslint-plugin-consistent-default-export-name": { "eslint-plugin-consistent-default-export-name": {
"version": "0.0.14", "version": "0.0.14",
"resolved": "https://registry.npmjs.org/eslint-plugin-consistent-default-export-name/-/eslint-plugin-consistent-default-export-name-0.0.14.tgz",
"integrity": "sha512-9+YfYLQchFArcFvg7vHPjJZi3sUUIA5D2DWLmZzFbnmRf+wdX/9lgbKEaiJKfr+3/sYIvP71EdFlpjzOlSbm2Q==", "integrity": "sha512-9+YfYLQchFArcFvg7vHPjJZi3sUUIA5D2DWLmZzFbnmRf+wdX/9lgbKEaiJKfr+3/sYIvP71EdFlpjzOlSbm2Q==",
"dev": true, "dev": true,
"requires": { "requires": {
@@ -21441,7 +21430,6 @@
}, },
"eslint-plugin-import": { "eslint-plugin-import": {
"version": "2.25.3", "version": "2.25.3",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.3.tgz",
"integrity": "sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg==", "integrity": "sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg==",
"dev": true, "dev": true,
"requires": { "requires": {
@@ -21485,7 +21473,6 @@
}, },
"eslint-plugin-jsdoc": { "eslint-plugin-jsdoc": {
"version": "37.1.0", "version": "37.1.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.1.0.tgz",
"integrity": "sha512-DpkFzX5Sqkqzy4MCgowhDXmusWcF1Gn7wYnphdGfWmIkoQr6SwL0jEtltGAVyF5Rj6ACi6ydw0oCCI5hF3yz6w==", "integrity": "sha512-DpkFzX5Sqkqzy4MCgowhDXmusWcF1Gn7wYnphdGfWmIkoQr6SwL0jEtltGAVyF5Rj6ACi6ydw0oCCI5hF3yz6w==",
"dev": true, "dev": true,
"requires": { "requires": {
@@ -21502,7 +21489,6 @@
"dependencies": { "dependencies": {
"debug": { "debug": {
"version": "4.3.3", "version": "4.3.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
"dev": true, "dev": true,
"requires": { "requires": {
@@ -22258,12 +22244,6 @@
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true "dev": true
}, },
"fsevents": {
"version": "2.3.2",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
"optional": true
},
"function-bind": { "function-bind": {
"version": "1.1.1", "version": "1.1.1",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
@@ -24198,7 +24178,6 @@
}, },
"jsdoc-type-pratt-parser": { "jsdoc-type-pratt-parser": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.0.0.tgz",
"integrity": "sha512-sUuj2j48wxrEpbFjDp1sAesAxPiLT+z0SWVmMafyIINs6Lj5gIPKh3VrkBZu4E/Dv+wHpOot0m6H8zlHQjwqeQ==", "integrity": "sha512-sUuj2j48wxrEpbFjDp1sAesAxPiLT+z0SWVmMafyIINs6Lj5gIPKh3VrkBZu4E/Dv+wHpOot0m6H8zlHQjwqeQ==",
"dev": true "dev": true
}, },
@@ -26445,7 +26424,6 @@
}, },
"prettier": { "prettier": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.0.tgz",
"integrity": "sha512-FM/zAKgWTxj40rH03VxzIPdXmj39SwSjwG0heUcNFwI+EMZJnY93yAiKXM3dObIKAM5TA88werc8T/EwhB45eg==", "integrity": "sha512-FM/zAKgWTxj40rH03VxzIPdXmj39SwSjwG0heUcNFwI+EMZJnY93yAiKXM3dObIKAM5TA88werc8T/EwhB45eg==",
"dev": true "dev": true
}, },
@@ -28573,7 +28551,6 @@
}, },
"typedoc": { "typedoc": {
"version": "0.22.10", "version": "0.22.10",
"resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.10.tgz",
"integrity": "sha512-hQYZ4WtoMZ61wDC6w10kxA42+jclWngdmztNZsDvIz7BMJg7F2xnT+uYsUa7OluyKossdFj9E9Ye4QOZKTy8SA==", "integrity": "sha512-hQYZ4WtoMZ61wDC6w10kxA42+jclWngdmztNZsDvIz7BMJg7F2xnT+uYsUa7OluyKossdFj9E9Ye4QOZKTy8SA==",
"dev": true, "dev": true,
"requires": { "requires": {
@@ -28605,7 +28582,6 @@
}, },
"typescript": { "typescript": {
"version": "4.5.2", "version": "4.5.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz",
"integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==",
"dev": true "dev": true
}, },
@@ -29260,7 +29236,8 @@
"ripple-binary-codec": "^1.2.2", "ripple-binary-codec": "^1.2.2",
"ripple-keypairs": "^1.1.2", "ripple-keypairs": "^1.1.2",
"ws": "^8.2.2", "ws": "^8.2.2",
"xrpl-local": "file:src" "xrpl-local": "file:src",
"xrpl-secret-numbers": "^0.3.3"
}, },
"dependencies": { "dependencies": {
"ws": { "ws": {
@@ -29273,6 +29250,16 @@
"xrpl-local": { "xrpl-local": {
"version": "file:packages/xrpl/src" "version": "file:packages/xrpl/src"
}, },
"xrpl-secret-numbers": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/xrpl-secret-numbers/-/xrpl-secret-numbers-0.3.3.tgz",
"integrity": "sha512-D6VeXQVJcWQllNDZtX/h+hlnk06bP1EkVZhm14qnEwR8vE/svZJuwrYJQIREkglOJyeZ/+09CHh2iDXgI2ZclQ==",
"requires": {
"@types/brorand": "^1.0.30",
"brorand": "^1.1.0",
"ripple-keypairs": "^1.0.3"
}
},
"xtend": { "xtend": {
"version": "4.0.2", "version": "4.0.2",
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",

View File

@@ -25,6 +25,14 @@ module.exports = {
extends: ['@xrplf/eslint-config/base'], extends: ['@xrplf/eslint-config/base'],
rules: { rules: {
// Maintain existing line endings
'prettier/prettier': [
'error',
{
'endOfLine': 'auto',
}
],
// This creates a lot of false positives. We should turn this off in our // This creates a lot of false positives. We should turn this off in our
// general config. // general config.
'jsdoc/require-description-complete-sentence': 'off', 'jsdoc/require-description-complete-sentence': 'off',

View File

@@ -26,6 +26,14 @@ module.exports = {
extends: ['@xrplf/eslint-config/base'], extends: ['@xrplf/eslint-config/base'],
rules: { rules: {
// Maintain existing line endings
'prettier/prettier': [
'error',
{
'endOfLine': 'auto',
}
],
// ** TODO ** // ** TODO **
// all of the below are turned off for now during the migration to a // all of the below are turned off for now during the migration to a
// monorepo. They need to actually be addressed! // monorepo. They need to actually be addressed!

View File

@@ -26,6 +26,14 @@ module.exports = {
extends: ['@xrplf/eslint-config/base', 'plugin:mocha/recommended'], extends: ['@xrplf/eslint-config/base', 'plugin:mocha/recommended'],
rules: { rules: {
// Maintain existing line endings
'prettier/prettier': [
'error',
{
'endOfLine': 'auto',
}
],
// ** TODO ** // ** TODO **
// all of the below are turned off for now during the migration to a // all of the below are turned off for now during the migration to a
// monorepo. They need to actually be addressed! // monorepo. They need to actually be addressed!

View File

@@ -28,6 +28,13 @@ module.exports = {
plugins: [], plugins: [],
extends: ['@xrplf/eslint-config/base', 'plugin:mocha/recommended'], extends: ['@xrplf/eslint-config/base', 'plugin:mocha/recommended'],
rules: { rules: {
// Maintain existing line endings
'prettier/prettier': [
'error',
{
'endOfLine': 'auto',
}
],
// Certain rippled APIs require snake_case naming // Certain rippled APIs require snake_case naming
'@typescript-eslint/naming-convention': [ '@typescript-eslint/naming-convention': [
'error', 'error',

View File

@@ -27,7 +27,8 @@
"ripple-address-codec": "^4.2.2", "ripple-address-codec": "^4.2.2",
"ripple-binary-codec": "^1.2.2", "ripple-binary-codec": "^1.2.2",
"ripple-keypairs": "^1.1.2", "ripple-keypairs": "^1.1.2",
"ws": "^8.2.2" "ws": "^8.2.2",
"xrpl-secret-numbers": "^0.3.3"
}, },
"devDependencies": { "devDependencies": {
"xrpl-local": "file:./src" "xrpl-local": "file:./src"

View File

@@ -19,6 +19,7 @@ import {
verify, verify,
sign, sign,
} from 'ripple-keypairs' } from 'ripple-keypairs'
import { Utils } from 'xrpl-secret-numbers'
import ECDSA from '../ECDSA' import ECDSA from '../ECDSA'
import { ValidationError } from '../errors' import { ValidationError } from '../errors'
@@ -197,6 +198,35 @@ class Wallet {
}) })
} }
/**
* Derives a wallet from secret numbers.
*
* @param secretNumbers - A string consisting of 8 times 6 numbers (whitespace delimited) used to derive a wallet.
* @param opts - (Optional) Options to derive a Wallet.
* @param opts.masterAddress - Include if a Wallet uses a Regular Key Pair. It must be the master address of the account.
* @param opts.algorithm - The digital signature algorithm to generate an address for.
* @returns A Wallet derived from secret numbers.
* @throws ValidationError if unable to derive private key from secret number input.
*/
public static fromSecretNumbers(
secretNumbers: string[] | string,
opts: { masterAddress?: string; algorithm?: ECDSA } = {},
): Wallet {
const numbersArray: string[] = []
if (typeof secretNumbers === 'string') {
numbersArray.concat(Utils.parseSecretString(secretNumbers))
} else if (Array.isArray(secretNumbers)) {
numbersArray.concat(secretNumbers)
} else {
throw new ValidationError('Unable to parse the given secret numbers.')
}
const entropy = Utils.secretToEntropy(numbersArray)
return Wallet.fromEntropy(entropy, opts)
}
/** /**
* Derives a wallet from an entropy (array of random numbers). * Derives a wallet from an entropy (array of random numbers).
* *

View File

@@ -226,6 +226,84 @@ describe('Wallet', function () {
}) })
}) })
describe('fromSecretNumbers', function () {
const secretNumbersString =
'399150 474506 009147 088773 432160 282843 253738 605430'
const secretNumbersArray = [
'399150',
'474506',
'009147',
'088773',
'432160',
'282843',
'253738',
'605430',
]
const publicKey =
'03BFC2F7AE242C3493187FA0B72BE97B2DF71194FB772E507FF9DEA0AD13CA1625'
const privateKey =
'00B6FE8507D977E46E988A8A94DB3B8B35E404B60F8B11AC5213FA8B5ABC8A8D19'
const publicKeyED25519 =
'ED8079E575450E256C496578480020A33E19B579D58A2DB8FF13FC6B05B9229DE3'
const privateKeyED25519 =
'EDD2AF6288A903DED9860FC62E778600A985BDF804E40BD8266505553E3222C3DA'
it('derives a wallet using default algorithm', function () {
const wallet = Wallet.fromSecretNumbers(secretNumbersString)
assert.equal(wallet.publicKey, publicKey)
assert.equal(wallet.privateKey, privateKey)
})
it('derives a wallet from secret numbers as an array using default algorithm', function () {
const wallet = Wallet.fromSecretNumbers(secretNumbersArray)
assert.equal(wallet.publicKey, publicKey)
assert.equal(wallet.privateKey, privateKey)
})
it('derives a wallet using algorithm ecdsa-secp256k1', function () {
const algorithm = ECDSA.secp256k1
const wallet = Wallet.fromSecretNumbers(secretNumbersString, {
algorithm,
})
assert.equal(wallet.publicKey, publicKey)
assert.equal(wallet.privateKey, privateKey)
})
it('derives a wallet using algorithm ed25519', function () {
const algorithm = ECDSA.ed25519
const wallet = Wallet.fromSecretNumbers(secretNumbersString, {
algorithm,
})
assert.equal(wallet.publicKey, publicKeyED25519)
assert.equal(wallet.privateKey, privateKeyED25519)
})
it('derives a wallet using a Regular Key Pair', function () {
const masterAddress = 'rUAi7pipxGpYfPNg3LtPcf2ApiS8aw9A93'
const regularKeyPair = {
secretNumbers:
'399150 474506 009147 088773 432160 282843 253738 605430',
publicKey:
'03BFC2F7AE242C3493187FA0B72BE97B2DF71194FB772E507FF9DEA0AD13CA1625',
privateKey:
'00B6FE8507D977E46E988A8A94DB3B8B35E404B60F8B11AC5213FA8B5ABC8A8D19',
}
const wallet = Wallet.fromSecretNumbers(regularKeyPair.secretNumbers, {
masterAddress,
})
assert.equal(wallet.publicKey, regularKeyPair.publicKey)
assert.equal(wallet.privateKey, regularKeyPair.privateKey)
assert.equal(wallet.classicAddress, masterAddress)
})
})
describe('fromEntropy', function () { describe('fromEntropy', function () {
let entropy let entropy
const publicKey = const publicKey =