diff --git a/package-lock.json b/package-lock.json
index ed5f2bc..b3aa1e7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -15,6 +15,7 @@
"@fortawesome/react-fontawesome": "0.2.2",
"axios": "0.27.2",
"bch-message-lib": "2.2.1",
+ "bch-token-sweep": "^2.2.1",
"bootstrap": "5.2.0",
"qrcode.react": "4.2.0",
"query-string": "7.1.1",
@@ -5126,6 +5127,19 @@
"minimal-slp-wallet": ">= 4"
}
},
+ "node_modules/bch-token-sweep": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/bch-token-sweep/-/bch-token-sweep-2.2.1.tgz",
+ "integrity": "sha512-f4UGEpPXzea7HQMRSEb6h/amXiwrlsMBAjl1dVYg5//26IDWeG+e3qVNtMJhm00NMZ0BS+LasUa2xlz0UVziZA==",
+ "license": "MIT",
+ "dependencies": {
+ "bch-donation": "1.1.2",
+ "bignumber.js": "9.0.0"
+ },
+ "peerDependencies": {
+ "minimal-slp-wallet": ">= 4"
+ }
+ },
"node_modules/bchaddrjs-slp": {
"version": "0.2.5",
"license": "MIT",
@@ -13302,6 +13316,8 @@
"node_modules/node-fetch": {
"name": "@achingbrain/node-fetch",
"version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g==",
"dev": true,
"license": "MIT",
"engines": {
@@ -22429,6 +22445,15 @@
"version": "2.2.1",
"requires": {}
},
+ "bch-token-sweep": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/bch-token-sweep/-/bch-token-sweep-2.2.1.tgz",
+ "integrity": "sha512-f4UGEpPXzea7HQMRSEb6h/amXiwrlsMBAjl1dVYg5//26IDWeG+e3qVNtMJhm00NMZ0BS+LasUa2xlz0UVziZA==",
+ "requires": {
+ "bch-donation": "1.1.2",
+ "bignumber.js": "9.0.0"
+ }
+ },
"bchaddrjs-slp": {
"version": "0.2.5",
"requires": {
@@ -27457,7 +27482,8 @@
"version": "2.0.2"
},
"node-fetch": {
- "version": "npm:@achingbrain/node-fetch@2.6.7",
+ "version": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g==",
"dev": true
},
"node-forge": {
diff --git a/package.json b/package.json
index 08727ea..18cad8a 100644
--- a/package.json
+++ b/package.json
@@ -9,6 +9,7 @@
"@fortawesome/react-fontawesome": "0.2.2",
"axios": "0.27.2",
"bch-message-lib": "2.2.1",
+ "bch-token-sweep": "^2.2.1",
"bootstrap": "5.2.0",
"qrcode.react": "4.2.0",
"query-string": "7.1.1",
diff --git a/src/components/app-body/index.js b/src/components/app-body/index.js
index 8e1565b..f28d7d6 100644
--- a/src/components/app-body/index.js
+++ b/src/components/app-body/index.js
@@ -19,6 +19,7 @@ import ServerSelectView from './servers/select-server-view'
import SelectServerButton from './servers/select-server-button'
import BchSend from './bch-send'
import SlpTokens from './slp-tokens'
+import SweepWif from './sweep/index.js'
function AppBody (props) {
// Dependency injection through props
@@ -35,6 +36,7 @@ function AppBody (props) {
Sweep succeeded!
+Transaction ID: {txid}
++ + TX on Blockchair BCH Block Explorer + +
+ + > + ) + + setHideSpinner(true) + setStatusMsg(newStatusMsg) + setWifToSweep('') + + await updateWalletState() + } catch (err) { + setHideSpinner(true) + setStatusMsg({`Error: ${err.message}`}) + } + } catch (err) { + console.error('Error in handleSweep(): ', err) + } + } + + // Modal component + const getModal = () => ( ++ This View is used to 'sweep' a private key. This will transfer + any BCH or SLP tokens from a paper wallet to your web wallet. + Paper wallets are used to store BCH and tokens. You + can generate paper wallets here. +
++ Paste the private key of a paper wallet below and click the button + to sweep the funds. The private key must be in WIF format. It will + start with the letter 'K' or 'L'. +
+ +