Skip to content
This repository was archived by the owner on Mar 6, 2024. It is now read-only.

Commit 1eff818

Browse files
authored
Merge pull request #1 from swiftlettech/dev
Beta Release
2 parents 1f20568 + d7eeab4 commit 1eff818

File tree

100 files changed

+89378
-44
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+89378
-44
lines changed

.gitignore

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#directories
2+
build
3+
dist
4+
node_modules
5+
rpc-explorer\node_modules
6+
PaperWalletGenerator-3.3.0
7+
startbootstrap-sb-admin-3.3.7
8+
SmartSweeper-win32-x64
9+
debug
10+
11+
#files
12+
*.tgz
13+
*.log
14+
*.zip
15+
*.pdf
16+
/db/smart-sweeper.json
17+
/app/utils/js-nat-multisort.js
18+
/smart-sweeper.json
19+
.env
20+
clipboard.js-master.zip
21+
PaperWalletGenerator-3.3.0.zip
22+
SmartSweeper-win32-x64.zip
23+
startbootstrap-sb-admin-3.3.7.zip

CODE_OF_CONDUCT.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, sex characteristics, gender identity and expression,
9+
level of experience, education, socio-economic status, nationality, personal
10+
appearance, race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at smartsweeper@swiftlet.technology. All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72+
73+
[homepage]: https://www.contributor-covenant.org
74+
75+
For answers to common questions about this code of conduct, see
76+
https://www.contributor-covenant.org/faq
77+

CONTRIBUTING.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# SmartSweeper Contribution Guidelines
2+
3+
Thank you for being interested in contributing to the development of SmartSweeper.
4+
5+
## Code of Conduct
6+
7+
We ask that all contributors follow our [code of conduct](CODE_OF_CONDUCT.md). Please report unacceptable behavior to [smartsweeper@swiftlet.technology](mailto:smartsweeper@swiftlet.technology).
8+
9+
## How Can I Contribute?
10+
### Reporting Bugs
11+
12+
1. Please check [existing issues](/issues) to make sure the bug hasn't already been reported. If it has and the issue is still open, please add a new comment to the existing issue.
13+
1. If the bug hasn't been reported, create a new issue by filling in the [bug report template](docs/bug_report.md). Please include as much information as you can.
14+
15+
### Suggesting Enhancements
16+
17+
1. Please check [existing issues](/issues) to make sure that no one else has suggested the same enhancement. If someone has and the issue is still open, please add a new comment to the existing issue.
18+
1. If the suggestion hasn't already been made, please follow [these guidelines](docs/enhancement_suggestion.md).
19+
20+
## Style Guidelines
21+
22+
There are three styles currently in use:
23+
24+
* ```index.js```, ```smartcashapi.js```, and ```rpc-client.js``` more-or-less follow the [Electron style guidelines](https://electronjs.org/docs/development/coding-style)
25+
* The other JavaScript files in general mostly follow the [W3Schools style guide](https://www.w3schools.com/js/js_conventions.asp).
26+
* The file and folder structure in ```/app``` follows the [John Papa's Angular 1 style guide](https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md).
27+
28+
Going forward, all JavaScript will use the W3Schools style with an exception:
29+
* Conditionals:
30+
```javascript
31+
if (time < 20) {
32+
greeting = "Good day";
33+
}
34+
else {
35+
greeting = "Good evening";
36+
}
37+
```
38+
39+
This guide was inspired by the [Atom contribution guidelines](https://github.com/atom/atom/blob/master/CONTRIBUTING.md).

README.md

Lines changed: 56 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,53 @@
1-
SmartSweeper
2-
=============
1+
# SmartSweeper
32

4-
NOTE
5-
---------------
6-
SmartSweeper is still in the development stage so it is unstable and missing functionality. DO NOT attempt to create transactions with this app.
3+
### Note
4+
SmartSweeper is currently in beta. You fund projects at your own risk.
75

6+
### Description
7+
Sweeper application for [SmartCash cryptocurrency](http://smartcash.cc) to allow easy retrieval of gift funds. Runs only on Windows 7, 8, and 10 at the moment. It isn't necessary to input your wallet passphrase to use SmartSweeper.
88

9-
Description
10-
---------------
11-
Sweeper application for [SmartCash cryptocurrency](http://smartcash.cc) to allow easy retrieval of gift funds. Runs only on Windows at the moment. It isn't necessary to input your wallet passphrase to use SmartSweeper.
12-
13-
14-
Features
15-
---------------
9+
### Features
1610
* Create projects to organize promotions
17-
* Send funds to multiple promotional wallets
11+
* Send funds to promotional wallets (1-500 wallets, inclusive)
1812
* Retrieve promotional funds from wallets that were not redeemed
1913
* Print paper wallets
20-
* Access logs
14+
* User action logs and system logs
15+
16+
### Base Requirement
17+
* [SmartCash Node Client](https://smartcash.cc/wallets/) for Windows - 1.2.6+ ([there is a bootstrap file to shorten sync time](https://smartcash.freshdesk.com/support/solutions/articles/35000027174-using-the-bootstrap-to-speedup-sync-process))
2118

19+
### Table of Contents
20+
* [Installation](#installation)
21+
* [Running from source](#running-from-source)
22+
* [Configuration](#configuration)
23+
* [Known issues](#known-issues)
24+
* [Other software used](#other-software-used)
25+
* [Contributing to SmartSweeper development](#contributing)
2226

23-
Releases
24-
---------------
25-
Releases are forthcoming. Please see the [dev branch](https://github.com/swiftlettech/smart-sweeper/tree/dev).
2627

28+
## Installation
29+
Download a release and run the installer. You may need to run SmartSweeper as an administrator.
2730

28-
Requirements
29-
---------------
31+
32+
## Running from source
33+
#### Additional Requirements
3034
* [Node.js](http://nodejs.org) - 8.9.0+
3135
* [npm](http://npmjs.com) - 5.6.0+
32-
* [SmartCash Node Client](https://smartcash.cc/wallets/) for Windows - 1.2.2+ ([there is a bootstrap file to shorten sync time](https://smartcash.freshdesk.com/support/solutions/articles/35000027174-using-the-bootstrap-to-speedup-sync-process))
33-
34-
Run node -v and npm -v from a command prompt to make sure they're in your PATH. Open your SmartCash desktop wallet application to make sure it is up to date before launching SmartSweeper.
3536

37+
Run ```node -v``` and ```npm -v``` from a command prompt to make sure both are in your PATH. Open your SmartCash node client to make sure it is synchronized before launching SmartSweeper.
3638

37-
Installation
38-
---------------
39+
#### Installation
3940
``` bash
4041
npm install
4142
```
4243

43-
44-
To run
45-
---------------
44+
#### To run
4645
``` bash
4746
npm start
4847
```
4948

5049

51-
Configuration
52-
---------------
50+
## Configuration
5351
SmartSweeper can be configured by modifying .env in the root directory. The app will create it for you the first time you load it, but you can create the file yourself prior to that, which will help if you didn't use the default SmartCash installation path. The default values for Windows are shown below.
5452
```
5553
rpc.host=127.0.0.1
@@ -60,26 +58,24 @@ smartcashPath=C:\Program Files\SmartCash\
6058
```
6159

6260
* rpc.host is the IP address that the SmartCash Node Client RPC server is bound to.
63-
* rpc.port is the port that the SmartCash node client RPC server is listening on.
61+
* rpc.port is the port that the SmartCash Node Client RPC server is listening on.
6462
* rpc.username is the SmartCash Node Client RPC server username.
6563
* rpc.password is the SmartCash Node Client RPC server password.
6664
* smartcashPath is the full path to your SmartCash Node Client installation. You must include a trailing slash.
6765

6866

69-
Your SmartCash wallet must be started with the following arguments:
67+
Your SmartCash Node Client must be started with the following arguments:
7068
```
71-
-txindex=1 (if SmartCash Node Client is < v1.2.3)
7269
-server
7370
-rpcbind=127.0.0.1
7471
-rpcport=9678
7572
-rpcuser=rpcusername
7673
-rpcpassword=rpcpassword
7774
```
7875

79-
If it isn't running, SmartSweeper will start it for you with the above arguments. You can also [edit your wallet's smartcash.conf file](https://smartcash.freshdesk.com/support/solutions/articles/35000038702-smartcash-conf-configuration-file). Please don't do this with your wallet running.
76+
If it isn't running, SmartSweeper will attempt to start it for you with the above arguments. You can also [edit your node client's smartcash.conf file](https://smartcash.freshdesk.com/support/solutions/articles/35000038702-smartcash-conf-configuration-file). Please don't do this with your client running.
8077

8178
```
82-
txindex=1 (if SmartCash Node Client is < v1.2.3)
8379
server=1
8480
rpcbind=127.0.0.1
8581
rpcport=9678
@@ -90,37 +86,45 @@ rpcpassword=rpcpassword
9086
The values of rpc.host, rpc.port, rpc.username, and rpc.password in .env must match those in the program arguments or the smartcash.conf file.
9187

9288

93-
User files
94-
---------------
95-
The database (smart-sweeper.json), the app config file (smart-sweeper-config.json) and the log files are saved in the following folders:
89+
#### User files
90+
The database (smart-sweeper.json), the app config file (smart-sweeper-config.json), the saved dashboard data file (smart-sweeper-data.json) and the log files are saved in the following folder:
9691

9792
* **Windows**: %APPDATA%/SmartSweeper
9893

99-
The log files are also in JSON format and can be viewed with a general log viewer such as [glogg](https://github.com/nickbnf/glogg). **It is recommended that you back up smart-sweeper.json to a safe place.**
94+
**It is strongly recommended that you regularly back up smart-sweeper.json to a safe place.**
95+
96+
The log files are also in JSON format and can be viewed with a general log viewer such as [glogg](https://github.com/nickbnf/glogg). The user logs record user actions while the system logs record system actions and errors (and includes transaction ids and public keys).
10097

10198

102-
KNOWN ISSUES
103-
---------------
104-
* electron-store error: "EPERM operation not permitted" sometimes occurs on Windows when reading a config file. SmartSweeper will exit when it does.
99+
## Known issues
100+
* SmartSweeper may not open the SmartCash Node Client. If smartcash.conf hasn't been modified with the info above, SmartSweeper won't work if the node client is run manually.
101+
* electron-store error "EPERM operation not permitted" sometimes occurs on Windows when reading a config file. SmartSweeper will exit when it does.
102+
* Can't connect to the node client via RPC when it's syncing (SmartSweeper will display the "Can't connect to SmartCash Node Client." error). This will cause some actions to fail and some project data updates to not occur.
103+
* Claimed funds info on the dashboard and the sweep funds page becomes inaccurate after one or more projects have been swept.
104+
* Empty log files are sometimes created in the root SmartSweeper data folder.
105+
* There is lag when entering text into input fields.
105106

106107

107-
Other software used
108-
-------------------
108+
## Other software used
109109
Software | License
110110
-------- | --------
111111
[AngularJS](http://angularjs.org) | MIT
112112
[AngularUI Bootstrap](https://github.com/angular-ui/bootstrap) | MIT
113113
[Bootstrap](https://getbootstrap.com/docs/3.3/) | MIT
114114
[clipboard.js](https://clipboardjs.com) | MIT
115+
[delayed-call](https://github.com/finnolav/delayed-call) | MIT
115116
[devtron](https://github.com/electron/devtron) | MIT
116117
[electron](https://github.com/electron/electron) | MIT
118+
[electron-builder](https://github.com/electron-userland/electron-builder) | MIT
117119
[electron-debug](https://github.com/sindresorhus/electron-debug) | MIT
118120
[electron-is-dev](https://github.com/sindresorhus/electron-is-dev) | MIT
119121
[electron-store](https://github.com/sindresorhus/electron-store) | MIT
122+
[electron-unhandled](https://github.com/sindresorhus/electron-unhandled) | MIT
120123
[electron-util](https://github.com/sindresorhus/electron-util) | MIT
121124
[elemon](https://github.com/manidlou/elemon) | MIT
122125
[exp-config](https://github.com/ExpressenAB/exp-config) | MIT
123126
[melanke-watchjs](https://github.com/melanke/Watch.JS) | MIT
127+
[Moment.js](https://github.com/moment/moment) | MIT
124128
[node-smartcash](https://github.com/miyakoj/node-smartcash) | MIT
125129
[ps-node](https://github.com/neekey/ps) | MIT
126130
[request](https://github.com/request/request) | Apache-2.0
@@ -129,4 +133,12 @@ Software | License
129133
[winston](https://github.com/winstonjs/winston) | MIT
130134

131135

132-
[The SmartCash Insight Explorer API](https://insight.smartcash.cc) is used to check the current block count and to get information about project addresses.
136+
[The SmartCash Insight Explorer](https://insight.smartcash.cc) is used to check the current block count and to get information about project addresses.
137+
138+
### Icons and graphics
139+
* Basic app icons: [Font Awesome](http://fontawesome.io)
140+
* Progress spinner: [preloaders.net](https://preloaders.net)
141+
142+
143+
## Contributing
144+
You can [contribute to the development of SmartSweeper](CONTRIBUTING.md) by filing a bug report or by submitting a pull request. All contributors must follow our [code of conduct](docs/CODE_OF_CONDUCT.md).

0 commit comments

Comments
 (0)