├── .gitignore ├── LICENSE ├── ReadMe.md ├── assets ├── app_remote_alerts_info.json ├── bin │ ├── linux64 │ │ └── marketmaker │ ├── osx │ │ └── marketmaker │ └── win64 │ │ ├── libcurl.dll │ │ ├── libsodium.dll │ │ ├── marketmaker.exe │ │ ├── msvcp140.dll │ │ ├── nanomsg.dll │ │ └── vcruntime140.dll ├── coins.json ├── icons │ └── barterdex │ │ ├── 128x128.png │ │ ├── 16x16.png │ │ ├── 24x24.png │ │ ├── 256x256.png │ │ ├── 32x32.png │ │ ├── 48x48.png │ │ ├── 64x64.png │ │ ├── 96x96.png │ │ ├── barterdex.icns │ │ ├── barterdex.ico │ │ ├── barterdex.png │ │ └── barterdex.psd ├── languages │ ├── bg_BG.json │ ├── da_DK.json │ ├── en_US.json │ ├── es_ES.json │ ├── fr_FR.json │ ├── hi_IN.json │ ├── it_IT.json │ ├── ja_JP.json │ ├── ko_KR.json │ ├── no_NO.json │ ├── ru_RU.json │ ├── tlh_UN.json │ └── tr_TR.json └── settings.json ├── gui ├── css │ ├── HoldOn.min.css │ ├── bootstrap-panelnavtabs.css │ ├── bootstrap-select.min.css │ ├── bootstrap-slider.min.css │ ├── bootstrap-theme.css │ ├── bootstrap-theme.css.map │ ├── bootstrap-theme.min.css │ ├── bootstrap-theme.min.css.map │ ├── bootstrap-toggle.min.css │ ├── bootstrap.css.map │ ├── bootstrap.min.css │ ├── bootstrap.min.css.map │ ├── charts │ │ ├── StockChartX.External.min.css │ │ ├── StockChartX.UI.min.css │ │ ├── StockChartX.min.css │ │ └── site.css │ ├── custom.css │ ├── dark-theme.css │ ├── fonts │ │ ├── calibri │ │ │ ├── calibri.eot │ │ │ ├── calibri.svg │ │ │ ├── calibri.ttf │ │ │ └── calibri.woff │ │ ├── courier-new │ │ │ ├── courier-new.eot │ │ │ ├── courier-new.svg │ │ │ ├── courier-new.ttf │ │ │ └── courier-new.woff │ │ ├── georgia │ │ │ ├── georgia.eot │ │ │ ├── georgia.svg │ │ │ ├── georgia.ttf │ │ │ └── georgia.woff │ │ ├── impact │ │ │ ├── impact.eot │ │ │ ├── impact.svg │ │ │ ├── impact.ttf │ │ │ └── impact.woff │ │ ├── open-sans-cyrillic-ext │ │ │ ├── open-sans-cyrillic-ext.eot │ │ │ ├── open-sans-cyrillic-ext.svg │ │ │ ├── open-sans-cyrillic-ext.ttf │ │ │ └── open-sans-cyrillic-ext.woff │ │ ├── open-sans-cyrillic │ │ │ ├── open-sans-cyrillic.eot │ │ │ ├── open-sans-cyrillic.svg │ │ │ ├── open-sans-cyrillic.ttf │ │ │ └── open-sans-cyrillic.woff │ │ ├── open-sans-greek-ext │ │ │ ├── open-sans-greek-ext.eot │ │ │ ├── open-sans-greek-ext.svg │ │ │ ├── open-sans-greek-ext.ttf │ │ │ └── open-sans-greek-ext.woff │ │ ├── open-sans-greek │ │ │ ├── open-sans-greek.eot │ │ │ ├── open-sans-greek.svg │ │ │ ├── open-sans-greek.ttf │ │ │ └── open-sans-greek.woff │ │ ├── open-sans-latin-ext │ │ │ ├── open-sans-latin-ext.eot │ │ │ ├── open-sans-latin-ext.svg │ │ │ ├── open-sans-latin-ext.ttf │ │ │ └── open-sans-latin-ext.woff │ │ ├── open-sans-latin │ │ │ ├── open-sans-latin.eot │ │ │ ├── open-sans-latin.svg │ │ │ ├── open-sans-latin.ttf │ │ │ └── open-sans-latin.woff │ │ ├── open-sans-vietnamese │ │ │ ├── open-sans-vietnamese.eot │ │ │ ├── open-sans-vietnamese.svg │ │ │ ├── open-sans-vietnamese.ttf │ │ │ └── open-sans-vietnamese.woff │ │ ├── source-sans-pro-latin-ext │ │ │ ├── source-sans-pro-latin-ext.eot │ │ │ ├── source-sans-pro-latin-ext.svg │ │ │ ├── source-sans-pro-latin-ext.ttf │ │ │ └── source-sans-pro-latin-ext.woff │ │ ├── source-sans-pro-latin │ │ │ ├── source-sans-pro-latin.eot │ │ │ ├── source-sans-pro-latin.svg │ │ │ ├── source-sans-pro-latin.ttf │ │ │ └── source-sans-pro-latin.woff │ │ ├── source-sans-pro-vietnamese │ │ │ ├── source-sans-pro-vietnamese.eot │ │ │ ├── source-sans-pro-vietnamese.svg │ │ │ ├── source-sans-pro-vietnamese.ttf │ │ │ └── source-sans-pro-vietnamese.woff │ │ └── tangerine │ │ │ ├── tangerine.eot │ │ │ ├── tangerine.svg │ │ │ ├── tangerine.ttf │ │ │ └── tangerine.woff │ ├── fuelux.min.css │ ├── img │ │ ├── ContextMenuArrow.png │ │ ├── ContextMenuCheckbox.png │ │ ├── CursorClosedHand.cur │ │ ├── CursorCross.cur │ │ ├── LineTypeDash.png │ │ ├── LineTypeDashDot.png │ │ ├── LineTypeDot.png │ │ ├── LineTypeSolid.png │ │ ├── Loading_16x16.gif │ │ ├── Navigation.png │ │ ├── NoImage.png │ │ ├── PanelTitleIcons.png │ │ ├── TextBold24.png │ │ ├── TextBold24White.png │ │ ├── TextItalic24.png │ │ ├── TextItalic24White.png │ │ ├── TextUnderline24.png │ │ ├── TextUnderline24White.png │ │ ├── ToolGroup.png │ │ ├── ToolbarCusorTypes.png │ │ ├── ToolbarDelimiter.png │ │ ├── ToolbarDrawingMode.png │ │ ├── ToolbarDrawingsTooltip.png │ │ ├── ToolbarFibonacciDrawings.png │ │ ├── ToolbarGeneralDrawings.png │ │ ├── ToolbarGeometricDrawings.png │ │ ├── ToolbarHideDrawings.png │ │ ├── ToolbarIndicators.png │ │ ├── ToolbarMarkerDrawings.png │ │ ├── ToolbarPriceStyles.png │ │ ├── ToolbarScreenshot.png │ │ ├── ToolbarTheme.png │ │ ├── ToolbarTrashes.png │ │ ├── ToolbarTrendDrawings.png │ │ ├── ToolbarViewMode.png │ │ ├── ToolbarZoomButtons.png │ │ ├── fs-sprite.png │ │ ├── logo-free.png │ │ ├── logo-light.png │ │ └── logo.png │ ├── jquery.mCustomScrollbar.min.css │ ├── klingon-font.css │ ├── pretty-checkbox.min.css │ ├── spinner.css │ └── toastr.min.css ├── fonts │ ├── fuelux.eot │ ├── fuelux.svg │ ├── fuelux.ttf │ ├── fuelux.woff │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ ├── glyphicons-halflings-regular.woff2 │ ├── piqad.eot │ ├── piqad.svg │ ├── piqad.ttf │ └── piqad.woff ├── img │ ├── bitcoin.png │ ├── electrumlogo.png │ └── komodo.png ├── index.html └── js │ ├── Plugins │ ├── Bootstrap │ │ ├── BootstrapMenu.min.js │ │ ├── bootstrap-select.min.js │ │ ├── bootstrap-show-password.min.js │ │ ├── bootstrap-slider.min.js │ │ ├── bootstrap-toggle.min.js │ │ ├── bootstrap.js │ │ └── bootstrap.min.js │ ├── HoldOn.min.js │ ├── bootbox.min.js │ ├── clipboard.min.js │ ├── countdown.min.js │ ├── fuelux.min.js │ ├── jquery.mCustomScrollbar.concat.min.js │ ├── jquery.marquee.min.js │ ├── jquery.min.js │ ├── moment-countdown.min.js │ ├── moment-duration-format.min.js │ ├── moment.min.js │ ├── number-polyfill.min.js │ ├── qrcode.min.js │ ├── toastr.min.js │ └── underscore-min.js │ ├── amcharts │ ├── amcharts.js │ ├── pie.js │ ├── plugins │ │ ├── animate │ │ │ └── animate.min.js │ │ ├── export │ │ │ ├── .gitignore │ │ │ ├── export.css │ │ │ └── export.min.js │ │ └── responsive │ │ │ └── responsive.min.js │ └── themes │ │ ├── black.js │ │ ├── chalk.js │ │ ├── dark.js │ │ ├── light.js │ │ └── patterns.js │ ├── cdn │ ├── bootstrap.min.js │ └── jquery.min.js │ ├── charts │ ├── ChartContextMenu_html.js │ ├── DrawingContextMenu_html.js │ ├── DrawingSettingsDialog_html.js │ ├── IchimokuIndicatorSettingsDialog_html.js │ ├── IndicatorContextMenu_html.js │ ├── IndicatorInfoDialog_html.js │ ├── IndicatorSettingsDialog_html.js │ ├── IndicatorsDialog_html.js │ ├── IndicatorsHelp_html.js │ ├── Intl.complete.min.js │ ├── Navigation_html.js │ ├── PriceStyleSettingsDialog_html.js │ ├── StockChartX-Light.min.js │ ├── StockChartX.External.min.js │ ├── StockChartX.UI.min.js │ ├── StockChartX.min.js │ ├── ThemeDialog_html.js │ ├── Toolbar_html.js │ ├── custom-indicator.js │ ├── detectizr.min.js │ ├── html2canvas.min.js │ ├── jquery-migrate-3.0.0.min.js │ ├── jquery-ui.min.js │ ├── moment.min.js │ └── site.js │ ├── coin_names.js │ ├── country_list_json.js │ ├── dex_Charts.js │ ├── dex_CoinsDB.js │ ├── dex_ComplexActions.js │ ├── dex_FeaturesGUI.js │ ├── dex_Help.js │ ├── dex_Localization.js │ ├── dex_ManipulateHTML.js │ ├── dex_NotificationAlerts.js │ ├── dex_SimpleActions.js │ ├── dex_mmCalls.js │ ├── electrum_list.js │ ├── fa │ ├── css │ │ └── font-awesome.min.css │ └── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ ├── ipc-actions.js │ ├── language-codes_json.js │ ├── select_options_coin.js │ └── select_options_zeroconf_weeks.js ├── ipc ├── killmm.js ├── ports.js └── shepherd-ipc.js ├── main.js ├── package.json ├── private └── mainmenu.js └── release_notes /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | build 3 | npm-debug\.log 4 | .idea 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 SuperNET 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /ReadMe.md: -------------------------------------------------------------------------------- 1 | # This repository is deprecated and no longer supported! Please wait for the MM2 release. 2 | 3 | 4 | 5 | 6 | # Official BarterDEX README 7 | 8 | The BarterDEX application created by Komodo Platform allows trading cryptocurrency coins without a counterparty risk. 9 | The protocol is open-source and trading is available for any coin that any developers choose to connect to The BarterDEX. 10 | The parent project, Komodo Platform, freely provides BarterDEX technology through open-source philosophy. BarterDEX fully realizes decentralized order matching, trade clearing, and settlement. The order 11 | -matching aspect uses a low-level pubkey-to-pubkey messaging protocol, and the final settlement is executed through an atomic cross-chain swap. 12 | 13 | [Komodo Platform Official Site](https://komodoplatform.com) 14 | [Komodo BarterDEX Page](https://komodoplatform.com/decentralized-exchange) 15 | [Komodo Whitepaper](https://komodoplatform.com/wp-content/uploads/2018/03/2018-03-12-Komodo-White-Paper-Full.pdf) 16 | 17 | 18 | # BarterDEX App 19 | 20 | BarterDEX App includes all things required to run. You don't need to do anything else. Just use the following instructions to start using it. 21 | 22 | It has the pre-compiled `marketmaker` bundled with it. But in any case you still wish to compile `marketmaker` yourself, you can follow these instructions: 23 | 24 | https://github.com/KomodoPlatform/KomodoPlatform/wiki/Compile-marketmaker-Binary-with-Static-nanomsg-in-Linux 25 | https://github.com/KomodoPlatform/KomodoPlatform/wiki/Compile-marketmaker-Binary-with-Static-nanomsg-in-MacOS 26 | 27 | ### Setup 28 | 29 | #### Requirements 30 | - Git 31 | - Node.js - v7.10.0 or above 32 | 33 | 34 | To get started, follow these steps: 35 | ```shell 36 | git clone https://github.com/KomodoPlatform/BarterDEX.git 37 | cd BarterDEX 38 | git checkout dev 39 | git pull 40 | npm install 41 | npm start 42 | ``` 43 | 44 | It will download "BarterDEX". Open "BarterDEX", and from there open "index.html" file in your web browser. 45 | 46 | ### Update 47 | To update, follow these steps: 48 | ```shell 49 | cd BarterDEX 50 | git pull 51 | git checkout dev 52 | git pull 53 | ``` 54 | 55 | #### For end users 56 | 57 | To build the production-ready app, install `electron-packager` and `electron-prebuilt` packages from npm 58 | ```shell 59 | sudo npm install electron-packager -g 60 | sudo npm install -g electron --unsafe-perm=true 61 | ``` 62 | 63 | 64 | ### Instructions to test 65 | 1. Start BarterDEX 66 | 2. Login with a `passphrase` (either pre-generated or make a new one). 67 | 3. Add the coins you want to test in Native mode or Electrum mode (electrum does not require downloading blockchain data) 68 | 4. Fund your addresses. Once sent, it will start reflecting there in a minute. 69 | 5. Click Exchange button to go to trading page 70 | 5. Give the maximum price that you would like to pay for REVS. Example: 1.6 71 | 6. Give the maximum amount of REVS you would like to buy. Example: 1 72 | 7. Wait and watch the REVS balance increasing as trades happen. 73 | 74 | #### Report Issues 75 | Please feel free to test and post any bugs or issues found here: https://github.com/KomodoPlatform/BarterDEX/issues 76 | 77 | #### Testing Notes 78 | If your wallet is encrypted, the app will not work with it. This feature will be made available in coming releases. 79 | 80 | 81 | ### **Build the App** 82 | Refer to the original [electron-packager](https://github.com/electron-userland/electron-packager) repository for more detailed information. 83 | 84 | 85 | ##### Quick Build Instructions 86 | Make sure you have already done `npm install` or `npm upgrade` before executing these commands: 87 | 88 | ```shell 89 | cd BarterDEX 90 | 91 | # Linux 92 | npm run package:linux 93 | 94 | # Mac 95 | npm run package:mac 96 | 97 | # Windows 98 | npm run package:win 99 | ``` 100 | 101 | ##### Linux 102 | Change directory to BarterDEX and execute the following command to build the Linux app 103 | ```shell 104 | cd BarterDEX 105 | electron-packager . --platform=linux --arch=x64 --icon=assets/icons/barterdex/128x128.png --out=build/ --buildVersion=VERSION_NUMBER_HERE --ignore=assets/bin/win64 --ignore=assets/bin/osx --overwrite 106 | ``` 107 | change architecture build parameter to ```--arch=x32``` for 32 bit build 108 | 109 | ##### OSX 110 | Change directory to BarterDEX and execute the following command to build the OSX app 111 | ```shell 112 | cd BarterDEX 113 | electron-packager . --platform=darwin --arch=x64 --icon=assets/icons/barterdex/barterdex.icns --out=build/ --buildVersion=VERSION_NUMBER_HERE --ignore=assets/bin/win64 --ignore=assets/bin/linux64 --overwrite 114 | ``` 115 | 116 | ##### Windows 117 | Change directory to BarterDEX and execute the following command to build the Windows app 118 | ```shell 119 | dir BarterDEX 120 | electron-packager . --platform=win32 --arch=x64 --icon=assets/icons/barterdex/barterdex.ico --out=build/ --buildVersion=VERSION_NUMBER_HERE --ignore=assets/bin/osx --ignore=assets/bin/linux64 --overwrite 121 | 122 | # If generating 32bit desktop package 123 | electron-packager . --platform=win32 --arch=ia32 --icon=assets/icons/barterdex/barterdex.ico --out=build/ --buildVersion=VERSION_NUMBER_HERE --ignore=assets/bin/osx --ignore=assets/bin/linux64 --overwrite 124 | 125 | # To build both x64 and x86 desktop package 126 | electron-packager . --platform=win32 --arch=all --icon=assets/icons/barterdex/barterdex.ico --out=build/ --buildVersion=VERSION_NUMBER_HERE --ignore=assets/bin/osx --ignore=assets/bin/linux64 --overwrite 127 | ``` 128 | change architecture build parameter to ```--arch=x64``` for 64 bit build 129 | 130 | 131 | 132 | ## Localization Instructions 133 | 134 | BarterDEX follows language and country code list localization file names. Please use the following links to get more info on the standard codes for country and language codes: 135 | 136 | https://datahub.io/core/language-codes 137 | 138 | https://datahub.io/core/country-list 139 | 140 | 141 | ## Troubleshooting 142 | 143 | Windows users might need to install required DLL file(s) for `marketmaker.exe`. 144 | 145 | You can install this in case you find BaeterDEX GUI keep loading and not ending up to login screen. 146 | 147 | Visual C++ Redistributable for Visual Studio 2015 148 | https://www.microsoft.com/en-US/download/details.aspx?id=48145 149 | 150 | 151 | 152 | ## License 153 | 154 | MIT License 155 | 156 | Copyright (c) 2017 Komodo Platform 157 | 158 | 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 aforementioned copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 159 | 160 | ## Disclaimer 161 | THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 162 | -------------------------------------------------------------------------------- /assets/app_remote_alerts_info.json: -------------------------------------------------------------------------------- 1 | { 2 | "msg_type": "info", 3 | "message": "