-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
akrmn
committed
Dec 7, 2018
1 parent
cd2a86d
commit bd9198a
Showing
2,086 changed files
with
168,337 additions
and
27,283 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Auto detect text files and normalize line endings to LF | ||
# This will handle all files NOT found below | ||
* text=auto | ||
|
||
# These text files should retain Windows line endings (CRLF) | ||
*.bat text eol=crlf | ||
|
||
# These binary files should be left untouched | ||
# (binary is a macro for -text -diff) | ||
*.bmp binary | ||
*.gif binary | ||
*.ico binary | ||
*.jar binary | ||
*.jpg binary | ||
*.jpeg binary | ||
*.png binary |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# This doc specifies who gets requested to review GitHub pull requests. | ||
# See https://help.github.com/articles/about-codeowners/. | ||
|
||
* @ManfredKarrer | ||
/assets/ @blabno | ||
/desktop/ @ripcurlx @ManfredKarrer | ||
*gradle* @cbeams | ||
/pricenode/ @cbeams |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,85 @@ | ||
# Bisq Contributor Guidelines | ||
# Contributing to Bisq | ||
|
||
Anyone is welcome to contribute to Bisq. This document provides an overview of how we work. If you're looking for somewhere to start contributing, see the [good first issue](https://github.com/bisq-network/bisq/issues?q=is%3Aopen+is%3Aissue+label%3A"good+first+issue") list. | ||
|
||
|
||
## Communication Channels | ||
|
||
Most communication about Bisq happens in the [Bisq Slack workspace](https://bisq.network/slack-invite). | ||
|
||
Discussion about code changes happens in GitHub issues and pull requests. | ||
|
||
Discussion about larger changes to the way Bisq works happens in issues the [bisq-network/proposals](https://github.com/bisq-network/proposals/issues) repository. See https://docs.bisq.network/proposals.html for details. | ||
|
||
|
||
## Contributor Workflow | ||
|
||
All Bisq contributors submit changes via pull requests. The workflow is as follows: | ||
|
||
- Fork the repository | ||
- Create a topic branch from the `master` branch | ||
- Commit patches | ||
- Submit a pull request from your topic branch back to the `master` branch of the main repository | ||
|
||
Pull requests should be focused on a single change. Do not mix, for example, refactorings with a bug fix or implementation of a new feature. This practice makes it easier for fellow contributors to review each pull request on its merits and and to give a clear ACK/NACK (see below). | ||
|
||
|
||
## Reviewing Pull Requests | ||
|
||
Bisq follows the review workflow established by the Bitcoin Core project. The following is adapted from the [Bitcoin Core contributor documentation](https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md#peer-review): | ||
|
||
Anyone may participate in peer review which is expressed by comments in the pull request. Typically reviewers will review the code for obvious errors, as well as test out the patch set and opine on the technical merits of the patch. Project maintainers take into account the peer review when determining if there is consensus to merge a pull request (remember that discussions may have been spread out over GitHub, mailing list and IRC discussions). The following language is used within pull-request comments: | ||
|
||
- `ACK` means "I have tested the code and I agree it should be merged"; | ||
- `NACK` means "I disagree this should be merged", and must be accompanied by sound technical justification. NACKs without accompanying reasoning may be disregarded; | ||
- `utACK` means "I have not tested the code, but I have reviewed it and it looks OK, I agree it can be merged"; | ||
- `Concept ACK` means "I agree in the general principle of this pull request"; | ||
- `Nit` refers to trivial, often non-blocking issues. | ||
|
||
|
||
## Compensation | ||
|
||
Bisq is not a company, but operates as a _decentralized autonomous organization_ (DAO). For any work merged into Bisq's `master` branch, you can [submit a compensation request](https://docs.bisq.network/dao/phase-zero.html#how-to-request-compensation) and earn BSQ (the Bisq DAO native token). Learn more about the Bisq DAO and BSQ [here](https://docs.bisq.network/dao/phase-zero.html). | ||
|
||
|
||
## Style and Coding Conventions | ||
|
||
### Configure Git user name and email metadata | ||
|
||
See https://help.github.com/articles/setting-your-username-in-git/ for instructions. | ||
|
||
### Write well-formed commit messages | ||
|
||
From https://chris.beams.io/posts/git-commit/#seven-rules: | ||
|
||
1. Separate subject from body with a blank line | ||
2. Limit the subject line to 50 characters | ||
3. Capitalize the subject line | ||
4. Do not end the subject line with a period | ||
5. Use the imperative mood in the subject line | ||
6. Wrap the body at 72 characters | ||
7. Use the body to explain what and why vs. how | ||
|
||
See also [bisq-network/style#9](https://github.com/bisq-network/style/issues/9). | ||
|
||
### Sign your commits with GPG | ||
|
||
_Not strictly required, but recommended for those who commit frequently._ | ||
|
||
See https://github.com/blog/2144-gpg-signature-verification for background and | ||
https://help.github.com/articles/signing-commits-with-gpg/ for instructions. | ||
|
||
### Use an editor that supports Editorconfig | ||
|
||
The [.editorconfig](.editorconfig) settings in this repository ensure consistent management of whitespace, line endings and more. Most modern editors support it natively or with plugin. See http://editorconfig.org for details. See also [bisq-network/style#10](https://github.com/bisq-network/style/issues/10). | ||
|
||
### Additional style guidelines | ||
|
||
See the issues in the [bisq-network/style](https://github.com/bisq-network/style/issues) repository. | ||
|
||
|
||
## See also | ||
|
||
- [contributor checklist](https://docs.bisq.network/contributor-checklist.html) | ||
- [developer docs](docs#readme) including build and dev environment setup instructions | ||
|
||
See https://github.com/bisq-network/docs/blob/master/CONTRIBUTING.adoc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,55 +1,20 @@ | ||
<img src="https://bisq.network/images/logo_white_bg.png" width="410" /> | ||
# Bisq | ||
|
||
[![Build Status](https://travis-ci.org/bisq-network/bisq.svg?branch=master)](https://travis-ci.org/bisq-network/bisq) | ||
|
||
What is Bisq? | ||
------------------ | ||
|
||
Bisq is a cross-platform desktop application that allows users to trade national currency (dollars, euros, etc) for bitcoin without relying on centralized exchanges such as Coinbase, Bitstamp or (the former) Mt. Gox. | ||
## What is Bisq? | ||
|
||
By running Bisq on their local machines, users form a peer-to-peer network. Offers to buy and sell bitcoin are broadcast to that network, and through the process of offering and accepting these trades via the Bisq UI, a market is established. | ||
Bisq is a safe, private and decentralized way to exchange bitcoin for national currencies and other digital assets. Bisq uses peer-to-peer networking and multi-signature escrow to facilitate trading without a third party. Bisq is non-custodial and incorporates a human arbitration system to resolve disputes. | ||
|
||
There are no central points of control or failure in the Bisq network. There are no trusted third parties. When two parties agree to trade national currency for bitcoin, the bitcoin to be bought or sold is held in escrow using multisignature transaction capabilities native to the bitcoin protocol. | ||
To learn more, see the doc and video at https://bisq.network/intro. | ||
|
||
Because the national currency portion of any trade must be transferred via traditional means such as a wire transfer, Bisq incorporates first-class support for human arbitration to resolve any errors or disputes. | ||
|
||
You can read about all of this and more in the [whitepaper](https://bisq.network/bitsquare.pdf) and [arbitration](https://bisq.network/arbitration_system.pdf) documents. Several [videos](https://bisq.network/blog/category/video) are available as well. | ||
## Get started using Bisq | ||
|
||
Status | ||
------ | ||
Bisq has released the beta version on the 27th of April 2016. It is operational since that time without any major incident. | ||
Please follow the current development state at our [road map]( https://bisq.network/roadmap). | ||
For the latest version checkout our [releases page](https://github.com/bisq-network/exchange/releases) at GitHub. | ||
Follow the step-by-step instructions at https://bisq.network/get-started. | ||
|
||
Building from source | ||
-------------------- | ||
|
||
See [doc/build.md](doc/build.md). | ||
## Contribute to Bisq | ||
|
||
[AUR for Arch Linux](https://aur.archlinux.org/packages/bisq-git/) | ||
|
||
|
||
Staying in Touch | ||
---------------- | ||
|
||
Contact the team and keep up to date using any of the following: | ||
|
||
- The [Bisq website](https://bisq.network) | ||
- GitHub [Issues](https://github.com/bisq-network/bisq-desktop/issues) | ||
- The [Bisq forum]( https://bisq.community) | ||
- The [#bisq](https://webchat.freenode.net/?channels=bisq) IRC channel on Freenode | ||
- Our [contributor mailing list](https://lists.bisq.network/listinfo/bisq-contrib) | ||
- [@bisq_network](https://twitter.com/bisq_network) on Twitter | ||
- The [Bisq newsletter](https://eepurl.com/5uQf9) | ||
|
||
|
||
License | ||
------- | ||
|
||
Bisq is [free software](https://www.gnu.org/philosophy/free-sw.html), licensed under version 3 of the [GNU Affero General Public License](https://gnu.org/licenses/agpl.html). | ||
|
||
In short, this means you are free to fork this repository and do anything with it that you please. However, if you _distribute_ your changes, i.e. create your own build of the software and make it available for others to use, you must: | ||
|
||
1. Publish your changes under the same license, so as to ensure the software remains free. | ||
2. Use a name and logo substantially different than "Bisq" and the Bisq logo seen here. This allows for competition without confusion. | ||
|
||
See [LICENSE](LICENSE) for complete details. | ||
See [CONTRIBUTING.md](CONTRIBUTING.md) and the [developer docs](docs#readme). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
/* | ||
* This file is part of Bisq. | ||
* | ||
* Bisq is free software: you can redistribute it and/or modify it | ||
* under the terms of the GNU Affero General Public License as published by | ||
* the Free Software Foundation, either version 3 of the License, or (at | ||
* your option) any later version. | ||
* | ||
* Bisq is distributed in the hope that it will be useful, but WITHOUT | ||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public | ||
* License for more details. | ||
* | ||
* You should have received a copy of the GNU Affero General Public License | ||
* along with Bisq. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
package bisq.asset; | ||
|
||
import static org.apache.commons.lang3.Validate.notBlank; | ||
import static org.apache.commons.lang3.Validate.notNull; | ||
|
||
/** | ||
* Abstract base class for {@link Asset} implementations. Most implementations should not | ||
* extend this class directly, but should rather extend {@link Coin}, {@link Token} or one | ||
* of their subtypes. | ||
* | ||
* @author Chris Beams | ||
* @since 0.7.0 | ||
*/ | ||
public abstract class AbstractAsset implements Asset { | ||
|
||
private final String name; | ||
private final String tickerSymbol; | ||
private final AddressValidator addressValidator; | ||
|
||
public AbstractAsset(String name, String tickerSymbol, AddressValidator addressValidator) { | ||
this.name = notBlank(name); | ||
this.tickerSymbol = notBlank(tickerSymbol); | ||
this.addressValidator = notNull(addressValidator); | ||
} | ||
|
||
@Override | ||
public final String getName() { | ||
return name; | ||
} | ||
|
||
@Override | ||
public final String getTickerSymbol() { | ||
return tickerSymbol; | ||
} | ||
|
||
@Override | ||
public final AddressValidationResult validateAddress(String address) { | ||
return addressValidator.validate(address); | ||
} | ||
|
||
@Override | ||
public String toString() { | ||
return getClass().getName(); | ||
} | ||
} |
Oops, something went wrong.