mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-05 13:25:48 +00:00
Compare commits
19 Commits
@transia/r
...
ds/wallet-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
15cfee9e65 | ||
|
|
7efdbe7b1f | ||
|
|
700a18bb68 | ||
|
|
22e104ef3a | ||
|
|
45b8d91017 | ||
|
|
c655993e10 | ||
|
|
63c469f89a | ||
|
|
88e9b4dae2 | ||
|
|
e558399263 | ||
|
|
ea32c888b1 | ||
|
|
ce833a66a7 | ||
|
|
01a3938307 | ||
|
|
8e14f6a6a6 | ||
|
|
02f638f0ea | ||
|
|
75ccbbdfd7 | ||
|
|
55245e0422 | ||
|
|
976a77ab49 | ||
|
|
99fb3bd0e6 | ||
|
|
42bb7bb603 |
101
package-lock.json
generated
101
package-lock.json
generated
@@ -719,7 +719,6 @@
|
||||
},
|
||||
"node_modules/@es-joy/jsdoccomment": {
|
||||
"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==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
@@ -733,7 +732,6 @@
|
||||
},
|
||||
"node_modules/@es-joy/jsdoccomment/node_modules/comment-parser": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.2.4.tgz",
|
||||
"integrity": "sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
@@ -2796,6 +2794,13 @@
|
||||
"@babel/types": "^7.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/brorand": {
|
||||
"version": "1.0.30",
|
||||
"integrity": "sha1-NmaYVFCddw4TA3xYBMyAlfwcors=",
|
||||
"dependencies": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/chai": {
|
||||
"version": "4.2.22",
|
||||
"integrity": "sha512-tFfcE+DSTzWAgifkjik9AySNqIyNoYwmR+uecPwwD/XRNfvOjmC/FjCxpiUGDkDVDphPfCUecSQVFw+lN3M3kQ==",
|
||||
@@ -2803,7 +2808,6 @@
|
||||
},
|
||||
"node_modules/@types/create-hash": {
|
||||
"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==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
@@ -2894,9 +2898,7 @@
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "16.11.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.11.tgz",
|
||||
"integrity": "sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw==",
|
||||
"dev": true
|
||||
"integrity": "sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw=="
|
||||
},
|
||||
"node_modules/@types/normalize-package-data": {
|
||||
"version": "2.4.1",
|
||||
@@ -4885,7 +4887,6 @@
|
||||
},
|
||||
"node_modules/comment-parser": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz",
|
||||
"integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
@@ -6050,7 +6051,6 @@
|
||||
},
|
||||
"node_modules/eslint-plugin-consistent-default-export-name": {
|
||||
"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==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
@@ -6091,7 +6091,6 @@
|
||||
},
|
||||
"node_modules/eslint-plugin-import": {
|
||||
"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==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
@@ -6142,7 +6141,6 @@
|
||||
},
|
||||
"node_modules/eslint-plugin-jsdoc": {
|
||||
"version": "37.1.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.1.0.tgz",
|
||||
"integrity": "sha512-DpkFzX5Sqkqzy4MCgowhDXmusWcF1Gn7wYnphdGfWmIkoQr6SwL0jEtltGAVyF5Rj6ACi6ydw0oCCI5hF3yz6w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
@@ -6165,7 +6163,6 @@
|
||||
},
|
||||
"node_modules/eslint-plugin-jsdoc/node_modules/debug": {
|
||||
"version": "4.3.3",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
|
||||
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
@@ -7198,19 +7195,6 @@
|
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
|
||||
"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": {
|
||||
"version": "1.1.1",
|
||||
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
|
||||
@@ -9821,7 +9805,6 @@
|
||||
},
|
||||
"node_modules/jsdoc-type-pratt-parser": {
|
||||
"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==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
@@ -12767,7 +12750,6 @@
|
||||
},
|
||||
"node_modules/prettier": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.0.tgz",
|
||||
"integrity": "sha512-FM/zAKgWTxj40rH03VxzIPdXmj39SwSjwG0heUcNFwI+EMZJnY93yAiKXM3dObIKAM5TA88werc8T/EwhB45eg==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
@@ -15577,7 +15559,6 @@
|
||||
},
|
||||
"node_modules/typedoc": {
|
||||
"version": "0.22.10",
|
||||
"resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.10.tgz",
|
||||
"integrity": "sha512-hQYZ4WtoMZ61wDC6w10kxA42+jclWngdmztNZsDvIz7BMJg7F2xnT+uYsUa7OluyKossdFj9E9Ye4QOZKTy8SA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
@@ -15622,7 +15603,6 @@
|
||||
},
|
||||
"node_modules/typescript": {
|
||||
"version": "4.5.2",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz",
|
||||
"integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
@@ -16482,6 +16462,16 @@
|
||||
"resolved": "packages/xrpl/src",
|
||||
"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": {
|
||||
"version": "4.0.2",
|
||||
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
|
||||
@@ -16610,7 +16600,7 @@
|
||||
},
|
||||
"packages/ripple-address-codec": {
|
||||
"version": "4.2.2",
|
||||
"integrity": "sha512-9QhBNDiWjwj7l+WQ7H7klXF/VwxVj2Q0HRhd4vLCueTPoxUtaNQyfvUZFiXJrqxg0heM3/iWxupkq4TwrXgSuQ==",
|
||||
"integrity": "sha512-+SwDjVS3yBetAPwvLTE2un/WDyaimMTFo5VmvJ7j0Sei28moBtn0lo9RV/CXAtlzp2gWXT4rKml8ynMf8lGO+w==",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"base-x": "3.0.9",
|
||||
@@ -16622,7 +16612,7 @@
|
||||
},
|
||||
"packages/ripple-binary-codec": {
|
||||
"version": "1.2.2",
|
||||
"integrity": "sha512-XMRCbFXyG+dGp3x7tMs9IwA+FVWPPaGjdHYW2+g4Q/WQJqFp5MRED+jjOBOUafmrW4TUsOn1PEEdbB4ozWbDBw==",
|
||||
"integrity": "sha512-ojFBSkr2qP1th9ynEp1wGNi2n/lhsMRR+geIDh31W/CuKBDMzRHu4xLfGdoJb7L39oQl1v2fbc+6tuBB6+1JMQ==",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"assert": "^2.0.0",
|
||||
@@ -16646,7 +16636,7 @@
|
||||
},
|
||||
"packages/ripple-keypairs": {
|
||||
"version": "1.1.2",
|
||||
"integrity": "sha512-Zlmbtn2YUpW4uKlLm2/tpkY5RC/EXQlkJwIIKp0AoF9D23pJ43/EuipNW2F6qURdbkUezDwB0bMV7uRXip3x2w==",
|
||||
"integrity": "sha512-8qIQTdTDGmCjMOnqKuRo1eD3tq/s5prTuGXktcE33DteB6928VHD00IyGFV81JFjGwJlejco1yWSvB5Du4+Owg==",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"bn.js": "^5.1.1",
|
||||
@@ -16661,7 +16651,7 @@
|
||||
},
|
||||
"packages/xrpl": {
|
||||
"version": "2.0.4",
|
||||
"integrity": "sha512-NmrSYpXym7NzGABeXU1H8g4ZtCxRhr/3wu0lguxzcIYpcKPgWLYimg+s9NLLNbPWTZdxXu9SeSWu5zh4gyqAeA==",
|
||||
"integrity": "sha512-7aGYp4baokxA0J4xirdY4cUrS8ALQYVF0jAAIrzGxzCRjlOqm6NRgXyiETvxcDU5A/Ecyd9kDD1b3ovKBdL3PA==",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"bignumber.js": "^9.0.0",
|
||||
@@ -16672,7 +16662,8 @@
|
||||
"ripple-address-codec": "^4.2.2",
|
||||
"ripple-binary-codec": "^1.2.2",
|
||||
"ripple-keypairs": "^1.1.2",
|
||||
"ws": "^8.2.2"
|
||||
"ws": "^8.2.2",
|
||||
"xrpl-secret-numbers": "^0.3.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"xrpl-local": "file:./src"
|
||||
@@ -16701,8 +16692,6 @@
|
||||
}
|
||||
},
|
||||
"packages/xrpl/src": {
|
||||
"name": "xrpl-local",
|
||||
"version": "0.0.1",
|
||||
"dev": true
|
||||
}
|
||||
},
|
||||
@@ -17189,7 +17178,6 @@
|
||||
},
|
||||
"@es-joy/jsdoccomment": {
|
||||
"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==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -17200,7 +17188,6 @@
|
||||
"dependencies": {
|
||||
"comment-parser": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.2.4.tgz",
|
||||
"integrity": "sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==",
|
||||
"dev": true
|
||||
}
|
||||
@@ -18854,6 +18841,13 @@
|
||||
"@babel/types": "^7.3.0"
|
||||
}
|
||||
},
|
||||
"@types/brorand": {
|
||||
"version": "1.0.30",
|
||||
"integrity": "sha1-NmaYVFCddw4TA3xYBMyAlfwcors=",
|
||||
"requires": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"@types/chai": {
|
||||
"version": "4.2.22",
|
||||
"integrity": "sha512-tFfcE+DSTzWAgifkjik9AySNqIyNoYwmR+uecPwwD/XRNfvOjmC/FjCxpiUGDkDVDphPfCUecSQVFw+lN3M3kQ==",
|
||||
@@ -18861,7 +18855,6 @@
|
||||
},
|
||||
"@types/create-hash": {
|
||||
"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==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -18952,9 +18945,7 @@
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "16.11.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.11.tgz",
|
||||
"integrity": "sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw==",
|
||||
"dev": true
|
||||
"integrity": "sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw=="
|
||||
},
|
||||
"@types/normalize-package-data": {
|
||||
"version": "2.4.1",
|
||||
@@ -20477,7 +20468,6 @@
|
||||
},
|
||||
"comment-parser": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz",
|
||||
"integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -21413,7 +21403,6 @@
|
||||
},
|
||||
"eslint-plugin-consistent-default-export-name": {
|
||||
"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==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -21441,7 +21430,6 @@
|
||||
},
|
||||
"eslint-plugin-import": {
|
||||
"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==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -21485,7 +21473,6 @@
|
||||
},
|
||||
"eslint-plugin-jsdoc": {
|
||||
"version": "37.1.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.1.0.tgz",
|
||||
"integrity": "sha512-DpkFzX5Sqkqzy4MCgowhDXmusWcF1Gn7wYnphdGfWmIkoQr6SwL0jEtltGAVyF5Rj6ACi6ydw0oCCI5hF3yz6w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -21502,7 +21489,6 @@
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "4.3.3",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
|
||||
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -22258,12 +22244,6 @@
|
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
|
||||
"dev": true
|
||||
},
|
||||
"fsevents": {
|
||||
"version": "2.3.2",
|
||||
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"function-bind": {
|
||||
"version": "1.1.1",
|
||||
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
|
||||
@@ -24198,7 +24178,6 @@
|
||||
},
|
||||
"jsdoc-type-pratt-parser": {
|
||||
"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==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -26445,7 +26424,6 @@
|
||||
},
|
||||
"prettier": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.0.tgz",
|
||||
"integrity": "sha512-FM/zAKgWTxj40rH03VxzIPdXmj39SwSjwG0heUcNFwI+EMZJnY93yAiKXM3dObIKAM5TA88werc8T/EwhB45eg==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -28573,7 +28551,6 @@
|
||||
},
|
||||
"typedoc": {
|
||||
"version": "0.22.10",
|
||||
"resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.10.tgz",
|
||||
"integrity": "sha512-hQYZ4WtoMZ61wDC6w10kxA42+jclWngdmztNZsDvIz7BMJg7F2xnT+uYsUa7OluyKossdFj9E9Ye4QOZKTy8SA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@@ -28605,7 +28582,6 @@
|
||||
},
|
||||
"typescript": {
|
||||
"version": "4.5.2",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz",
|
||||
"integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==",
|
||||
"dev": true
|
||||
},
|
||||
@@ -29260,7 +29236,8 @@
|
||||
"ripple-binary-codec": "^1.2.2",
|
||||
"ripple-keypairs": "^1.1.2",
|
||||
"ws": "^8.2.2",
|
||||
"xrpl-local": "file:src"
|
||||
"xrpl-local": "file:src",
|
||||
"xrpl-secret-numbers": "^0.3.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"ws": {
|
||||
@@ -29273,6 +29250,16 @@
|
||||
"xrpl-local": {
|
||||
"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": {
|
||||
"version": "4.0.2",
|
||||
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
|
||||
|
||||
@@ -25,6 +25,14 @@ module.exports = {
|
||||
extends: ['@xrplf/eslint-config/base'],
|
||||
|
||||
rules: {
|
||||
// Maintain existing line endings
|
||||
'prettier/prettier': [
|
||||
'error',
|
||||
{
|
||||
'endOfLine': 'auto',
|
||||
}
|
||||
],
|
||||
|
||||
// This creates a lot of false positives. We should turn this off in our
|
||||
// general config.
|
||||
'jsdoc/require-description-complete-sentence': 'off',
|
||||
|
||||
@@ -26,6 +26,14 @@ module.exports = {
|
||||
extends: ['@xrplf/eslint-config/base'],
|
||||
|
||||
rules: {
|
||||
// Maintain existing line endings
|
||||
'prettier/prettier': [
|
||||
'error',
|
||||
{
|
||||
'endOfLine': 'auto',
|
||||
}
|
||||
],
|
||||
|
||||
// ** TODO **
|
||||
// all of the below are turned off for now during the migration to a
|
||||
// monorepo. They need to actually be addressed!
|
||||
|
||||
@@ -26,6 +26,14 @@ module.exports = {
|
||||
extends: ['@xrplf/eslint-config/base', 'plugin:mocha/recommended'],
|
||||
|
||||
rules: {
|
||||
// Maintain existing line endings
|
||||
'prettier/prettier': [
|
||||
'error',
|
||||
{
|
||||
'endOfLine': 'auto',
|
||||
}
|
||||
],
|
||||
|
||||
// ** TODO **
|
||||
// all of the below are turned off for now during the migration to a
|
||||
// monorepo. They need to actually be addressed!
|
||||
|
||||
@@ -28,6 +28,13 @@ module.exports = {
|
||||
plugins: [],
|
||||
extends: ['@xrplf/eslint-config/base', 'plugin:mocha/recommended'],
|
||||
rules: {
|
||||
// Maintain existing line endings
|
||||
'prettier/prettier': [
|
||||
'error',
|
||||
{
|
||||
'endOfLine': 'auto',
|
||||
}
|
||||
],
|
||||
// Certain rippled APIs require snake_case naming
|
||||
'@typescript-eslint/naming-convention': [
|
||||
'error',
|
||||
|
||||
@@ -27,7 +27,8 @@
|
||||
"ripple-address-codec": "^4.2.2",
|
||||
"ripple-binary-codec": "^1.2.2",
|
||||
"ripple-keypairs": "^1.1.2",
|
||||
"ws": "^8.2.2"
|
||||
"ws": "^8.2.2",
|
||||
"xrpl-secret-numbers": "^0.3.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"xrpl-local": "file:./src"
|
||||
|
||||
@@ -19,6 +19,7 @@ import {
|
||||
verify,
|
||||
sign,
|
||||
} from 'ripple-keypairs'
|
||||
import { Utils } from 'xrpl-secret-numbers'
|
||||
|
||||
import ECDSA from '../ECDSA'
|
||||
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).
|
||||
*
|
||||
|
||||
@@ -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 () {
|
||||
let entropy
|
||||
const publicKey =
|
||||
|
||||
Reference in New Issue
Block a user