Forked from PSF version of the repo

This commit is contained in:
Chris Troutner
2022-02-05 16:46:25 -08:00
commit 5ff198c391
25 changed files with 63770 additions and 0 deletions
+147
View File
@@ -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
+39
View File
@@ -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
View File
@@ -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