Skip to content

Commit

Permalink
add Bitmark support
Browse files Browse the repository at this point in the history
  • Loading branch information
akrmn committed Dec 7, 2018
1 parent cd2a86d commit bd9198a
Show file tree
Hide file tree
Showing 2,086 changed files with 168,337 additions and 27,283 deletions.
3 changes: 3 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.bat]
end_of_line = crlf

[build.gradle]
continuation_indent_size = 4

Expand Down
16 changes: 16 additions & 0 deletions .gitattributes
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
13 changes: 7 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/docs
/log
/bin
/out
*/docs
*/log
*/bin
*/out
.idea
!.idea/copyright/bisq_Affero_GPLv3.xml
!.idea/copyright/profiles_settings.xml
Expand All @@ -21,10 +21,11 @@ build
*.java.hsp
*.~ava
/bundles
/bisq*
/bisq-*
/lib
/xchange
desktop.ini
*/target/*
*.class
deploy
releases/*
*/releases/*
7 changes: 7 additions & 0 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
language: java
jdk: oraclejdk8
jdk: openjdk10
before_install:
grep -v '^#' src/main/resources/META-INF/services/bisq.asset.Asset | sort --check --dictionary-order --ignore-case
notifications:
slack:
on_success: change
Expand Down
8 changes: 8 additions & 0 deletions CODEOWNERS
Validating CODEOWNERS rules …
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
86 changes: 84 additions & 2 deletions CONTRIBUTING.md
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
53 changes: 9 additions & 44 deletions README.md
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).
62 changes: 62 additions & 0 deletions assets/src/main/java/bisq/asset/AbstractAsset.java
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();
}
}
Loading

0 comments on commit bd9198a

Please sign in to comment.