├── docs
├── README.md
├── components.rst
├── data_layer.rst
├── structure.rst
├── _build
│ ├── html
│ │ ├── _sources
│ │ │ ├── components.txt
│ │ │ ├── data_layer.txt
│ │ │ ├── structure.txt
│ │ │ ├── help.txt
│ │ │ ├── getting_started.txt
│ │ │ └── index.txt
│ │ ├── objects.inv
│ │ ├── _static
│ │ │ ├── up.png
│ │ │ ├── down.png
│ │ │ ├── file.png
│ │ │ ├── minus.png
│ │ │ ├── plus.png
│ │ │ ├── comment.png
│ │ │ ├── up-pressed.png
│ │ │ ├── ajax-loader.gif
│ │ │ ├── comment-close.png
│ │ │ ├── down-pressed.png
│ │ │ ├── comment-bright.png
│ │ │ └── fonts
│ │ │ │ ├── Lato-Bold.ttf
│ │ │ │ ├── Lato-Regular.ttf
│ │ │ │ ├── Inconsolata-Bold.ttf
│ │ │ │ ├── RobotoSlab-Bold.ttf
│ │ │ │ ├── Inconsolata-Regular.ttf
│ │ │ │ ├── RobotoSlab-Regular.ttf
│ │ │ │ ├── fontawesome-webfont.eot
│ │ │ │ ├── fontawesome-webfont.ttf
│ │ │ │ └── fontawesome-webfont.woff
│ │ └── .buildinfo
│ └── doctrees
│ │ ├── help.doctree
│ │ ├── index.doctree
│ │ ├── license.doctree
│ │ ├── components.doctree
│ │ ├── data_layer.doctree
│ │ ├── environment.pickle
│ │ ├── structure.doctree
│ │ ├── contributing.doctree
│ │ └── getting_started.doctree
├── help.rst
├── getting_started.rst
└── index.rst
├── translate-howto.md
├── .stylelintignore
├── ios
├── .flowconfig
├── Graphene.xcodeproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── vz.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── vz.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── iOS
│ ├── main.jsbundle
│ ├── AppDelegate.h
│ ├── main.m
│ └── Images.xcassets
│ │ └── AppIcon.appiconset
│ │ └── Contents.json
└── package.json
├── src
├── common
│ ├── faucetUrls.json
│ ├── faucetUrls_devnet.json
│ ├── faucetUrls_testnet317.json
│ ├── base58.coffee
│ ├── qr-image.coffee
│ ├── secureRandom.coffee
│ ├── Counterpart.js
│ ├── localStorageImpl.js
│ ├── formPost.js
│ └── localStorage.js
├── assets
│ ├── stylesheets
│ │ ├── app.scss
│ │ ├── style.scss
│ │ ├── old
│ │ │ ├── base
│ │ │ │ └── _all.scss
│ │ │ ├── utils
│ │ │ │ ├── _all.scss
│ │ │ │ └── _utils.scss
│ │ │ ├── layout
│ │ │ │ └── _all.scss
│ │ │ ├── themes
│ │ │ │ └── _all.scss
│ │ │ ├── vendors
│ │ │ │ ├── Roboto-Light.woff
│ │ │ │ ├── Roboto-Regular.woff
│ │ │ │ ├── RobotoCondensed-Regular.woff
│ │ │ │ └── _all.scss
│ │ │ ├── components
│ │ │ │ ├── _existing_accounts.scss
│ │ │ │ ├── _console.scss
│ │ │ │ ├── _settings.scss
│ │ │ │ ├── _footer.scss
│ │ │ │ ├── _dashboard.scss
│ │ │ │ ├── _all.scss
│ │ │ │ ├── _wallet.scss
│ │ │ │ ├── _pagination.scss
│ │ │ │ ├── _tables.scss
│ │ │ │ └── _cards.scss
│ │ │ └── app.scss
│ │ ├── _fix.scss
│ │ ├── components
│ │ │ ├── _settings.scss
│ │ │ ├── _vestingBalance.scss
│ │ │ ├── _voting.scss
│ │ │ ├── _all.scss
│ │ │ ├── _deposit.scss
│ │ │ ├── _dashboard.scss
│ │ │ └── _descr.scss
│ │ ├── _all.scss
│ │ └── modules
│ │ │ ├── _error.scss
│ │ │ ├── _header.scss
│ │ │ ├── _chart.scss
│ │ │ ├── _footer.scss
│ │ │ ├── _all.scss
│ │ │ ├── _lang.scss
│ │ │ ├── _tooltip.scss
│ │ │ ├── _pagination.scss
│ │ │ └── _tooltipster.scss
│ ├── l.png
│ ├── logo.jpg
│ ├── logo.png
│ ├── favicon.ico
│ ├── logo-lg.jpg
│ ├── user01.png
│ ├── images
│ │ ├── l.png
│ │ ├── flags.png
│ │ ├── logo.jpg
│ │ ├── star.png
│ │ ├── aside
│ │ │ └── l.png
│ │ ├── logo-lg.jpg
│ │ ├── logo@2x.jpg
│ │ ├── logo@3x.jpg
│ │ ├── logo_0.jpg
│ │ ├── logo_pp.png
│ │ ├── user01.png
│ │ ├── flags
│ │ │ ├── cn.png
│ │ │ └── us.png
│ │ ├── logo-lg@2x.jpg
│ │ ├── logo-lg@3x.jpg
│ │ ├── logo-login.png
│ │ ├── logo_0@2x.jpg
│ │ ├── logo_0@3x.jpg
│ │ ├── logo_pp-1.png
│ │ ├── logo_pp-2.png
│ │ ├── logo_pp-lg.png
│ │ ├── bitsahres
│ │ │ ├── b.jpg
│ │ │ ├── b.png
│ │ │ ├── p.png
│ │ │ ├── b_2.png
│ │ │ ├── logo.jpg
│ │ │ ├── logo@2x.jpg
│ │ │ └── logo@3x.jpg
│ │ ├── video
│ │ │ ├── video1.jpg
│ │ │ ├── video2.jpg
│ │ │ ├── video3.jpg
│ │ │ └── video4.jpg
│ │ ├── games
│ │ │ └── rps
│ │ │ │ ├── bkg.png
│ │ │ │ ├── paper-red.png
│ │ │ │ ├── rock-red.png
│ │ │ │ ├── rock-white.png
│ │ │ │ ├── paper-white.png
│ │ │ │ ├── question-red.png
│ │ │ │ ├── scissors-red.png
│ │ │ │ ├── question-white.png
│ │ │ │ └── scissors-white.png
│ │ ├── img_cont
│ │ │ ├── qrcode.png
│ │ │ └── user01.png
│ │ ├── ledger
│ │ │ ├── logo_steemit.png
│ │ │ ├── logo_bitshares.png
│ │ │ └── logo_peerplays.png
│ │ └── option
│ │ │ ├── option_asset.png
│ │ │ ├── option_voting.png
│ │ │ ├── option_blockchain.png
│ │ │ └── option_blockchain_old.png
│ ├── fresh-bolt2.png
│ ├── logo-ico-blue.png
│ ├── asset-symbols
│ │ ├── btc.png
│ │ ├── bts.png
│ │ ├── cny.png
│ │ ├── dao.png
│ │ ├── dgd.png
│ │ ├── eth.png
│ │ ├── eur.png
│ │ ├── mkr.png
│ │ ├── usd.png
│ │ ├── btsr.png
│ │ ├── gold.png
│ │ ├── icoo.png
│ │ ├── lisk.png
│ │ ├── obits.png
│ │ ├── steem.png
│ │ └── peerplays.png
│ ├── fonts
│ │ └── icomoon
│ │ │ ├── icomoon.eot
│ │ │ ├── icomoon.ttf
│ │ │ └── icomoon.woff
│ ├── styling
│ │ ├── rules
│ │ │ ├── color.js
│ │ │ ├── font.js
│ │ │ ├── block.js
│ │ │ ├── at-rule.js
│ │ │ ├── media.js
│ │ │ └── function.js
│ │ └── index.js
│ ├── locales
│ │ └── locales.js
│ ├── loader-dev.js
│ └── loader.js
├── chain
│ ├── serializer_config.coffee
│ └── account_constants.js
├── counterpart-instance.js
├── alt-instance.js
├── components
│ ├── CommonMessage
│ │ └── index.js
│ ├── Wallet
│ │ └── ImportKeys.scss
│ ├── Blockchain
│ │ └── operations.scss
│ ├── Modal
│ │ └── TransactionConfirmModal
│ │ │ ├── operations.scss
│ │ │ ├── AccountTransfer.jsx
│ │ │ └── WithessUpdate.jsx
│ ├── Empty.jsx
│ ├── Explorer
│ │ ├── SmartCoins.jsx
│ │ ├── BasicAssets.jsx
│ │ ├── BlocksContainer.jsx
│ │ ├── witnesses.scss
│ │ └── BlockChain
│ │ │ ├── TimeRelativeOnce.jsx
│ │ │ └── FormattedAmount.jsx
│ ├── Loaders
│ │ └── SLoader.jsx
│ ├── Forms
│ │ └── Logo.jsx
│ ├── Layout
│ │ └── Footer.jsx
│ ├── Dashboard
│ │ └── Balances
│ │ │ └── BalancesContainer.jsx
│ ├── Utility
│ │ ├── Normalizer.jsx
│ │ ├── intlData.js
│ │ ├── Prototypes.js
│ │ ├── TranslateHtml.jsx
│ │ ├── VestingBalance.jsx
│ │ ├── BalanceComponent.jsx
│ │ └── Box.scss
│ ├── Icon
│ │ ├── thumb-tack.svg
│ │ ├── chevron-down.svg
│ │ ├── clock.svg
│ │ ├── trash.svg
│ │ ├── menu.svg
│ │ ├── checkmark.svg
│ │ ├── search.svg
│ │ ├── cog.svg
│ │ ├── icon.scss
│ │ ├── plus-circle.svg
│ │ ├── checkmark-circle.svg
│ │ ├── user.svg
│ │ ├── locked.svg
│ │ └── fi-star.svg
│ ├── Test
│ │ └── InnerTest.jsx
│ ├── Notifier
│ │ └── NotifierContainer.jsx
│ ├── Help.jsx
│ ├── Voting
│ │ └── Tooltip.jsx
│ ├── Account
│ │ └── AccountImage.jsx
│ └── Auth
│ │ └── AuthenticatedComponent.jsx
├── constants
│ ├── MessageLocation.js
│ ├── MessageTypes.js
│ ├── Register.js
│ ├── LoginPage.js
│ └── LocationConstants.js
├── keygen
│ └── keygen.sh
├── store
│ ├── configureStore.js
│ └── configureStore.prod.js
├── api
│ └── accountApi.js
├── __tests__
│ └── __tests__
│ │ ├── wallets
│ │ ├── test-wif-import.txt
│ │ └── bts0-9_key-export-fjfjfjfj1.json
│ │ ├── components
│ │ └── Utility
│ │ │ └── FormattedAsset-test.jsx
│ │ ├── jest-preprocessor.js
│ │ └── utils
│ │ └── stub_router_context.js
├── Main.js
├── Main-dev.js
├── helpers
│ ├── StringHelper.js
│ ├── TimeHelper.js
│ ├── PeriodNameHelper.js
│ ├── VersionHelper.js
│ └── ColorHelper.js
├── bower.json
├── services
│ ├── AccountMemberService.js
│ ├── CryptoService.js
│ ├── StorageService.js
│ ├── KeyGeneratorService.js
│ ├── AccountLoginService.js
│ └── SettingsStorageService.js
├── containers
│ └── DevTools.js
├── repositories
│ ├── BlocksRepository.js
│ ├── ObjectRepository.js
│ ├── GlobalsRepository.js
│ ├── WitnessRepository.js
│ ├── OrderRepository.js
│ └── BalanceRepository.js
├── config
│ └── main.js
├── selectors
│ ├── HistorySelector.js
│ └── SideVesting.js
├── stores
│ ├── BaseStore.js
│ ├── to_rm
│ │ └── ImportKeysStore.js
│ └── NotificationStore.js
├── workers
│ ├── AddressIndexWorker.js
│ ├── GenesisFilterWorker.js
│ └── AesWorker.js
├── actions
│ ├── PrivateKeyActions.js
│ ├── MemoActions.js
│ ├── HelpActions.js
│ ├── RWalletUnlockActions.js
│ ├── AppSettingsActions.js
│ ├── SettingsActions.js
│ └── RWalletDataActions.js
├── app
│ └── ChainStoreHeartbeater.js
├── KeyGen.jsx
└── reducers
│ ├── ExploreFeeScheduleReducer.js
│ ├── ReferralsPageReducer.js
│ ├── HelpReducer.js
│ ├── NotificationsReducer.js
│ ├── SoftwareUpdateReducer.js
│ ├── PrivateKeyReducer.js
│ ├── AccountVestingPageReducer.js
│ ├── RegisterReducer.js
│ ├── ClaimBtsReducer.js
│ ├── MemoReducer.js
│ └── AddressIndexReducer.js
├── help
├── cn
│ ├── glossary.md
│ ├── components
│ │ ├── AccountPermActive.md
│ │ ├── AccountPermOwner.md
│ │ ├── InitError.md
│ │ ├── AccountVotingCommittee.md
│ │ ├── AccountVotingProxy.md
│ │ ├── AccountVoting.md
│ │ ├── AccountPermMemo.md
│ │ ├── AccountAssetCreate.md
│ │ ├── AccountVotingWitnesses.md
│ │ ├── AccountVotingWorkers.md
│ │ ├── Fees.md
│ │ ├── BorrowModal.md
│ │ ├── DepositWithdraw.md
│ │ └── AccountMembership.md
│ ├── assets
│ │ ├── EUR.md
│ │ ├── USD.md
│ │ ├── privbitassets.md
│ │ ├── uia.md
│ │ └── mpa.md
│ ├── introduction
│ │ ├── committee.md
│ │ ├── witness.md
│ │ ├── wallets.md
│ │ ├── workers.md
│ │ ├── bridges_gateways.md
│ │ ├── blockchain.md
│ │ ├── backups.md
│ │ └── bitshares.md
│ ├── accounts
│ │ ├── general.md
│ │ └── membership.md
│ ├── toc.md
│ ├── dex
│ │ ├── trading.md
│ │ └── shorting.md
│ └── index.md
├── tr
│ ├── glossary.md
│ ├── components
│ │ ├── InitError.md
│ │ ├── AccountVotingProxy.md
│ │ ├── AccountPermOwner.md
│ │ ├── AccountPermActive.md
│ │ ├── AccountVoting.md
│ │ ├── AccountVotingCommittee.md
│ │ ├── AccountPermMemo.md
│ │ ├── AccountVotingWitnesses.md
│ │ ├── BorrowModal.md
│ │ ├── AccountVotingWorkers.md
│ │ ├── AccountAssetCreate.md
│ │ └── Fees.md
│ ├── assets
│ │ ├── USD.md
│ │ ├── EUR.md
│ │ ├── privbitassets.md
│ │ └── uia.md
│ ├── introduction
│ │ ├── committee.md
│ │ ├── witness.md
│ │ ├── wallets.md
│ │ └── workers.md
│ ├── accounts
│ │ └── general.md
│ └── toc.md
├── en
│ ├── glossary.md
│ ├── components
│ │ ├── InitError.md
│ │ ├── AccountPermOwner.md
│ │ ├── AccountVotingProxy.md
│ │ ├── AccountPermActive.md
│ │ ├── AccountPermMemo.md
│ │ ├── AccountVotingCommittee.md
│ │ ├── AccountVotingWitnesses.md
│ │ ├── AccountVotingWorkers.md
│ │ ├── AccountVoting.md
│ │ ├── BorrowModal.md
│ │ ├── AccountAssetCreate.md
│ │ ├── DepositWithdraw.md
│ │ └── Fees.md
│ ├── assets
│ │ ├── EUR.md
│ │ ├── USD.md
│ │ ├── privbitassets.md
│ │ └── uia.md
│ ├── introduction
│ │ ├── committee.md
│ │ ├── witness.md
│ │ ├── wallets.md
│ │ └── workers.md
│ ├── accounts
│ │ └── general.md
│ └── toc.md
└── es
│ ├── accounts
│ └── general.md
│ └── toc.md
├── electron
├── gulpfile.js
├── build
│ ├── icon.png
│ ├── package.json
│ └── vendor
│ │ └── electron_boilerplate
│ │ ├── env_config.js
│ │ └── dev_helper.js
├── resources
│ ├── icon.png
│ ├── osx
│ │ ├── icon.icns
│ │ ├── dmg-icon.icns
│ │ ├── dmg-background.png
│ │ ├── dmg-background@2x.png
│ │ ├── appdmg.json
│ │ ├── helper_apps
│ │ │ ├── Info.plist
│ │ │ ├── Info EH.plist
│ │ │ └── Info NP.plist
│ │ └── Info.plist
│ ├── windows
│ │ ├── icon.ico
│ │ ├── setup-icon.ico
│ │ └── setup-banner.bmp
│ └── linux
│ │ ├── DEBIAN
│ │ └── control
│ │ └── app.desktop
├── .gitignore
├── config
│ ├── env_test.json
│ ├── env_production.json
│ └── env_development.json
├── tasks
│ ├── release.js
│ ├── start.js
│ └── utils.js
└── package.json
├── config
├── webpack-dev.js
├── webpack-prod.js
├── webpack-deploy-dev.js
├── webpack-deploy-prod.js
├── webpack-dev-ugly.js
├── webpack-electron.js
├── webpack-prod-nougly.js
├── webpack-dev-net.js
├── webpack-build-dev-net.js
└── webpack-deploy-remote.js
├── .vscode
├── settings.json
└── extensions.json
├── .stylelintrc.json
├── karma.conf.js
├── .babelrc
└── .gitignore
/docs/README.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/translate-howto.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.stylelintignore:
--------------------------------------------------------------------------------
1 | StylelintRules.md
2 |
--------------------------------------------------------------------------------
/docs/components.rst:
--------------------------------------------------------------------------------
1 | Components
2 | ==========
--------------------------------------------------------------------------------
/docs/data_layer.rst:
--------------------------------------------------------------------------------
1 | Data layer
2 | ==========
--------------------------------------------------------------------------------
/ios/.flowconfig:
--------------------------------------------------------------------------------
1 | [ignore]
2 |
3 | [include]
4 |
--------------------------------------------------------------------------------
/src/common/faucetUrls.json:
--------------------------------------------------------------------------------
1 | {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/src/common/faucetUrls_devnet.json:
--------------------------------------------------------------------------------
1 | {
2 | }
3 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/app.scss:
--------------------------------------------------------------------------------
1 | @import 'all';
2 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/style.scss:
--------------------------------------------------------------------------------
1 | @import "all";
2 |
--------------------------------------------------------------------------------
/src/common/faucetUrls_testnet317.json:
--------------------------------------------------------------------------------
1 | {
2 | }
3 |
--------------------------------------------------------------------------------
/docs/structure.rst:
--------------------------------------------------------------------------------
1 | General overview
2 | ================
--------------------------------------------------------------------------------
/help/cn/glossary.md:
--------------------------------------------------------------------------------
1 | ### 词汇表
2 |
3 | [返回索引页](index.md)
4 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/base/_all.scss:
--------------------------------------------------------------------------------
1 | @import "fonts";
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/utils/_all.scss:
--------------------------------------------------------------------------------
1 | @import "utils";
--------------------------------------------------------------------------------
/src/common/base58.coffee:
--------------------------------------------------------------------------------
1 | module.exports = require 'bs58'
2 |
--------------------------------------------------------------------------------
/docs/_build/html/_sources/components.txt:
--------------------------------------------------------------------------------
1 | Components
2 | ==========
--------------------------------------------------------------------------------
/docs/_build/html/_sources/data_layer.txt:
--------------------------------------------------------------------------------
1 | Data layer
2 | ==========
--------------------------------------------------------------------------------
/help/tr/glossary.md:
--------------------------------------------------------------------------------
1 | ### Terimler
2 |
3 | [İndexe Geri Git](index.md)
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/layout/_all.scss:
--------------------------------------------------------------------------------
1 | @import "page_layout";
--------------------------------------------------------------------------------
/src/common/qr-image.coffee:
--------------------------------------------------------------------------------
1 | module.exports = require 'qr-image'
2 |
--------------------------------------------------------------------------------
/help/en/glossary.md:
--------------------------------------------------------------------------------
1 | ### Glossary
2 |
3 | [Back to index](index.md)
4 |
--------------------------------------------------------------------------------
/docs/_build/html/_sources/structure.txt:
--------------------------------------------------------------------------------
1 | General overview
2 | ================
--------------------------------------------------------------------------------
/electron/gulpfile.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | require('./tasks/release');
4 |
--------------------------------------------------------------------------------
/src/common/secureRandom.coffee:
--------------------------------------------------------------------------------
1 | module.exports = require 'secure-random'
2 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/_fix.scss:
--------------------------------------------------------------------------------
1 | .tableCell {
2 | a {
3 | color: #fff;
4 | }
5 | }
--------------------------------------------------------------------------------
/src/chain/serializer_config.coffee:
--------------------------------------------------------------------------------
1 |
2 |
3 | module.exports =
4 | hex_dump: no
5 |
--------------------------------------------------------------------------------
/src/assets/l.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/l.png
--------------------------------------------------------------------------------
/config/webpack-dev.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./webpack.config')({
2 | prod: false
3 | });
4 |
--------------------------------------------------------------------------------
/config/webpack-prod.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./webpack.config')({
2 | prod: true
3 | });
4 |
--------------------------------------------------------------------------------
/src/assets/logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/logo.jpg
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/logo.png
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "javascript.implicitProjectConfig.experimentalDecorators": true,
3 | }
--------------------------------------------------------------------------------
/src/assets/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/favicon.ico
--------------------------------------------------------------------------------
/src/assets/logo-lg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/logo-lg.jpg
--------------------------------------------------------------------------------
/src/assets/user01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/user01.png
--------------------------------------------------------------------------------
/src/counterpart-instance.js:
--------------------------------------------------------------------------------
1 | import counterpart from 'counterpart';
2 | export default counterpart;
3 |
--------------------------------------------------------------------------------
/config/webpack-deploy-dev.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./webpack.config')({
2 | prod: true
3 | });
4 |
--------------------------------------------------------------------------------
/config/webpack-deploy-prod.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./webpack.config')({
2 | prod: true
3 | });
4 |
--------------------------------------------------------------------------------
/electron/build/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/electron/build/icon.png
--------------------------------------------------------------------------------
/src/alt-instance.js:
--------------------------------------------------------------------------------
1 | var Alt = require('alt');
2 | var alt = new Alt();
3 |
4 | module.exports = alt;
5 |
--------------------------------------------------------------------------------
/src/assets/images/l.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/l.png
--------------------------------------------------------------------------------
/electron/resources/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/electron/resources/icon.png
--------------------------------------------------------------------------------
/src/assets/fresh-bolt2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/fresh-bolt2.png
--------------------------------------------------------------------------------
/src/assets/images/flags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/flags.png
--------------------------------------------------------------------------------
/src/assets/images/logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/logo.jpg
--------------------------------------------------------------------------------
/src/assets/images/star.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/star.png
--------------------------------------------------------------------------------
/src/common/Counterpart.js:
--------------------------------------------------------------------------------
1 | var counterpart = require('counterpart');
2 |
3 | module.exports = counterpart;
4 |
--------------------------------------------------------------------------------
/docs/_build/html/objects.inv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/objects.inv
--------------------------------------------------------------------------------
/src/assets/images/aside/l.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/aside/l.png
--------------------------------------------------------------------------------
/src/assets/images/logo-lg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/logo-lg.jpg
--------------------------------------------------------------------------------
/src/assets/images/logo@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/logo@2x.jpg
--------------------------------------------------------------------------------
/src/assets/images/logo@3x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/logo@3x.jpg
--------------------------------------------------------------------------------
/src/assets/images/logo_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/logo_0.jpg
--------------------------------------------------------------------------------
/src/assets/images/logo_pp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/logo_pp.png
--------------------------------------------------------------------------------
/src/assets/images/user01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/user01.png
--------------------------------------------------------------------------------
/src/assets/logo-ico-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/logo-ico-blue.png
--------------------------------------------------------------------------------
/src/assets/stylesheets/components/_settings.scss:
--------------------------------------------------------------------------------
1 | .table-settings-claim{
2 | .tableCell{
3 | width: 33%;
4 | }
5 | }
--------------------------------------------------------------------------------
/config/webpack-dev-ugly.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./webpack.config')({
2 | prod: false,
3 | ugly: true
4 | });
5 |
--------------------------------------------------------------------------------
/docs/_build/html/_static/up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/up.png
--------------------------------------------------------------------------------
/electron/resources/osx/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/electron/resources/osx/icon.icns
--------------------------------------------------------------------------------
/src/assets/asset-symbols/btc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/asset-symbols/btc.png
--------------------------------------------------------------------------------
/src/assets/asset-symbols/bts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/asset-symbols/bts.png
--------------------------------------------------------------------------------
/src/assets/asset-symbols/cny.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/asset-symbols/cny.png
--------------------------------------------------------------------------------
/src/assets/asset-symbols/dao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/asset-symbols/dao.png
--------------------------------------------------------------------------------
/src/assets/asset-symbols/dgd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/asset-symbols/dgd.png
--------------------------------------------------------------------------------
/src/assets/asset-symbols/eth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/asset-symbols/eth.png
--------------------------------------------------------------------------------
/src/assets/asset-symbols/eur.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/asset-symbols/eur.png
--------------------------------------------------------------------------------
/src/assets/asset-symbols/mkr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/asset-symbols/mkr.png
--------------------------------------------------------------------------------
/src/assets/asset-symbols/usd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/asset-symbols/usd.png
--------------------------------------------------------------------------------
/src/assets/images/flags/cn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/flags/cn.png
--------------------------------------------------------------------------------
/src/assets/images/flags/us.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/flags/us.png
--------------------------------------------------------------------------------
/src/assets/images/logo-lg@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/logo-lg@2x.jpg
--------------------------------------------------------------------------------
/src/assets/images/logo-lg@3x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/logo-lg@3x.jpg
--------------------------------------------------------------------------------
/src/assets/images/logo-login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/logo-login.png
--------------------------------------------------------------------------------
/src/assets/images/logo_0@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/logo_0@2x.jpg
--------------------------------------------------------------------------------
/src/assets/images/logo_0@3x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/logo_0@3x.jpg
--------------------------------------------------------------------------------
/src/assets/images/logo_pp-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/logo_pp-1.png
--------------------------------------------------------------------------------
/src/assets/images/logo_pp-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/logo_pp-2.png
--------------------------------------------------------------------------------
/src/assets/images/logo_pp-lg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/logo_pp-lg.png
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/themes/_all.scss:
--------------------------------------------------------------------------------
1 | @import "dark-theme";
2 | @import "light-theme";
3 | @import "ol-dark-theme";
--------------------------------------------------------------------------------
/config/webpack-electron.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./webpack.config')({
2 | prod: true,
3 | electron: true
4 | });
5 |
--------------------------------------------------------------------------------
/config/webpack-prod-nougly.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./webpack.config')({
2 | prod: true,
3 | noUgly: true
4 | });
5 |
--------------------------------------------------------------------------------
/docs/_build/doctrees/help.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/doctrees/help.doctree
--------------------------------------------------------------------------------
/docs/_build/doctrees/index.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/doctrees/index.doctree
--------------------------------------------------------------------------------
/docs/_build/html/_static/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/down.png
--------------------------------------------------------------------------------
/docs/_build/html/_static/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/file.png
--------------------------------------------------------------------------------
/docs/_build/html/_static/minus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/minus.png
--------------------------------------------------------------------------------
/docs/_build/html/_static/plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/plus.png
--------------------------------------------------------------------------------
/help/cn/components/AccountPermActive.md:
--------------------------------------------------------------------------------
1 | 活跃权限用来设定拥有花费本账户资金权限的账户名或公钥。
2 |
3 | 可方便的架设多重签名机制,参见 [权限](accounts/permissions) 了解更新信息。
--------------------------------------------------------------------------------
/src/assets/asset-symbols/btsr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/asset-symbols/btsr.png
--------------------------------------------------------------------------------
/src/assets/asset-symbols/gold.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/asset-symbols/gold.png
--------------------------------------------------------------------------------
/src/assets/asset-symbols/icoo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/asset-symbols/icoo.png
--------------------------------------------------------------------------------
/src/assets/asset-symbols/lisk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/asset-symbols/lisk.png
--------------------------------------------------------------------------------
/src/assets/asset-symbols/obits.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/asset-symbols/obits.png
--------------------------------------------------------------------------------
/src/assets/asset-symbols/steem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/asset-symbols/steem.png
--------------------------------------------------------------------------------
/src/assets/images/bitsahres/b.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/bitsahres/b.jpg
--------------------------------------------------------------------------------
/src/assets/images/bitsahres/b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/bitsahres/b.png
--------------------------------------------------------------------------------
/src/assets/images/bitsahres/p.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/bitsahres/p.png
--------------------------------------------------------------------------------
/src/assets/images/video/video1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/video/video1.jpg
--------------------------------------------------------------------------------
/src/assets/images/video/video2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/video/video2.jpg
--------------------------------------------------------------------------------
/src/assets/images/video/video3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/video/video3.jpg
--------------------------------------------------------------------------------
/src/assets/images/video/video4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/video/video4.jpg
--------------------------------------------------------------------------------
/docs/_build/doctrees/license.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/doctrees/license.doctree
--------------------------------------------------------------------------------
/docs/_build/html/_static/comment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/comment.png
--------------------------------------------------------------------------------
/electron/.gitignore:
--------------------------------------------------------------------------------
1 | build/*
2 | !build/electron.js
3 | !build/package.json
4 | !build/icon.png
5 | !build/vendor
6 | releases
7 |
--------------------------------------------------------------------------------
/electron/resources/osx/dmg-icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/electron/resources/osx/dmg-icon.icns
--------------------------------------------------------------------------------
/electron/resources/windows/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/electron/resources/windows/icon.ico
--------------------------------------------------------------------------------
/help/cn/components/AccountPermOwner.md:
--------------------------------------------------------------------------------
1 | 账户权限设定谁可以控制本账户。控制人(账户名或公钥)可修改账户相关的各种设置,包括权限设置。
2 |
3 | 参见 [权限](accounts/permissions) 了解更多信息。
--------------------------------------------------------------------------------
/src/assets/fonts/icomoon/icomoon.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/fonts/icomoon/icomoon.eot
--------------------------------------------------------------------------------
/src/assets/fonts/icomoon/icomoon.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/fonts/icomoon/icomoon.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/icomoon/icomoon.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/fonts/icomoon/icomoon.woff
--------------------------------------------------------------------------------
/src/assets/images/bitsahres/b_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/bitsahres/b_2.png
--------------------------------------------------------------------------------
/src/assets/images/bitsahres/logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/bitsahres/logo.jpg
--------------------------------------------------------------------------------
/src/assets/images/games/rps/bkg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/games/rps/bkg.png
--------------------------------------------------------------------------------
/src/assets/images/img_cont/qrcode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/img_cont/qrcode.png
--------------------------------------------------------------------------------
/src/assets/images/img_cont/user01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/img_cont/user01.png
--------------------------------------------------------------------------------
/docs/_build/doctrees/components.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/doctrees/components.doctree
--------------------------------------------------------------------------------
/docs/_build/doctrees/data_layer.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/doctrees/data_layer.doctree
--------------------------------------------------------------------------------
/docs/_build/doctrees/environment.pickle:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/doctrees/environment.pickle
--------------------------------------------------------------------------------
/docs/_build/doctrees/structure.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/doctrees/structure.doctree
--------------------------------------------------------------------------------
/docs/_build/html/_static/up-pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/up-pressed.png
--------------------------------------------------------------------------------
/electron/config/env_test.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "test",
3 | "description": "Add here any environment specific stuff you like."
4 | }
5 |
--------------------------------------------------------------------------------
/src/assets/asset-symbols/peerplays.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/asset-symbols/peerplays.png
--------------------------------------------------------------------------------
/src/assets/images/bitsahres/logo@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/bitsahres/logo@2x.jpg
--------------------------------------------------------------------------------
/src/assets/images/bitsahres/logo@3x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/bitsahres/logo@3x.jpg
--------------------------------------------------------------------------------
/docs/_build/doctrees/contributing.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/doctrees/contributing.doctree
--------------------------------------------------------------------------------
/docs/_build/html/_static/ajax-loader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/ajax-loader.gif
--------------------------------------------------------------------------------
/docs/_build/html/_static/comment-close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/comment-close.png
--------------------------------------------------------------------------------
/docs/_build/html/_static/down-pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/down-pressed.png
--------------------------------------------------------------------------------
/electron/resources/osx/dmg-background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/electron/resources/osx/dmg-background.png
--------------------------------------------------------------------------------
/electron/resources/windows/setup-icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/electron/resources/windows/setup-icon.ico
--------------------------------------------------------------------------------
/help/cn/assets/EUR.md:
--------------------------------------------------------------------------------
1 | [# summary]
2 | ### 资产 {symbol}
3 |
4 | {description}
5 | 发行人 {issuer}
6 |
7 | 欧元 (标识: €; 符号: EUR) 是欧元区参与国的官方货币。
8 |
--------------------------------------------------------------------------------
/help/cn/assets/USD.md:
--------------------------------------------------------------------------------
1 | [# summary]
2 | ### 资产 {symbol}
3 |
4 | {description}
5 | 发行人 {issuer}
6 |
7 | 美元 (标识: $; 符号: USD) 是美利坚合众国的官方货币。
8 |
--------------------------------------------------------------------------------
/src/assets/images/games/rps/paper-red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/games/rps/paper-red.png
--------------------------------------------------------------------------------
/src/assets/images/games/rps/rock-red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/games/rps/rock-red.png
--------------------------------------------------------------------------------
/src/assets/images/games/rps/rock-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/games/rps/rock-white.png
--------------------------------------------------------------------------------
/src/assets/images/ledger/logo_steemit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/ledger/logo_steemit.png
--------------------------------------------------------------------------------
/src/assets/images/option/option_asset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/option/option_asset.png
--------------------------------------------------------------------------------
/src/assets/images/option/option_voting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/option/option_voting.png
--------------------------------------------------------------------------------
/docs/_build/doctrees/getting_started.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/doctrees/getting_started.doctree
--------------------------------------------------------------------------------
/docs/_build/html/_static/comment-bright.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/comment-bright.png
--------------------------------------------------------------------------------
/docs/_build/html/_static/fonts/Lato-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/fonts/Lato-Bold.ttf
--------------------------------------------------------------------------------
/electron/config/env_production.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "production",
3 | "description": "Add here any environment specific stuff you like."
4 | }
5 |
--------------------------------------------------------------------------------
/electron/resources/osx/dmg-background@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/electron/resources/osx/dmg-background@2x.png
--------------------------------------------------------------------------------
/electron/resources/windows/setup-banner.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/electron/resources/windows/setup-banner.bmp
--------------------------------------------------------------------------------
/help/cn/components/InitError.md:
--------------------------------------------------------------------------------
1 | [# connection-error]
2 | 无法获取到全节点的 websocket 连接
3 |
4 | Possible reasons: TODO
5 | - reason #1
6 | - reason #2
7 |
--------------------------------------------------------------------------------
/src/assets/images/games/rps/paper-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/games/rps/paper-white.png
--------------------------------------------------------------------------------
/src/assets/images/games/rps/question-red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/games/rps/question-red.png
--------------------------------------------------------------------------------
/src/assets/images/games/rps/scissors-red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/games/rps/scissors-red.png
--------------------------------------------------------------------------------
/src/assets/images/ledger/logo_bitshares.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/ledger/logo_bitshares.png
--------------------------------------------------------------------------------
/src/assets/images/ledger/logo_peerplays.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/ledger/logo_peerplays.png
--------------------------------------------------------------------------------
/.stylelintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./src/assets/styling/index.js",
3 | "ignoreFiles": [
4 | "**/*.js",
5 | "**/*.jsx"
6 | ]
7 | }
--------------------------------------------------------------------------------
/docs/_build/html/_static/fonts/Lato-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/fonts/Lato-Regular.ttf
--------------------------------------------------------------------------------
/electron/config/env_development.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "development",
3 | "description": "Add here any environment specific stuff you like."
4 | }
5 |
--------------------------------------------------------------------------------
/help/cn/components/AccountVotingCommittee.md:
--------------------------------------------------------------------------------
1 | [理事会成员](introduction/committee) 可以提议修改区块链的动态参数,比如手续费,区块间隔时间以及其他很多参数。这是一个需要对BitShares系统如何运作有很深理解,需要有很强责任感的职位。
--------------------------------------------------------------------------------
/help/cn/components/AccountVotingProxy.md:
--------------------------------------------------------------------------------
1 | 代理投票账户代表你行使投票权力。你可以在[Bitsharestalk](https://bitsharestalk.org/index.php/board,104.0.html)论坛上找到一些申请成为投票代理人的提案。
--------------------------------------------------------------------------------
/src/assets/images/games/rps/question-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/games/rps/question-white.png
--------------------------------------------------------------------------------
/src/assets/images/games/rps/scissors-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/games/rps/scissors-white.png
--------------------------------------------------------------------------------
/src/assets/images/option/option_blockchain.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/option/option_blockchain.png
--------------------------------------------------------------------------------
/src/components/CommonMessage/index.js:
--------------------------------------------------------------------------------
1 | import CommonMessage from './CommonMessage';
2 | import './CommonMessage.scss';
3 | export default CommonMessage;
--------------------------------------------------------------------------------
/help/cn/components/AccountVoting.md:
--------------------------------------------------------------------------------
1 | ### 投票
2 |
3 | 在BitShares系统中,投票是非常重要的一项特性,不仅事关网络安全,同时也能影响系统的后续开发方向。如果你愿意的话,你可以将你的投票权交由代理投票账户执行。如果你设定了代理投票账户,则手动投票将相应关闭。
--------------------------------------------------------------------------------
/karma.conf.js:
--------------------------------------------------------------------------------
1 | var karmaConfig = require('./gulpfile.js/config').karma;
2 |
3 | module.exports = function(config) {
4 | config.set(karmaConfig);
5 | };
6 |
--------------------------------------------------------------------------------
/src/constants/MessageLocation.js:
--------------------------------------------------------------------------------
1 | const MessageLocation = {
2 | HEADER: 'header',
3 | SIDEBAR: 'sideBar'
4 | };
5 |
6 | export default MessageLocation;
--------------------------------------------------------------------------------
/docs/_build/html/_static/fonts/Inconsolata-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/fonts/Inconsolata-Bold.ttf
--------------------------------------------------------------------------------
/docs/_build/html/_static/fonts/RobotoSlab-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/fonts/RobotoSlab-Bold.ttf
--------------------------------------------------------------------------------
/help/cn/components/AccountPermMemo.md:
--------------------------------------------------------------------------------
1 | 交易附带的备注信息是使用备注公钥加密后传输的。为了解密备注信息,需要拥有备注公钥对应的私钥。
2 |
3 | 备注信息由单独公/私钥对进行管理,而非兼用活跃权限职权实体可让你安全的将备注信息的只读权限交由第三方,而无需暴露在资金控制权外泄的风险下。
--------------------------------------------------------------------------------
/help/tr/components/InitError.md:
--------------------------------------------------------------------------------
1 | [# connection-error]
2 | Ful noda websocket bağlantısı kuramadık.
3 |
4 | Olası sebepler: TODO
5 | - sebep #1
6 | - sebep #2
7 |
--------------------------------------------------------------------------------
/src/assets/images/option/option_blockchain_old.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/images/option/option_blockchain_old.png
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/vendors/Roboto-Light.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/stylesheets/old/vendors/Roboto-Light.woff
--------------------------------------------------------------------------------
/src/assets/styling/rules/color.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | 'color-hex-case': 'lower',
3 | 'color-hex-length': 'long',
4 | 'color-no-invalid-hex': true
5 | };
--------------------------------------------------------------------------------
/docs/_build/html/_static/fonts/Inconsolata-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/fonts/Inconsolata-Regular.ttf
--------------------------------------------------------------------------------
/docs/_build/html/_static/fonts/RobotoSlab-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/fonts/RobotoSlab-Regular.ttf
--------------------------------------------------------------------------------
/docs/_build/html/_static/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/docs/_build/html/_static/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/vendors/Roboto-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/stylesheets/old/vendors/Roboto-Regular.woff
--------------------------------------------------------------------------------
/docs/_build/html/_static/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/docs/_build/html/_static/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/src/assets/stylesheets/components/_vestingBalance.scss:
--------------------------------------------------------------------------------
1 | .table-vBalances{
2 | .tableCell{
3 | &:nth-child(6){
4 | padding-left: 5%;
5 | width: 18%;
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/src/components/Wallet/ImportKeys.scss:
--------------------------------------------------------------------------------
1 | div > div.asset-list:first-child {
2 | padding-top: 0.25rem;
3 | }
4 |
5 | div > div.asset-list {
6 | padding-bottom: 0.25rem;
7 | }
--------------------------------------------------------------------------------
/help/cn/introduction/committee.md:
--------------------------------------------------------------------------------
1 | # 理事会
2 |
3 | 理事会由一组股东投票通过的理事会成员组成,理事会成员的职责在于设定系统运行参数。其中包括:
4 |
5 | * 转账及交易手续费
6 | * 区块链参数,比如区块大小,区块生成时间间隔,等等
7 | * 推荐及冻结/解冻参数,比如奖励返现比例和冻结时间等
8 |
--------------------------------------------------------------------------------
/help/en/components/InitError.md:
--------------------------------------------------------------------------------
1 | [# connection-error]
2 | We couldn't establish websocket connection to a full node.
3 |
4 | Possible reasons: TODO
5 | - reason #1
6 | - reason #2
7 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/vendors/RobotoCondensed-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/src/assets/stylesheets/old/vendors/RobotoCondensed-Regular.woff
--------------------------------------------------------------------------------
/help/tr/assets/USD.md:
--------------------------------------------------------------------------------
1 | [# summary]
2 | ### Aktif {symbol}
3 |
4 | {description}
5 | Piyasaya süren {issuer}
6 |
7 | Amerikan Doları (işeret: $; sembol: USD $) ABD'nin resmi para birimidir.
--------------------------------------------------------------------------------
/help/cn/components/AccountAssetCreate.md:
--------------------------------------------------------------------------------
1 | 创建自定义资产需要以下信息:
2 |
3 | * 资产符号
4 | * 最大供给量
5 |
6 | 精度决定了资产支持的小数点后的位数。
7 |
8 | 资产创建需要支付的费用取决于资产符号的字符长度。
9 |
10 | 你可以设定交易手续费率来决定用户交易时需要向你支付多少比例的费用。
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/vendors/_all.scss:
--------------------------------------------------------------------------------
1 | @import "foundation_settings";
2 | @import "~foundation-apps/scss/foundation.scss";
3 | @import "foundation_overrides";
4 | @import "perfect-scrollbar";
--------------------------------------------------------------------------------
/config/webpack-dev-net.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./webpack.config')({
2 | prod: false,
3 | blockchain: 'wss://595-dev-blockchain.pixelplex.by/ws',
4 | faucetFile: 'faucetUrls_devnet'
5 | });
6 |
--------------------------------------------------------------------------------
/src/components/Blockchain/operations.scss:
--------------------------------------------------------------------------------
1 | .left-td {
2 | min-width: 7em;
3 | padding-right: 1em;
4 | text-align: left;
5 | }
6 |
7 | .right-td {
8 | text-align: left;
9 | }
10 |
--------------------------------------------------------------------------------
/src/constants/MessageTypes.js:
--------------------------------------------------------------------------------
1 | const MessageType = {
2 | NONE: 'none',
3 | INFO: 'info',
4 | ERROR: 'error',
5 | WARNING: 'warning',
6 | SUCCESS: 'success'
7 | };
8 |
9 | export default MessageType;
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/components/_existing_accounts.scss:
--------------------------------------------------------------------------------
1 | .existing-accounts-select {
2 | height: 150px;
3 | }
4 |
5 | #unclaimed_balance_rows {
6 | max-height: 400px;
7 | overflow-y: auto;
8 | }
--------------------------------------------------------------------------------
/src/keygen/keygen.sh:
--------------------------------------------------------------------------------
1 | webpack-dev-server --hot --inline --progress --colors --devtool inline-source-map --content-base assets/ --entry $(pwd)/app/KeyGen.jsx --output-path dist --host 192.168.0.102 --port 8081
2 |
--------------------------------------------------------------------------------
/help/cn/accounts/general.md:
--------------------------------------------------------------------------------
1 | # 账户
2 |
3 | 或许你已经注意到,本区块链技术要求你注册一个账户名。这带来很多好处:这不仅增强了系统的可扩展性,同时我们可以将身份标示与交易授权签名分开。事实上,*拥有一个账户名*和能够*花费它的资金*是相互独立的。而且,这两种权利 (我们称之为*权限*)能够分散赋予任意复杂的人群关系中。我们称之为*职权实体*你可通过分配*权重*和设定 *门槛阀值*来实现。
4 |
--------------------------------------------------------------------------------
/help/tr/assets/EUR.md:
--------------------------------------------------------------------------------
1 | [# summary]
2 | ### Aktif {symbol}
3 |
4 | {description}
5 | Piyasaya süren {issuer}
6 |
7 | Euro (işaret: €; sembol: EUR) Avrupa bölgesindeki katılımcı ülkelerin resmi para birimidir.
8 |
--------------------------------------------------------------------------------
/electron/resources/linux/DEBIAN/control:
--------------------------------------------------------------------------------
1 | Package: {{name}}
2 | Version: {{version}}
3 | Maintainer: {{author}}
4 | Priority: optional
5 | Architecture: amd64
6 | Installed-Size: {{size}}
7 | Description: {{description}}
8 |
--------------------------------------------------------------------------------
/src/components/Modal/TransactionConfirmModal/operations.scss:
--------------------------------------------------------------------------------
1 | .left-td {
2 | min-width: 7em;
3 | padding-right: 1em;
4 | text-align: left;
5 | }
6 |
7 | .right-td {
8 | text-align: left;
9 | }
10 |
--------------------------------------------------------------------------------
/help/cn/assets/privbitassets.md:
--------------------------------------------------------------------------------
1 | 私有比特资产
2 | ====================
3 |
4 | 通过私有比特资产,某些用户可以发行市场锚地资产,然后并不依赖见证人发布的喂价信息。相反的,在创建*私有比特资产*时,发行人设定一组授权账号来发布喂价信息。发行人可以设置与该资产相关的各种费率参数。
5 |
6 | 这个特性主要适用于一些中心化交易所和机构,它们往往能够获得实时的价格信息,并以此来增加交易量。
--------------------------------------------------------------------------------
/help/en/assets/EUR.md:
--------------------------------------------------------------------------------
1 | [# summary]
2 | ### Asset {symbol}
3 |
4 | {description}
5 |
6 | Issued by: {issuer}
7 |
8 | The Euro (sign: €; symbol: EUR) is the official currency of participating countries in the Europ zone.
9 |
--------------------------------------------------------------------------------
/help/en/components/AccountPermOwner.md:
--------------------------------------------------------------------------------
1 | Owner permissions define who has control over the account. Owners may overwrite all keys and change any account settings.
2 |
3 | See [permissions](accounts/permissions) for more details.
--------------------------------------------------------------------------------
/help/en/components/AccountVotingProxy.md:
--------------------------------------------------------------------------------
1 | A proxy handles voting on your behalf. You may find people proposing to act as proxies in the Bitshares forum [Bitsharestalk](https://bitsharestalk.org/index.php/board,104.0.html).
2 |
--------------------------------------------------------------------------------
/src/components/Empty.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | class Empty extends React.Component {
4 | render() {
5 | return (
6 |
7 | );
8 | }
9 | }
10 |
11 | export default Empty;
12 |
--------------------------------------------------------------------------------
/config/webpack-build-dev-net.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./webpack.config')({
2 | prod: true,
3 | blockchain: 'wss://595-dev-blockchain.pixelplex.by/ws',
4 | faucetFile: 'faucetUrls_devnet',
5 | electron: false
6 | });
7 |
--------------------------------------------------------------------------------
/help/cn/components/AccountVotingWitnesses.md:
--------------------------------------------------------------------------------
1 | [见证人](introduction/witness) 是BitShares系统中区块的生产者。他们验证交易数据并维护网络安全。你可以投票选举你信任的人成为见证人。投票时,你选择的候选人将获得你投出的相同票数。见证人的竞选帖可在这里找到[Bitsharestalk](https://bitsharestalk.org/index.php/board,61.0.html)。
--------------------------------------------------------------------------------
/help/en/assets/USD.md:
--------------------------------------------------------------------------------
1 | [# summary]
2 | ### Asset {symbol}
3 |
4 | {description}
5 |
6 | Issued by: {issuer}
7 |
8 | The United States dollar (sign: $; symbol: USD) is the official currency of the United States of America.
9 |
--------------------------------------------------------------------------------
/help/tr/components/AccountVotingProxy.md:
--------------------------------------------------------------------------------
1 | Bir vekil adınıza oy kullanımını yönetir. BitShares forumunda vekil olarak görev almaya gnüllü kişileri bulabilirsiniz [Bitsharestalk](https://bitsharestalk.org/index.php/board,104.0.html).
--------------------------------------------------------------------------------
/ios/Graphene.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/app.scss:
--------------------------------------------------------------------------------
1 | // http://sass-guidelin.es/#the-7-1-pattern
2 | @import "vendors/all";
3 | @import "base/all";
4 | @import "components/all";
5 | @import "layout/all";
6 | @import "themes/all";
7 | @import "shame";
--------------------------------------------------------------------------------
/help/cn/components/AccountVotingWorkers.md:
--------------------------------------------------------------------------------
1 | [预算项目](introduction/workers) 是BitShares系统中独有的概念。他们是一些期望通过提供服务来从区块链获得奖金的工作项目提案。一项提案包含一个指向网站或论坛帖子的链接,在其中详细解释了工作项目的介绍。在这里[Bitsharestalk](https://bitsharestalk.org/index.php/board,103.0.html)可以看到一些提案。
--------------------------------------------------------------------------------
/help/cn/components/Fees.md:
--------------------------------------------------------------------------------
1 | # 手续费率
2 |
3 | 在BitShares系统中,每一种操作都将花费*相应*手续费。手续费率可能发生变化。然而,手续费的调整需要获得股东的授权。所以每一位持有BitShares核心资产(BTS)的股东对费率的构成都有话语权。如果股东确信某种手续费的降低将带来好处,并且达成共识,那么该种手续费则由区块链自动进行调低。区块链参数的改变由理事会成员提出动议。这些成员由全体股东投票选举产生,以提高系统灵活性和响应率。
--------------------------------------------------------------------------------
/src/common/localStorageImpl.js:
--------------------------------------------------------------------------------
1 | var ls_key_exists = function _ls_key_exists(key,ls) {
2 | return (key in ls);
3 | };
4 |
5 | export {ls_key_exists};
6 | export default (typeof localStorage === 'undefined' ? null : localStorage);
7 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/_all.scss:
--------------------------------------------------------------------------------
1 | @import "variables";
2 | @import "mixins";
3 | @import "reset";
4 | @import "base";
5 | @import "icomoon";
6 | @import "layout";
7 | @import "modules/_all";
8 | @import "components/_all";
9 | @import "_media";
--------------------------------------------------------------------------------
/help/en/components/AccountPermActive.md:
--------------------------------------------------------------------------------
1 | Active permissions define the accounts that have permission to spend funds for this account.
2 |
3 | They can be used to easily setup a multi-signature scheme, see [permissions](accounts/permissions) for more details.
--------------------------------------------------------------------------------
/ios/Graphene.xcodeproj/project.xcworkspace/xcuserdata/vz.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PBSA/peerplays-core-gui/HEAD/ios/Graphene.xcodeproj/project.xcworkspace/xcuserdata/vz.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/src/store/configureStore.js:
--------------------------------------------------------------------------------
1 | let store;
2 |
3 | if (process.env.NODE_ENV === 'production') {
4 | store = require('./configureStore.prod')();
5 | } else {
6 | store = require('./configureStore.dev')();
7 | }
8 |
9 | module.exports = store;
10 |
--------------------------------------------------------------------------------
/help/tr/components/AccountPermOwner.md:
--------------------------------------------------------------------------------
1 | Sahip izinleri hesap üzerinde kimin kontrolü olduğunu belirler. Sahipler tüm anahtarların yenilerini belirleyebilir ve herhangi hesap ayarını değiştirebilir.
2 |
3 | Daha fazla bilgi için [izinler](accounts/permissions) .
--------------------------------------------------------------------------------
/src/assets/stylesheets/components/_voting.scss:
--------------------------------------------------------------------------------
1 | .table-voting-proposals{
2 | .tableCell{
3 | min-width: 80px;
4 | }
5 | .tableCell:first-child{
6 | min-width: 0;
7 | }
8 | .tableCell:nth-child(2){
9 | //min-width: 200px;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/assets/styling/rules/font.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | 'font-family-no-duplicate-names': true,
3 | 'font-weight-notation': 'numeric',
4 | 'font-family-no-missing-generic-family-keyword': true,
5 | 'font-family-name-quotes': 'always-unless-keyword',
6 | };
--------------------------------------------------------------------------------
/src/components/Explorer/SmartCoins.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | class SmartCoins extends React.Component {
4 | render() {
5 | return (
6 | Smart Coins
7 | );
8 | }
9 | }
10 |
11 | export default SmartCoins;
12 |
--------------------------------------------------------------------------------
/config/webpack-deploy-remote.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./webpack.config')({
2 | prod: true,
3 | blockchain: 'wss://testblockchain317.peerplays.host/ws',
4 | faucet: 'https://testfaucet317.peerplays.host',
5 | faucetFile: 'faucetUrls_testnet317'
6 | });
7 |
--------------------------------------------------------------------------------
/help/cn/components/BorrowModal.md:
--------------------------------------------------------------------------------
1 | 调整和设置你的债务及抵押物(保证金).
2 |
3 | 如果调低 {debt} 债务水平,将从 {borrower} 账户中扣除相应 {debt} 归还。
4 | 如果调高 {debt} 债务水平,只要 {borrower} 账户持有足够的 {collateral} 可供抵押冻结,新借入的 {debt} 将存入 {borrower} 账户中。
5 |
6 | 保证金可以增加或减少,只要抵押率超过维持保证金率。[更多信息](dex/shorting)
7 |
--------------------------------------------------------------------------------
/src/components/Explorer/BasicAssets.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | class BasicAssets extends React.Component {
4 | render() {
5 | return (
6 | Basic Assets
7 | );
8 | }
9 | }
10 |
11 | export default BasicAssets;
12 |
--------------------------------------------------------------------------------
/docs/_build/html/.buildinfo:
--------------------------------------------------------------------------------
1 | # Sphinx build info version 1
2 | # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3 | config: 1da5a1a5435027eeeab3977e6dd08f82
4 | tags: 645f666f9bcd5a90fca523b33c5a78b7
5 |
--------------------------------------------------------------------------------
/help/cn/assets/uia.md:
--------------------------------------------------------------------------------
1 | # 用户发行的资产
2 |
3 | 除了之前提到的 *市场锚定资产* 外,BitShares允许个人或公司用户创建和发行各种自定义资产凭证(UIA)。相关的应用场景数不胜数。比如,UIA可被用来代替简单的活动门票,存入合格用户的手机钱包中,在进入活动现场时进行实时验证。同样,UIA可被用来进行众筹、所有权追踪,甚至是代表公司的股权。
4 |
5 | 显然,适用于不同凭证使用场景的法律法规可能天差地别,尤其是在不同国家时。所以,BitShares提供了一组工具来帮助发行人来合规发行和管理UIA。
--------------------------------------------------------------------------------
/help/cn/introduction/witness.md:
--------------------------------------------------------------------------------
1 | # 见证人
2 |
3 | 见证人是为区块链打包生成新的区块的实体。每一个见证人由股东批准,打包经验证的交易,生成并签署区块。每一条进入网络的交易最终将被所有见证人验证。
4 |
5 | ## 共识机制
6 |
7 | 由谁在什么时间来*打包生成*区块是由被称为*Delegated Proof of Stak (DPOS)*的共识算法决定的。算法的本质是 BitShares 的股东(BTS的持有者)能通过投票来决定他们期望的块打包者。由获得最多票数的所谓"见证人"来打包生成区块。
--------------------------------------------------------------------------------
/src/components/Explorer/BlocksContainer.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import Blocks from './Blocks';
3 |
4 | class BlocksContainer extends React.Component {
5 | render() {
6 | return ( );
7 | }
8 | }
9 |
10 | export default BlocksContainer;
11 |
--------------------------------------------------------------------------------
/electron/resources/linux/app.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Version=1.0
3 | Type=Application
4 | Encoding=UTF-8
5 | Name={{productName}}
6 | Comment={{description}}
7 | Exec=/opt/{{name}}/{{name}}
8 | Icon=/opt/{{name}}/icon.png
9 | Terminal=false
10 | Categories=Application;
11 |
--------------------------------------------------------------------------------
/help/tr/components/AccountPermActive.md:
--------------------------------------------------------------------------------
1 | Etkin izinler, bu hesaptaki fonları harcamaya izni olan hesapları belirler.
2 |
3 | Etkin izinler kolay bir şekilde çok-imzalı bir düzen kurmak için kullanılabilirler, daha fazla bilgi için [izinler](accounts/permissions) bölümüne bakabilirsiniz.
--------------------------------------------------------------------------------
/src/api/accountApi.js:
--------------------------------------------------------------------------------
1 | import {Apis} from 'peerplaysjs-ws';
2 |
3 | class Api {
4 | lookupAccounts(startChar, limit) {
5 | return Apis.instance().db_api().exec('lookup_accounts', [
6 | startChar, limit
7 | ]);
8 | }
9 | }
10 |
11 | export default new Api();
12 |
--------------------------------------------------------------------------------
/src/constants/Register.js:
--------------------------------------------------------------------------------
1 | export default {
2 | /**
3 | * Register form: Button state
4 | */
5 | REGISTER_SET_STATUS: 'REGISTER_SET_STATUS',
6 | /**
7 | * Register form: Setting Common validation errors
8 | */
9 | REGISTER_SET_ERRORS: 'REGISTER_SET_ERRORS'
10 | };
--------------------------------------------------------------------------------
/help/cn/components/DepositWithdraw.md:
--------------------------------------------------------------------------------
1 | [# receive]
2 | ### 获取 BTS
3 | 为了从其他人或者交易所获得BTS,你只需要提供你的账户名: **{account}**
4 |
5 | [# deposit-short]
6 | ### 充值/提现 数字资产
7 | 如果你要充值或提现资产,无论是法币或是来自其他区块链,你需要使用[桥接](introduction/bridges_gateways) 或 [网关](introduction/bridges_gateways) 服务来实现。你可以从下面找到一系列提供服务的服务商:
--------------------------------------------------------------------------------
/help/en/components/AccountPermMemo.md:
--------------------------------------------------------------------------------
1 | The memo key is where you receive memos, in order to decode the memos you need to control the private key for the public key.
2 |
3 | By using a public/private key pair without spending authority, you may give read-only access to your memos to third parties.
4 |
--------------------------------------------------------------------------------
/help/en/components/AccountVotingCommittee.md:
--------------------------------------------------------------------------------
1 | [Committee members](introduction/committee) may propose changes to the dynamic parameters of the blockchain, such as fees, block time and many other things. It is a position of great responsibility that requires a good understanding of how Bitshares works.
--------------------------------------------------------------------------------
/help/tr/components/AccountVoting.md:
--------------------------------------------------------------------------------
1 | ### Oy Kullanma
2 |
3 | BitShares'de oy kullanmak ağın hem gelişmesi hem de güvenliği için önemlidir. Eğer dilerseniz oy kullanma hakkınızı sizin için oy kullanabilecek bir vekile devredebilirsiniz. Eğer vekil tayin ederseniz, manuel oylama etkisiz hale getirilecektir.
--------------------------------------------------------------------------------
/help/tr/components/AccountVotingCommittee.md:
--------------------------------------------------------------------------------
1 | [Kurul üyeleri](introduction/committee) blok zincirine ait ücretler, blok süreleri ve diğer bir çok şey gibi dinamik parametrelerin değiştirilmesini teklif edebilirler. BitShares'in nasıl işlediğine dair derin bilgi gerektiren büyük bir sorumluluk pozisyonudur.
--------------------------------------------------------------------------------
/ios/iOS/main.jsbundle:
--------------------------------------------------------------------------------
1 | // Offline JS
2 | // To re-generate the offline bundle, run this from root of your project
3 | // $ curl 'http://localhost:8081/index.ios.bundle?dev=false&minify=true' -o iOS/main.jsbundle
4 |
5 | throw new Error('Offline JS file is empty. See iOS/main.jsbundle for instructions');
6 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/components/_all.scss:
--------------------------------------------------------------------------------
1 | @import "login";
2 | @import "dashboard";
3 | @import "voting";
4 | @import "settings";
5 | @import "exchange";
6 | @import "playGames";
7 | @import "vestingBalance";
8 | @import "deposit";
9 | @import "descr";
10 | @import "help";
11 | //@import "splash";
12 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/components/_console.scss:
--------------------------------------------------------------------------------
1 | textarea#console_input {
2 | width: 100%;
3 | color: white;
4 | background-color: black;
5 | border-color: black;
6 | min-height: 35px;
7 | height: 35px
8 | }
9 |
10 | .console_div,
11 | code {
12 | margin-right: 10px;
13 | }
--------------------------------------------------------------------------------
/src/__tests__/__tests__/wallets/test-wif-import.txt:
--------------------------------------------------------------------------------
1 | "genesis"+"nathan"=abcd5K9KhCCAgNSAJdaoYkZQp8DJaQYjauHUhUB37bbiDi9qMQE3uSY5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3zyxw
2 | "1"=AbcdefG5JdeC9P7Pbd1uGdFVEsJ41EkEnADbbHGq6p1BwFxm6txNBsQnswZyxW
3 | invalid 5JDec9P7Pbd1uGdFVEsJ41EkEnADbbHGq6p1BwFxm6txNBsQnsW
4 |
--------------------------------------------------------------------------------
/help/tr/components/AccountPermMemo.md:
--------------------------------------------------------------------------------
1 | Memo anahtarı, memoların size ulaştığı yerdir, memoları deşifre edebilmeniz için açık anahtara ait özel anahtarın yönetimine sahip olmanız gerekir.
2 |
3 | Bir açık/özel anahtar çifti kullanarak harcama yetkisi olmadan üçüncü şahıslara memolarınıza salt-okuma erişimi sağlayabilirsiniz.
--------------------------------------------------------------------------------
/src/components/Loaders/SLoader.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | class SLoader extends React.Component {
4 | render() {
5 | return (
6 |
7 |
8 |
9 | );
10 | }
11 | }
12 |
13 | export default SLoader;
14 |
--------------------------------------------------------------------------------
/docs/help.rst:
--------------------------------------------------------------------------------
1 | Help
2 | ====
3 |
4 | If you have any questions, please contact one of the following people:
5 |
6 | - fabian@bitshares.org
7 | - cass@bitshares.org
8 | - bitsharesblocks@gmail.com
9 | - valentine@cryptonomex.com
10 |
11 | There's also a very active `Telegram chatroom `_
--------------------------------------------------------------------------------
/src/Main.js:
--------------------------------------------------------------------------------
1 | require('./assets/loader');
2 |
3 | if (!window.Intl) { // Safari polyfill
4 | require.ensure(['intl'], (require) => {
5 | window.Intl = require('intl');
6 | Intl.__addLocaleData(require('./assets/intl-data/en.json'));
7 | require('App.jsx');
8 | });
9 | } else {
10 | require('App.jsx');
11 | }
12 |
--------------------------------------------------------------------------------
/src/Main-dev.js:
--------------------------------------------------------------------------------
1 | require('./assets/loader-dev');
2 |
3 | if (!window.Intl) { // Safari polyfill
4 | require.ensure(['intl'], (require) => {
5 | window.Intl = require('intl');
6 | Intl.__addLocaleData(require('./assets/intl-data/en.json'));
7 | require('App.jsx');
8 | });
9 | } else {
10 | require('App.jsx');
11 | }
12 |
--------------------------------------------------------------------------------
/electron/resources/osx/appdmg.json:
--------------------------------------------------------------------------------
1 | {
2 | "title": "{{productName}}",
3 | "icon": "{{dmgIcon}}",
4 | "background": "{{dmgBackground}}",
5 | "icon-size": 128,
6 | "contents": [
7 | { "x": 410, "y": 220, "type": "link", "path": "/Applications" },
8 | { "x": 130, "y": 220, "type": "file", "path": "{{appPath}}" }
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/components/_settings.scss:
--------------------------------------------------------------------------------
1 | .settings-menu {
2 | >li {
3 | list-style-type: none;
4 | cursor: pointer;
5 | padding: 5px 0;
6 |
7 | &:hover {
8 | background-color: red;
9 | }
10 |
11 | &.active {
12 | color: blue;
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/src/assets/styling/rules/block.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | 'block-closing-brace-empty-line-before': 'never',
3 | 'block-closing-brace-newline-after': 'always',
4 | 'block-closing-brace-newline-before': 'always',
5 | 'block-no-empty': true,
6 | 'block-opening-brace-newline-after': 'always',
7 | 'block-opening-brace-space-before': 'always'
8 | };
--------------------------------------------------------------------------------
/docs/_build/html/_sources/help.txt:
--------------------------------------------------------------------------------
1 | Help
2 | ====
3 |
4 | If you have any questions, please contact one of the following people:
5 |
6 | - fabian@bitshares.org
7 | - cass@bitshares.org
8 | - bitsharesblocks@gmail.com
9 | - valentine@cryptonomex.com
10 |
11 | There's also a very active `Telegram chatroom `_
--------------------------------------------------------------------------------
/src/assets/stylesheets/modules/_error.scss:
--------------------------------------------------------------------------------
1 | .error {
2 | border: 1px solid $red;
3 |
4 | &__hint {
5 | color: $red;
6 | font-size: 12px;
7 | line-height: 1;
8 | font-weight: 100;
9 | font-style: italic;
10 |
11 | &.abs {
12 | position: absolute;
13 | left: 0;
14 | bottom: -15px;
15 | }
16 | }
17 | }
--------------------------------------------------------------------------------
/help/tr/components/AccountVotingWitnesses.md:
--------------------------------------------------------------------------------
1 | [Taniklar](introduction/witness) Bitshares'in blok üreticileridirler. İşlemlerin geçerliliklerini teyit eder ve ağın güvenliğini sağlarlar. Dilediğiniz kadar tanığa oy verebilirsiniz, hepsi aynı miktarda alır. Tanık tekliflerini buradan takip edebilirsiniz: [Bitsharestalk](https://bitsharestalk.org/index.php/board,61.0.html).
--------------------------------------------------------------------------------
/src/components/Explorer/witnesses.scss:
--------------------------------------------------------------------------------
1 | .active-witness {
2 | > td {
3 | background-color: rgba(80, 210, 194, 0.4);
4 | transition: background-color 0.6s ease;
5 | }
6 | }
7 |
8 | .clickable {
9 | cursor: pointer;
10 | user-select: none;
11 | }
12 |
13 | .view-switcher {
14 | padding-top: 1rem;
15 | text-align: right;
16 | }
17 |
--------------------------------------------------------------------------------
/src/helpers/StringHelper.js:
--------------------------------------------------------------------------------
1 | class StringHelper {
2 | static hex2a(hex) {
3 | let str = '';
4 |
5 | for (let i = 0; i < hex.length; i += 2) {
6 | let v = parseInt(hex.substr(i, 2), 16);
7 |
8 | if (v) {
9 | str += String.fromCharCode(v);
10 | }
11 | }
12 |
13 | return str;
14 | }
15 | }
16 |
17 | export default StringHelper;
--------------------------------------------------------------------------------
/help/tr/components/BorrowModal.md:
--------------------------------------------------------------------------------
1 | Bu ileti arzu ettiğiniz borç ve teminatı belirlemenizi sağlar.
2 |
3 | Eğer {debt} borç azaltılırsa {borrower} hesabından düşürülecektir.
4 | Eğer {debt} borç artarsa yeterli {collateral} teminat bulunması kaydıyla {borrower} hesabına yatırılacaktır.
5 |
6 | Asgari idame teminatı muhafaza edildiği sürece teminat eklenebilir yada eksiltilebilir.
--------------------------------------------------------------------------------
/help/cn/introduction/wallets.md:
--------------------------------------------------------------------------------
1 | # 钱包软件
2 |
3 | 你或许已经注意到,本应用是一个基于web的应用软件,在浏览器中运行。通过与一个受信任的节点连接来获得整个生态系统的接入。
4 |
5 | ## 钱包安全性
6 |
7 | 你可以确信的是我们的服务器永远不会也不能访问你的资产。你的私钥不会离开你的本地浏览器。它们使用你的密码进行加密后保存在本地浏览器的数据库中。因此,你只需要确保你已经[备份](../introduction/backups.md)了钱包,就不用担心由于计算机失灵或者浏览器奔溃导致钱包数据丢失。
8 |
9 | ## 钱包管理
10 |
11 | 钱包系统的用户界面允许你使用多个独立的钱包,每个钱包可能包含相互独立的账户和资金。你可以通过`设置->钱包`菜单进行创建、备份和切换钱包的操作。
--------------------------------------------------------------------------------
/help/en/components/AccountVotingWitnesses.md:
--------------------------------------------------------------------------------
1 | [Witnesses](introduction/witness) are the block producers of Bitshares. They validate transactions and ensure the safety of the network. You may vote for as many witnesses as you'd like, and they will all receive the same amount of votes. Witness proposals can be found here: [Bitsharestalk](https://bitsharestalk.org/index.php/board,61.0.html).
--------------------------------------------------------------------------------
/src/__tests__/__tests__/components/Utility/FormattedAsset-test.jsx:
--------------------------------------------------------------------------------
1 | import React from "react/addons";
2 | var TestUtils = React.addons.TestUtils;
3 | jest.dontMock("../../../app/components/Utility/FormattedAsset.jsx");
4 |
5 | describe("", function() {
6 | var FormattedAsset = require("../../../app/components/Utility/FormattedAsset.jsx");
7 |
8 | });
9 |
10 |
--------------------------------------------------------------------------------
/help/tr/components/AccountVotingWorkers.md:
--------------------------------------------------------------------------------
1 | [İşçiler](introduction/workers) BitShares'e özgü bir kavramdır. İşçiler, blok zincirinin kendisinden aldıkları maaş karşılığında hizmet sağlayan tekliflerdir. Teklifin amacını açıklayan bir web veya forum bağlantısı teklifin içine dahil edilmelidir, teklifleri burada görebilirsiniz : [Bitsharestalk](https://bitsharestalk.org/index.php/board,103.0.html).
--------------------------------------------------------------------------------
/src/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "webgui",
3 | "version": "0.0.1",
4 | "homepage": "https://github.com/cryptonomex/graphene_ui",
5 | "authors": [
6 | "Cryptonomex, Inc."
7 | ],
8 | "description": "gui powered by react and graphene",
9 | "ignore": [
10 | "**/.*",
11 | "node_modules",
12 | "bower_components"
13 | ],
14 | "dependencies": {
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/help/tr/introduction/committee.md:
--------------------------------------------------------------------------------
1 | #Kurul
2 |
3 | Kurul, hissedarlar tarafından onaylanan kişilerden oluşan ve bazı ticari
4 | parametreleri belirleyen bir gruptur. Bu parametrelerden bazıları şunlardır :
5 |
6 | * işlem ve alım-satım ücretleri
7 | * blok büyüklüğü ve blok aralıkları gibi blokzinciri parametreleri
8 | * nakit iade oranları ve vesting periodları gibi parametreleri
9 | gibi.
--------------------------------------------------------------------------------
/src/services/AccountMemberService.js:
--------------------------------------------------------------------------------
1 | import {ChainStore} from 'peerplaysjs-lib';
2 |
3 | class AccountMemberService {
4 | /**
5 | * Get a Member status
6 | *
7 | * @param account
8 | * @returns {*}
9 | */
10 | static getAccountMemberStatus(account) {
11 | return ChainStore.getAccountMemberStatus(account);
12 | }
13 | }
14 |
15 | export default AccountMemberService;
--------------------------------------------------------------------------------
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "stage": 0,
3 | "env": {
4 | "development": {
5 | "plugins": ["react-transform"],
6 | "extra": {
7 | "react-transform": {
8 | "transforms": [{
9 | "transform": "react-transform-hmr",
10 | "imports": ["react"],
11 | "locals": ["module"]
12 | }]
13 | }
14 | }
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/components/Forms/Logo.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | class Logo extends React.Component {
4 | render() {
5 | return (
6 |
11 | );
12 | }
13 | }
14 |
15 | export default Logo;
--------------------------------------------------------------------------------
/src/containers/DevTools.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {createDevTools} from 'redux-devtools';
3 | import LogMonitor from 'redux-devtools-log-monitor';
4 | import DockMonitor from 'redux-devtools-dock-monitor';
5 |
6 | export default createDevTools(
7 |
9 |
10 |
11 | );
12 |
--------------------------------------------------------------------------------
/help/en/introduction/committee.md:
--------------------------------------------------------------------------------
1 | # Committee
2 |
3 | The committee is a set of entities that are approved by the shareholders and
4 | define some business parameters. Among these parameters are
5 |
6 | * transaction and trading fees
7 | * blockchain parameters, such as block size, block interval, etc., and
8 | * referral and vesting parameters such as cash back percentage and vesting
9 | periods.
10 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/modules/_header.scss:
--------------------------------------------------------------------------------
1 | .header {
2 | position: fixed;
3 | //overflow: hidden;
4 | top: 0;
5 | left: 0;
6 | width: 100%;
7 | z-index: 102;
8 | height: $headerHeight;
9 | background: $clear-color2;
10 | @include box-shadow(0 2px 7px rgba(0, 0, 0, 0.08));
11 |
12 | .box {
13 | @include clearfix;
14 | height: 100%;
15 | padding: 0 0 0 18px;
16 | }
17 | }
--------------------------------------------------------------------------------
/help/en/components/AccountVotingWorkers.md:
--------------------------------------------------------------------------------
1 | [Workers](introduction/workers) are a unique concept to Bitshares. They are proposals to provide services in return for a salary from the blockchain itself. A proposal should include a link to a website or forum thread that explains the purpose of the proposal, a collection of proposals can be found here: [Bitsharestalk](https://bitsharestalk.org/index.php/board,103.0.html).
--------------------------------------------------------------------------------
/help/tr/components/AccountAssetCreate.md:
--------------------------------------------------------------------------------
1 | Bir aktif yaratmak için şunlar gerekli :
2 | * Geçerli bir varlık sembolü
3 | * 0 (sıfır)dan büyük maksimum arz
4 |
5 | Hassasiyet , varlığın destekleyeceği ondalık hane sayısını belirler.
6 |
7 | Varlık yaratmanın masraf ücreti öncelikle varlığa ait sembolün uzunluğuna bağlıdır.
8 |
9 | Ücretlerin nekadarını tutacağınızı da piyasa ücreti ile yüzde olarak belirtebilirsiniz.
--------------------------------------------------------------------------------
/src/assets/locales/locales.js:
--------------------------------------------------------------------------------
1 | require("file?name=[name].[ext]!./locale-cn.json");
2 | require("file?name=[name].[ext]!./locale-de.json");
3 | require("file?name=[name].[ext]!./locale-en.json");
4 | require("file?name=[name].[ext]!./locale-es.json");
5 | require("file?name=[name].[ext]!./locale-fr.json");
6 | require("file?name=[name].[ext]!./locale-ko.json");
7 | require("file?name=[name].[ext]!./locale-tr.json");
8 |
--------------------------------------------------------------------------------
/src/constants/LoginPage.js:
--------------------------------------------------------------------------------
1 | export default {
2 | /**
3 | * Login form: Button state
4 | */
5 | LOGIN_SET_STATUS: 'LOGIN_SET_STATUS',
6 | /**
7 | * Login form: Set up a login account
8 | */
9 | LOGIN_SET_ACCOUNT_FOR_LOGIN: 'LOGIN_SET_ACCOUNT_FOR_LOGIN',
10 | /**
11 | * Login form: Setting Common validation errors
12 | */
13 | LOGIN_SET_LOGIN_ERRORS: 'LOGIN_SET_LOGIN_ERRORS'
14 | };
--------------------------------------------------------------------------------
/src/repositories/BlocksRepository.js:
--------------------------------------------------------------------------------
1 | import {Apis} from 'peerplaysjs-ws';
2 |
3 | class BlocksRepository {
4 | static fetchBlockById(id) {
5 | return Apis.instance().db_api().exec('get_block', [id]).then(function (block) {
6 | return block;
7 | }).catch(function (error) {
8 | console.log('BlocksRepository', error);
9 | });
10 | }
11 | }
12 |
13 | export default BlocksRepository;
--------------------------------------------------------------------------------
/src/assets/styling/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: ['stylelint-order'],
3 | rules: Object.assign({}, ...[
4 | './rules/at-rule',
5 | './rules/block',
6 | './rules/color',
7 | './rules/declaration',
8 | './rules/font',
9 | './rules/function',
10 | './rules/general',
11 | './rules/media',
12 | './rules/order',
13 | './rules/selector'
14 | ].map(require))
15 | };
--------------------------------------------------------------------------------
/src/chain/account_constants.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | account_listing: {
3 | no_listing: 0x0, ///< No opinion is specified about this account
4 | white_listed: 0x1, ///< This account is whitelisted, but not blacklisted
5 | black_listed: 0x2, ///< This account is blacklisted, but not whitelisted
6 | white_and_black_listed: 0x1 | 0x2 ///< This account is both whitelisted and blacklisted
7 | }
8 | };
9 |
--------------------------------------------------------------------------------
/src/components/Layout/Footer.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | export default class Footer extends React.Component {
4 | render() {
5 | return (
6 |
7 |
8 |
9 | Copyright © 2016 Peerplays
10 |
11 |
12 |
13 | );
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/help/en/components/AccountVoting.md:
--------------------------------------------------------------------------------
1 | ### Voting
2 |
3 | Voting in Bitshares is important for both the security and the development of the network. If you prefer, you may delegate your voting power to a Proxy, who can then vote on your behalf. If you do choose to use a Proxy, manual voting will be disabled.
4 |
5 | Voting changes will only be applied once you click on 'Publish changes' and broadcast your changes to the network.
6 |
--------------------------------------------------------------------------------
/help/en/components/BorrowModal.md:
--------------------------------------------------------------------------------
1 | This dialog allows you to set your desired debt and collateral.
2 |
3 | If {debt} debt is reduced it will be deducted from {borrower}'s account.
4 | If {debt} debt is increased it will be credited to {borrower} provided there is sufficient {collateral} collateral.
5 |
6 | Collateral may be added or removed so long as the minimal maintenance collateral is maintained. [Read more.](dex/shorting)
7 |
--------------------------------------------------------------------------------
/src/config/main.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Store global settings (CONFIG)
3 | */
4 | export default {
5 | APP_VERSION: APP_VERSION,
6 | APP_PACKAGE_VERSION: APP_PACKAGE_VERSION,
7 | __ELECTRON__: __ELECTRON__,
8 | CORE_ASSET: CORE_ASSET,
9 | FAUCET_URL: FAUCET_URL,
10 | BLOCKCHAIN_URL: BLOCKCHAIN_URL,
11 | BITSHARES_WS: BITSHARES_WS,
12 | SOFTWARE_UPDATE_REFERENCE_ACCOUNT_NAME: SOFTWARE_UPDATE_REFERENCE_ACCOUNT_NAME
13 | };
--------------------------------------------------------------------------------
/src/assets/loader-dev.js:
--------------------------------------------------------------------------------
1 | require('./stylesheets/app.scss');
2 | require('file?name=index.html!./index-dev.html');
3 | require('file?name=favicon.ico!./favicon.ico');
4 | require('file?name=dictionary.json!common/dictionary_en.json');
5 | require('babel/polyfill');
6 | require('whatwg-fetch');
7 | require('indexeddbshim');
8 | require('./asset-symbols/symbols.js');
9 | require('./images/images.js');
10 | require('./locales/locales.js');
--------------------------------------------------------------------------------
/src/assets/loader.js:
--------------------------------------------------------------------------------
1 | require('./stylesheets/app.scss');
2 | require('file?name=index.html!./index.html');
3 | require('file?name=favicon.ico!./favicon.ico');
4 | require('file?name=dictionary.json!common/dictionary_en.json');
5 | require('babel/polyfill');
6 | require('whatwg-fetch');
7 | require('indexeddbshim');
8 | require('./asset-symbols/symbols.js');
9 | require('./images/images.js');
10 | require('./locales/locales.js');
11 |
--------------------------------------------------------------------------------
/src/components/Dashboard/Balances/BalancesContainer.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import Side from './Side';
3 | import Balances from './Balances';
4 | class BalancesContainer extends React.Component {
5 | render() {
6 | return (
7 |
13 | );
14 | }
15 | }
16 | export default BalancesContainer;
--------------------------------------------------------------------------------
/src/repositories/ObjectRepository.js:
--------------------------------------------------------------------------------
1 | import {Apis} from 'peerplaysjs-ws';
2 |
3 | class ObjectRepository {
4 | static fetchObjectsByIds(ids = []) {
5 | return Apis.instance().db_api().exec('get_objects', [ids]).then(function (optional_objects) {
6 | return optional_objects;
7 | }).catch(function (error) {
8 | console.log('ObjectRepository', error);
9 | });
10 | }
11 | }
12 |
13 | export default ObjectRepository;
--------------------------------------------------------------------------------
/electron/build/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "peerplays-core",
3 | "productName": "Peerplays Core",
4 | "identifier": "org.peerplays.peerplays",
5 | "description": "Peerplays Core Graphical Interface",
6 | "version": "0.3.2",
7 | "author": "community@peerplays.org",
8 | "main": "electron.js",
9 | "config": {
10 | "target": "development"
11 | },
12 | "dependencies": {
13 | "electron-context-menu": "^0.9.0"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/repositories/GlobalsRepository.js:
--------------------------------------------------------------------------------
1 | import {Apis} from 'peerplaysjs-ws';
2 |
3 | class GlobalsRepository {
4 | static fetchDynamicGlobalProperties() {
5 | return Apis.instance().db_api().exec('get_dynamic_global_properties', []).then((properties) => {
6 | return properties;
7 | }).catch(function (error) {
8 | console.log('GlobalsRepository', error);
9 | });
10 | }
11 | }
12 |
13 | export default GlobalsRepository;
14 |
--------------------------------------------------------------------------------
/src/assets/styling/rules/at-rule.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | 'at-rule-empty-line-before': [
3 | 'always',
4 | {
5 | except: [
6 | 'first-nested',
7 | 'blockless-after-blockless'
8 | ],
9 | ignore: [
10 | 'after-comment'
11 | ]
12 | }
13 | ],
14 | 'at-rule-name-case': 'lower',
15 | 'at-rule-name-space-after': 'always-single-line',
16 | 'at-rule-semicolon-newline-after': 'always'
17 | };
--------------------------------------------------------------------------------
/src/__tests__/__tests__/jest-preprocessor.js:
--------------------------------------------------------------------------------
1 | var coffee = require('coffee-script');
2 | var babel_jest = require('babel-jest');
3 |
4 | module.exports = {
5 | process: function(src, path) {
6 | src = babel_jest.process(src, path)
7 | // CoffeeScript files can be .coffee, .litcoffee, or .coffee.md
8 | if (coffee.helpers.isCoffee(path)) {
9 | return coffee.compile(src, {'bare': true});
10 | }
11 | return src;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/help/cn/introduction/workers.md:
--------------------------------------------------------------------------------
1 | # 预算项目
2 |
3 | 预算项目期望通过提供服务来从区块链获得奖金的工作项目提案。一项提案包含至少以下信息:
4 |
5 | * 开始和结束时间
6 | * 每日支付预算
7 | * 预算上限
8 |
9 | 它还应该包含一个指向网页或论坛帖子的链接,以详细介绍工作项目内容。
10 |
11 | 针对预算项目,投票人可以选择支持或者反对。
12 |
13 | ## 预算项目支付机制
14 |
15 | 预算项目每天收到的金额来自一个金额固定的每日预算池,根据票数多寡排序进行分配,知道每日预算池中资金耗尽。举一个例子:
16 |
17 | * 每日预算池总额为400K BTS
18 | * 有5个预算项目符合条件(支持票多余反对票),他们都要求每天获得100K BTS的预算支持。
19 |
20 | 那么得票较多的4个项目将每天获得100K BTS的支付,但是由于付完这4各项目,每日预算池中已无资金剩余,那么第五个项目受付金额则为0。
21 |
--------------------------------------------------------------------------------
/src/helpers/TimeHelper.js:
--------------------------------------------------------------------------------
1 | class TimeHelper {
2 | static timeStringToDate(time_string) {
3 | if (!time_string) {
4 | return new Date('1970-01-01T00:00:00.000Z');
5 | }
6 |
7 | if (!/Z$/.test(time_string)) {
8 | //does not end in Z
9 | // https://github.com/cryptonomex/graphene/issues/368
10 | time_string = time_string + 'Z';
11 | }
12 |
13 | return new Date(time_string);
14 | }
15 | }
16 |
17 | export default TimeHelper;
--------------------------------------------------------------------------------
/src/components/Utility/Normalizer.jsx:
--------------------------------------------------------------------------------
1 | let Normalizer = {
2 | normalizePassword: function(value, previousValue){
3 |
4 | if (!value.length) {
5 | return value;
6 | }
7 |
8 | if (/[^A-Za-z0-9-]/.test(value)) {
9 | return previousValue && previousValue.toLowerCase();
10 | }
11 |
12 | return value;
13 | },
14 |
15 | normalizeAccount: function(value){
16 | return value.toLowerCase();
17 | }
18 | };
19 |
20 | export default Normalizer;
--------------------------------------------------------------------------------
/src/constants/LocationConstants.js:
--------------------------------------------------------------------------------
1 | export default {
2 | GAMES: 'GAMES',
3 | GAMES_ROCK_PAPER_SCISSOR_TOURNAMENTS: 'GAMES_ROCK_PAPER_SCISSOR_TOURNAMENTS',
4 | EXCHANGE: 'EXCHANGE',
5 | EXPLORER_BLOCK_CHAIN: 'EXPLORER_BLOCK_CHAIN',
6 | EXPLORER_FEE_SCHEDULE: 'EXPLORER_FEE_SCHEDULE',
7 | EXPLORER_ACCOUNTS: 'EXPLORER_ACCOUNTS',
8 | DASHBOARD_BALANCES: 'DASHBOARD_BALANCES',
9 | SEND: 'SEND',
10 | VOTING: 'VOTING',
11 | DEPOSIT_WITHDRAW: 'DEPOSIT_WITHDRAW'
12 | };
13 |
--------------------------------------------------------------------------------
/src/repositories/WitnessRepository.js:
--------------------------------------------------------------------------------
1 | import {Apis} from 'peerplaysjs-ws';
2 |
3 | class WitnessRepository {
4 | static fetchWitnessesAccounts(ids) {
5 | return Apis.instance().db_api().exec('lookup_witness_accounts', [ids.join(' '), ids.length])
6 | .then(function (accounts) {
7 | return accounts;
8 | }).catch(function (error) {
9 | console.log('WitnessRepository', error);
10 | });
11 | }
12 | }
13 |
14 | export default WitnessRepository;
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .idea
3 | node_modules
4 | */node_modules
5 | */npm-debug.log
6 | *.map
7 | css
8 | *.log
9 | build
10 | releases
11 |
12 | web/app/components/Exchange/exchange.css
13 | cli/bundle.js
14 | web/dist-prod
15 | plasma
16 | web/stats*
17 | babel-cache/*
18 | \!documents
19 | !babel-cache/.gitkeep
20 | web/build/
21 | electron/build
22 | electron/tmp
23 | .sass-cache
24 | node_modules
25 | bower_components
26 | bundle
27 | stats-dev.json
28 | stats-prod.json
29 | *.json.gzip
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/components/_footer.scss:
--------------------------------------------------------------------------------
1 | .footer {
2 | background-color: #777;
3 | height: 36px;
4 | line-height: 36px;
5 | vertical-align: middle;
6 | color: #fff;
7 | padding-left: 1.75rem;
8 | padding-right: 1.75rem;
9 |
10 | a {
11 | text-decoration: underline;
12 | }
13 |
14 | .logo {
15 | font-size: 1.1rem;
16 | line-height: 2rem;
17 |
18 | .version {
19 | font-size: 75%;
20 | vertical-align: baseline;
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/help/cn/introduction/bridges_gateways.md:
--------------------------------------------------------------------------------
1 | ## 桥接及网关服务
2 |
3 | 桥接和网关服务帮助用户进行数字资产的充值和提现活动。但这两种服务模式有些不同。
4 |
5 | ### 桥接: 无需信任的模式
6 | 桥接服务运行用户存入一定数量的BTS以外的数字货币(资产),并获得相应的智能锚定货币(SmartCoin)。锚定货币没有对手方风险。所以这种模式下,用户面对的风险仅在于充值期间一小段时间的风险。这相对于比中心化的交易所的充值方式安全得多,因为中心化交易所总是面临各种黑客攻击或者其他管理漏洞而导致丢币的风险。
7 |
8 | ### 网关: 需要信任的模式
9 | 网关模式下基本上就和传统的交易所运作模式相似,依赖于交易所的偿付能力。网关发行资产,一般以网关品牌作为前缀,比如OPEN,TRADE或是META。这些资产由用户存入网关的对真实应资产背书,比如BTC,ETH等。
10 |
11 | OPEN.BTC理论上和你充值到一般中心化交易所,比如Poloniex的BTC一样,可以记作POLO.BTC。你都将依赖网关对你的数字资产进行兑付。
--------------------------------------------------------------------------------
/src/components/Icon/thumb-tack.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/help/en/components/AccountAssetCreate.md:
--------------------------------------------------------------------------------
1 | [# permissions]
2 | Permissions define the available features for an asset. However, even if a feature is permitted, it must still be activated using the corresponding flag in order to be enforced by the blockchain.
3 |
4 | After creation, you may only remove a given permission, you cannot enable a permission that was disabled on creation.
5 |
6 | [# flags]
7 | Flags define which asset features are active or inactive. They can be switched on and off by the asset owner at any time.
--------------------------------------------------------------------------------
/help/cn/introduction/blockchain.md:
--------------------------------------------------------------------------------
1 | # 区块链
2 |
3 | 与大多数数字货币类似,Graphene (石墨烯) 使用区块链来记录参与者的转账信息及市场行为。由于每个区块总是指向前一个区块,我们获得一个区块链条包含了所有在网络上发生的交易信息。区块链是一个公开的,可审计的账簿,每个人都能够查看详细数据,并验证交易、市场订单和买卖盘数据。
4 |
5 | 当然,本钱包软件内置了一个区块链浏览工具,帮助你进行数据查看和审验。
6 |
7 | ## 共识机制
8 |
9 | 由谁在什么时间来*打包生成*区块是由被称为*Delegated Proof of Stak (DPOS)*的共识算法决定的。算法的本质是 BitShares 的股东(BTS的持有者)能通过投票来决定他们期望的块打包者。由获得最多票数的所谓"见证人"来打包生成区块。
10 |
11 | ## 交易
12 |
13 | Graphene (石墨烯) 区块链技术提供了多种交易类型。用户不仅可以相互进行简单的资产转账,还能与去中心化交易所进行交互。大多数交易类型可通过字面意思理解,其他的则要求对系统的内部运作机制有较深的理解。
--------------------------------------------------------------------------------
/ios/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "iOS-gui",
3 | "version": "0.0.1",
4 | "description": "iOS gui powered by react and graphene",
5 | "homepage": "https://github.com/cryptonomex/graphene_ui",
6 | "author": "Cryptonomex, Inc.",
7 | "license" : "LicenseRef-LICENSE",
8 | "private": true,
9 | "scripts": {
10 | "start": "node_modules/react-native/packager/packager.sh"
11 | },
12 | "dependencies": {
13 | "react-native": "~0.3.11",
14 | "immutable": "~3.7.2",
15 | "alt": "~0.15.4"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/selectors/HistorySelector.js:
--------------------------------------------------------------------------------
1 | import {createSelector} from 'reselect';
2 |
3 | const getRecentActivity = (state) => {
4 | return state.dashboardPage.recentActivity;
5 | };
6 |
7 | const getMemoKey = (state) => {
8 | let key = decode(state.privateKey.keys.get('memo')); // TODO: find/declare
9 | return key;
10 | };
11 |
12 | export const getRecentHistory = createSelector(
13 | [getRecentActivity, getMemoKey],
14 | (recentActivity, memoKey) => { // TODO: find/declare
15 | return recentActivity;
16 | }
17 | );
--------------------------------------------------------------------------------
/help/cn/assets/mpa.md:
--------------------------------------------------------------------------------
1 | # 市场锚定资产
2 |
3 | 一种加密数字货币,拥有类似比特币的属性和优点,同时能保持价格与对应的全球接受的货币同步(比如美元)。具有很强的便利性和实用性,对管制免疫。BitShares的市场锚定资产(MPA)可以实现这样的目的。市场锚定资产是一种新型的可自由交易的数字资产,通过差价合约(CFD)机制,它的价值能够追踪传统的对应资产的价值。
4 |
5 | *SmartCoin* (市场锚定资产的另一种叫法)是一种数字货币,它的价值*总是*有100%或更多价值的比特股核心货币(BTS)来支撑。这些BTS在差价合约(CFD)中,作为抵押物存在,并在任何时间可被赎回。
6 |
7 | 市场锚定资产与众不同的一个特点在于,尽管它使用了有抵押的价差合约,它却能免于对手盘风险。这是由网络本身(软件协议)通过确保抵押充足,并在特定情况下进行强制清算的机制来实现的。
8 |
9 | 以下是部分已经可用的市场锚定资产
10 | * BitUSD (比特美元)
11 | * BitCNY (比特人民币)
12 | * BitEUR (比特欧元)
13 | * BitGOLD (比特黄金)
14 | * ...
15 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/modules/_chart.scss:
--------------------------------------------------------------------------------
1 | .chart__wrap {
2 | padding: 30px;
3 | }
4 |
5 | .chart__title {
6 | color: $text-color2;
7 | font-size: 16px;
8 | text-align: center;
9 | margin: 0 0 10px;
10 | }
11 |
12 | .highcharts-tooltip {
13 | z-index: 1;
14 |
15 | .text {
16 | font-size: 10px;
17 | line-height: 12px;
18 | color: $faded-color;
19 | text-transform: uppercase;
20 | }
21 |
22 | .num {
23 | font-size: 10px;
24 | line-height: 12px;
25 | color: $clear-color;
26 | }
27 | }
--------------------------------------------------------------------------------
/ios/iOS/AppDelegate.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015-present, Facebook, Inc.
3 | * All rights reserved.
4 | *
5 | * This source code is licensed under the BSD-style license found in the
6 | * LICENSE file in the root directory of this source tree. An additional grant
7 | * of patent rights can be found in the PATENTS file in the same directory.
8 | */
9 |
10 | #import
11 |
12 | @interface AppDelegate : UIResponder
13 |
14 | @property (nonatomic, strong) UIWindow *window;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/src/stores/BaseStore.js:
--------------------------------------------------------------------------------
1 | class BaseStore {
2 | _export(...methods) {
3 | let publicMethods = {};
4 | methods.forEach((method) => {
5 | if (!this[method]) {
6 | throw new Error(
7 | `BaseStore._export: method '${method}' not found in ${this.__proto__._storeName}`
8 | );
9 | }
10 |
11 | this[method] = this[method].bind(this);
12 | publicMethods[method] = this[method];
13 | });
14 | this.exportPublicMethods(publicMethods);
15 | }
16 | }
17 |
18 | export default BaseStore;
19 |
--------------------------------------------------------------------------------
/src/workers/AddressIndexWorker.js:
--------------------------------------------------------------------------------
1 | var {key} = require('peerplaysjs-lib');
2 |
3 | onmessage = function(event) {
4 | try {
5 | console.log('AddressIndexWorker start');
6 | var {pubkeys, address_prefix} = event.data;
7 | var results = [];
8 |
9 | for (let pubkey of pubkeys) {
10 | results.push( key.addresses(pubkey, address_prefix) );
11 | }
12 |
13 | postMessage( results );
14 | console.log('AddressIndexWorker done');
15 | } catch( e ) {
16 | console.error('AddressIndexWorker', e);
17 | }
18 | };
--------------------------------------------------------------------------------
/src/assets/stylesheets/components/_deposit.scss:
--------------------------------------------------------------------------------
1 | .deposit__col{
2 | margin-top: 20px;
3 | padding: 10px 10% 30px 0;
4 | min-height: 756px;
5 | &.left{
6 | border-right: 1px solid #2c3370;
7 | }
8 | &.right{
9 | padding-left: 30px;
10 | }
11 | .title{
12 | font-size: 24px;
13 | font-weight: 500;
14 | padding: 20px 0;
15 | margin-bottom: 37px;
16 | }
17 | .label{
18 |
19 | }
20 | .label-lg{
21 | font-size: 17px;
22 | padding-bottom: 16px;
23 | font-weight: 400;
24 | }
25 | .qr{
26 | margin: 0 0 50px;
27 | }
28 | }
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/components/_dashboard.scss:
--------------------------------------------------------------------------------
1 | div.fm-container {
2 | padding: 0.5rem;
3 | min-width: 13rem;
4 |
5 | &:hover {
6 | background-color: #D8D8D8;
7 | cursor: pointer;
8 | }
9 |
10 | .fm-title,
11 | .fm-volume,
12 | .fm-change {
13 | font-size: 0.85rem;
14 | }
15 |
16 | .fm-name {
17 | font-weight: bold;
18 | }
19 |
20 | .fm-volume {
21 | padding-top: 8px;
22 | }
23 |
24 | .fm-change {
25 | padding-top: 4px;
26 | }
27 | }
--------------------------------------------------------------------------------
/docs/getting_started.rst:
--------------------------------------------------------------------------------
1 | Getting Started
2 | ===============
3 |
4 | Getting started with Graphene UI is easy, and these docs will tell you how. First of all, you will need to clone the github repository to your local computer. This is accomplished by opening a terminal and entering::
5 |
6 | git clone https://github.com/cryptonomex/graphene-ui.git
7 |
8 | This will clone the repo into a folder ``./graphene-ui`` on your computer. If you plan on contributing code, you should fork the repo on github and clone your own fork instead. More
9 |
10 |
--------------------------------------------------------------------------------
/help/cn/introduction/backups.md:
--------------------------------------------------------------------------------
1 | # 备份
2 |
3 | 我们建议你经常备份你的钱包,尽管在绝大多数情况下备份一次已经足够。需要注意的是,从备份中恢复钱包数据时,由于*备份是加密保存*的,你需要提供创建钱包时使用的密码进行解密才能恢复。所以,如果你丢失了钱包文件或者忘记了你的密码,你将无法访问钱包中的资金!
4 |
5 | 备份功能可以通过钱包管理界面进行操作(`设置->钱包`)。
6 |
7 | ## 钱包导出
8 |
9 | 最便捷的备份方式是通过钱包管理界面提供的操作按钮进行钱包导出。请妥善保存你的备份文件,防止遗失、被盗或自然灾害。
10 |
11 | ## 脑钱包密钥 (仅高级用户适用)
12 |
13 | 如果你从未手动导入过账户私钥进入过你的钱包,那么你还可以选择通过导出*脑钱包密钥*进行备份。脑钱包密钥是一长串由单词组成的字符串,通过它钱包软件可进行确定性重算恢复你的账户私钥。
14 |
15 | ## 多层级职权实体 (仅高级用户适用)
16 |
17 | 如果你使用了多层级职权实体功能(设置了账户权限/活跃权限),那么只是备份你自己的钱包是不够的。还需要相关的被授权的职权实体的密钥也被安全备份。请阅读关于多层级职权实体的更多内容。
18 |
--------------------------------------------------------------------------------
/src/services/CryptoService.js:
--------------------------------------------------------------------------------
1 | import {Aes} from 'peerplaysjs-lib';
2 |
3 | class CryptoService {
4 | /**
5 | * get AES by password and encryption_key
6 | *
7 | * @param password
8 | * @param encryption_key
9 | * @returns {*}
10 | */
11 | static getAesPrivate(password, encryption_key) {
12 | let password_aes = Aes.fromSeed(password),
13 | encryption_plainbuffer = password_aes.decryptHexToBuffer(encryption_key);
14 |
15 | return Aes.fromSeed(encryption_plainbuffer);
16 | }
17 | }
18 |
19 | export default CryptoService;
--------------------------------------------------------------------------------
/electron/tasks/release.js:
--------------------------------------------------------------------------------
1 |
2 |
3 | var gulp = require('gulp');
4 | var utils = require('./utils');
5 |
6 | var releaseForOs = {
7 | osx: require('./release_osx'),
8 | linux: require('./release_linux'),
9 | windows: require('./release_windows'),
10 | };
11 |
12 | gulp.task('release', [], function () {
13 | return releaseForOs['osx']();
14 | });
15 |
16 | gulp.task('release-windows', [], function () {
17 | return releaseForOs['windows']();
18 | });
19 |
20 | gulp.task('release-linux', [], function () {
21 | return releaseForOs['linux']();
22 | });
23 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/utils/_utils.scss:
--------------------------------------------------------------------------------
1 | @mixin color($font-color, $bg-color, $is_imp: false) {
2 | @if $is_imp==false {
3 | color: $font-color;
4 | background-color: $bg-color;
5 | }
6 |
7 | @else {
8 | color: $font-color !important;
9 | background-color: $bg-color !important;
10 | }
11 | }
12 |
13 | //buttons
14 | @mixin button-focus($color, $bg-color, $number) {
15 | color: lighten($color, $number);
16 | background-color: lighten($bg-color, $number);
17 | //not good in dark theme
18 | //border-color: lighten($color, $number);
19 | }
--------------------------------------------------------------------------------
/docs/_build/html/_sources/getting_started.txt:
--------------------------------------------------------------------------------
1 | Getting Started
2 | ===============
3 |
4 | Getting started with Graphene UI is very simple, and here you will find out how. First of all, you will need to clone the github repository to your local computer. This is accomplished by opening a terminal and entering::
5 |
6 | git clone https://github.com/cryptonomex/graphene-ui.git
7 |
8 | This will clone the repo into a folder ``./graphene-ui`` on your computer. If you plan on contributing code, you should fork the repo on github and clone your own fork instead. More
9 |
10 |
--------------------------------------------------------------------------------
/help/en/accounts/general.md:
--------------------------------------------------------------------------------
1 | # Accounts
2 |
3 | As you may have already noticed by now, this blockchain technology requires you
4 | to register an account name. This comes with many advantages: Besides improved
5 | scalability, we have separated the identity from the transaction authorizing
6 | signature. In practice, *owning an account name* is independent from being able
7 | to *spend its funds*. Furthermore, both rights (we call them *permissions*) can
8 | split among an arbitrary complex relation of people (we call them *authorities*)
9 | using *weights* and a required *thresholds*.
10 |
--------------------------------------------------------------------------------
/src/actions/PrivateKeyActions.js:
--------------------------------------------------------------------------------
1 | //TODO::rm file
2 | var alt = require('../alt-instance');
3 |
4 | class PrivateKeyActions {
5 | addKey(private_key_object, transaction) {
6 | // returned promise is deprecated
7 | return new Promise( (resolve) => {
8 | this.dispatch({private_key_object, transaction, resolve});
9 | });
10 | }
11 |
12 | loadDbData() {
13 | // returned promise is deprecated
14 | return new Promise( (resolve) => {
15 | this.dispatch(resolve);
16 | });
17 | }
18 | }
19 |
20 | module.exports = alt.createActions(PrivateKeyActions);
21 |
--------------------------------------------------------------------------------
/src/helpers/PeriodNameHelper.js:
--------------------------------------------------------------------------------
1 | class PeriodNameHelper {
2 | static getPeriodNameByDeltaTime(delta) {
3 | if (delta < 60) {
4 | return delta + 's';
5 | } else if (delta < 3600) {
6 | return (delta / 60) + 'm';
7 | } else if (delta < 86400) {
8 | return (delta / 3600) + 'h';
9 | } else if (delta < 604800) {
10 | return (delta / 86400) + 'd';
11 | } else if (delta < 2592000) {
12 | return (delta / 604800) + 'w';
13 | } else {
14 | return (delta / 2592000) + 'm';
15 | }
16 | }
17 | }
18 |
19 | export default PeriodNameHelper;
--------------------------------------------------------------------------------
/help/es/accounts/general.md:
--------------------------------------------------------------------------------
1 | # Cuentas
2 |
3 | Como ya se habrá notado, esta tecnología blockchain requiere que usted
4 | registre un nombre de cuenta. Esto trae numerosas ventajas. Además de incrementar
5 | la escalabilidad, hemos separado la identidad de la firma autorizante
6 | de las transacciones. En la práctica, *ser propietario de una cuenta* es independiente de poder
7 | *utilizar sus fondos". Adicionalmente, ambos derechos (que llamamos "permisos") pueden
8 | combinarse en una compleja relación arbitraria entre personas (que llamamos "autoridades")
9 | usando los parámetros *peso* y *humbral*.
--------------------------------------------------------------------------------
/src/components/Test/InnerTest.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ChainTypes from '../Utility/ChainTypes';
3 |
4 | class InnerTest extends React.Component {
5 |
6 | static propTypes = {
7 | asset: ChainTypes.ChainAsset.isRequired,
8 | };
9 |
10 | componentWillMount() {}
11 |
12 | render() {
13 | console.log(this.props.asset, 'assetassetasset');
14 | return (
15 |
16 | InnerTest {this.props.testVar} {this.props.accountId}
17 |
18 | );
19 | }
20 | }
21 |
22 |
23 | export default InnerTest;
--------------------------------------------------------------------------------
/src/stores/to_rm/ImportKeysStore.js:
--------------------------------------------------------------------------------
1 | import alt from 'alt-instance';
2 | import BaseStore from 'stores/BaseStore';
3 |
4 | class ImportKeysStore extends BaseStore {
5 | constructor() {
6 | super();
7 | this.state = this._getInitialState();
8 | this._export('importing');
9 | }
10 |
11 | _getInitialState() {
12 | return {importing: false};
13 | }
14 |
15 | importing(importing) {
16 | this.setState({importing});
17 | }
18 | }
19 |
20 | export var ImportKeysStoreWrapped = alt.createStore(ImportKeysStore, 'ImportKeysStore');
21 | export default ImportKeysStoreWrapped;
--------------------------------------------------------------------------------
/help/en/components/DepositWithdraw.md:
--------------------------------------------------------------------------------
1 | [# receive]
2 | ### Receiving BTS
3 | In order to receive BTS from another person or from an exchange, simply give them your account name: **{account}**
4 |
5 | [# deposit-short]
6 | ### Depositing or withdrawing coins
7 | If you want to deposit or withdraw funds, either in fiat or from other blockchains, you may use a [bridge](introduction/bridges_gateways) or [gateway](introduction/bridges_gateways) service to do so. You'll find a selection of service providers in the tabs below. Start by choosing a provider, then pick a service: Bridge, Gateway (or Fiat where available).
--------------------------------------------------------------------------------
/ios/iOS/main.m:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright (c) 2015-present, Facebook, Inc.
3 | * All rights reserved.
4 | *
5 | * This source code is licensed under the BSD-style license found in the
6 | * LICENSE file in the root directory of this source tree. An additional grant
7 | * of patent rights can be found in the PATENTS file in the same directory.
8 | */
9 |
10 | #import
11 |
12 | #import "AppDelegate.h"
13 |
14 | int main(int argc, char * argv[]) {
15 | @autoreleasepool {
16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/app/ChainStoreHeartbeater.js:
--------------------------------------------------------------------------------
1 | import {EmitterInstance} from 'peerplaysjs-lib';
2 |
3 | class ChainStoreHeartbeater {
4 | constructor() {
5 | this.heartBeatTimer = null;
6 | }
7 |
8 | setHeartBeatChainStore(cb) {
9 | let emitter = EmitterInstance.emitter();
10 | emitter.on('heartbeat', () => {
11 |
12 | if (this.heartBeatTimer) {
13 | clearInterval(this.heartBeatTimer);
14 | }
15 |
16 | this.heartBeatTimer = setInterval(() => {
17 | return cb();
18 | }, 30000);
19 | });
20 | }
21 | }
22 |
23 | export default ChainStoreHeartbeater;
--------------------------------------------------------------------------------
/electron/build/vendor/electron_boilerplate/env_config.js:
--------------------------------------------------------------------------------
1 | // Loads config/env_XXX.json file and puts it
2 | // in proper place for given Electron context.
3 |
4 | 'use strict';
5 |
6 | (function () {
7 | var fs = require('fs');
8 | if (typeof window === 'object') {
9 | // Web browser context, __dirname points to folder where app.html file is.
10 | window.env = JSON.parse(fs.readFileSync(__dirname + '/env_config.json'));
11 | } else {
12 | // Node context
13 | module.exports = {} //fs.readFileSync(__dirname + '/../../env_config.json');
14 | }
15 | }());
16 |
--------------------------------------------------------------------------------
/src/assets/styling/rules/media.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | 'media-feature-colon-space-after': 'always',
3 | 'media-feature-colon-space-before': 'never',
4 | 'media-feature-name-case': 'lower',
5 | 'media-feature-name-no-unknown': true,
6 | 'media-feature-parentheses-space-inside': 'never',
7 | 'media-feature-range-operator-space-after': 'always',
8 | 'media-feature-range-operator-space-before': 'always',
9 | 'media-query-list-comma-newline-after': 'never-multi-line',
10 | 'media-query-list-comma-space-after': 'always-single-line',
11 | 'media-query-list-comma-space-before': 'never'
12 | };
--------------------------------------------------------------------------------
/src/services/StorageService.js:
--------------------------------------------------------------------------------
1 | import LS from '../common/localStorage';
2 |
3 | let accountStorage = new LS('__peerplays__');
4 |
5 | /**
6 | * Base Storage service
7 | *
8 | * Here we work with Local Storage
9 | */
10 | class StorageService {
11 | static get() {
12 | return accountStorage.get.apply(accountStorage, arguments);
13 | }
14 |
15 | static set() {
16 | return accountStorage.set.apply(accountStorage, arguments);
17 | }
18 |
19 | static remove() {
20 | return accountStorage.remove.apply(accountStorage, arguments);
21 | }
22 | }
23 |
24 | export default StorageService;
--------------------------------------------------------------------------------
/help/tr/accounts/general.md:
--------------------------------------------------------------------------------
1 | # Hesaplar
2 |
3 | Şu ana kadar farkkettiğiniz gibi, bu blokzinciri teknolojisi bir hesap adı kaydetmenizi
4 | mecbur kılar. Bunun bir çok avantajı vardır : Gelişmiş ölçeklenebilirlik bir yana,
5 | biz bu şekilde , kimlik bilgilerini , işlemleri yetkilendiren imzalardan ayırmış oluyoruz.
6 | Uygulamada , *bir hesap adına sahip olmak* *o hesaba ait fonları* harcayabilmekten
7 | bağımsızdır. Dahası her iki hak da (biz bunlara *izinler* diyoruz) *ağırlıklar* ve
8 | *eşikler* kullanılarak gelişigüzel karmaşık insan ilişkileri (biz bunlara "yetkiler"
9 | diyoruz) arasında paylaştırılabilirler.
--------------------------------------------------------------------------------
/src/components/Icon/chevron-down.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
3 | // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
4 |
5 | // List of extensions which should be recommended for users of this workspace.
6 | "recommendations": [
7 | "waderyan.gitblame",
8 | "dbaeumer.vscode-eslint",
9 | "eamodio.gitlens",
10 | "HookyQR.beautify",
11 | "shinnn.stylelint"
12 | ],
13 | // List of extensions recommended by VS Code that should not be recommended for users of this workspace.
14 | "unwantedRecommendations": [
15 |
16 | ]
17 | }
--------------------------------------------------------------------------------
/src/assets/stylesheets/components/_dashboard.scss:
--------------------------------------------------------------------------------
1 | .db__options{
2 | &Wrap{
3 | text-align: center;
4 | padding: 150px 0 100px;
5 | }
6 | &List{
7 | display: flex;
8 | justify-content: space-around;
9 | @include clearfix;
10 | }
11 | &Item{
12 | float: left;
13 | }
14 | &Link{
15 | display: block;
16 | padding: 0 100px;
17 | @include transition();
18 | &:hover{opacity: .8;}
19 | }
20 | &Pic{}
21 | &Title{
22 | display: block;
23 | font-size: 30px;
24 | font-weight: 600;
25 | color: $text-color-bg;
26 | margin-top: 45px;
27 | text-align: center;
28 | text-transform: uppercase;
29 | }
30 | }
--------------------------------------------------------------------------------
/electron/resources/osx/helper_apps/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleIdentifier
6 | {{identifier}}.helper
7 | CFBundleName
8 | {{productName}} Helper
9 | CFBundlePackageType
10 | APPL
11 | DTSDKName
12 | macosx
13 | LSUIElement
14 |
15 | NSSupportsAutomaticGraphicsSwitching
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/helpers/VersionHelper.js:
--------------------------------------------------------------------------------
1 | class VersionHelper {
2 | static compare (a, b) {
3 | let pa = a.split('.');
4 | let pb = b.split('.');
5 |
6 | for (let i = 0; i < 3; i++) {
7 | let na = Number(pa[i]);
8 | let nb = Number(pb[i]);
9 |
10 | if (na > nb) {
11 | return 1;
12 | }
13 |
14 | if (nb > na) {
15 | return -1;
16 | }
17 |
18 | if (!isNaN(na) && isNaN(nb)) {
19 | return 1;
20 | }
21 |
22 | if (isNaN(na) && !isNaN(nb)) {
23 | return -1;
24 | }
25 | }
26 |
27 | return 0;
28 | }
29 | }
30 |
31 | export default VersionHelper;
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/components/_all.scss:
--------------------------------------------------------------------------------
1 | @import "account";
2 | @import "blocktrades";
3 | @import "cards";
4 | @import "console";
5 | @import "existing_accounts";
6 | @import "footer";
7 | @import "forms";
8 | @import "header";
9 | @import "loading-indicator";
10 | @import "pagination";
11 | @import "tables";
12 | @import "wallet";
13 | @import "chatbox";
14 | @import "dashboard";
15 | @import "settings";
16 |
17 | .lifetime {
18 | background: url("../fresh-bolt2.png") no-repeat 100% 50%;
19 | background-size: auto 80%;
20 | padding-right: 0.75rem;
21 | }
22 |
23 | .bottom-border {
24 | border-bottom: 1px solid #444;
25 | }
--------------------------------------------------------------------------------
/help/en/assets/privbitassets.md:
--------------------------------------------------------------------------------
1 | Privatized BitAssets
2 | ====================
3 |
4 | Privatized BitAssets serve those customers that would like to issue a market
5 | pegged asset but do not want the witnesses to publish the prices. Instead, when
6 | creating a *privatized* bitasset, the issuer can define a set of authorities that
7 | are allowed to publish the price for that particular asset. The issuer can
8 | further define all kinds of fees involving this asset and make a profit.
9 |
10 | This feature is of particular interest for exchanges and institutes that have
11 | access to real-time prices and would like to increase exposure and volume.
12 |
--------------------------------------------------------------------------------
/src/components/Notifier/NotifierContainer.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import AccountStore from 'stores/AccountStore';
3 | import AltContainer from 'alt-container';
4 | import Notifier from './Notifier';
5 |
6 | class NotifierContainer extends React.Component {
7 | render() {
8 | return (
9 | {
13 | return AccountStore.getState().currentAccount;
14 | }
15 | } }
16 | >
17 |
18 |
19 | );
20 | }
21 | }
22 |
23 | export default NotifierContainer;
24 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/modules/_footer.scss:
--------------------------------------------------------------------------------
1 | .openKeyboard {
2 | .footer {
3 | display: none;
4 | }
5 | }
6 |
7 | .footer {
8 | position: relative;
9 | z-index: 3;
10 | background: $footer-bg;
11 | height: 50px;
12 | margin-top: -50px;
13 |
14 | &:before {
15 | position: absolute;
16 | content: '';
17 | top: 0;
18 | left: 0;
19 | right: 0;
20 | height: 1px;
21 | display: block !important;
22 | background: $footer-bd-color;
23 | }
24 |
25 | @include clearfix;
26 |
27 | &__copy {
28 | float: right;
29 | line-height: 50px;
30 | color: $footer-color;
31 | font-size: 14px;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/components/Utility/intlData.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | formats: {
3 | 'date': {
4 | full: {
5 | second: 'numeric',
6 | minute: 'numeric',
7 | hour: 'numeric',
8 | day: 'numeric',
9 | month: 'long',
10 | year: 'numeric'
11 | },
12 | short: {
13 | second: 'numeric',
14 | minute: 'numeric',
15 | hour: 'numeric',
16 | day: 'numeric',
17 | month: 'numeric',
18 | year: 'numeric'
19 | },
20 | time: {
21 | second: 'numeric',
22 | minute: 'numeric',
23 | hour: 'numeric'
24 | }
25 | }
26 | }
27 | };
28 |
--------------------------------------------------------------------------------
/electron/tasks/start.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var Q = require('q');
4 | var electron = require('electron-prebuilt');
5 | var pathUtil = require('path');
6 | var childProcess = require('child_process');
7 | var kill = require('tree-kill');
8 | var utils = require('./utils');
9 | var watch;
10 |
11 | var gulpPath = pathUtil.resolve('./node_modules/.bin/gulp');
12 | if (process.platform === 'win32') {
13 | gulpPath += '.cmd';
14 | }
15 |
16 | var runApp = function () {
17 | var app = childProcess.spawn(electron, ['./build'], {
18 | stdio: 'inherit'
19 | });
20 |
21 | app.on('close', function (code) {
22 | });
23 | };
24 |
25 | runApp();
26 |
--------------------------------------------------------------------------------
/ios/Graphene.xcodeproj/xcuserdata/vz.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | Graphene.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | 13B07F861A680F5B00A75B9A
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/KeyGen.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import Router from 'react-router';
3 | import KeyGenComponent from './components/Wallet/KeyGenComponent';
4 |
5 | const {Route, DefaultRoute} = Router;
6 |
7 | require('./assets/loader');
8 |
9 | class KeyGen {
10 | render() {
11 | return ( );
12 | }
13 | }
14 |
15 | let routes = (
16 |
17 |
18 |
19 |
20 | );
21 |
22 | Router.run(routes, function (Handler) {
23 | React.render( , document.getElementById('content'));
24 | });
25 |
--------------------------------------------------------------------------------
/src/components/Icon/clock.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/workers/GenesisFilterWorker.js:
--------------------------------------------------------------------------------
1 |
2 | var GenesisFilter = require('chain/GenesisFilter');
3 |
4 | onmessage = function(event) {
5 | try {
6 | console.log('GenesisFilterWorker start');
7 | var {account_keys, bloom_filter} = event.data;
8 | var genesis_filter = new GenesisFilter( bloom_filter);
9 | genesis_filter.filter( account_keys, (status) => {
10 | if (status.success) {
11 | postMessage({account_keys, status});
12 | console.log('GenesisFilterWorker done');
13 | return;
14 | }
15 |
16 | postMessage({status});
17 | });
18 | } catch( e) {
19 | console.error('GenesisFilterWorker', e);
20 | }
21 | };
--------------------------------------------------------------------------------
/help/tr/assets/privbitassets.md:
--------------------------------------------------------------------------------
1 | Özelleştirilmiş BitAktifler (Privatized BitAssets)
2 | ====================
3 |
4 | Özelleştirilmiş BitAktifler piyasa-sabitli-aktif çıkarmak isteyen fakat
5 | fiyatların tanıklar tarafından duyurulmasını istemeyen müşterilere hitab eder. Onun
6 | yerine, süren kimse *özelleştirilmiş* bitaktif yaratırken o aktif için özel olarak
7 | fiyatlarını duyurmaya müsadesi olan bir takım yetkililer belirleyebilir. Süren kimse
8 | aktifle ilgili başka her türlü ücreti belirleyebilir ve kar elde edebilir.
9 |
10 | Bu özellik gerçek-zamanlı fiyatlara erişimi olan ve teşhir ve hacim arttırmak isteyen
11 | borsalar ve kuruluşlar için ayrıca ilgi çekicidir.
--------------------------------------------------------------------------------
/src/common/formPost.js:
--------------------------------------------------------------------------------
1 | module.exports =
2 | {
3 | SerializeToQuery:function(obj) {
4 | var str = [];
5 |
6 | for (var p in obj) {
7 | if (obj.hasOwnProperty(p)) {
8 | str.push(encodeURIComponent(p) + '=' + encodeURIComponent(obj[p]));
9 | }
10 | }
11 |
12 | return str.join('&');
13 | },
14 | PostForm:function(endPoint, jsonObject) {
15 | return fetch( endPoint,
16 | {
17 | method:'post',
18 | headers: new Headers( {
19 | 'Accept': 'application/json', 'Content-Type':'application/x-www-form-urlencoded'}
20 | ),
21 | body: this.SerializeToQuery(jsonObject)
22 | });
23 | }
24 | };
25 |
--------------------------------------------------------------------------------
/src/components/Explorer/BlockChain/TimeRelativeOnce.jsx:
--------------------------------------------------------------------------------
1 | import React, {Component} from 'react';
2 | import {FormattedRelative} from 'react-intl';
3 |
4 | class TimeRelativeOnce extends Component {
5 | componentWillReceiveProps(next_props) {
6 | if (next_props.time !== this.props.time) {
7 | return true;
8 | }
9 |
10 | return false;
11 | }
12 |
13 | shouldComponentUpdate(nextProps) {
14 | return nextProps.time !== this.props.time;
15 | }
16 |
17 | render() {
18 | return ( );
22 | }
23 | }
24 |
25 | export default TimeRelativeOnce;
--------------------------------------------------------------------------------
/src/reducers/ExploreFeeScheduleReducer.js:
--------------------------------------------------------------------------------
1 | import ActionTypes from '../constants/ActionTypes';
2 |
3 | /**
4 | * Explore Fee Schedule Reducer is used to controlling explore/blockchain/fee page
5 | * Initial State
6 | * @type {{feeGroups: null}}
7 | */
8 | let initialState = {
9 | feeGroups: null
10 | };
11 |
12 | export default function (state = initialState, action) {
13 | switch (action.type) {
14 | // blockchain/fee page: set fee groups
15 | case ActionTypes.EXPLORER_FEE_SCHEDULE_SET:
16 | return {
17 | feeGroups: action.payload
18 | };
19 | default:
20 | // We return the previous state in the default case
21 | return state;
22 | }
23 | }
--------------------------------------------------------------------------------
/help/cn/introduction/bitshares.md:
--------------------------------------------------------------------------------
1 | # BitShares (比特股)
2 |
3 | Graphene (石墨烯) 旨在实现一种*区块链技术*或*协议*。然而,与具体的区块链整合后,比如 BitShares (比特股),它逐渐进化为一种生态系统。
4 |
5 | BitShares 不断寻求拓展区块链应用技术创新,为所有通过互联网提供服务的行业提供基础支持。无论是银行、证券交易、博彩、投票、音乐、拍卖或其他很多行业,一个数字公共账簿使得分布式自治公司(简称DACs)的创建相对于传统的中心化的方式成本更低,从而带来更佳的服务质量。
6 |
7 | 分布式自治公司的出现引领了一种崭新的公司组织结构的变革,公司不再需要"人类"的管理,并在一系列不可腐化的业务规则下运行。
8 |
9 | 这些运营规则编码入公开可审计的开源软件系统中,分布运行于公司股东用户的电脑中,从而保证公司的运作不受独断控制。
10 |
11 | BitShares 为商业而生,如同 Bitcoin 为货币而生。两者皆采用分布式共识机制来创建与生俱来的具有全球性、透明性、可信赖的、更高效的系统,更重要的是能为企业带来更多利润。
12 |
13 | ## 钱包软件
14 |
15 | 通过在浏览器中运行本钱包软件,你可以使用 BitShares 网络提供的各种服务和功能,包括但不限于
16 | [比特资产](../assets/mpa.md),[用户发行资产](../assets/uia.md) 和
17 | [去中心化交易所](../dex/introduction.md).
18 |
--------------------------------------------------------------------------------
/help/en/components/Fees.md:
--------------------------------------------------------------------------------
1 | # Fees
2 |
3 | In the BitShares ecosystem every operation is assigned an *individual* fee.
4 | These fees are subject to change. However, they are defined solely by
5 | shareholder approval, thus each and every shareholder of the BitShares core
6 | asset (BTS) has a say as to what the fees should be. If shareholders can be
7 | convinced to reduce a certain fee and consensus is reached, the fee will be
8 | reduced automatically by the blockchain. Changes of blockchain parameters are
9 | proposed by members of the committee. These members are voted by shareholders
10 | and improve the flexibility and reaction rate.
11 |
12 | \*: These operations require Lifetime membership!
13 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/modules/_all.scss:
--------------------------------------------------------------------------------
1 | @import "_header";
2 | @import "_footer";
3 | @import "_form";
4 | @import "_btn";
5 | @import "_nav";
6 | @import "_aside";
7 | @import "_checkbox";
8 | @import "_dropdown";
9 | @import "_switch";
10 | @import "_modal";
11 | @import "_tooltipster";
12 | @import "_tooltip";
13 | @import "_table";
14 | @import "_error";
15 | @import "formstyler";
16 | @import "_loader";
17 | @import "_chart";
18 | @import "_section";
19 | @import "radio";
20 | @import "pagination";
21 | @import "lang";
22 |
23 | @import "react_tabs";
24 | @import "react_select";
25 | @import "react_datepicker";
26 | @import "react_customScroll";
27 | @import "react_tags";
28 |
29 | @import "_tab";
--------------------------------------------------------------------------------
/src/assets/styling/rules/function.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | 'function-calc-no-unspaced-operator': true,
3 | 'function-comma-newline-after': 'never-multi-line',
4 | 'function-comma-space-after': 'always',
5 | 'function-comma-space-before': 'never',
6 | // eslint-disable-next-line
7 | // https://stylelint.io/user-guide/rules/function-linear-gradient-no-nonstandard-direction/#function-linear-gradient-no-nonstandard-direction
8 | 'function-linear-gradient-no-nonstandard-direction': true,
9 | 'function-max-empty-lines': 0,
10 | 'function-parentheses-newline-inside': 'never-multi-line',
11 | 'function-parentheses-space-inside': 'never',
12 | 'function-whitespace-after': 'always'
13 | };
--------------------------------------------------------------------------------
/src/repositories/OrderRepository.js:
--------------------------------------------------------------------------------
1 | import {Apis} from 'peerplaysjs-ws';
2 |
3 | class OrderRepository {
4 | static fetchLimitOrders(baseAssetId, quoteAssetId, limit = 100) {
5 | return Apis.instance().db_api().exec('get_limit_orders', [
6 | baseAssetId, quoteAssetId, limit
7 | ]).catch(function (error) {
8 | console.log('OrderRepository', error);
9 | });
10 | }
11 |
12 | static fetchCallOrders(marketAssetId, limit = 100) {
13 | return Apis.instance().db_api().exec('get_call_orders', [
14 | marketAssetId, limit
15 | ]).catch(function (error) {
16 | console.log('OrderRepository', error);
17 | });
18 | }
19 | }
20 |
21 | export default OrderRepository;
--------------------------------------------------------------------------------
/src/workers/AesWorker.js:
--------------------------------------------------------------------------------
1 | require('babel/polyfill');
2 | var {Aes} = require('peerplaysjs-lib');
3 |
4 | onmessage = function(event) {
5 | try {
6 | console.log('AesWorker start');
7 | var {private_plainhex_array, iv, key} = event.data;
8 | var aes = new Aes(iv, key);
9 | var private_cipherhex_array = [];
10 |
11 | for (let private_plainhex of private_plainhex_array) {
12 | var private_cipherhex = aes.encryptHex( private_plainhex );
13 | private_cipherhex_array.push( private_cipherhex );
14 | }
15 |
16 | postMessage( private_cipherhex_array );
17 | console.log('AesWorker done');
18 | } catch( e ) {
19 | console.error('AesWorker', e);
20 | }
21 | };
22 |
--------------------------------------------------------------------------------
/help/cn/toc.md:
--------------------------------------------------------------------------------
1 | #### 目录
2 |
3 | * [介绍](index.md)
4 | * [词汇表](glossary.md)
5 | * [BitShares比特股](introduction/bitshares.md)
6 | * [钱包](introduction/wallets.md)
7 | * [备份](introduction/backups.md)
8 | * [区块链](introduction/blockchain.md)
9 | * [见证人](introduction/witness.md)
10 | * [预算项目](introduction/witness.md)
11 | * [理事会成员](introduction/committee.md)
12 | * [账户](accounts/general.md)
13 | * [权限](accounts/permissions.md)
14 | * [会员等级](accounts/membership.md)
15 | * [市场锚定资产](assets/mpa.md) (BitUSD, BitEUR, BitGOLD, Bit\*,...)
16 | * [用户发行资产](assets/uia.md)
17 | * [私有比特资产](assets/privbitassets.md)
18 | * [去中心化交易所](dex/introduction.md)
19 | * [交易](dex/trading.md)
20 | * [卖空比特资产](dex/shorting.md)
21 |
--------------------------------------------------------------------------------
/src/services/KeyGeneratorService.js:
--------------------------------------------------------------------------------
1 | import {key,PrivateKey} from 'peerplaysjs-lib';
2 |
3 | class KeyGeneratorService {
4 | /**
5 | * Generate keys role=("owner"|"active"|"memo") from (password + accountName + role)
6 | *
7 | * @param accountName String
8 | * @param password String
9 | * @param roles Array
10 | * @returns Object of roles
11 | */
12 | static generateKeys(accountName, password, roles = ['owner', 'active', 'memo']) {
13 | let keys = {};
14 |
15 | roles.forEach((role) => {
16 | keys[role] = PrivateKey.fromSeed(key.normalize_brainKey(password + accountName + role));
17 | });
18 |
19 | return keys;
20 | }
21 | }
22 |
23 | export default KeyGeneratorService;
--------------------------------------------------------------------------------
/src/reducers/ReferralsPageReducer.js:
--------------------------------------------------------------------------------
1 | import ActionTypes from '../constants/ActionTypes';
2 |
3 | /**
4 | * Referrals Reducer is used to controlling a Referral Page
5 | *
6 | * Initial State
7 | *
8 | * account - Controlled account
9 | *
10 | * @type {{account: null}}
11 | */
12 | let defaultState = {
13 | account: null
14 | };
15 |
16 | export default function (state = defaultState, action) {
17 | switch (action.type) {
18 | // Set controlled account
19 | case ActionTypes.REFERRALS_SET:
20 | return Object.assign({}, state, {
21 | account: action.payload.account
22 | });
23 | default:
24 | // We return the previous state in the default case
25 | return state;
26 | }
27 | }
--------------------------------------------------------------------------------
/docs/index.rst:
--------------------------------------------------------------------------------
1 | Graphene UI documentation
2 | ========================================
3 |
4 | Graphene UI is the open-source front-end for `Cryptonomex Graphene `_. A live hosted wallet running a custom themed version of Graphene UI for Bitshares can be found at ``_
5 |
6 |
7 | Contents:
8 |
9 | .. toctree::
10 | :maxdepth: 2
11 | :caption: The basics
12 |
13 | getting_started
14 |
15 | .. toctree::
16 | :maxdepth: 2
17 | :caption: Project structure
18 |
19 | structure
20 | data_layer
21 | components
22 |
23 | .. toctree::
24 | :maxdepth: 2
25 | :caption: General info
26 |
27 | contributing
28 | license
29 | help
30 |
--------------------------------------------------------------------------------
/src/reducers/HelpReducer.js:
--------------------------------------------------------------------------------
1 | import ActionTypes from '../constants/ActionTypes';
2 |
3 | /**
4 | *
5 | * Help Reducer is used to controlling a Help popup
6 | *
7 | * Initial State
8 | *
9 | * showHelpModal - Show/hide popup
10 | * @type {{showHelpModal: boolean}}
11 | */
12 | const initialState = {
13 | showHelpModal: false
14 | };
15 |
16 | export default (state = initialState, action) => {
17 | switch (action.type) {
18 | // Toggle Help popup
19 | case ActionTypes.TOGGLE_HELP_POPUP:
20 | return {
21 | ...state,
22 | showHelpModal: action.payload.showHelpModal
23 | };
24 | default:
25 | // We return the previous state in the default case
26 | return state;
27 | }
28 | };
--------------------------------------------------------------------------------
/src/reducers/NotificationsReducer.js:
--------------------------------------------------------------------------------
1 | import ActionTypes from '../constants/ActionTypes';
2 | import Immutable from 'immutable';
3 |
4 | /**
5 | * Notifications Reducer is used to saving notification
6 | * Initial state
7 | * messages - List of notices
8 | *
9 | * @type {{messages: (Immutable.List|*|Immutable.List)}}
10 | */
11 | let defaultState = {
12 | messages: Immutable.List()
13 | };
14 |
15 | export default (state = defaultState, action) => {
16 | switch (action.type) {
17 | // Set List of notices
18 | case ActionTypes.NOTIFICATIONS_SET_MESSAGES:
19 | return {
20 | ...state,
21 | messages: action.payload.messages
22 | };
23 | default:
24 | return state;
25 | }
26 | };
--------------------------------------------------------------------------------
/help/tr/components/Fees.md:
--------------------------------------------------------------------------------
1 | # Ücretler
2 |
3 | BitShares ekosistemi içerisinde her işleme tahsis edilmiş *bireysel* bir ücret vardır.
4 | Bu ücretler değişime tabidirler. Bununla birlikte, bunlar sadece hissedarların oylarıyla
5 | belirlenirler, böylece BitShares'in esas varlığı olan BTS hissedarlarının her biri
6 | ücretlerin ne olacağı konusunda söz sahibi olur. Eğer hissedarlar belli bir ücretin
7 | düşürülmesi konusunda fikir birliği sağlarlarsa o ücret blok zinciri tarafından otomatik
8 | olarak düşürülür. Blok zinciri parametrelerinin düzenlemesiyle ilgili teklifler kurul
9 | üyeleri tarafından yapılırlar. Bu üyeler hissedarlar tarafından oy kullanılarak seçilirler
10 | ve herhangi bir durumda, esneklik ve reaksiyon kabiliyetini arttırırlar.
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/components/_wallet.scss:
--------------------------------------------------------------------------------
1 | .modal-header {
2 | padding: 1rem;
3 | text-align: center;
4 | }
5 |
6 | .modal-content {
7 | padding: 1rem;
8 | }
9 |
10 | .modal-footer {
11 | text-align: right;
12 | }
13 |
14 | .text-group {
15 | width: 100%;
16 | display: table;
17 | padding: 0.5em;
18 |
19 | div {
20 | display: table-cell;
21 | vertical-align: middle;
22 | }
23 |
24 | div:nth-child(1) {
25 | min-width: 3rem;
26 | }
27 |
28 | div:nth-child(2) {
29 | text-align: right;
30 | padding-left: 0.5rem;
31 | }
32 | }
33 |
34 | .text-group .left-menu {
35 | padding-bottom: 1em;
36 | }
37 |
38 | @include breakpoint(medium) {
39 | .left-menu {
40 | padding-top: 5em;
41 | }
42 | }
--------------------------------------------------------------------------------
/help/en/introduction/witness.md:
--------------------------------------------------------------------------------
1 | # Witness
2 |
3 | Witnesses are entities that work for the blockchain by constructing new blocks.
4 | Each witness is approved by the shareholders and constructs and signs blocks
5 | from validated transactions. Every transaction made in the network is required
6 | to be validated by all witnesses eventually.
7 |
8 | ## Consensus Mechanism
9 |
10 | Who exactly is allows to *produce* a block at which time instant is defined by a
11 | consensus mechanism called *Delegated Proof of Stake*. In essence, the
12 | shareholders of BitShares (holders of the BTS token) can cast a vote for their
13 | preferred block producers on the blockchain. Those so called *witnesses* with
14 | the most votes are allowed to produce blocks.
15 |
--------------------------------------------------------------------------------
/src/reducers/SoftwareUpdateReducer.js:
--------------------------------------------------------------------------------
1 | import ActionTypes from '../constants/ActionTypes';
2 |
3 | /**
4 | * Software Update Reducer is used to monitoring updates
5 | *
6 | * Initial State
7 | * account - user controlled account
8 | * @type {{account: null}}
9 | */
10 | let defaultState = {
11 | // Controlled account
12 | account: null
13 | };
14 |
15 | export default (state = defaultState, action) => {
16 | switch (action.type) {
17 | // Update controlled account
18 | case ActionTypes.SOFTWARE_UPDATE_SET_ACCOUNT_DATA:
19 | return {
20 | ...state,
21 | account: action.payload.account
22 | };
23 | default:
24 | // We return the previous state in the default case
25 | return state;
26 | }
27 | };
--------------------------------------------------------------------------------
/docs/_build/html/_sources/index.txt:
--------------------------------------------------------------------------------
1 | Graphene UI documentation
2 | ========================================
3 |
4 | Graphene UI is the open-source front-end for `Cryptonomex Graphene `_. A live hosted wallet running a custom themed version of Graphene UI for Bitshares can be found at ``_
5 |
6 |
7 | Contents:
8 |
9 | .. toctree::
10 | :maxdepth: 2
11 | :caption: The basics
12 |
13 | getting_started
14 |
15 | .. toctree::
16 | :maxdepth: 2
17 | :caption: Project structure
18 |
19 | structure
20 | data_layer
21 | components
22 |
23 | .. toctree::
24 | :maxdepth: 2
25 | :caption: General info
26 |
27 | contributing
28 | license
29 | help
30 |
--------------------------------------------------------------------------------
/help/cn/accounts/membership.md:
--------------------------------------------------------------------------------
1 | # 会员级别
2 |
3 | BitShares 系统中,用户账户分为3个种类。我们运行用户升级账户到类似VIP的会员级别,享受费率折扣以及其他专属特性。
4 |
5 | ## 非会员(普通账户)
6 |
7 | 一个*非会员账户*,也就是一个*普通账户*
8 |
9 | ## 终身会员
10 |
11 | 终身会员账户可以从自己支付的各种手续费中获得一定比例的返现奖励,并有资格加入引荐计划,通过引荐或注册用户获得引荐奖励。升级到终身会员要求支付一笔一次性的升级费用,具体金额由理事会成员通过投票设定和调整。
12 |
13 | ## 年度会员
14 |
15 | 如果你暂时不想成为终身会员,那么你还可以选择升级到年度会员,也可获得一定比例的手续费返现。升级到年度会员,每年需要花费较少数量的会员费用。
16 |
17 | ### 手续费分配
18 |
19 | 每次你推荐的用户支付手续费时,该手续费将分配给多个不同账户。网络、推荐人都将获得一部分分成。
20 |
21 | 注册人是账户注册时代其支付注册费的账户。注册人账户可自行决定剩余的手续费如何在它自己及它的市场合作方之间分配。
22 |
23 | #### 待结费用
24 | 手续费每个维护周期在网络、推荐人和注册人之间结算一次。尚未结算的手续费称为*待结费用*。
25 |
26 | #### 待解冻金额
27 |
28 | 大部分获取手续费的利益账户可立即使用资金,但金额超过一定数量的费用(比如支付升级终身会员的手续费、注册高级账户名的手续费等)则需要暂时冻结,并在一段时间内线性解冻释放。
29 |
30 |
--------------------------------------------------------------------------------
/help/tr/introduction/witness.md:
--------------------------------------------------------------------------------
1 | # Tanık
2 |
3 | Tanıklar yeni bloklar inşa etmek suretiyle blokzincirine çalışan kimselerdir.
4 | Her tanık, hissedarlar tarafından onaylanır ve tasdikli işlemlerden bloklar inşaa eder
5 | ve imzalar. Ağın içinde gerçekleşen her işlem en sonunda tüm tanıklar tarafından
6 | tasdik edilmek zorundadır.
7 |
8 | ## Mutabakat Mekanizması
9 |
10 | Kimin tam olarak hangi anda blok *ürettiği* , *Delegated Proof of Stake*
11 | (Yetkilendirilmiş-vekil-pay-ispatı) denilen mutabakat mekanizmasıyla belirlenir.
12 | Esasında, BitShares hissedarları (elinde BTS kuponu olan) tercih edilen blok
13 | üreticilerine blokzincirinde oy verebilirler. O *tanıklar* adı verilen, en çok oyu alan
14 | kimselerin blokları üretmelerine müsade edilir.
--------------------------------------------------------------------------------
/src/components/Icon/trash.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/components/Icon/menu.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/stores/NotificationStore.js:
--------------------------------------------------------------------------------
1 | //TODO:: rm file
2 | import alt from 'alt-instance';
3 | import NotificationActions from 'actions/NotificationActions';
4 |
5 | class NotificationStore {
6 | constructor() {
7 | this.bindListeners({
8 | addNotification: [
9 | NotificationActions.addNotification,
10 | NotificationActions.success,
11 | NotificationActions.warning,
12 | NotificationActions.error,
13 | NotificationActions.info
14 | ]
15 | });
16 |
17 | this.state = {
18 | notification: null
19 | };
20 | }
21 |
22 | addNotification(notification) {
23 | this.setState({notification: notification});
24 | }
25 | }
26 |
27 | export default alt.createStore(NotificationStore, 'NotificationStore');
28 |
--------------------------------------------------------------------------------
/src/reducers/PrivateKeyReducer.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by shumer on 10/5/16.
3 | */
4 | import Immutable from 'immutable';
5 | import ActionTypes from '../constants/ActionTypes';
6 |
7 | /**
8 | * Private Key Reducer is used to controlling Private keys
9 | * Initial State
10 | * keys - Private keys
11 | * @type {{keys: (*)}}
12 | */
13 | const initialState = {
14 | keys: Immutable.Map()
15 | };
16 |
17 | export default (state = initialState, action) => {
18 | switch (action.type) {
19 | // Set new Private Keys
20 | case ActionTypes.PRIVATE_KEY_SET:
21 | return Object.assign({}, state, {
22 | keys: action.payload.keys
23 | });
24 | default:
25 | // We return the previous state in the default case
26 | return state;
27 | }
28 | };
--------------------------------------------------------------------------------
/src/__tests__/__tests__/wallets/bts0-9_key-export-fjfjfjfj1.json:
--------------------------------------------------------------------------------
1 | {
2 | "password_checksum": "bae28fc07bbcbc3f629de4879cd1f75fbfc660efb68ded09c191d9d85fe2890eb8905ec11090d5f8e6992fd6b5ec6c695e05a7c76780dd8478072c6831347679",
3 | "account_keys": [{
4 | "account_name": "",
5 | "encrypted_private_keys": [
6 | "1107133cab12c1a0cdee2e3b5154b57b9d3c8538f67d6678a0fc3b8c8163fe61074281dbcf5b79cb9af2840d14e32ef1"
7 | ]
8 | },{
9 | "account_name": "test12345",
10 | "encrypted_private_keys": [
11 | "2a334a2034c6b50df743767a1ce5e3361246f1f5edd743f6b4f66af1e18e49643a25c3e042d58654101d56a25fcd1ab6",
12 | "b7fab8babebf3c18027fa498460c7a64b3d3abe211b1f6440b8b5483a6c0271b08f78ff652bb6cec512b096454de97d2"
13 | ]
14 | }
15 | ]
16 | }
--------------------------------------------------------------------------------
/ios/iOS/Images.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "40x40",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "60x60",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "3x"
32 | }
33 | ],
34 | "info" : {
35 | "version" : 1,
36 | "author" : "xcode"
37 | }
38 | }
--------------------------------------------------------------------------------
/src/helpers/ColorHelper.js:
--------------------------------------------------------------------------------
1 | class ColorHelper {
2 | static getExplorerTimeColor(delta) {
3 | let color;
4 |
5 | if (delta <= 5) {
6 | color = '#50D2C2';
7 | } else if (delta <= 10) {
8 | color = '#A0D3E8';
9 | } else if (delta <= 20) {
10 | color = '#FCAB53';
11 | } else {
12 | color = '#deb869';
13 | }
14 |
15 | return color;
16 | }
17 |
18 | static getExplorerTransactionColor(delta) {
19 | let color;
20 |
21 | if (delta <= 5) {
22 | color = '#50D2C2';
23 | } else if (delta <= 10) {
24 | color = '#A0D3E8';
25 | } else if (delta <= 20) {
26 | color = '#FCAB53';
27 | } else {
28 | color = '#deb869';
29 | }
30 |
31 | return color;
32 | }
33 | }
34 |
35 |
36 |
37 | export default ColorHelper;
--------------------------------------------------------------------------------
/help/es/toc.md:
--------------------------------------------------------------------------------
1 | #### Indice
2 |
3 | * [Introducción](index.md)
4 | * [Glosario](glossary.md)
5 | * [BitShares](introduction/bitshares.md)
6 | * [Billetera](introduction/wallets.md)
7 | * [Backups](introduction/backups.md)
8 | * [Blockchain](introduction/blockchain.md)
9 | * [Testigos](introduction/witness.md)
10 | * [Miembros del Comité](introduction/committee.md)
11 | * [Cuentas](accounts/general.md)
12 | * [Permisos](accounts/permissions.md)
13 | * [Membresías](accounts/membership.md)
14 | * [Market Pegged Assets](assets/mpa.md) (BitUSD, BitEUR, BitGOLD, Bit\*,...)
15 | * [Activos Emitidos por Usuarios](assets/uia.md)
16 | * [BitAssets Privados](assets/privbitassets.md)
17 | * [Exchange Descentralizado](dex/introduction.md)
18 | * [Trading](dex/trading.md)
19 | * [Short Selling BitAssets](dex/shorting.md)
--------------------------------------------------------------------------------
/src/components/Icon/checkmark.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/actions/MemoActions.js:
--------------------------------------------------------------------------------
1 | import ActionTypes from '../constants/ActionTypes';
2 |
3 | class MemoPrivateActions {
4 | static setViewModalStatus(isOpen, memo) {
5 | return {
6 | type: ActionTypes.MEMO_SET_VIEW_STATUS,
7 | isOpen,
8 | memo
9 | };
10 | }
11 |
12 | static resetViewModalStatus() {
13 | return {
14 | type: ActionTypes.MEMO_RESET_VIEW_MODAL
15 | };
16 | }
17 | }
18 |
19 | class MemoActions {
20 | static setViewModalStatus(isOpen, memo) {
21 | return (dispatch) => {
22 | dispatch(MemoPrivateActions.setViewModalStatus(isOpen, memo));
23 | };
24 | }
25 |
26 | static resetViewModalStatus() {
27 | return (dispatch) => {
28 | dispatch(MemoPrivateActions.resetViewModalStatus());
29 | };
30 | }
31 | }
32 |
33 | export default MemoActions;
--------------------------------------------------------------------------------
/src/assets/stylesheets/components/_descr.scss:
--------------------------------------------------------------------------------
1 | .dialog-descr{
2 | padding: 0 120px 60px;
3 | margin: 100px auto;
4 | .h1 {
5 | font-weight: 900;
6 | font-size: 36px;
7 | text-transform: none;
8 | padding-bottom: 31px;
9 | }
10 | .text{
11 | font-weight: 600;
12 | font-size: 13px;
13 | line-height: 1.5;
14 | color: #000;
15 | margin-bottom: 10px;
16 | }
17 | .btn-sbm{
18 | min-width: 175px;
19 | }
20 | }
21 | .descr{
22 | &__list{
23 | float: left;
24 | width: 50%;
25 | &Wrap{
26 | overflow: hidden;
27 | margin: 42px 0 35px;
28 | }
29 | }
30 | &__li{
31 | display: block;
32 | margin-bottom: 14px;
33 | }
34 | &__item{
35 | display: inline-block;
36 | color: #1819d2;
37 | font-size: 16px;
38 | font-weight: 600;
39 |
40 | &:hover{text-decoration: underline;}
41 | }
42 | }
--------------------------------------------------------------------------------
/src/assets/stylesheets/modules/_lang.scss:
--------------------------------------------------------------------------------
1 | .lang {
2 | &__wrap {
3 | position: absolute;
4 | top: 40px;
5 | right: 50px;
6 | }
7 |
8 | &__list {}
9 |
10 | &__item {
11 | display: inline-block;
12 | vertical-align: top;
13 | margin-left: 15px;
14 | opacity: .4;
15 | @include transition();
16 |
17 | &:hover {
18 | opacity: .8;
19 | }
20 |
21 | &.us {
22 | .lang__link {}
23 | }
24 |
25 | &.cn {
26 | .lang__link {
27 | background-position: 0 -20px;
28 | }
29 | }
30 |
31 | &.active {
32 | opacity: 1 !important;
33 | }
34 | }
35 |
36 | &__link {
37 | display: block;
38 | width: 30px;
39 | height: 20px;
40 |
41 | img {
42 | vertical-align: middle;
43 | display: block;
44 | }
45 | }
46 | }
--------------------------------------------------------------------------------
/src/components/Icon/search.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/components/Icon/cog.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/actions/HelpActions.js:
--------------------------------------------------------------------------------
1 | import ActionTypes from '../constants/ActionTypes';
2 |
3 | class HelpPrivateActions {
4 | /**
5 | * Private Action Creator (TOGGLE_HELP_POPUP)
6 | *
7 | * @param isShow
8 | * @returns {{type, payload: {showHelpModal: boolean}}}
9 | */
10 | static toggleModalAction(isShow) {
11 | return {
12 | type: ActionTypes.TOGGLE_HELP_POPUP,
13 | payload: {
14 | showHelpModal: isShow
15 | }
16 | };
17 | }
18 | }
19 |
20 | class HelpActions {
21 | /**
22 | * Toggle Help popup
23 | *
24 | * @param {boolean} showHelpModal
25 | * @returns {function(*=, *)}
26 | */
27 | static toggleHelpModal(showHelpModal) {
28 | return (dispatch) => {
29 | dispatch(HelpPrivateActions.toggleModalAction(showHelpModal));
30 | };
31 | }
32 | }
33 |
34 | export default HelpActions;
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/components/_pagination.scss:
--------------------------------------------------------------------------------
1 | .pagination {
2 | display: inline-block;
3 | padding: 1rem;
4 | margin: 20px 0;
5 |
6 | }
7 |
8 |
9 | .pagination>li {
10 | padding: 1rem;
11 | display: inline;
12 | border: 0px solid #ddd;
13 | -webkit-touch-callout: none;
14 | -webkit-user-select: none;
15 | -khtml-user-select: none;
16 | -moz-user-select: none;
17 | -ms-user-select: none;
18 | user-select: none;
19 |
20 | &:first-child {
21 | margin-left: 0.2rem;
22 | cursor: pointer;
23 | }
24 |
25 | &:nth-child(2) {
26 | margin-right: 0;
27 | }
28 |
29 | &:last-child {
30 | margin-right: 0.2rem;
31 | margin-left: 0;
32 | cursor: pointer;
33 | }
34 |
35 | >input {
36 | display: inline;
37 | width: 4rem;
38 | margin: 0 0rem 0 0rem;
39 | border: none;
40 | }
41 | }
--------------------------------------------------------------------------------
/src/reducers/AccountVestingPageReducer.js:
--------------------------------------------------------------------------------
1 | import ActionTypes from '../constants/ActionTypes';
2 |
3 | /**
4 | * Account Vesting Reducer is used to saving account vesting balances
5 | *
6 | * List of vesting balances
7 | * @type {{balances: Array}}
8 | */
9 | let defaultState = {
10 | balances: []
11 | };
12 |
13 | export default function (state = defaultState, action) {
14 | switch (action.type) {
15 | // Set account vesting list
16 | case ActionTypes.SET_ACCOUNT_VESTING_DATA:
17 | return Object.assign({}, state, {
18 | balances: action.payload.balances
19 | });
20 | // Reset page
21 | case ActionTypes.RESET_ACCOUNT_VESTING_DATA:
22 | return Object.assign({}, state, defaultState);
23 | default:
24 | // We return the previous state in the default case
25 | return state;
26 | }
27 | }
--------------------------------------------------------------------------------
/electron/resources/osx/helper_apps/Info EH.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDisplayName
6 | {{productName}} Helper EH
7 | CFBundleExecutable
8 | {{productName}} Helper EH
9 | CFBundleIdentifier
10 | {{identifier}}.helper.EH
11 | CFBundleName
12 | {{productName}} Helper EH
13 | CFBundlePackageType
14 | APPL
15 | DTSDKName
16 | macosx
17 | LSUIElement
18 |
19 | NSSupportsAutomaticGraphicsSwitching
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/electron/resources/osx/helper_apps/Info NP.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDisplayName
6 | {{productName}} Helper NP
7 | CFBundleExecutable
8 | {{productName}} Helper NP
9 | CFBundleIdentifier
10 | {{identifier}}.helper.NP
11 | CFBundleName
12 | {{productName}} Helper NP
13 | CFBundlePackageType
14 | APPL
15 | DTSDKName
16 | macosx
17 | LSUIElement
18 |
19 | NSSupportsAutomaticGraphicsSwitching
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/help/en/toc.md:
--------------------------------------------------------------------------------
1 | #### Table of Contents
2 |
3 | * [Introduction](index.md)
4 | * [Glossary](glossary.md)
5 | * [BitShares](introduction/bitshares.md)
6 | * [Wallet](introduction/wallets.md)
7 | * [Backups](introduction/backups.md)
8 | * [Blockchain](introduction/blockchain.md)
9 | * [Witness](introduction/witness.md)
10 | * [Workers](introduction/workers.md)
11 | * [Committe Member](introduction/committee.md)
12 | * [Accounts](accounts/general.md)
13 | * [Permissions](accounts/permissions.md)
14 | * [Memberships](accounts/membership.md)
15 | * [Market Pegged Assets](assets/mpa.md) (BitUSD, BitEUR, BitGOLD, Bit\*,...)
16 | * [User Issued Assets](assets/uia.md)
17 | * [Privatized BitAssets](assets/privbitassets.md)
18 | * [Decentralized Exchange](dex/introduction.md)
19 | * [Trading](dex/trading.md)
20 | * [Short Selling BitAssets](dex/shorting.md)
21 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/modules/_tooltip.scss:
--------------------------------------------------------------------------------
1 | .tooltip__wrap {
2 | position: relative;
3 | display: inline-block;
4 | vertical-align: top;
5 | margin-left: 8px;
6 | }
7 |
8 | .tooltip__trigger {
9 | display: block;
10 | min-width: 16px;
11 | min-height: 16px;
12 | font-size: 16px;
13 | color: $color-second;
14 | cursor: pointer;
15 | }
16 |
17 | .tooltip__menu {
18 | position: absolute;
19 | top: -10px;
20 | left: -10px;
21 | padding: 20px 35px;
22 | font-size: 12px;
23 | line-height: 1.25;
24 | z-index: 100;
25 | color: #fff;
26 | border-color: $color-second;
27 | background: rgba($color-second, .9);
28 | border-radius: 10px;
29 | width: 400px;
30 |
31 | &-posRight {}
32 |
33 | &Icon {
34 | position: absolute;
35 | top: 10px;
36 | left: 10px;
37 | font-size: 16px;
38 | color: #ffffff;
39 | }
40 | }
--------------------------------------------------------------------------------
/src/components/Utility/Prototypes.js:
--------------------------------------------------------------------------------
1 | // eslint-disable-next-line no-extend-native
2 | Array.prototype.equals = function (array) {
3 | // if the other array is a falsy value, return
4 | if (!array) {
5 | return false;
6 | }
7 |
8 | // compare lengths - can save a lot of time
9 | if (this.length !== array.length) {
10 | return false;
11 | }
12 |
13 | for (var i = 0, l = this.length; i < l; i++) {
14 | // Check if we have nested arrays
15 | if (this[i] instanceof Array && array[i] instanceof Array) {
16 | // recurse into the nested arrays
17 | if (!this[i].equals(array[i])) {
18 | return false;
19 | }
20 | } else if (this[i] !== array[i]) {
21 | // Warning - two different object instances will never be equal: {x:20} != {x:20}
22 | return false;
23 | }
24 | }
25 |
26 | return true;
27 | };
28 |
--------------------------------------------------------------------------------
/electron/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "devDependencies": {
3 | "asar": "^0.11.0",
4 | "electron-prebuilt": "1.4.13",
5 | "fs-jetpack": "^0.9.2",
6 | "gulp": "^3.9.0",
7 | "gulp-less": "^3.0.3",
8 | "gulp-util": "^3.0.6",
9 | "q": "^1.4.1",
10 | "rollup": "^0.16.1",
11 | "tree-kill": "^0.1.1",
12 | "yargs": "^3.15.0"
13 | },
14 | "optionalDependencies": {
15 | "appdmg": "^0.3.2",
16 | "rcedit": "^0.3.0"
17 | },
18 | "scripts": {
19 | "release": "./node_modules/.bin/gulp release --env=production",
20 | "release-windows": "./node_modules/.bin/gulp release-windows --env=production",
21 | "release-linux": "./node_modules/.bin/gulp release-linux --env=production",
22 | "start": "node ./tasks/start"
23 | },
24 | "dependencies": {
25 | "electron-context-menu": "^0.9.1",
26 | "remote": "^0.2.6"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/help/tr/toc.md:
--------------------------------------------------------------------------------
1 | #### İçindekiler
2 |
3 | * [ Giriş ](index.md)
4 | * [Terimler Listesi](glossary.md)
5 | * [BitShares](introduction/bitshares.md)
6 | * [Cüzdan](introduction/wallets.md)
7 | * [Yedeklemeler](introduction/backups.md)
8 | * [Blokzinciri](introduction/blockchain.md)
9 | * [Tanık](introduction/witness.md)
10 | * [İşçiler](introduction/workers.md)
11 | * [Kurul Üyesi](introduction/committee.md)
12 | * [Hesaplar](accounts/general.md)
13 | * [İzinler](accounts/permissions.md)
14 | * [Üyelikler](accounts/membership.md)
15 | * [Piyasaya Sabitli Aktifler](assets/mpa.md) (BitUSD, BitEUR, BitGOLD, Bit\*,...)
16 | * [Kullanıcı Aktifler](assets/uia.md)
17 | * [Özelleştirilmiş BitAktifler](assets/privbitassets.md)
18 | * [Merkezsiz/dağıtık Borsa](dex/introduction.md)
19 | * [Alış-Satış/Trade](dex/trading.md)
20 | * [BitAktiflerin Kısa Satışları](dex/shorting.md)
--------------------------------------------------------------------------------
/src/components/Icon/icon.scss:
--------------------------------------------------------------------------------
1 | .icon {
2 | position: relative;
3 | top: 1px;
4 | }
5 |
6 |
7 |
8 | .icon > svg, span.icon {
9 | width: 1.12rem;
10 | height: 1.12rem;
11 | }
12 |
13 | .icon-14px > svg, span.icon-14px {
14 | width: 14px;
15 | height: 14px;
16 | }
17 |
18 | .icon-2x > svg, span.icon-2x {
19 | width: 2.30rem;
20 | height: 2.30rem;
21 | }
22 |
23 | .icon-3x > svg, span.icon-3x {
24 | width: 3.45rem;
25 | height: 3.45rem;
26 | }
27 |
28 | .icon-4x > svg, span.icon-4x {
29 | width: 4.60rem;
30 | height: 4.60rem;
31 | }
32 |
33 | .icon-5x > svg, span.icon-5x {
34 | width: 5.75rem;
35 | height: 5.75rem;
36 | margin: 24px 0 24px 0;
37 | }
38 |
39 | .icon-10x > svg, span.icon-10x {
40 | width: 10rem;
41 | height: 10rem;
42 | margin: 24px 0 24px 0;
43 | }
44 |
45 | .icon.fill-black > svg > path {
46 | fill:black;
47 | }
48 |
--------------------------------------------------------------------------------
/help/cn/dex/trading.md:
--------------------------------------------------------------------------------
1 | # 交易
2 |
3 | 文本将介绍在BitShares DEX去中心化交易所系统中使用的一些术语,以及交易对的呈现方式。
4 |
5 | ## 交易对
6 |
7 | 在BitShares系统中,任何资产之间都可相互交易。我们选取任意2种资产,它们就形成了*市场交易对*。比如,我们可以使用美元USD与欧元EUR在USD:EUR交易对市场中进行交易。
8 |
9 | 为了与外汇交易习惯统一,交易对中的资产标准化为 *基础资产* 和 *报价资产*,表现形式如下:
10 |
11 | *报价资产* : *基础资产*
12 |
13 | 比如*基础资产*为USD和*报价资产*为EUR的交易对表现为EUR:USD。
14 |
15 | ## 买卖盘
16 |
17 | 买卖盘由*买盘*和*卖盘*构成。由于交易对并无固定的顺序,所以可以进行反转,下表展示了买盘和卖盘对应的资产买、卖操作:
18 |
19 | | 方向 | 卖 | 买 |
20 | | -------- | --------- | --------- |
21 | | 买 | *报价资产* | *基础资产* |
22 | | 卖 | *基础资产* | *报价资产* |
23 | | -------- | --------- | --------- |
24 |
25 | 显然在 USD:EUR 交易对的买方即为 EUR:USD 交易对的卖方。价格在系统内部自动转换,在交易对反转时也能正确转换。
26 |
27 | ## 交易
28 |
29 | 下单时,需要填写*买单*或*卖单*表单(对应希望的*买入*或*卖出*)。你需要填写打算买入或卖出的*价格*和*数量*。订单总额将自动计算。下单时可能需要支付额外的手续费。
30 |
31 | 一旦订单被撮合(比如你的订单被其他人接受),你的账户将存入相应的资产。
32 |
33 | 未撮合订单可随时取消。
34 |
--------------------------------------------------------------------------------
/src/repositories/BalanceRepository.js:
--------------------------------------------------------------------------------
1 | import {Apis} from 'peerplaysjs-ws';
2 |
3 | class BalanceRepository {
4 | static getAccountBalances(accountId, asset_types = ['1.3.0']) {
5 | return Apis.instance().db_api().exec('get_account_balances', [accountId, asset_types])
6 | .then((results) => results);
7 | }
8 |
9 | static getBalanceObjects(addresses) {
10 | return Apis.instance().db_api().exec('get_balance_objects', [addresses]);
11 | }
12 |
13 | static getVestedBalances(balance_ids) {
14 | return Apis.instance().db_api().exec('get_vested_balances', [balance_ids]);
15 | }
16 |
17 | static getVestingBalances(accountId) {
18 | return Apis.instance().db_api().exec('get_vesting_balances', [
19 | accountId
20 | ]).catch((err) => {
21 | console.log('error:', err);
22 | });
23 | }
24 | }
25 |
26 | export default BalanceRepository;
27 |
--------------------------------------------------------------------------------
/src/components/Help.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | // import {pairs} from 'lodash';
3 | // TODO: Finish this and ensure if modal has overflow, the user can scroll.
4 |
5 | class Help extends React.Component {
6 |
7 | render() {
8 | // let path = pairs(this.props.params).map((p) => p[1]).join('/');
9 | return (
10 |
22 | );
23 | }
24 | }
25 |
26 | export default Help;
27 |
--------------------------------------------------------------------------------
/help/en/assets/uia.md:
--------------------------------------------------------------------------------
1 | # User Issued Assets
2 |
3 | In addition to the aforementioned *market pegged* assets, BitShares allows
4 | individuals and companies to create and issue their own tokens for anything
5 | they can imagine. The potential use cases for so called user-issued assets
6 | (UIA) are innumerable. On the one hand, UIAs can be used as simple event
7 | tickets deposited on the customers mobile phone to pass the entrance of a
8 | concert. On the other hand, they can be used for crowd funding, ownership
9 | tracking or even to sell equity of a company in form of stock.
10 |
11 | Obviously, the regulations that apply to each kind of token vary widely and are
12 | often different in every jurisdiction. Hence, BitShares comes with tools that
13 | allow issuers to remain compliant with all applicable regulations when issuing
14 | assets assuming regulators allow such assets in the first place.
15 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/modules/_pagination.scss:
--------------------------------------------------------------------------------
1 | .pagination {
2 | margin: 20px 0;
3 | text-align: center;
4 |
5 | &__list {
6 | display: inline-block;
7 | }
8 |
9 | &__li {
10 | display: inline-block;
11 | vertical-align: top;
12 | }
13 |
14 | &__item {
15 | display: block;
16 | height: 30px;
17 | line-height: 30px;
18 | padding: 0 7px;
19 | font-size: 14px;
20 | color: rgba(255, 255, 255, .5);
21 | @include border-radius(4px);
22 | @include transition();
23 |
24 | &.active {
25 | color: #fff;
26 | background: #1c2254;
27 | }
28 |
29 | &:hover {
30 | color: #fff;
31 | background: rgba(#1c2254, .4);
32 | }
33 | }
34 |
35 | &__dots {
36 | display: block;
37 | height: 30px;
38 | line-height: 30px;
39 | padding: 0 7px;
40 | font-size: 14px;
41 | color: rgba(255, 255, 255, .5);
42 | }
43 | }
--------------------------------------------------------------------------------
/src/common/localStorage.js:
--------------------------------------------------------------------------------
1 | // Localstorage
2 | import ls, {ls_key_exists} from './localStorageImpl';
3 |
4 | if (null === ls) {
5 | throw 'localStorage is required but isn\'t available on this platform';
6 | }
7 |
8 | module.exports = (key) => {
9 | var STORAGE_KEY = key;
10 |
11 | return {
12 | get(key, dv = {}) {
13 | let rv;
14 |
15 | if (ls_key_exists(STORAGE_KEY + key, ls) ) {
16 | rv = JSON.parse(ls.getItem(STORAGE_KEY + key));
17 | }
18 |
19 | return rv ? rv : dv;
20 | },
21 |
22 | set(key, object) {
23 | if (object && object.toJS) {
24 | object = object.toJS();
25 | }
26 |
27 | ls.setItem(STORAGE_KEY + key, JSON.stringify(object));
28 | },
29 |
30 | remove(key) {
31 | ls.removeItem(STORAGE_KEY + key);
32 | },
33 |
34 | has(key) {
35 | return ls_key_exists(STORAGE_KEY + key, ls);
36 | }
37 | };
38 | };
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/components/_tables.scss:
--------------------------------------------------------------------------------
1 | .table {
2 | width: 100%;
3 | }
4 |
5 | .table>thead>tr>th {
6 | border-bottom: 1px solid #ddd;
7 | padding: 12px 5px;
8 | //padding-right: 8px;
9 | text-transform: uppercase;
10 | font-weight: normal;
11 | font-size: 0.9rem;
12 | color: #777;
13 | text-align: left;
14 | }
15 |
16 | .table>tbody>tr>td {
17 | // border-bottom: 1px solid #ddd;
18 | padding: 5px;
19 | }
20 |
21 | .table>tbody>tr:last-of-type>td {
22 | border-bottom: none;
23 | }
24 |
25 | .table-hover>tbody>tr:hover>td,
26 | .table-hover>tbody>tr:hover>th {
27 | background-color: #f5f5f5;
28 | cursor: pointer;
29 | }
30 |
31 | .key-value-table {
32 | tr>td:first-child {
33 | padding-left: 0 !important;
34 | }
35 |
36 | tr>td:last-child {
37 | text-align: right;
38 | }
39 | }
40 |
41 | .table.compact {
42 |
43 | td,
44 | th {
45 | font-size: 94%;
46 | }
47 | }
--------------------------------------------------------------------------------
/help/cn/components/AccountMembership.md:
--------------------------------------------------------------------------------
1 | [# lifetime]
2 | ### 可获得 {feesCashback}% 手续费返现奖励
3 |
4 | 终身会员可获得自己支付的每笔交易手续费的{feesCashback}%的现金返现,并自动作为推荐人加入引荐计划,通过引荐用户注册获得推荐奖励。升级到终身会员只需要花费 {price}。
5 |
6 | [# annual]
7 |
8 | 如果你暂时不想成为终身会员,那么你还可以选择升级到年度会员,可获得 {feesCashback}% 的手续费返现。升级为年度会员,每年只需花费 {price}。
9 |
10 | [# fee-division]
11 | #### 手续费分配
12 | 每次 {account} 支付交易手续费时,该手续费将分配给多个不同账户。网络将收取 {networkFee}%,引荐 {account} 的推荐人账户将获得 {lifetimeFee}%。
13 |
14 | _注册人账户_ 是在 {account} 注册时代其支付注册费的账户。注册人账户可自行决定剩余的 {referrerTotalFee}% 手续费如何在它自己及它的 _合作推荐人_ 之间分配。
15 |
16 | {account}的注册人账户决定与它的_合作推荐人_分享{referrerFee}%手续费,自己保留{registrarFee}%。
17 |
18 |
19 | #### 待结费用
20 | {account} 支付的手续费每个维护周期 ({maintenanceInterval} 秒)在网络、推荐人和注册人之间结算一次。下一个维护时间在 {nextMaintenanceTime}。
21 |
22 | #### 待解冻金额
23 |
24 | 大部分获取手续费的利益账户可立即使用资金,但金额超过{vestingThreshold}的费用(比如支付升级终身会员的手续费、注册高级账户名的手续费等)则需要暂时冻结,并在{vestingPeriod}天内线性解冻释放。
--------------------------------------------------------------------------------
/src/components/Icon/plus-circle.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/actions/RWalletUnlockActions.js:
--------------------------------------------------------------------------------
1 | import ActionTypes from '../constants/ActionTypes';
2 |
3 | class RWalletUnlockActions {
4 | /**
5 | * Action Creator (SET_POSITION)
6 | * Show|Hide Unlock modal
7 | * TODO::rm
8 | * @param status
9 | * @returns {function(*, *)}
10 | */
11 | static setWalletPosition(status) {
12 | return (dispatch, getState) => {
13 | dispatch({
14 | type: ActionTypes.SET_POSITION,
15 | payload: status
16 | });
17 | return getState().wallet.locked;
18 | };
19 | }
20 |
21 | /**
22 | * Action creator (SET_LOCK_STATUS)
23 | * Wallet is closed or not
24 | * @param status
25 | * @returns {function(*)}
26 | */
27 | static setWalletStatus(status) {
28 | return (dispatch) => {
29 | return dispatch({
30 | type: ActionTypes.SET_LOCK_STATUS,
31 | payload: status
32 | });
33 | };
34 | }
35 | }
36 |
37 | export default RWalletUnlockActions;
--------------------------------------------------------------------------------
/src/components/Icon/checkmark-circle.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/electron/tasks/utils.js:
--------------------------------------------------------------------------------
1 | var argv = require('yargs').argv;
2 | var os = require('os');
3 | var fs = require('fs');
4 |
5 | module.exports.os = function () {
6 | switch (os.platform()) {
7 | case 'darwin':
8 | return 'osx';
9 | case 'linux':
10 | return 'linux';
11 | case 'win32':
12 | return 'windows';
13 | }
14 |
15 | return 'unsupported';
16 | };
17 |
18 | module.exports.replace = function (str, patterns) {
19 | Object.keys(patterns).forEach(function (pattern) {
20 | var matcher = new RegExp('{{' + pattern + '}}', 'g');
21 | str = str.replace(matcher, patterns[pattern]);
22 | });
23 | return str;
24 | };
25 |
26 | module.exports.getEnvName = function () {
27 | return argv.env || 'development';
28 | };
29 |
30 | module.exports.getElectronVersion = function () {
31 | var manifest = JSON.parse(fs.readFileSync(__dirname + '/../package.json'));
32 | return manifest.devDependencies['electron-prebuilt'].substring(1);
33 | };
--------------------------------------------------------------------------------
/help/tr/assets/uia.md:
--------------------------------------------------------------------------------
1 | # Kullanıcı Sürümü Aktifler (UIA-User Issued Assets)
2 |
3 | Daha önce bahsedilen *piyasaya sabitli varlıkların* yanısıra , BitShares bireylere ve
4 | şirketlere, hayal edebilecekleri herşeye ait kendi kuponlarını yaratma ve piyasaya
5 | sürme imkanı verir. Kullanıcı Sürümü Varlıklar (UIA) için potansiyel kullanım alanları
6 | sayısızdır. Bir tarafta UIA'ler müşterilerin telefonlarına konser girişlerinde
7 | kullanabilecekleri basit organizasyon biletleri olarak yüklenebilirler. Diğer tarafta ise
8 | kitle fonlaması, mülkiyet takibi , ya da hisse şeklinde şirket özsermayesi satışında bile
9 | kullanılabilirler.
10 |
11 | Tabiiki, her tür kupona uygulanan kurallar çeşitlidir ve her yetki bölgesinde farklılık
12 | gösterir. Dolayısıyla BitShares, varlıklar piyasaya sürülürken , piyasaya süren kişinin
13 | geçerli kanunlar çerçevesinde korunmasına yardımcı olacak araçlarla gelir -kanunların
14 | böyle varlıklara zaten izin verdiğini farz ediyoruz.
--------------------------------------------------------------------------------
/help/en/introduction/wallets.md:
--------------------------------------------------------------------------------
1 | # Wallet
2 |
3 | As you may have noticed already, this application is a web application and runs
4 | in a browser. A connection is established to a trusted node in the network that
5 | serves as a gateway to the rest of the ecosystem.
6 |
7 | ## Wallet Security
8 |
9 | Rest assured that our servers do never have access to your funds because none of
10 | your private keys ever leave your browser. Instead they are encrypted with your
11 | pass phrase and are stored in your local browser's database. Hence you should
12 | make sure to have a proper [Backup](../introduction/backups.md) to not lose
13 | access to your funds on computer malfunctions or browser crashes.
14 |
15 | ## Wallet Management
16 |
17 | Furthermore, the user interface is capable of carrying and accessing several
18 | separated wallets each containing possible several accounts and corresponding
19 | funds. You can add, backup, and switch existing wallets in `Settings->Wallets`.
20 |
--------------------------------------------------------------------------------
/src/assets/stylesheets/old/components/_cards.scss:
--------------------------------------------------------------------------------
1 | .card {
2 | border-radius: 0;
3 | border: none;
4 |
5 | >h4 {
6 | margin: 0;
7 | padding-top: 0.2rem;
8 | padding-bottom: 0.2rem;
9 | }
10 |
11 | >.card-content {
12 | margin: 1rem;
13 | }
14 |
15 | margin-bottom: 1rem;
16 | }
17 |
18 | .card-section .text-group {
19 | text-align: left;
20 | }
21 |
22 | .account-card {
23 | padding: 0 1rem 0 0 !important;
24 |
25 | .balances {
26 | margin: 0;
27 | padding: 0;
28 | list-style: none;
29 | margin-left: 78px;
30 | }
31 |
32 | cursor: pointer;
33 |
34 | &.worker-card {
35 | cursor: auto;
36 | }
37 | }
38 |
39 | .card:hover {
40 | border: none;
41 | }
42 |
43 | .card a>div:first-child {
44 | text-align: center;
45 | padding: 5px;
46 | }
47 |
48 |
49 | .asset-card {
50 | padding: 0 1rem 0 0 !important;
51 | margin: 0 0 2rem 0;
52 |
53 | .card-divider {
54 | margin-bottom: 1rem;
55 | }
56 |
57 | }
--------------------------------------------------------------------------------
/src/reducers/RegisterReducer.js:
--------------------------------------------------------------------------------
1 | import RegisterConstants from '../constants/Register';
2 |
3 | /**
4 | *
5 | * RegisterReducer is used to controlling registration in an application
6 | *
7 | * Initial State
8 | * status - Register form: Button state
9 | * errors - Common validation errors
10 | *
11 | * @type {{status: string, errors: Array}}
12 | */
13 | let defaultState = {
14 | status: 'default',
15 | errors: []
16 | };
17 |
18 | export default function (state = defaultState, action) {
19 | switch (action.type) {
20 | // Register form: Setting button state
21 | case RegisterConstants.REGISTER_SET_STATUS:
22 | return Object.assign({}, state, {
23 | status: action.status
24 | });
25 | // Register form: Setting Common validation errors
26 | case RegisterConstants.REGISTER_SET_ERRORS:
27 | return Object.assign({}, state, {
28 | errors: action.errors
29 | });
30 | default:
31 | return state;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/components/Voting/Tooltip.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | class Tooltip extends React.Component {
4 | constructor(props) {
5 | super(props);
6 | this.state = {
7 | text: props.text,
8 | isOpen: false
9 | };
10 | }
11 |
12 | onClick() {
13 | this.setState({isOpen: !this.state.isOpen});
14 | }
15 |
16 | render() {
17 | return (
18 | { /* eslint-disable-line */}
19 |
20 |
21 | {
22 | this.state.isOpen
23 | ?
24 |
25 |
26 | {this.state.text}
27 |
28 | : false
29 | }
30 |
31 |
32 | );
33 | }
34 | }
35 |
36 | export default Tooltip;
37 |
--------------------------------------------------------------------------------
/src/components/Account/AccountImage.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import Identicon from './Identicon';
3 | import {PropTypes, Component} from 'react';
4 |
5 | class AccountImage extends Component {
6 | render() {
7 | let {account, image} = this.props;
8 | let {height, width} = this.props.size;
9 | let custom_image = image
10 | ?
11 | : ;
12 | return (
13 |
14 | {custom_image}
15 |
16 | );
17 | }
18 | }
19 |
20 | AccountImage.defaultProps = {
21 | src: '',
22 | account: '',
23 | size: {
24 | height: 120,
25 | width: 120
26 | }
27 | };
28 |
29 | AccountImage.propTypes = {
30 | src: PropTypes.string,
31 | account: PropTypes.string,
32 | size: PropTypes.object.isRequired
33 | };
34 |
35 | export default AccountImage;
36 |
--------------------------------------------------------------------------------
/src/components/Utility/TranslateHtml.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import counterpart from 'counterpart';
3 | import utils from 'common/utils';
4 | import assetUtils from 'common/asset_utils';
5 |
6 | class TranslateHtml extends React.Component {
7 | render() {
8 | let {string, params, keys} = this.props;
9 | let text = counterpart.translate(string, params);
10 | let splitText = utils.get_translation_parts(text);
11 |
12 | keys.forEach((key) => {
13 | if (key.arg === 'asset') {
14 | key.value = assetUtils.getSymbol(key.value);
15 | }
16 |
17 | if (splitText.indexOf(key.arg)) {
18 | splitText[splitText.indexOf(key.arg)] = key.value;
19 | }
20 | });
21 |
22 | let finalText = splitText.map((text, index) => {
23 | return (
24 | {text}
25 | );
26 | });
27 |
28 | return (
29 | {finalText}
30 | );
31 | }
32 | }
33 |
34 | export default TranslateHtml;
--------------------------------------------------------------------------------
/src/reducers/ClaimBtsReducer.js:
--------------------------------------------------------------------------------
1 | import ActionTypes from '../constants/ActionTypes';
2 |
3 | /**
4 | * Claim Bts Reducer is used to controlling BTS Sharedrop page
5 | *
6 | * status - Btn Status (default|loading)
7 | * errors - ClaimBtsForm: common errors
8 | * @type {{status: string, errors: Array}}
9 | */
10 | let defaultState = {
11 | status: 'default',
12 | errors: []
13 | };
14 |
15 | export default function (state = defaultState, action) {
16 | switch (action.type) {
17 | // set btn status (default|loading)
18 | case ActionTypes.CLAIM_BTS_SET_STATUS:
19 | return {
20 | ...state,
21 | status: action.payload.status
22 | };
23 | // ClaimBtsForm: Setting Common validation errors
24 | case ActionTypes.CLAIM_BTS_SET_ERRORS:
25 | return {
26 | ...state,
27 | errors: action.payload.errors
28 | };
29 | default:
30 | // We return the previous state in the default case
31 | return state;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/store/configureStore.prod.js:
--------------------------------------------------------------------------------
1 | import {createStore, applyMiddleware, compose} from 'redux';
2 | import thunk from 'redux-thunk';
3 | // import createLogger from 'redux-logger';
4 | import rootReducer from '../reducers';
5 | // import DevTools from 'containers/DevTools';
6 | import {routerMiddleware} from 'react-router-redux';
7 | import {hashHistory} from 'react-router';
8 |
9 | const middleware = routerMiddleware(hashHistory);
10 |
11 | export default function configureStore(preloadedState) {
12 | const store = createStore(
13 | rootReducer,
14 | preloadedState,
15 | compose(
16 | applyMiddleware(thunk/*, createLogger()*/, middleware)
17 | )
18 | );
19 |
20 | if (module.hot) {
21 | // Enable Webpack hot module replacement for reducers
22 | module.hot.accept('../reducers', () => {
23 | const nextRootReducer = require('../reducers').default;
24 | store.replaceReducer(nextRootReducer);
25 | });
26 | }
27 |
28 | return store;
29 | }
30 |
--------------------------------------------------------------------------------
/src/components/Explorer/BlockChain/FormattedAmount.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {FormattedNumber} from 'react-intl';
3 | import utils from 'common/utils';
4 | import AssetName from './AssetName';
5 |
6 | class FormattedAmount extends React.Component {
7 | static defaultProps = {
8 | decimalOffset: 0
9 | };
10 | render() {
11 | let {asset, amount, decimalOffset} = this.props;
12 | let precision = utils.get_asset_precision(asset.precision);
13 | let decimals = Math.max(0, asset.precision - decimalOffset);
14 | let value = amount / precision;
15 |
16 | if (isNaN(value) || !isFinite(value)) {
17 | return n/a ;
18 | }
19 |
20 | return (
21 |
22 |
26 |
27 |
28 | );
29 | }
30 | }
31 |
32 | export default FormattedAmount;
--------------------------------------------------------------------------------
/help/cn/index.md:
--------------------------------------------------------------------------------
1 | # Graphene 石墨烯
2 |
3 | BitShares(比特股) 2.0 是一个金融智能合约平台,该平台基于[Cryptonomex](http://cryptonomex.com)公司研发的[Graphene(石墨烯)](https://github.com/cryptonomex/graphene)技术开发。Graphene(石墨烯)是一个开发工具包,同时也是实时区块链的技术实现。
4 |
5 | 本帮助文档旨在提供用户一个系统概述,并解释系统中的一些基本概念。
6 |
7 | ## 简介
8 | * [BitShares(比特股)](introduction/bitshares.md)
9 | * [钱包](introduction/wallets.md)
10 | * [备份](introduction/backups.md)
11 | * [区块链](introduction/blockchain.md)
12 | * [见证人](introduction/witness.md)
13 | * [预算项目](introduction/workers.md)
14 | * [理事会](introduction/committee.md)
15 |
16 | ## 账户
17 | * [介绍](accounts/general.md)
18 | * [权限](accounts/permissions.md)
19 | * [会员级别](accounts/membership.md)
20 |
21 | ## 资产
22 | * [市场锚定资产](assets/mpa.md) (BitUSD, BitEUR, BitGOLD, Bit\*,...)
23 | * [用户发行资产](assets/uia.md)
24 | * [私有比特资产](assets/privbitassets.md)
25 |
26 | ## 去中心化交易所
27 | * [介绍](dex/introduction.md)
28 | * [交易](dex/trading.md)
29 | * [卖空比特资产](dex/shorting.md)
30 |
31 | ----------
32 | [词汇表](glossary.md)
33 |
--------------------------------------------------------------------------------
/src/components/Utility/VestingBalance.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import FormattedAsset from './FormattedAsset';
3 | import ChainTypes from './ChainTypes';
4 | import BindToChainState from './BindToChainState';
5 |
6 | /**
7 | * Given a balance_object, displays it in a pretty way
8 | *
9 | * Expects one property, 'balance' which should be a balance_object id
10 | */
11 |
12 | @BindToChainState({keep_updating: true})
13 | class VestingBalance extends React.Component {
14 | static propTypes = {
15 | balance: ChainTypes.ChainObject.isRequired
16 | }
17 |
18 | render() {
19 | let amount = Number(this.props.balance.getIn(['balance','amount']));
20 | let type = this.props.balance.getIn(['balance','asset_id']);
21 | return (
22 |
27 | );
28 | }
29 | }
30 |
31 | export default VestingBalance;
32 |
--------------------------------------------------------------------------------
/src/components/Auth/AuthenticatedComponent.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {connect} from 'react-redux';
3 | import {NavigateActions} from '../../actions';
4 |
5 | export function requireAuthentication(Component) {
6 | class AuthenticatedComponent extends React.Component {
7 | componentWillMount() {
8 | this.checkAuth();
9 | }
10 |
11 | componentWillReceiveProps() {
12 | this.checkAuth();
13 | }
14 |
15 | checkAuth() {
16 | if (!this.props.isLogin) {
17 | let redirectAfterLogin = this.props.location.pathname;
18 | this.props.dispatch(NavigateActions.navigateToSignIn(redirectAfterLogin));
19 | }
20 | }
21 |
22 | render() {
23 | return (
24 | this.props.isLogin === true
25 | ?
26 | : null
27 | );
28 | }
29 | }
30 |
31 | const mapStateToProps = (state) => ({isLogin: state.app.isLogin});
32 |
33 | return connect(mapStateToProps)(AuthenticatedComponent);
34 | }
--------------------------------------------------------------------------------
/src/services/AccountLoginService.js:
--------------------------------------------------------------------------------
1 | import StorageService from 'services/StorageService';
2 | import Repository from 'repositories/chain/repository';
3 |
4 | class AccountLoginService {
5 | /**
6 | * check at the start of the application if the user is logged in
7 | *
8 | * @param {string} accountName
9 | * @returns {Promise}
10 | */
11 | static checkLoginAccount(accountName = StorageService.get('currentAccount', null)) {
12 | return new Promise((resolve) => {
13 | if (accountName) {
14 | Repository.getAccount(accountName).then((account) => {
15 | if (account) {
16 | resolve({
17 | id: account.get('id'),
18 | name: account.get('name')
19 | });
20 | } else {
21 | resolve(null);
22 | }
23 | }).catch(() => {
24 | resolve(null);
25 | });
26 | } else {
27 | resolve(null);
28 | }
29 | });
30 | }
31 | }
32 |
33 | export default AccountLoginService;
--------------------------------------------------------------------------------
/src/actions/AppSettingsActions.js:
--------------------------------------------------------------------------------
1 | import ActionTypes from '../constants/ActionTypes';
2 | import SettingsStorageService from '../services/SettingsStorageService';
3 |
4 | class AppSettingsActions {
5 | /**
6 | * Switch App locale
7 | * TODO::
8 | * @param locale
9 | * @returns {function(*)}
10 | */
11 | static switchLocale(locale) { // eslint-disable-line
12 | return (dispatch) => { // eslint-disable-line
13 | //TODO::
14 | };
15 | }
16 |
17 | /**
18 | * Change WS connection
19 | *
20 | * @param connection
21 | * @returns {function(*)}
22 | */
23 | static changeConnection(connection) {
24 | return (dispatch) => {
25 | SettingsStorageService.set('connection', connection);
26 |
27 | dispatch({
28 | type: ActionTypes.CHANGE_CONNECTION,
29 | payload: connection
30 | });
31 |
32 | SettingsStorageService.set('changeConnection', 1);
33 | window.location.reload();
34 | };
35 | }
36 | }
37 |
38 | export default AppSettingsActions;
--------------------------------------------------------------------------------
/help/cn/dex/shorting.md:
--------------------------------------------------------------------------------
1 | # 卖空比特资产
2 |
3 | 为了看多BTS,并且为比特资产,比如USD, EUR, GOLD等提供市场深度,你可以从网络*借入*比特资产,并且*卖出*。我们来介绍下相关步骤。
4 |
5 | ## 借入
6 |
7 | BitShares网络能够发行比特资产,并借给用户,只要用户能够提供足够的抵押担保。
8 |
9 | * *喂价*: 在外部交易所中1BTS的交易价格
10 | * *维持保证金比率* (MCR): 由见证人维护并调节的起始抵押比率
11 | * *最大强制平仓比率* (MSQR): 由见证人维护并调节的最大强制平仓比率以保护空头围堵。
12 | * *强制平仓保护价* (SQP): 指定一个空头头寸被强制平仓支付最多时的价格
13 | * *强制平仓价* (CP): 将触发空头/贷款头寸强制平仓的价格
14 |
15 | ### 强制平仓
16 |
17 | BitShares网络可以强制平仓那些抵押不足的空头仓位。任何时候,如果空头仓位抵押物的市场最高买价低于*强制平仓价(CP)*,且高于*强制平仓保护价(SQP)*时将触发强制平仓,空头仓位将被强制卖出抵押物。
18 |
19 | SQP = 喂价 / MSQR
20 | CP = 债务价值 / 抵押物价值 * MCR
21 |
22 | 强制平仓发生时,将用抵押物按市场价格(最高到SQP价格)买入之前接入的比特资产,进行平仓。剩余的抵押BTS将会归还用户。
23 |
24 | ### 清算
25 |
26 | 比特资产的持有人可以随时要求按*公允价格*进行清算。清算发生时将关闭抵押率最低的空头/借贷头寸,卖出抵押物已完成清算。
27 |
28 | ## 卖出
29 |
30 | 借入比特资产后,用户可以随时在市场上以自己意愿的价格卖出。卖出后,用户即实现了卖空该比特资产的目的。
31 |
32 | ## 更新抵押率
33 |
34 | 任何时间,持有空头/借贷头寸的用户可以修改抵押率来灵活地适应市场变化。如果调高抵押率,则额外的BTS将被锁定以增加抵押,而调低抵押率则要求用户返还网络相应差额数量的比特资产。
35 |
36 | ## 平仓
37 |
38 | 空头/借贷头寸平仓时,用户必须持有相应借入的比特资产,以返还网络。网络将相应数量的比特资产从流通供给中去除,并解锁抵押物返还用户账户。
--------------------------------------------------------------------------------
/help/tr/introduction/wallets.md:
--------------------------------------------------------------------------------
1 | # Cüzdan
2 |
3 | Şu ana kadar farketmiş olduğunuz gibi bu uygulama bir web uygulamasıdır ve
4 | tarayacı içerisinde çalışır. Ekosistemin geri kalanına geçit görevi gören , ağda bulunan
5 | güvenilir bir düğüm(node) bağlantı kurar. test
6 |
7 | ## Cüzdan Güvenliği
8 |
9 | İçiniz rahat olsun , sunucularımızın fonlarınıza erişimi mümkün değildir, çünkü özel
10 | anahtarlarınızın hiçbiri asla tarayıcınızdan ayrılmazlar. Onun yerine , parola cümlenizle
11 | kriptolanmış vaziyette yerel tarayıcınızın veritabanında saklı tutulurlar.
12 | O yüzden, bilgisayar arızaları ve tarayıcı çökmelerine karşı mutlaka uygun bir
13 | [Backup](../introduction/backups.md) yapmayı ihmal etmeyin.
14 |
15 | ## Cüzdan Yönetimi
16 |
17 | Dahası , bu kullanıcı arayüzü , birden çok sayıda ve içerisinde muhtemel birçok
18 | hesap ve bunlara ait fonlar bulunduran ayrı cüzdanları muhafaza edebilir ve bunlara erişebilir.
19 | `Ayarlar->Cüzdanlar`'dan ekleme, yedekleme yapabilir ve mevcut cüzdanlar arasında geçiş yapabilirsiniz.
--------------------------------------------------------------------------------
/src/actions/SettingsActions.js:
--------------------------------------------------------------------------------
1 | //TODO::rm
2 | var alt = require('../alt-instance');
3 |
4 | class SettingsActions {
5 | changeSetting(value) {
6 | this.dispatch(value);
7 | }
8 |
9 | changeViewSetting(value) {
10 | this.dispatch(value);
11 | }
12 |
13 | changeMarketDirection(value) {
14 | this.dispatch(value);
15 | }
16 |
17 | addStarMarket(quote, base) {
18 | this.dispatch({quote, base});
19 | }
20 |
21 | removeStarMarket(quote, base) {
22 | this.dispatch({quote, base});
23 | }
24 |
25 | addStarAccount(account) {
26 | this.dispatch(account);
27 | }
28 |
29 | removeStarAccount(account) {
30 | this.dispatch(account);
31 | }
32 |
33 | addWS(ws) {
34 | this.dispatch(ws);
35 | }
36 |
37 | removeWS(index) {
38 | this.dispatch(index);
39 | }
40 |
41 | hideAsset(id, status) {
42 |
43 | this.dispatch({id, status});
44 | }
45 |
46 | clearSettings() {
47 | this.dispatch();
48 | }
49 | }
50 |
51 | module.exports = alt.createActions(SettingsActions);
52 |
--------------------------------------------------------------------------------
/src/services/SettingsStorageService.js:
--------------------------------------------------------------------------------
1 | import StorageService from './StorageService';
2 | const SETTINGS_KEY = 'settings_v3';
3 |
4 | /**
5 | * Settings Storage Service
6 | *
7 | * Here we work with Local Storage
8 | */
9 | class SettingsStorageService {
10 | static get(param) {
11 | let settings = StorageService.get(SETTINGS_KEY);
12 |
13 | if (settings && typeof settings[param] !== 'undefined') {
14 | return settings[param];
15 | }
16 |
17 | return null;
18 | }
19 |
20 | static set(k, val) {
21 | let settings = StorageService.get(SETTINGS_KEY);
22 |
23 | if (!settings) {
24 | settings = {};
25 | }
26 |
27 | settings[k] = val;
28 | StorageService.set(SETTINGS_KEY, settings);
29 | }
30 |
31 | static remove(k) {
32 | let settings = StorageService.get(SETTINGS_KEY);
33 |
34 | if (!settings) {
35 | settings = {};
36 | }
37 |
38 | delete settings[k];
39 | StorageService.set(SETTINGS_KEY, settings);
40 | }
41 | }
42 |
43 | export default SettingsStorageService;
--------------------------------------------------------------------------------
/electron/build/vendor/electron_boilerplate/dev_helper.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var app = require('electron').app;
4 | var Menu = require('electron').Menu;
5 | var BrowserWindow = require('electron').BrowserWindow;
6 |
7 | module.exports.setDevMenu = function () {
8 | var devMenu = Menu.buildFromTemplate([{
9 | label: 'Development',
10 | submenu: [{
11 | label: 'Reload',
12 | accelerator: 'CmdOrCtrl+R',
13 | click: function () {
14 | BrowserWindow.getFocusedWindow().reload();
15 | }
16 | },{
17 | label: 'Toggle DevTools',
18 | accelerator: 'Alt+CmdOrCtrl+I',
19 | click: function () {
20 | BrowserWindow.getFocusedWindow().toggleDevTools();
21 | }
22 | },{
23 | label: 'Quit',
24 | accelerator: 'CmdOrCtrl+Q',
25 | click: function () {
26 | app.quit();
27 | }
28 | }]
29 | }]);
30 | Menu.setApplicationMenu(devMenu);
31 | };
32 |
--------------------------------------------------------------------------------
/src/components/Icon/user.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/help/en/introduction/workers.md:
--------------------------------------------------------------------------------
1 | # Workers
2 |
3 | Workers are proposals to perform a service in return for a salary from the blockchain. A worker proposal contains at a minimum the following information:
4 |
5 | * A start and end date
6 | * A daily pay
7 | * A maximum total pay
8 |
9 | It should also contain a link to a webpage where the worker proposal is explained in more detail.
10 |
11 | Votes for worker proposals can be positive or negative, which means you can downvote a proposal that you do not like.
12 |
13 | ## Worker budget mechanics
14 | Workers receive pay from a fixed daily budget on a first-come, first-serve basis until there are no more funds left. To see how this works, say we the following:
15 |
16 | * A daily total budget of 400k BTS for all workers
17 | * 5 worker proposals with a positive votes total, with daily pay requests of 100k BTS each
18 |
19 | Now the four workers with the most votes will all receive 100k BTS each per day, but once they've been paid the worker budget is empty. Therefore the fifth worker will receive nothing.
20 |
21 |
--------------------------------------------------------------------------------
/src/components/Utility/BalanceComponent.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import FormattedAsset from './FormattedAsset';
3 | import ChainTypes from './ChainTypes';
4 | import BindToChainState from './BindToChainState';
5 |
6 | /**
7 | * Given a balance_object, displays it in a pretty way
8 | *
9 | * Expects one property, 'balance' which should be a balance_object id
10 | */
11 | @BindToChainState({keep_updating: true})
12 | class BalanceComponent extends React.Component {
13 | static propTypes = {
14 | balance: ChainTypes.ChainObject.isRequired,
15 | assetInfo: React.PropTypes.node
16 | }
17 |
18 | render() {
19 | let amount = Number(this.props.balance.get('balance'));
20 | let type = this.props.balance.get('asset_type');
21 | return (
22 |
28 | );
29 | }
30 | }
31 |
32 | export default BalanceComponent;
33 |
--------------------------------------------------------------------------------
/src/reducers/MemoReducer.js:
--------------------------------------------------------------------------------
1 | import ActionTypes from '../constants/ActionTypes';
2 |
3 | /**
4 | * Login Page Reducer is used to controlling login in an application
5 | * Initial State
6 | * status - Login form: Button state
7 | * errors - Login form: Common validation errors
8 | * accountForLogin - Login form: If the account exists and it's valid, then we work with it
9 | * @type {{status: string, errors: Array, accountForLogin: null}}
10 | */
11 | let defaultState = {
12 | memo: {
13 | message: '',
14 | sender: '',
15 | receiver: '',
16 | date: ''
17 | },
18 | isOpen: false
19 | };
20 |
21 | export default function (state = defaultState, action) {
22 | switch (action.type) {
23 | case ActionTypes.MEMO_SET_VIEW_STATUS:
24 | return Object.assign({}, state, {
25 | isOpen: action.isOpen,
26 | memo: action.memo
27 | });
28 | case ActionTypes.MEMO_RESET_VIEW_MODAL:
29 | return defaultState;
30 | default:
31 | // We return the previous state in the default case
32 | return state;
33 | }
34 | }
--------------------------------------------------------------------------------
/src/selectors/SideVesting.js:
--------------------------------------------------------------------------------
1 | import {createSelector} from 'reselect';
2 |
3 | const getBalancesIds = (state) => state.dashboardPage.vestingBalancesIds;
4 | const getBalances = (state) => state.dashboardPage.vestingBalances;
5 |
6 | export const getTotalVestingBalances = createSelector(
7 | [ getBalancesIds, getBalances ],
8 | (balanceIds, balances) => {
9 | let totalAmount = 0,
10 | totalClaimable = 0;
11 |
12 | balanceIds.forEach((balanceId) => {
13 | let balance = balances.get(balanceId),
14 | balanceAmount = balance.getIn(['balance', 'amount']),
15 | vestingPeriod = balance.getIn(['policy', 1, 'vesting_seconds']),
16 | earned = balance.getIn(['policy', 1, 'coin_seconds_earned']),
17 | availablePercent = earned / (vestingPeriod * balanceAmount),
18 | claim = balanceAmount * availablePercent;
19 | totalAmount += balanceAmount;
20 | totalClaimable += claim;
21 | });
22 |
23 | return {
24 | totalAmount: totalAmount,
25 | totalClaimable: totalClaimable
26 | };
27 | }
28 | );
--------------------------------------------------------------------------------
/help/tr/introduction/workers.md:
--------------------------------------------------------------------------------
1 | # Emekçiler
2 |
3 | Emekçiler maaş karşılığında hizmet veren tekliflerdir, maaşlarını blok zincirinden alırlar. Bir emekçi teklifi en azından aşağıdaki bilgileri kapsamalıdır :
4 |
5 | * Bir başlangıç ve bitiş tarihi
6 | * Gündelik bir ücret
7 | * Maksimum bir toplam maaş
8 |
9 | Emekçi teklifinin daha detaylı anlatıldığı bir web sayfasına da bağlantı sunmalıdır.
10 |
11 | Emekçi tekliflerine verilen oylar pozitif yada negatif olabilirler, yani beğenmediğiniz bir teklife red oyu kullanabilirsiniz.
12 |
13 | ## Emekçi bütçesi mekanizması
14 | Emekçilerin ücretleri, ilk-gelen ilk-çalışır prensibiyle günlük sabit bir bütçeden para tükenene kadar ödenir. Nasıl işlediğini görmek için şu örneğe bakın:
15 |
16 | * Tüm Emekçiler için günlük toplam bütçe 400 bin BTS olsun
17 | * Her biri günlük 100k BTS talep eden toplam oyların pozitif olduğu 5 emekçi teklifi
18 |
19 | Oyların çoğuna sahip 4 emekçinin her birine günlük 100 bin BTS ödenecek, fakat ödemeler tamamlandığında emekçi bütçesi tükenmiş olacak. O yüzden 5. emekçiye hiç bir şey ödenmeyecek.
20 |
--------------------------------------------------------------------------------
/src/reducers/AddressIndexReducer.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by shumer on 10/19/16.
3 | */
4 | import Immutable from 'immutable';
5 | import ActionTypes from '../constants/ActionTypes';
6 |
7 | /**
8 | * Address Index Reducer is used to saving pub keys
9 | * TODO::rm if is not used
10 | * Initial state
11 | * @type {{addresses: (*), saving: boolean, pubkeys: Set}}
12 | */
13 | const initialState = {
14 | addresses: Immutable.Map(),
15 | saving: false,
16 | pubkeys: new Set()
17 | };
18 |
19 | export default (state = initialState, action) => {
20 | switch (action.type) {
21 | case ActionTypes.SET_ADDRESS_INDEXES:
22 | return Object.assign({}, state, {
23 | addresses: action.payload
24 | });
25 | case ActionTypes.SET_ADDRESS_INDEXES_SAVING_STATUS:
26 | return Object.assign({}, state, {
27 | saving: action.payload
28 | });
29 | case ActionTypes.SET_ADDRESS_INDEXES_PUBKEYS:
30 | return Object.assign({}, state, {
31 | pubkeys: action.payload
32 | });
33 | default:
34 | return state;
35 | }
36 | };
--------------------------------------------------------------------------------
/src/components/Icon/locked.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/components/Icon/fi-star.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
11 |
12 |
--------------------------------------------------------------------------------
/src/components/Utility/Box.scss:
--------------------------------------------------------------------------------
1 | .Box {
2 | margin: 10px;
3 | padding: 0;
4 |
5 | background-color: #333;
6 |
7 | border: 2px;
8 | border-color: #888;
9 | border-style: inset;
10 | /* border-radius: 12px; */
11 | }
12 |
13 | .BoxBody {
14 | color: #50D2C2; /* blue */
15 |
16 | margin: 0;
17 | padding: 10px;
18 | }
19 |
20 |
21 | .BoxHeader,
22 | .BoxFooter {
23 | text-align: center;
24 | background-color: #383838;
25 | padding: 16px;
26 | }
27 |
28 | .BoxHeader h4,
29 | .BoxFooter h4 {
30 | color: #FCAB53; /* orange */
31 | font-weight: bold;
32 | margin: 0;
33 | }
34 |
35 |
36 | .BoxBody .icon svg path {
37 | fill: #50D2C2; /* blue */
38 | }
39 |
40 |
41 | .accordion {
42 | border: none;
43 | }
44 | .accordion-title {
45 | text-align: center;
46 | line-height: 32px;
47 | color: #AEABFF; /* purple */
48 | font-size: 23px;
49 | background-color: #333;
50 | }
51 | .is-active > .accordion-title {
52 | color: #FCAB53; /* orange */
53 | background-color: #383838;
54 | }
55 | .accordion-title:hover {
56 | background-color: #383838;
57 | }
58 |
--------------------------------------------------------------------------------
/src/actions/RWalletDataActions.js:
--------------------------------------------------------------------------------
1 | import ActionTypes from '../constants/ActionTypes';
2 |
3 | export default class WalletDataActions {
4 | /**
5 | * Action Creator (WD_RESET)
6 | * Reset Wallet data reducer
7 | * @returns {{type, payload: null}}
8 | */
9 | static resetWalletData() {
10 | return {
11 | type: ActionTypes.WD_RESET,
12 | payload: null,
13 | };
14 | }
15 |
16 | /**
17 | * Action Creator (WD_UPDATE_WALLET)
18 | * Update Wallet data
19 | *
20 | * @param wallet
21 | * @returns {{type: string, payload: *}}
22 | */
23 | static updateWalletData(wallet) {
24 | return {
25 | type: ActionTypes.WD_UPDATE_WALLET,
26 | payload: wallet
27 | };
28 | }
29 |
30 | /**
31 | * Action Creator (WD_SET_AES_PRIVATE)
32 | * Change wallet AES
33 | *
34 | * @param aesPrivate
35 | * @returns {function(*)}
36 | */
37 | static setAesPrivate(aesPrivate) {
38 | return (dispatch) => {
39 | dispatch({
40 | type: ActionTypes.WD_SET_AES_PRIVATE,
41 | payload: aesPrivate
42 | });
43 | };
44 | }
45 | }
--------------------------------------------------------------------------------
/src/assets/stylesheets/modules/_tooltipster.scss:
--------------------------------------------------------------------------------
1 | .tooltip {
2 | display: inline-block;
3 | min-width: 16px;
4 | min-height: 16px;
5 | vertical-align: top;
6 | font-size: 16px;
7 | color: $color-second;
8 | cursor: pointer;
9 |
10 | &-posRight {}
11 | }
12 |
13 | .tooltipster-sidetip .tooltipster-box {
14 | border-radius: 10px !important;
15 | position: relative;
16 | }
17 |
18 | .tooltipster-sidetip .tooltipster-content {
19 | padding: 20px 35px !important;
20 | }
21 |
22 | .tooltipsterIcon {
23 | position: absolute;
24 | top: 10px;
25 | left: 10px;
26 | font-size: 16px;
27 | color: #ffffff;
28 | }
29 |
30 | .tooltipster-light {
31 | .tooltipster-box {
32 | border-color: $color-second !important;
33 | background: rgba($color-second, .9) !important;
34 | }
35 |
36 | .tooltipster-content {
37 | color: #fff !important;
38 | font-size: 12px !important;
39 | }
40 | }
41 |
42 | //backup
43 | //.tooltip-backup.tooltipster-right{
44 | // margin: 74px 0 0 -33px !important;
45 | //}
46 | .tooltipster-backup {
47 | width: 410px !important;
48 | height: 186px !important;
49 | }
--------------------------------------------------------------------------------
/src/components/Modal/TransactionConfirmModal/AccountTransfer.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import Translate from 'react-translate-component';
3 | import {connect} from 'react-redux';
4 |
5 | class AccountTransfer extends React.Component {
6 | render() {
7 | return (
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | {this.props.account}
18 |
19 |
20 |
21 |
22 |
23 | );
24 | }
25 | }
26 |
27 | const mapStateToProps = (state) => {
28 | return {
29 | account : state.transactionConfirm.transaction.account,
30 | };
31 | };
32 |
33 | export default connect(mapStateToProps)(AccountTransfer);
34 |
--------------------------------------------------------------------------------
/src/__tests__/__tests__/utils/stub_router_context.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | let stubRouterContext = (Component, props, stubs) => {
4 | function RouterStub() { }
5 |
6 | Object.assign(RouterStub, {
7 | makePath () {},
8 | makeHref () {},
9 | transitionTo () {},
10 | replaceWith () {},
11 | goBack () {},
12 | getCurrentPath () {},
13 | getCurrentRoutes () {},
14 | getCurrentPathname () {},
15 | getCurrentParams () {},
16 | getCurrentQuery () {},
17 | isActive () {},
18 | getRouteAtDepth() {},
19 | setRouteComponentAtDepth() {}
20 | }, stubs);
21 |
22 | return React.createClass({
23 | childContextTypes: {
24 | router: React.PropTypes.func,
25 | routeDepth: React.PropTypes.number
26 | },
27 |
28 | getChildContext () {
29 | return {
30 | router: RouterStub,
31 | routeDepth: 0
32 | };
33 | },
34 |
35 | render () {
36 | return ;
37 | }
38 | });
39 | };
40 |
41 | export default stubRouterContext;
42 |
--------------------------------------------------------------------------------
/electron/resources/osx/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDisplayName
6 | {{productName}}
7 | CFBundleExecutable
8 | {{productName}}
9 | CFBundleIconFile
10 | icon.icns
11 | CFBundleIdentifier
12 | {{identifier}}
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | {{productName}}
17 | CFBundlePackageType
18 | APPL
19 | CFBundleVersion
20 | {{version}}
21 | CFBundleGetInfoString
22 | {{version}}
23 | LSMinimumSystemVersion
24 | 10.8.0
25 | NSMainNibFile
26 | MainMenu
27 | NSPrincipalClass
28 | AtomApplication
29 | NSSupportsAutomaticGraphicsSwitching
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/src/components/Modal/TransactionConfirmModal/WithessUpdate.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import Translate from 'react-translate-component';
3 | import {connect} from 'react-redux';
4 |
5 | class WitnessUpdate extends React.Component {
6 | render() {
7 | return (
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | {this.props.witness_account}
18 |
19 |
20 |
21 |
22 |
23 | );
24 | }
25 | }
26 |
27 | const mapStateToProps = (state) => {
28 | return {
29 | witness_account : state.transactionConfirm.transaction.witness_account
30 | };
31 | };
32 |
33 | export default connect(mapStateToProps)(WitnessUpdate);
34 |
--------------------------------------------------------------------------------