mirror of
https://github.com/fullstack-cash/wallet.fullstack.cash.git
synced 2026-09-21 16:52:05 -07:00
Forked from PSF version of the repo
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
FEE=1.5
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
FEE=1.5
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"extends": "standard",
|
||||||
|
"env": {
|
||||||
|
"node": true,
|
||||||
|
"mocha": true
|
||||||
|
},
|
||||||
|
"parserOptions": {
|
||||||
|
"ecmaVersion": 10
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
"no-unused-vars": "off"
|
||||||
|
}
|
||||||
|
}
|
||||||
+76
@@ -0,0 +1,76 @@
|
|||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
|
||||||
|
# Runtime data
|
||||||
|
pids
|
||||||
|
*.pid
|
||||||
|
*.seed
|
||||||
|
*.pid.lock
|
||||||
|
|
||||||
|
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||||
|
lib-cov
|
||||||
|
|
||||||
|
# Coverage directory used by tools like istanbul
|
||||||
|
coverage
|
||||||
|
|
||||||
|
# nyc test coverage
|
||||||
|
.nyc_output
|
||||||
|
|
||||||
|
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
||||||
|
.grunt
|
||||||
|
|
||||||
|
# Bower dependency directory (https://bower.io/)
|
||||||
|
bower_components
|
||||||
|
|
||||||
|
# node-waf configuration
|
||||||
|
.lock-wscript
|
||||||
|
|
||||||
|
# Compiled binary addons (http://nodejs.org/api/addons.html)
|
||||||
|
build/Release
|
||||||
|
|
||||||
|
# Dependency directories
|
||||||
|
node_modules/
|
||||||
|
jspm_packages/
|
||||||
|
|
||||||
|
# Typescript v1 declaration files
|
||||||
|
typings/
|
||||||
|
|
||||||
|
# Optional npm cache directory
|
||||||
|
.npm
|
||||||
|
|
||||||
|
# Optional eslint cache
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
# Optional REPL history
|
||||||
|
.node_repl_history
|
||||||
|
|
||||||
|
# Output of 'npm pack'
|
||||||
|
*.tgz
|
||||||
|
|
||||||
|
# dotenv environment variable files
|
||||||
|
.env*
|
||||||
|
|
||||||
|
# gatsby files
|
||||||
|
.cache/
|
||||||
|
public
|
||||||
|
|
||||||
|
# Mac files
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
# Yarn
|
||||||
|
yarn-error.log
|
||||||
|
.pnp/
|
||||||
|
.pnp.js
|
||||||
|
# Yarn Integrity file
|
||||||
|
.yarn-integrity
|
||||||
|
|
||||||
|
android/
|
||||||
|
resources/android/
|
||||||
|
|
||||||
|
# Explit files to keep
|
||||||
|
!.env.development
|
||||||
|
!.env.production
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
.cache
|
||||||
|
package.json
|
||||||
|
package-lock.json
|
||||||
|
public
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"arrowParens": "avoid",
|
||||||
|
"semi": false,
|
||||||
|
"no-unused-vars": false
|
||||||
|
}
|
||||||
+33
@@ -0,0 +1,33 @@
|
|||||||
|
# This is a node.js v8+ JavaScript project
|
||||||
|
language: node_js
|
||||||
|
node_js:
|
||||||
|
- "10"
|
||||||
|
|
||||||
|
# Build on Ubuntu Trusty (14.04)
|
||||||
|
# https://docs.travis-ci.com/user/reference/trusty/#javascript-and-nodejs-images
|
||||||
|
dist: xenial
|
||||||
|
sudo: required
|
||||||
|
|
||||||
|
# Use Docker
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
|
|
||||||
|
before_install:
|
||||||
|
#- npm install -g mocha
|
||||||
|
|
||||||
|
# https://github.com/greenkeeperio/greenkeeper-lockfile/issues/156
|
||||||
|
#install: case $TRAVIS_BRANCH in greenkeeper*) npm i;; *) npm ci;; esac;
|
||||||
|
install:
|
||||||
|
- npm install
|
||||||
|
|
||||||
|
script: "npm run test"
|
||||||
|
|
||||||
|
# Send coverage data to Coveralls
|
||||||
|
after_success:
|
||||||
|
- npm run coverage
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
provider: script
|
||||||
|
skip_cleanup: true
|
||||||
|
script:
|
||||||
|
- npx semantic-release && ./deploy-production.sh
|
||||||
+21
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2020 Permissionless Software Foundation
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
# wallet.fullstack.cash
|
||||||
|
This is the front end [GatsbyJS](https://www.gatsbyjs.org) based website that runs [wallet.fullstack.cash](https://wallet.fullstack.cash). This site is based on the [bch-wallet-starter](https://github.com/Permissionless-Software-Foundation/bch-wallet-starter) Gatsby Starter, and includes the [gatsby-plugin-bch-sweep](https://github.com/Permissionless-Software-Foundation/gatsby-plugin-bch-sweep) Gatsby Plugin for sweeping BCH and tokens from a paper wallet.
|
||||||
|
|
||||||
|
## Android App
|
||||||
|
This wallet app has been compiled into an Android app that can be side-loaded onto a phone. It's not available in the Play store. Sideloading the APK file is the only way to install this wallet as a native app.
|
||||||
|
- [wallet.fullstack.cash.apk](./wallet.fullstack.cash.apk)
|
||||||
|
|
||||||
|
## License
|
||||||
|
[MIT](./LICENSE.md)
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"appId": "com.example.app",
|
||||||
|
"appName": "wallet.fullstack.cash",
|
||||||
|
"bundledWebRuntime": false,
|
||||||
|
"npmClient": "npm",
|
||||||
|
"webDir": "public",
|
||||||
|
"plugins": {
|
||||||
|
"SplashScreen": {
|
||||||
|
"launchShowDuration": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cordova": {},
|
||||||
|
"linuxAndroidStudioPath": "/home/trout/work/android/android-studio/bin/studio.sh"
|
||||||
|
}
|
||||||
Executable
+13
@@ -0,0 +1,13 @@
|
|||||||
|
# Triggers a webhook to update the server
|
||||||
|
|
||||||
|
#!/bin/bash
|
||||||
|
#echo $DEPLOY_SECRET
|
||||||
|
|
||||||
|
echo "Deploy to production...."
|
||||||
|
|
||||||
|
export DATA="{\"ref\":\"$DEPLOY_SECRET\"}"
|
||||||
|
|
||||||
|
#echo $DATA
|
||||||
|
|
||||||
|
curl -X POST http://fullstack.cash:9000/hooks/wallet.fullstack.cash -H "Content-Type: application/json" -d $DATA
|
||||||
|
echo "...Finished deploying to production."
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
/**
|
||||||
|
* Configure your Gatsby site with this file.
|
||||||
|
*
|
||||||
|
* See: https://www.gatsbyjs.org/docs/gatsby-config/
|
||||||
|
*/
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
/* Your site config here */
|
||||||
|
plugins: [
|
||||||
|
'fullstack-gatsby-theme-bch-wallet',
|
||||||
|
// 'bch-wallet-plugin-postoffice',
|
||||||
|
// {
|
||||||
|
// resolve: 'gatsby-plugin-compile-es6-packages',
|
||||||
|
// options: {
|
||||||
|
// modules: ['bch-wallet-plugin-postoffice']
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// require.resolve('/home/trout/work/psf/gatsby-plugin-bch-sweep')
|
||||||
|
'gatsby-plugin-bch-sweep',
|
||||||
|
'gatsby-plugin-bch-create-token'
|
||||||
|
],
|
||||||
|
// https://www.gatsbyjs.com/docs/reference/release-notes/v2.28/#feature-flags-in-gatsby-configjs
|
||||||
|
flags: {
|
||||||
|
DEV_SSR: false
|
||||||
|
}
|
||||||
|
}
|
||||||
Generated
+63122
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"name": "wallet.fullstack.cash",
|
||||||
|
"description": "A Gatsby IPFS-enabled web app and BCH web wallet.",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"license": "MIT",
|
||||||
|
"author": "Chris Troutner <chris.troutner@gmail.com>",
|
||||||
|
"contributors": [
|
||||||
|
"Daniel Gonzalez <danielhumgon@gmail.com>",
|
||||||
|
"Andre Cabrera <andrecabrera@protonmail.ch>"
|
||||||
|
],
|
||||||
|
"scripts": {
|
||||||
|
"build": "gatsby build",
|
||||||
|
"build:ipfs": "gatsby build --prefix-paths",
|
||||||
|
"android:setup": "npx cap add android; npx cap update android; npx cap update android; npx cap copy android; capacitor-resources -p android",
|
||||||
|
"android:open": "npx cap open android",
|
||||||
|
"develop": "gatsby develop",
|
||||||
|
"lint": "standard --env mocha --fix",
|
||||||
|
"start": "npm run develop",
|
||||||
|
"serve": "gatsby serve",
|
||||||
|
"clean": "gatsby clean",
|
||||||
|
"test": "npm run lint"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@capacitor/android": "2.4.6",
|
||||||
|
"@capacitor/cli": "2.4.6",
|
||||||
|
"@capacitor/core": "2.4.6",
|
||||||
|
"gatsby": "4.4.0",
|
||||||
|
"gatsby-plugin-bch-create-token": "1.1.1",
|
||||||
|
"gatsby-plugin-bch-sweep": "1.5.5",
|
||||||
|
"fullstack-gatsby-theme-bch-wallet": "1.0.1"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/Permissionless-Software-Foundation/wallet.fullstack.cash"
|
||||||
|
},
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/Permissionless-Software-Foundation/wallet.fullstack.cash/issues"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"capacitor-resources": "2.0.5",
|
||||||
|
"eslint": "7.24.0",
|
||||||
|
"eslint-config-prettier": "8.2.0",
|
||||||
|
"eslint-config-standard": "16.0.2",
|
||||||
|
"eslint-plugin-prettier": "3.4.0",
|
||||||
|
"eslint-plugin-standard": "5.0.0",
|
||||||
|
"husky": "4.3.8",
|
||||||
|
"mocha": "9.1.3",
|
||||||
|
"semantic-release": "17.4.2",
|
||||||
|
"standard": "16.0.3"
|
||||||
|
},
|
||||||
|
"release": {
|
||||||
|
"publish": [
|
||||||
|
{
|
||||||
|
"path": "@semantic-release/npm",
|
||||||
|
"npmPublish": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"husky": {
|
||||||
|
"hooks": {
|
||||||
|
"pre-commit": "npm run lint"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 92 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1,147 @@
|
|||||||
|
/*
|
||||||
|
About
|
||||||
|
*/
|
||||||
|
|
||||||
|
import React from 'react'
|
||||||
|
import { Row, Col, Content, Box } from 'adminlte-2-react'
|
||||||
|
|
||||||
|
class About extends React.Component {
|
||||||
|
render () {
|
||||||
|
return (
|
||||||
|
<Content
|
||||||
|
title='About'
|
||||||
|
subTitle=''
|
||||||
|
browserTitle='About | wallet.fullstack.cash'
|
||||||
|
>
|
||||||
|
<Row>
|
||||||
|
<Col xs={12}>
|
||||||
|
<Box
|
||||||
|
title='wallet.fullstack.cash'
|
||||||
|
type='primary'
|
||||||
|
closable
|
||||||
|
collapsable
|
||||||
|
>
|
||||||
|
<p>
|
||||||
|
This is the official web wallet provided by{' '}
|
||||||
|
<a
|
||||||
|
href='https://fullstack.cash'
|
||||||
|
target='_blank'
|
||||||
|
rel='noopener noreferrer'
|
||||||
|
>
|
||||||
|
FullStack.cash
|
||||||
|
</a>
|
||||||
|
. You can access this web wallet over Tor and IPFS. See the
|
||||||
|
links in the footer at the bottom of the page.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
This wallet app can be used as a normal wallet, but it's real
|
||||||
|
purpose is to serve as 'boilerplate' application that JavaScript
|
||||||
|
developers can fork and customize to build their own ideas.
|
||||||
|
Learn more about the code and infrastructure powering this
|
||||||
|
wallet at{' '}
|
||||||
|
<a
|
||||||
|
href='https://fullstack.cash'
|
||||||
|
target='_blank'
|
||||||
|
rel='noopener noreferrer'
|
||||||
|
>
|
||||||
|
FullStack.cash
|
||||||
|
</a>{' '}
|
||||||
|
Please solicit feedback on this app in our{' '}
|
||||||
|
<a
|
||||||
|
href='https://t.me/bch_js_toolkit'
|
||||||
|
target='_blank'
|
||||||
|
rel='noopener noreferrer'
|
||||||
|
>
|
||||||
|
Telegram Channel
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The code for this web wallet can be found{' '}
|
||||||
|
<a
|
||||||
|
href='https://github.com/Permissionless-Software-Foundation/wallet.fullstack.cash'
|
||||||
|
target='_blank'
|
||||||
|
rel='noopener noreferrer'
|
||||||
|
>
|
||||||
|
on GitHub
|
||||||
|
</a>
|
||||||
|
. It's based on the{' '}
|
||||||
|
<a
|
||||||
|
href='https://github.com/Permissionless-Software-Foundation/bch-wallet-starter'
|
||||||
|
target='_blank'
|
||||||
|
rel='noopener noreferrer'
|
||||||
|
>
|
||||||
|
bch-wallet-starter Gatsby Starter
|
||||||
|
</a>
|
||||||
|
, the{' '}
|
||||||
|
<a
|
||||||
|
href='https://github.com/Permissionless-Software-Foundation/gatsby-ipfs-web-wallet'
|
||||||
|
target='_blank'
|
||||||
|
rel='noopener noreferrer'
|
||||||
|
>
|
||||||
|
gatsby-ipfs-web-wallet Gatsby Theme
|
||||||
|
</a>
|
||||||
|
, and the{' '}
|
||||||
|
<a
|
||||||
|
href='https://github.com/Permissionless-Software-Foundation/minimal-slp-wallet'
|
||||||
|
target='_blank'
|
||||||
|
rel='noopener noreferrer'
|
||||||
|
>
|
||||||
|
minimal-slp-wallet
|
||||||
|
</a>{' '}
|
||||||
|
wallet engine. We encourage other businesses to copy and modify
|
||||||
|
the wallet code for their own use.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
This wallet has full support for Bitcoin Cash (BCH) and eCash
|
||||||
|
(BCHA) blockchains. That includes SLP tokens, including
|
||||||
|
nonfungible tokens (NFT) on both blockchains. When a transaction
|
||||||
|
is made with this wallet, an output of 2000 satoshis is added.
|
||||||
|
This is a convenience fee that goes towards burning PSF tokens.
|
||||||
|
It helps support the developers who work on this web wallet and
|
||||||
|
other software sponsored by the{' '}
|
||||||
|
<a
|
||||||
|
href='https://psfoundation.cash'
|
||||||
|
target='_blank'
|
||||||
|
rel='noopener noreferrer'
|
||||||
|
>
|
||||||
|
Permissionless Software Foundation
|
||||||
|
</a>
|
||||||
|
.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
This app can be compiled into a native Android or iOS app using{' '}
|
||||||
|
<a
|
||||||
|
href='https://react-freelancer.ch/blog/build-mobile-apps-using-gatsby-and-capacitor'
|
||||||
|
target='_blank'
|
||||||
|
rel='noopener noreferrer'
|
||||||
|
>
|
||||||
|
Capacitor
|
||||||
|
</a>
|
||||||
|
. The Android APK for this app can be{' '}
|
||||||
|
<a
|
||||||
|
href='https://github.com/Permissionless-Software-Foundation/wallet.fullstack.cash'
|
||||||
|
target='_blank'
|
||||||
|
rel='noopener noreferrer'
|
||||||
|
>
|
||||||
|
downloaded from the GitHub repository
|
||||||
|
</a>
|
||||||
|
. But, the Android app will run into rate limits unless you add
|
||||||
|
a JWT token from FullStack.cash into the Configuration View. We
|
||||||
|
don't actively support use of this web app as a phone app, but
|
||||||
|
instead provide the APK as proof
|
||||||
|
that other businesses can fork this wallet app to kick-off
|
||||||
|
development of their own phone app.
|
||||||
|
</p>
|
||||||
|
</Box>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
</Content>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default About
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
This is a demonstration component. It helps to show how you can create new
|
||||||
|
menu items and Views in your own BCH web wallet dashboard app.
|
||||||
|
|
||||||
|
This file controls the View (the part on the right side of the dashboard) of
|
||||||
|
the component. The menu item is controlled by the menu-components.js file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import React from 'react'
|
||||||
|
import { Row, Col, Content, Box, Button } from 'adminlte-2-react'
|
||||||
|
|
||||||
|
class DemoComponent extends React.Component {
|
||||||
|
render () {
|
||||||
|
return (
|
||||||
|
<Content
|
||||||
|
title='Demo Component'
|
||||||
|
subTitle='Getting started with adminlte-2-react'
|
||||||
|
browserTitle='Demo Component'
|
||||||
|
>
|
||||||
|
<Row>
|
||||||
|
<Col xs={12}>
|
||||||
|
<Box
|
||||||
|
title='A Box'
|
||||||
|
type='primary'
|
||||||
|
closable
|
||||||
|
collapsable
|
||||||
|
footer={<Button type='danger' text='Danger Button' />}
|
||||||
|
>
|
||||||
|
This is the View portion of the Demo Component. This view is
|
||||||
|
controlled by the src/demo-component/index.js file.
|
||||||
|
</Box>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
</Content>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default DemoComponent
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
/*
|
||||||
|
This file is how you add new menu items to your site. It uses the Gatsby
|
||||||
|
concept of Component Shadowing:
|
||||||
|
https://www.gatsbyjs.org/blog/2019-04-29-component-shadowing/
|
||||||
|
|
||||||
|
It over-rides he default file in the gatsby-ipfs-web-wallet Theme.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import React from 'react'
|
||||||
|
import { Sidebar } from 'adminlte-2-react'
|
||||||
|
|
||||||
|
import Wallet from 'fullstack-gatsby-theme-bch-wallet/src/components/admin-lte/wallet'
|
||||||
|
import Tokens from 'fullstack-gatsby-theme-bch-wallet/src/components/admin-lte/tokens'
|
||||||
|
import Configure from 'fullstack-gatsby-theme-bch-wallet/src/components/admin-lte/configure'
|
||||||
|
import SendReceive from 'fullstack-gatsby-theme-bch-wallet/src/components/admin-lte/send-receive'
|
||||||
|
|
||||||
|
import About from '../../about'
|
||||||
|
import Sweep from 'gatsby-plugin-bch-sweep/src/components/sweep/index'
|
||||||
|
import CreateToken from 'gatsby-plugin-bch-create-token/src/components/create-token'
|
||||||
|
|
||||||
|
const { Item } = Sidebar
|
||||||
|
|
||||||
|
const MenuComponents = props => {
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
key: 'Tokens',
|
||||||
|
component: <Tokens key='Tokens' {...props} />,
|
||||||
|
menuItem: <Item icon='fas-coins' key='Tokens' text='Tokens' />
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 'Send/Receive BCH',
|
||||||
|
component: <SendReceive key='Send/Receive BCH' {...props} />,
|
||||||
|
menuItem: (
|
||||||
|
<Item
|
||||||
|
icon='fa-exchange-alt'
|
||||||
|
key='Send/Receive BCH'
|
||||||
|
text='Send/Receive BCH'
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 'Sweep',
|
||||||
|
component: <Sweep key='Sweep' {...props} />,
|
||||||
|
menuItem: <Item icon='fas-arrow-circle-up' key='Sweep' text='Sweep' />
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 'Wallet',
|
||||||
|
component: <Wallet key='Wallet' interface='rest-api' {...props} />,
|
||||||
|
// component: <Wallet key="Wallet" interface="consumer-api" {...props} />,
|
||||||
|
menuItem: <Item icon='fa-wallet' key='Wallet' text='Wallet' />
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 'Create Token',
|
||||||
|
component: <CreateToken key='Create Token' {...props} />,
|
||||||
|
menuItem: (
|
||||||
|
<Item icon='fas-plus-square' key='Create Token' text='Create Token' />
|
||||||
|
)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 'Configure',
|
||||||
|
component: <Configure key='Configure' {...props} />,
|
||||||
|
menuItem: <Item icon='fas-cog' key='Configure' text='Configure' />
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 'About',
|
||||||
|
component: <About key='About' {...props} />,
|
||||||
|
menuItem: <Item icon='fas-question' key='About' text='About' />
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
export default MenuComponents
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
/*
|
||||||
|
This file is intended to be overwritten. It provides a common place to store
|
||||||
|
site configuration data.
|
||||||
|
*/
|
||||||
|
|
||||||
|
const config = {
|
||||||
|
title: 'FullStack.cash',
|
||||||
|
titleShort: 'PSF',
|
||||||
|
balanceText: 'BCH Balance',
|
||||||
|
balanceIcon: 'fab-bitcoin',
|
||||||
|
|
||||||
|
// The BCH address used in a memo.cash account. Used for tracking the IPFS
|
||||||
|
// hash of the mirror of this site.
|
||||||
|
memoAddr: 'bitcoincash:qq8mk8etntclfdkny2aknh4ylc0uaewalszh5eytnr',
|
||||||
|
|
||||||
|
// Footer Information
|
||||||
|
hostText: 'FullStack.cash',
|
||||||
|
hostUrl: 'https://fullstack.cash/',
|
||||||
|
sourceCode: 'https://github.com/Permissionless-Software-Foundation/wallet.fullstack.cash',
|
||||||
|
torUrl: '6akyufxp2fiyqk5526kwxvas63xo5kag657jlztnaqnemjctkfp2xhid.onion',
|
||||||
|
clearWebUrl: 'https://wallet.fullstack.cash'
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = config
|
||||||
+73
@@ -0,0 +1,73 @@
|
|||||||
|
import React from 'react'
|
||||||
|
import PropTypes from 'prop-types'
|
||||||
|
// import { withPrefix, Link } from 'gatsby'
|
||||||
|
|
||||||
|
// window && typeof window !== 'undefined' && window.test = 'testing'
|
||||||
|
|
||||||
|
export default function HTML (props) {
|
||||||
|
return (
|
||||||
|
<html {...props.htmlAttributes}>
|
||||||
|
<head>
|
||||||
|
<meta charSet='utf-8' />
|
||||||
|
<meta httpEquiv='x-ua-compatible' content='ie=edge' />
|
||||||
|
<meta
|
||||||
|
name='viewport'
|
||||||
|
content='width=device-width, initial-scale=1, shrink-to-fit=no'
|
||||||
|
/>
|
||||||
|
|
||||||
|
{/* Loading animation should be loaded very first thing. */}
|
||||||
|
<div
|
||||||
|
className='test'
|
||||||
|
key='loader'
|
||||||
|
id='___loader'
|
||||||
|
style={{
|
||||||
|
alignItems: 'center',
|
||||||
|
backgroundColor: '#F2F2F2',
|
||||||
|
display: 'flex',
|
||||||
|
justifyContent: 'center',
|
||||||
|
position: 'absolute',
|
||||||
|
left: 0,
|
||||||
|
top: 0,
|
||||||
|
right: 0,
|
||||||
|
bottom: 0,
|
||||||
|
zIndex: 9000,
|
||||||
|
flexDirection: 'column'
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<img src='https://i.imgur.com/8n8PYAi.gif' alt='' width='250' />
|
||||||
|
Loading...
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* minimal-slp-wallet-web */}
|
||||||
|
{/* <script src='https://unpkg.com/minimal-slp-wallet@3.6.1' /> */}
|
||||||
|
<script src='https://unpkg.com/minimal-slp-wallet' />
|
||||||
|
|
||||||
|
{/* bch-message-lib */}
|
||||||
|
<script src='https://unpkg.com/bch-message-lib' />
|
||||||
|
|
||||||
|
{/* bch-token-sweep */}
|
||||||
|
<script src='https://unpkg.com/bch-token-sweep' />
|
||||||
|
|
||||||
|
{props.headComponents}
|
||||||
|
</head>
|
||||||
|
<body {...props.bodyAttributes}>
|
||||||
|
{props.preBodyComponents}
|
||||||
|
<div
|
||||||
|
key='body'
|
||||||
|
id='___gatsby'
|
||||||
|
dangerouslySetInnerHTML={{ __html: props.body }}
|
||||||
|
/>
|
||||||
|
{props.postBodyComponents}
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
HTML.propTypes = {
|
||||||
|
htmlAttributes: PropTypes.object,
|
||||||
|
headComponents: PropTypes.array,
|
||||||
|
bodyAttributes: PropTypes.object,
|
||||||
|
preBodyComponents: PropTypes.array,
|
||||||
|
body: PropTypes.string,
|
||||||
|
postBodyComponents: PropTypes.array
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 120 KiB |
@@ -0,0 +1,13 @@
|
|||||||
|
# Manual Testing
|
||||||
|
This file describes the different manual tests that should be done to 'smoke test' releases of [wallet.FullStack.cash](https://wallet.fullstack.cash).
|
||||||
|
|
||||||
|
## Outline
|
||||||
|
This is a brief outline summary of the manual tests:
|
||||||
|
|
||||||
|
- Wallet
|
||||||
|
- Create a new wallet
|
||||||
|
- Import a wallet
|
||||||
|
- Android
|
||||||
|
- Delete and reinstall app
|
||||||
|
- Ensure correct app icon appears after install
|
||||||
|
- Ensure 12-word seed is imported correctly, with correct balances for BCH and tokens.
|
||||||
Binary file not shown.
Reference in New Issue
Block a user