diff --git a/brave/app/images/bch-large.png b/brave/app/images/bch-large.png
new file mode 100644
index 000000000..92a86222c
Binary files /dev/null and b/brave/app/images/bch-large.png differ
diff --git a/brave/app/images/bch-small.png b/brave/app/images/bch-small.png
new file mode 100644
index 000000000..92a86222c
Binary files /dev/null and b/brave/app/images/bch-small.png differ
diff --git a/brave/app/images/btc-large.png b/brave/app/images/btc-large.png
new file mode 100644
index 000000000..5e6a58a3d
Binary files /dev/null and b/brave/app/images/btc-large.png differ
diff --git a/brave/app/images/btc-small.png b/brave/app/images/btc-small.png
new file mode 100644
index 000000000..5e6a58a3d
Binary files /dev/null and b/brave/app/images/btc-small.png differ
diff --git a/brave/app/images/dash-large.png b/brave/app/images/dash-large.png
new file mode 100644
index 000000000..541c28990
Binary files /dev/null and b/brave/app/images/dash-large.png differ
diff --git a/brave/app/images/dash-small.png b/brave/app/images/dash-small.png
new file mode 100644
index 000000000..541c28990
Binary files /dev/null and b/brave/app/images/dash-small.png differ
diff --git a/brave/app/images/ltc-large.png b/brave/app/images/ltc-large.png
new file mode 100644
index 000000000..5a57f7102
Binary files /dev/null and b/brave/app/images/ltc-large.png differ
diff --git a/brave/app/images/ltc-small.png b/brave/app/images/ltc-small.png
new file mode 100644
index 000000000..5a57f7102
Binary files /dev/null and b/brave/app/images/ltc-small.png differ
diff --git a/brave/app/images/trx-large.png b/brave/app/images/trx-large.png
new file mode 100644
index 000000000..20d2656b7
Binary files /dev/null and b/brave/app/images/trx-large.png differ
diff --git a/brave/app/images/trx-small.png b/brave/app/images/trx-small.png
new file mode 100644
index 000000000..7e5340f60
Binary files /dev/null and b/brave/app/images/trx-small.png differ
diff --git a/brave/app/images/xlm-large.png b/brave/app/images/xlm-large.png
new file mode 100644
index 000000000..38de9c6ce
Binary files /dev/null and b/brave/app/images/xlm-large.png differ
diff --git a/brave/app/images/xlm-small.png b/brave/app/images/xlm-small.png
new file mode 100644
index 000000000..38de9c6ce
Binary files /dev/null and b/brave/app/images/xlm-small.png differ
diff --git a/brave/app/images/xrp-large.png b/brave/app/images/xrp-large.png
new file mode 100644
index 000000000..8a9dce219
Binary files /dev/null and b/brave/app/images/xrp-large.png differ
diff --git a/brave/app/images/xrp-small.png b/brave/app/images/xrp-small.png
new file mode 100644
index 000000000..8a9dce219
Binary files /dev/null and b/brave/app/images/xrp-small.png differ
diff --git a/brave/app/images/zec-large.png b/brave/app/images/zec-large.png
new file mode 100644
index 000000000..83554a5d6
Binary files /dev/null and b/brave/app/images/zec-large.png differ
diff --git a/brave/app/images/zec-small.png b/brave/app/images/zec-small.png
new file mode 100644
index 000000000..83554a5d6
Binary files /dev/null and b/brave/app/images/zec-small.png differ
diff --git a/brave/app/scripts/controllers/bitgo.js b/brave/app/scripts/controllers/bitgo.js
new file mode 100644
index 000000000..ec69e6dbc
--- /dev/null
+++ b/brave/app/scripts/controllers/bitgo.js
@@ -0,0 +1,193 @@
+const ObservableStore = require('obs-store')
+const bgUtil = require('brave-bitgo-client').util
+
+const supportedCoins = {
+ btc: 'Bitcoin',
+ bch: 'Bitcoin Cash',
+ btg: 'Bitcoin Gold',
+ bsv: 'Bitcoin SV',
+ zec: 'ZCash',
+ xlm: 'Stellar',
+ xrp: 'Ripple',
+ ltc: 'Litecoin',
+ dash: 'Dash',
+ algo: 'Algorand',
+ trx: 'Tron',
+ eos: 'Eos'
+}
+
+const uint8ToArrayBuf = (array) => {
+ return array.buffer.slice(array.byteOffset, array.byteLength + array.byteOffset)
+}
+
+const promiseGetSeed = (key) => {
+ return new Promise((resolve) => {
+ if (window.chrome && window.chrome.braveWallet) {
+ window.chrome.braveWallet.getBitGoSeed(key, resolve)
+ } else {
+ // polyfill
+ const seed = new Uint8Array(32)
+ window.crypto.getRandomValues(seed)
+ resolve(uint8ToArrayBuf(seed))
+ }
+ })
+}
+
+class BitGoController {
+ constructor (opts = {}) {
+ const initState = opts.initState || {}
+ this.proxyOrigin = opts.isProduction
+ ? 'https://bitgo-proxy.brave.com/'
+ : 'http://localhost:3000/'
+ this.store = new ObservableStore(initState)
+ this.keyringController = opts.keyringController
+ this.braveServiceKey = opts.projectId
+ }
+
+ request (path, opts) {
+ const url = `${this.proxyOrigin}${path}`
+ const headers = new window.Headers()
+ headers.append('x-brave-key', this.braveServiceKey)
+ const req = new window.Request(url, Object.assign({ headers }, opts))
+ return window.fetch(req)
+ }
+
+ async unlockAndSetKey (password) {
+ this.password = password
+ await this.keyringController.submitPassword(this.password)
+ this.encryptionKey = await this.keyringController._getSubkey('ethwallet-encryptor')
+ }
+
+ async createWallet (coin) {
+ if (!supportedCoins[coin]) {
+ throw new Error(`Coin type ${coin} is not supported.`)
+ }
+ const seed = await promiseGetSeed(uint8ToArrayBuf(this.encryptionKey))
+ const userKeychain = bgUtil.createKeychain(coin, seed)
+ const backupKeychain = bgUtil.createKeychain(coin, seed)
+ const req = {
+ coin,
+ userPub: userKeychain.pub,
+ backupPub: backupKeychain.pub
+ }
+ const response = await this.request('create-wallet', {
+ method: 'POST',
+ body: JSON.stringify(req)
+ })
+ if (!response.ok) {
+ return
+ }
+ const resp = await response.json()
+ if (!resp.error) {
+ const state = this.store().getState()
+ const bitgoWallets = state.bitgoWallets || {}
+ bitgoWallets[resp.id] = Object.assign(req, resp)
+ this.store.updateState({
+ bitgoWallets
+ })
+ }
+ return resp
+ }
+
+ async getBalance (id) {
+ const bitgoWallets = this.store().getState().bitgoWallets
+ const bitgoWallet = bitgoWallets[id]
+ if (!bitgoWallet) {
+ return
+ }
+ const response = await this.request('get-balance', {
+ method: 'GET',
+ body: JSON.stringify({
+ id,
+ coin: bitgoWallet.coin
+ })
+ })
+ if (!response.ok) {
+ return
+ }
+ const resp = await response.json()
+ if (!resp.error) {
+ Object.assign(bitgoWallet, resp)
+ this.store.updateState({
+ bitgoWallets
+ })
+ }
+ return resp
+ }
+
+ async getTransfers (id) {
+ const bitgoWallets = this.store().getState().bitgoWallets
+ const bitgoWallet = bitgoWallets[id]
+ if (!bitgoWallet) {
+ return
+ }
+ const response = await this.request('get-transaction-history', {
+ method: 'GET',
+ body: JSON.stringify({
+ id,
+ coin: bitgoWallet.coin
+ })
+ })
+ if (!response.ok) {
+ return
+ }
+ const resp = await response.json()
+ if (!resp.error) {
+ bitgoWallet.transfers = response.transfers
+ this.store.updateState({
+ bitgoWallets
+ })
+ }
+ return resp
+ }
+
+ async sendTx (id, amount, destinationAddress) {
+ const bitgoWallets = this.store().getState().bitgoWallets
+ const bitgoWallet = bitgoWallets[id]
+ if (!bitgoWallet) {
+ return
+ }
+ const coin = bitgoWallet.coin
+ const response = await this.request('get-tx-prebuild', {
+ method: 'GET',
+ body: JSON.stringify({
+ id,
+ coin
+ })
+ })
+ if (!response.ok) {
+ return
+ }
+ const resp = await response.json()
+ if (!resp.error) {
+ const seed = await promiseGetSeed(uint8ToArrayBuf(this.encryptionKey))
+ const userKeychain = bgUtil.createKeychain(coin, seed)
+ const backupKeychain = bgUtil.createKeychain(coin, seed)
+ const halfSigned = await bgUtil.signTransaction(coin,
+ userKeychain, backupKeychain, bitgoWallet.bitgoPub,
+ resp, destinationAddress, amount, {
+ chain: bitgoWallet.chain,
+ index: bitgoWallet.index,
+ coinSpecific: {}
+ })
+ const sendResponse = await this.request('send-tx', {
+ method: 'POST',
+ body: JSON.stringify({
+ id,
+ coin,
+ halfSigned
+ })
+ })
+ if (!sendResponse.ok) {
+ return
+ }
+ const sendResp = await sendResponse.json()
+ return sendResp
+ }
+ }
+}
+
+module.exports = {
+ BitGoController,
+ supportedCoins
+}
diff --git a/brave/app/scripts/metamask-controller.js b/brave/app/scripts/metamask-controller.js
index 2a7a9644c..6748fb2e8 100644
--- a/brave/app/scripts/metamask-controller.js
+++ b/brave/app/scripts/metamask-controller.js
@@ -1,13 +1,40 @@
const MetamaskController = require('../../../app/scripts/metamask-controller')
+const { BitGoController } = require('./controllers/bitgo')
const nodeify = require('../../../app/scripts/lib/nodeify')
module.exports = class BraveController extends MetamaskController {
+ constructor (opts) {
+ super(opts)
+
+ chrome.braveWallet.getProjectID((projectId) => {
+ this.bitGoController = new BitGoController({
+ ...this.opts,
+ projectId: projectId,
+ keyringController: this.keyringController
+ })
+
+ if (this.keyringController.password) {
+ this.bitGoController.unlockAndSetKey(this.keyringController.password)
+ }
+ })
+ }
+
getApi () {
const api = super.getApi()
+
+ // Brave modifications
api.setBatTokenAdded = nodeify(this.preferencesController.setBatTokenAdded, this.preferencesController)
api.setHardwareConnect = nodeify(this.preferencesController.setHardwareConnect, this.preferencesController)
api.setRewardsDisclosureAccepted = nodeify(this.preferencesController.setRewardsDisclosureAccepted, this.preferencesController)
+
+ // BitGo
+ api.createBitGoWallet = nodeify(this.bitGoController.createWallet, this.bitGoController)
+ api.getBitGoWalletBalance = nodeify(this.bitGoController.getBalance, this.bitGoController)
+ api.getBitGoWalletTransfers = nodeify(this.bitGoController.getTransfers, this.bitGoController)
+ api.sendBitGoTransaction = nodeify(this.bitGoController.sendTx, this.bitGoController)
+ api.unlockAndSetKey = nodeify(this.bitGoController.unlockAndSetKey, this.bitGoController)
+
return api
}
}
diff --git a/brave/gulpfile.js/brave-replace-paths.js b/brave/gulpfile.js/brave-replace-paths.js
index 65bf1e558..cff84251c 100644
--- a/brave/gulpfile.js/brave-replace-paths.js
+++ b/brave/gulpfile.js/brave-replace-paths.js
@@ -249,6 +249,12 @@ const createBraveReplacePathsTask = () => {
`'${bravePrefix}ui/app/pages/unlock-page/unlock-page.container'`
)
)
+ .pipe(
+ replace(
+ /\'(.*)\/app-header\'/gm,
+ `'${bravePrefix}ui/app/components/app/app-header'`
+ )
+ )
.pipe(gulp.dest(file => file.base))
})
}
diff --git a/brave/ui/app/components/app/app-header/app-header.component.js b/brave/ui/app/components/app/app-header/app-header.component.js
new file mode 100644
index 000000000..150fac1ac
--- /dev/null
+++ b/brave/ui/app/components/app/app-header/app-header.component.js
@@ -0,0 +1,224 @@
+const NetworkIndicator = require('../../../../../../ui/app/components/app/network')
+
+import React from 'react'
+import classnames from 'classnames'
+
+import {
+ DEFAULT_ROUTE,
+ CONNECT_HARDWARE_ROUTE,
+ NEW_ACCOUNT_ROUTE,
+ IMPORT_ACCOUNT_ROUTE,
+ BRAVE_CONNECT_WALLETS_ROUTE
+} from '../../../../../../ui/app/helpers/constants/routes'
+import { Item } from '../dropdowns/components/menu'
+import AppHeader from '../../../../../../ui/app/components/app/app-header/app-header.component'
+
+import ImportIcon from '../dropdowns/assets/import-icon'
+import PlusIcon from '../dropdowns/assets/plus-icon'
+import BitGoLogoIcon from '../dropdowns/assets/bitgo-logo'
+import BraveAccountItems from '../dropdowns/components/account-items.component'
+import BraveDropdownHeader from '../dropdowns/brave-dropdown-header.component'
+import BraveDropdownItems from '../dropdowns/brave-dropdown-items.component'
+
+module.exports = class BraveAppHeader extends AppHeader {
+ constructor(props) {
+ super(props)
+ }
+
+ state = {
+ activeDropdown: ''
+ }
+
+ get styles () {
+ return {
+ connectItem: {
+ margin: '0 auto',
+ padding: '5px 10px'
+ },
+ connectImg: {
+ width: '95px'
+ }
+ }
+ }
+
+ handleClick = (index) => {
+ if (this.props.isUnlocked) {
+ this.setState({ activeDropdown: index })
+ }
+ }
+
+ handleMouseLeave = (selector, { target }) => {
+ const dropdownItems = document.querySelector(selector)
+ if (dropdownItems && !dropdownItems.contains(target)) {
+ this.setState({ activeDropdown: '' })
+ }
+ }
+
+ onCreateAccount = () => {
+ this.setState({ activeDropdown: '' })
+ this.props.history.push(NEW_ACCOUNT_ROUTE)
+ }
+
+ onImportAccount = () => {
+ this.setState({ activeDropdown: '' })
+ this.props.history.push(IMPORT_ACCOUNT_ROUTE)
+ }
+
+ onHardwareConnect = () => {
+ this.setState({ activeDropdown: '' })
+ this.props.history.push(CONNECT_HARDWARE_ROUTE)
+ }
+
+ get itemStyle () {
+ return {
+ fontWeight: 'bold',
+ color: 'rgb(59, 62, 79)',
+ borderTop: '1px solid #dedede'
+ }
+ }
+
+ get browserItems () {
+ return [
+ {
+ markup: (
+
+ )
+ },
+ {
+ markup: (
+ }
+ onClick={this.onCreateAccount}
+ text={this.context.t('createAccount')}
+ />
+ ),
+ style: this.itemStyle
+ },
+ {
+ markup: (
+ }
+ onClick={this.onImportAccount}
+ text={this.context.t('importAccount')}
+ />
+ ),
+ style: this.itemStyle
+ }
+ ]
+ }
+
+ get connectItems () {
+ return [
+ {
+ markup: (
+
{}} style={this.styles.connectItem}>
+
+
+ ),
+ onClick: () => {}
+ },
+ {
+ markup: (
+
+
+
+ ),
+ onClick: this.onHardwareConnect
+ },
+ {
+ markup: (
+
+
+
+ ),
+ onClick: this.onHardwareConnect,
+ style: this.itemStyle
+ }
+ ]
+ }
+
+ render() {
+ const {
+ network,
+ provider,
+ hideNetworkIndicator,
+ disabled,
+ isUnlocked,
+ history
+ } = this.props
+ const isBitGoView = window.location.hash === '#bitgo-account-view'
+ const isConnectWallets = window.location.hash === '#connect-wallets'
+
+ return (
+
+
+
+
+
+
+
+
{ history.push(DEFAULT_ROUTE) }}
+ onMouseEnter={this.handleClick.bind(this, 'browser')}
+ onMouseLeave={this.handleMouseLeave.bind(this, 'brave-browser-menu')}
+ active={this.state.activeDropdown === 'browser'}
+ />
+ {
+ isBitGoView
+ ? {}}
+ onMouseEnter={() => {}}
+ onMouseLeave={() => {}}
+ active={true}
+ />
+ : null
+ }
+ {
+ this.setState({ activeDropdown: '' })
+ history.push(BRAVE_CONNECT_WALLETS_ROUTE)
+ }}
+ onMouseEnter={this.handleClick.bind(this, 'connect')}
+ onMouseLeave={this.handleMouseLeave.bind(this, 'brave-connect-menu')}
+ active={this.state.activeDropdown === 'connect' || isConnectWallets}
+ />
+
+ {!hideNetworkIndicator && (
+
+ this.handleNetworkIndicatorClick(event)}
+ disabled={disabled}
+ />
+
+ )}
+ {this.renderAccountMenu()}
+
+
+
+
+ )
+ }
+}
diff --git a/brave/ui/app/components/app/app-header/app-header.container.js b/brave/ui/app/components/app/app-header/app-header.container.js
new file mode 100644
index 000000000..40e7409cc
--- /dev/null
+++ b/brave/ui/app/components/app/app-header/app-header.container.js
@@ -0,0 +1,49 @@
+const actions = require('../../../store/actions')
+const { showAccountDetail } = actions
+
+import { connect } from 'react-redux'
+import { withRouter } from 'react-router-dom'
+import { compose } from 'recompose'
+
+import AppHeader from './app-header.component'
+import { getMetaMaskAccounts } from '../../../../../../ui/app/selectors/selectors'
+
+const mapStateToProps = state => {
+ const { appState, metamask } = state
+ const { networkDropdownOpen } = appState
+ const {
+ network,
+ provider,
+ selectedAddress,
+ isUnlocked,
+ isAccountMenuOpen,
+ keyrings,
+ identities
+ } = metamask
+
+ return {
+ networkDropdownOpen,
+ network,
+ provider,
+ selectedAddress,
+ isUnlocked,
+ isAccountMenuOpen,
+ keyrings,
+ identities,
+ accounts: getMetaMaskAccounts(state)
+ }
+}
+
+const mapDispatchToProps = dispatch => {
+ return {
+ showAccountDetail: (address) => dispatch(showAccountDetail(address)),
+ showNetworkDropdown: () => dispatch(actions.showNetworkDropdown()),
+ hideNetworkDropdown: () => dispatch(actions.hideNetworkDropdown()),
+ toggleAccountMenu: () => dispatch(actions.toggleAccountMenu()),
+ }
+}
+
+export default compose(
+ withRouter,
+ connect(mapStateToProps, mapDispatchToProps)
+)(AppHeader)
diff --git a/brave/ui/app/components/app/app-header/index.js b/brave/ui/app/components/app/app-header/index.js
new file mode 100644
index 000000000..6de2f9c78
--- /dev/null
+++ b/brave/ui/app/components/app/app-header/index.js
@@ -0,0 +1 @@
+export { default } from './app-header.container'
diff --git a/brave/ui/app/components/app/connect-wallet/connect-wallet.component.js b/brave/ui/app/components/app/connect-wallet/connect-wallet.component.js
index 59b2a7fa8..7806baf73 100644
--- a/brave/ui/app/components/app/connect-wallet/connect-wallet.component.js
+++ b/brave/ui/app/components/app/connect-wallet/connect-wallet.component.js
@@ -1,5 +1,6 @@
import React, { PureComponent } from 'react'
import PropTypes from 'prop-types'
+import BitGoLogoIcon from '../dropdowns/assets/bitgo-logo'
module.exports = class ConnectWallet extends PureComponent {
static contextTypes = {
@@ -29,6 +30,16 @@ module.exports = class ConnectWallet extends PureComponent {
const { type } = this.props
switch (type) {
+ case 'bitgo':
+ walletText = {
+ title: (
+
+
+
+ ),
+ subText: 'Use BitGo to purchase and manage non-Ethereum assets within Brave Crypto Wallets.'
+ }
+ break
case 'browser':
walletText = {
title: t('newLocalWallet'),
@@ -79,7 +90,7 @@ module.exports = class ConnectWallet extends PureComponent {
onRestore,
} = this.props
const { t } = this.context
- const innerText = type === 'browser' ? t('create') : t('connect')
+ const innerText = type === 'browser' ? t('create') : 'Create Wallet'
const hwButtonStyle = type !== 'browser' ? { marginRight: '-15px' } : {}
return (
diff --git a/brave/ui/app/components/app/connect-wallet/index.scss b/brave/ui/app/components/app/connect-wallet/index.scss
index 150ad7af7..c208ef090 100644
--- a/brave/ui/app/components/app/connect-wallet/index.scss
+++ b/brave/ui/app/components/app/connect-wallet/index.scss
@@ -36,15 +36,46 @@
font-weight: bold;
color: rgb(59, 62, 79);
cursor: pointer;
+ width: 120px;
}
.restore {
cursor: pointer;
font-size: 14px;
font-weight: bold;
+ margin-left: 65px;
+ margin-top: 7px;
+ display: block;
}
.hardware-img {
width: 100px;
}
-}
\ No newline at end of file
+}
+
+.app-header {
+
+ &--back-drop {
+
+ &::after {
+ height: 0px;
+ background: inherit;
+ }
+ }
+
+ @media screen and (min-width: 576px) {
+ height: 75px;
+ justify-content: center;
+
+ &--back-drop {
+ &::after {
+ content: '';
+ position: absolute;
+ width: 100%;
+ height: 0px;
+ background: inherit;
+ bottom: -32px;
+ }
+ }
+ }
+}
diff --git a/brave/ui/app/components/app/dropdowns/assets/bitgo-logo.js b/brave/ui/app/components/app/dropdowns/assets/bitgo-logo.js
new file mode 100644
index 000000000..9d316e3c2
--- /dev/null
+++ b/brave/ui/app/components/app/dropdowns/assets/bitgo-logo.js
@@ -0,0 +1,18 @@
+import React, { PureComponent } from 'react'
+
+module.exports = class BitGoLogoIcon extends PureComponent {
+ render () {
+ return (
+
+
+
+
+
+
+
+
+
+
+ )
+ }
+}
diff --git a/brave/ui/app/components/app/dropdowns/assets/carat-down.js b/brave/ui/app/components/app/dropdowns/assets/carat-down.js
new file mode 100644
index 000000000..97f749a97
--- /dev/null
+++ b/brave/ui/app/components/app/dropdowns/assets/carat-down.js
@@ -0,0 +1,19 @@
+import React, { PureComponent } from 'react'
+
+module.exports = class CaratDownIcon extends PureComponent {
+ render () {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ )
+ }
+}
\ No newline at end of file
diff --git a/brave/ui/app/components/app/dropdowns/assets/import-icon.js b/brave/ui/app/components/app/dropdowns/assets/import-icon.js
new file mode 100644
index 000000000..752b20476
--- /dev/null
+++ b/brave/ui/app/components/app/dropdowns/assets/import-icon.js
@@ -0,0 +1,22 @@
+import React, { PureComponent } from 'react'
+
+module.exports = class ImportIcon extends PureComponent {
+ render () {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+ }
+}
\ No newline at end of file
diff --git a/brave/ui/app/components/app/dropdowns/assets/plus-icon.js b/brave/ui/app/components/app/dropdowns/assets/plus-icon.js
new file mode 100644
index 000000000..b52533db5
--- /dev/null
+++ b/brave/ui/app/components/app/dropdowns/assets/plus-icon.js
@@ -0,0 +1,22 @@
+import React, { PureComponent } from 'react'
+
+module.exports = class PlusIcon extends PureComponent {
+ render () {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+ }
+}
\ No newline at end of file
diff --git a/brave/ui/app/components/app/dropdowns/assets/styles.js b/brave/ui/app/components/app/dropdowns/assets/styles.js
new file mode 100644
index 000000000..d420df605
--- /dev/null
+++ b/brave/ui/app/components/app/dropdowns/assets/styles.js
@@ -0,0 +1,74 @@
+module.exports = {
+ container: {
+ general: {
+ marginRight: '7px',
+ padding: '6px 9px 3px 9px',
+ borderRadius: '8px',
+ background: '#5E6175'
+ },
+ active: {
+ cursor: 'pointer',
+ background: 'rgb(94, 97, 117)'
+ },
+ inactive: {
+ background: 'inherit'
+ }
+ },
+
+ title: {
+ general: {
+ fontSize: '14px',
+ fontWeight: '500',
+ letterSpacing: '0.5px'
+ },
+ active: {
+ color: 'white'
+ },
+ inactive: {}
+ },
+
+ dropdownContainer: {
+ background: '#fff',
+ minWidth: '275px',
+ position: 'absolute',
+ top: '15px',
+ borderRadius: '5px',
+ boxShadow: 'grey 0px 0px 2px 1px'
+ },
+
+ dropdownItem: {
+ borderBottom: '1px solid #dedede'
+ },
+
+ caratContainer: {
+ display: 'inline-block',
+ padding: '5px',
+ position: 'relative',
+ top: '-1px'
+ },
+
+ plusContainer: {
+ display: 'inline-block',
+ padding: '5px',
+ position: 'relative',
+ top: '2px'
+ },
+
+ leftPadding: {
+ width: '7px',
+ display: 'inline-block'
+ },
+
+ menu: {
+ position: 'absolute',
+ top: '65px',
+ width: '309px',
+ zIndex: '55px',
+ background: '#fff'
+ },
+
+ innerMenu: {
+ padding: '18px 8px',
+ background: '#fff'
+ }
+}
\ No newline at end of file
diff --git a/brave/ui/app/components/app/dropdowns/brave-dropdown-header.component.js b/brave/ui/app/components/app/dropdowns/brave-dropdown-header.component.js
new file mode 100644
index 000000000..0e3ea5121
--- /dev/null
+++ b/brave/ui/app/components/app/dropdowns/brave-dropdown-header.component.js
@@ -0,0 +1,58 @@
+import React, { PureComponent } from 'react'
+
+import styles from './assets/styles'
+import PlusIcon from './assets/plus-icon'
+import CaratDownIcon from './assets/carat-down'
+
+module.exports = class BraveDropdownHeader extends PureComponent {
+
+ render () {
+ const {
+ active,
+ isConnect,
+ title,
+ type,
+ onClick,
+ onMouseEnter,
+ onMouseLeave
+ } = this.props
+
+ const activeKey = active ? 'active' : 'inactive'
+
+ return (
+
+
+ {
+ isConnect
+ ?
+ :
+ }
+ {title}
+
+
+
+
+
+ )
+ }
+}
\ No newline at end of file
diff --git a/brave/ui/app/components/app/dropdowns/brave-dropdown-items.component.js b/brave/ui/app/components/app/dropdowns/brave-dropdown-items.component.js
new file mode 100644
index 000000000..46feae3f7
--- /dev/null
+++ b/brave/ui/app/components/app/dropdowns/brave-dropdown-items.component.js
@@ -0,0 +1,49 @@
+import React, { PureComponent } from 'react'
+
+import {
+ Dropdown,
+ DropdownMenuItem
+} from '../../../../../../ui/app/components/app/dropdowns/components/dropdown'
+import styles from './assets/styles'
+
+module.exports = class BraveDropdownItems extends PureComponent {
+
+ render () {
+ const {
+ type,
+ items,
+ isOpen,
+ onMouseLeave
+ } = this.props
+
+ return (
+
+ {items.map((item, inc) => {
+ const style = item.style || {}
+ const onClick = item.onClick || (() => {})
+
+ return (
+ {}}
+ style={{
+ ...style,
+ textAlign: 'center'
+ }}
+ >
+ {item.markup}
+
+ )
+ })}
+
+ )
+ }
+}
diff --git a/brave/ui/app/components/app/dropdowns/components/account-items.component.js b/brave/ui/app/components/app/dropdowns/components/account-items.component.js
new file mode 100644
index 000000000..2f799aada
--- /dev/null
+++ b/brave/ui/app/components/app/dropdowns/components/account-items.component.js
@@ -0,0 +1,117 @@
+import React, { PureComponent } from 'react'
+
+import Tooltip from '../../../../../../../ui/app/components/ui/tooltip'
+import Identicon from '../../../../../../../ui/app/components/ui/identicon'
+
+import UserPreferencedCurrencyDisplay from '../../../../../../../ui/app/components/app/user-preferenced-currency-display'
+import { PRIMARY } from '../../../../../../../ui/app/helpers/constants/common'
+
+export default class BraveAccountItems extends PureComponent {
+
+ renderAccountItems = () => {
+ const {
+ identities,
+ accounts,
+ keyrings,
+ showAccountDetail,
+ } = this.props
+
+ const accountOrder = keyrings.reduce((list, keyring) => list.concat(keyring.accounts), [])
+
+ return accountOrder.filter(address => !!identities[address]).map(address => {
+ const identity = identities[address]
+
+ const balanceValue = accounts[address] ? accounts[address].balance : ''
+ const simpleAddress = identity.address.substring(2).toLowerCase()
+
+ const keyring = keyrings.find(kr => {
+ return kr.accounts.includes(simpleAddress) || kr.accounts.includes(identity.address)
+ })
+
+ return (
+ {
+ showAccountDetail(identity.address)
+ }}
+ key={identity.address}
+ >
+
+
+
+ { identity.name || '' }
+
+
+
+ { this.renderKeyringType(keyring) }
+ { this.renderRemoveAccount(keyring, identity) }
+
+ )
+ })
+ }
+
+ render () {
+ return (
+ {this.renderAccountItems()}
+ )
+ }
+
+ renderRemoveAccount (keyring, identity) {
+ const { t } = this.context
+ const { type } = keyring
+ const isRemovable = type !== 'HD Key Tree'
+
+ return isRemovable && (
+
+ this.removeAccount(e, identity)}
+ />
+
+ )
+ }
+
+ removeAccount (e, identity) {
+ e.preventDefault()
+ e.stopPropagation()
+ const { showRemoveAccountConfirmationModal } = this.props
+ showRemoveAccountConfirmationModal(identity)
+ }
+
+ renderKeyringType (keyring) {
+ const { t } = this.context
+
+ if (!keyring) {
+ return null
+ }
+
+ const { type } = keyring
+ let label
+
+ switch (type) {
+ case 'Trezor Hardware':
+ case 'Ledger Hardware':
+ label = t('hardware')
+ break
+ case 'Simple Key Pair':
+ label = t('imported')
+ break
+ }
+
+ return label && (
+
+ { label }
+
+ )
+ }
+}
diff --git a/brave/ui/app/components/app/dropdowns/components/brave-wallet-dropdown/assets/carat-down.js b/brave/ui/app/components/app/dropdowns/components/brave-wallet-dropdown/assets/carat-down.js
new file mode 100644
index 000000000..02f14cf1c
--- /dev/null
+++ b/brave/ui/app/components/app/dropdowns/components/brave-wallet-dropdown/assets/carat-down.js
@@ -0,0 +1,19 @@
+import React, { PureComponent } from 'react'
+
+module.exports = class CaratDownIcon extends PureComponent {
+ render () {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ )
+ }
+}
diff --git a/brave/ui/app/components/app/dropdowns/components/brave-wallet-dropdown/assets/plus.js b/brave/ui/app/components/app/dropdowns/components/brave-wallet-dropdown/assets/plus.js
new file mode 100644
index 000000000..eb7c68296
--- /dev/null
+++ b/brave/ui/app/components/app/dropdowns/components/brave-wallet-dropdown/assets/plus.js
@@ -0,0 +1,22 @@
+import React, { PureComponent } from 'react'
+
+module.exports = class PlusIcon extends PureComponent {
+ render () {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+ }
+}
diff --git a/brave/ui/app/components/app/dropdowns/components/brave-wallet-dropdown/styles.js b/brave/ui/app/components/app/dropdowns/components/brave-wallet-dropdown/styles.js
new file mode 100644
index 000000000..bcf933e47
--- /dev/null
+++ b/brave/ui/app/components/app/dropdowns/components/brave-wallet-dropdown/styles.js
@@ -0,0 +1,59 @@
+module.exports = {
+ container: {
+ general: {
+ marginRight: '5px',
+ padding: '5px 9px',
+ borderRadius: '8px'
+ },
+ active: {
+ background: 'rgb(94, 97, 117)'
+ },
+ inactive: {
+ background: 'inherit'
+ }
+ },
+
+ title: {
+ general: {
+ fontSize: '14px',
+ fontWeight: '500',
+ letterSpacing: '0.5px'
+ },
+ active: {
+ color: 'white'
+ },
+ inactive: {}
+ },
+
+ dropdownContainer: {
+ background: '#fff',
+ minWidth: '275px',
+ position: 'absolute',
+ top: '15px',
+ borderRadius: '5px',
+ boxShadow: 'grey 0px 0px 2px 1px'
+ },
+
+ dropdownItem: {
+ borderBottom: '1px solid #dedede'
+ },
+
+ caratContainer: {
+ display: 'inline-block',
+ padding: '5px',
+ position: 'relative',
+ top: '-1px'
+ },
+
+ plusContainer: {
+ display: 'inline-block',
+ padding: '5px',
+ position: 'relative',
+ top: '2px'
+ },
+
+ leftPadding: {
+ width: '7px',
+ display: 'inline-block'
+ }
+}
\ No newline at end of file
diff --git a/brave/ui/app/components/app/provider-page-container/index.scss b/brave/ui/app/components/app/provider-page-container/index.scss
index 80cf1965b..2298454ce 100644
--- a/brave/ui/app/components/app/provider-page-container/index.scss
+++ b/brave/ui/app/components/app/provider-page-container/index.scss
@@ -5,3 +5,7 @@
display: none;
}
}
+
+div.app-header {
+ background: inherit;
+}
\ No newline at end of file
diff --git a/brave/ui/app/ducks/metamask/metamask.js b/brave/ui/app/ducks/metamask/metamask.js
index d46fa303e..737bfa457 100644
--- a/brave/ui/app/ducks/metamask/metamask.js
+++ b/brave/ui/app/ducks/metamask/metamask.js
@@ -8,11 +8,43 @@ module.exports = function (state, action) {
newState.batTokenAdded = newState.batTokenAdded || false
newState.rewardsDisclosureAccepted = newState.rewardsDisclosureAccepted || false
+ // BitGo
+ newState.bitGoBalances = newState.bitGoBalances || {}
+ newState.bitGoTransfers = newState.bitGoTransfers || {}
+ newState.bitGoCreatedWallets = newState.bitGoCreatedWallets || []
+
switch (action.type) {
case actions.SET_BAT_TOKEN_ADDED:
return extend(newState, {
batTokenAdded: action.value,
})
+ case actions.SET_BITGO_BALANCE:
+ const updatedBitGoBalances = {
+ ...newState.bitGoBalances
+ }
+
+ updatedBitGoBalances[action.coin] = action.balance
+
+ return extend(newState, {
+ bitGoBalances: updatedBitGoBalances
+ })
+ case actions.SET_BITGO_TRANSFERS:
+ const updatedBitGoTransfers = {
+ ...newState.bitGoTransfers
+ }
+
+ updatedBitGoTransfers[action.coin] = action.transfers
+
+ return extend(newState, {
+ bitGoTransfers: updatedBitGoTransfers
+ })
+
+ case actions.SET_BITGO_WALLET_CREATED:
+ const updatedBitGoCreatedWallets = newState.bitGoCreatedWallets.push(action.coin)
+
+ return extend(newState, {
+ bitGoCreatedWallets: updatedBitGoCreatedWallets
+ })
default:
return newState
}
diff --git a/brave/ui/app/helpers/constants/routes.js b/brave/ui/app/helpers/constants/routes.js
index 3f47d3574..9e860bb8f 100644
--- a/brave/ui/app/helpers/constants/routes.js
+++ b/brave/ui/app/helpers/constants/routes.js
@@ -1,5 +1,7 @@
const Routes = require('../../../../../ui/app/helpers/constants/routes')
Routes.INITIALIZE_SELECT_ACTION_ROUTE = Routes.INITIALIZE_WELCOME_ROUTE
+Routes.BRAVE_CONNECT_WALLETS_ROUTE = '/connect-wallets'
+Routes.BRAVE_BITGO_WALLET_INDEX = '/bitgo-account-view'
module.exports = Routes
diff --git a/brave/ui/app/pages/connect-accounts/connect-accounts.component.js b/brave/ui/app/pages/connect-accounts/connect-accounts.component.js
new file mode 100644
index 000000000..524225c23
--- /dev/null
+++ b/brave/ui/app/pages/connect-accounts/connect-accounts.component.js
@@ -0,0 +1,175 @@
+import React, { PureComponent } from 'react'
+import PropTypes from 'prop-types'
+import BitGoLogoIcon from '../../components/app/dropdowns/assets/bitgo-logo'
+import ConnectWallet from '../../components/app/connect-wallet'
+import CloseIcon from '../first-time-flow/welcome-modal/assets/close-icon'
+import CloseIconDark from '../first-time-flow/welcome-modal/assets/close-icon-dark'
+import {
+ BRAVE_CONNECT_WALLETS_ROUTE,
+ INITIALIZE_CREATE_PASSWORD_ROUTE,
+ BRAVE_BITGO_WALLET_INDEX
+} from '../../helpers/constants/routes'
+const { supportedCoins } = require('../../../../app/scripts/controllers/bitgo')
+
+module.exports = class BraveConnectAccounts extends PureComponent {
+ static contextTypes = {
+ t: PropTypes.func,
+ }
+
+ static propTypes = {
+ history: PropTypes.object,
+ createBitGoWallet: PropTypes.func,
+ bitGoCreatedWallets: PropTypes.array,
+ }
+
+ constructor (props) {
+ super(props)
+
+ const checkedAssets = {}
+ const { bitGoCreatedWallets } = this.props
+ this.bitGoCreateableAssets = {}
+
+ for (let coin in supportedCoins) {
+ if (!bitGoCreatedWallets.includes(coin)) {
+ this.bitGoCreateableAssets[coin] = supportedCoins[coin]
+ }
+ }
+
+ Object.keys(this.bitGoCreateableAssets).map((key) => {
+ checkedAssets[key] = false
+ })
+
+ this.state = {
+ checkedAssets,
+ showBitGoModal: false
+ }
+ }
+
+ onCreate = () => {
+ this.props.history.push(INITIALIZE_CREATE_PASSWORD_ROUTE)
+ }
+
+ onConnectFinish = () => {
+ this.props.history.push(BRAVE_CONNECT_WALLETS_ROUTE)
+ }
+
+ onCreateBitGoWallets = () => {
+ const { checkedAssets } = this.state
+
+ for (let coin in checkedAssets) {
+ if (checkedAssets[coin]) {
+ this.props.createBitGoWallet(coin)
+ }
+ }
+
+ this.props.history.push(BRAVE_BITGO_WALLET_INDEX)
+ }
+
+ onConnectBitGoWallets = () => {
+ this.setState({ showBitGoModal: !this.state.showBitGoModal })
+ }
+
+ checkAsset = (asset) => {
+ const { checkedAssets } = this.state
+ checkedAssets[asset] = !checkedAssets[asset]
+ this.setState({ checkedAssets })
+ }
+
+ getCryptoImage = (asset) => {
+ // temporary
+ if (asset === 'bsv' || asset === 'btg' || asset === 'eos' || asset === 'algo') {
+ asset = 'btc'
+ }
+
+ return (
+
+ )
+ }
+
+ renderBitGoModal () {
+ const { checkedAssets } = this.state
+
+ return (
+
+
+
+
+
+
+ {'Select all crypto assets you would like to interact with.'}
+
+
{'A new wallet will be generated for each coin checked. Two of three private keys are stored on BitGo. The third key will be stored securely on Brave.'}
+
+ {Object.keys(this.bitGoCreateableAssets).map((key) => {
+ const isChecked = checkedAssets[key]
+
+ return (
+
+
+
+
+
+ {this.getCryptoImage(key)}
+
+
+ {this.bitGoCreateableAssets[key]}
+
+
+
+ )
+ })}
+
+
+
+
+ {'Create Wallets'}
+
+
+
+
+ )
+ }
+
+ render () {
+ const { showBitGoModal } = this.state
+
+ return (
+
+ {
+ showBitGoModal
+ ? this.renderBitGoModal()
+ : null
+ }
+
+
+ {'Wallets'}
+
+
+
+
+
+
+
+
+ )
+ }
+}
diff --git a/brave/ui/app/pages/connect-accounts/connect-accounts.container.js b/brave/ui/app/pages/connect-accounts/connect-accounts.container.js
new file mode 100644
index 000000000..ae8e1d232
--- /dev/null
+++ b/brave/ui/app/pages/connect-accounts/connect-accounts.container.js
@@ -0,0 +1,24 @@
+import { connect } from 'react-redux'
+import { withRouter } from 'react-router-dom'
+import { compose } from 'recompose'
+import { createBitGoWallet } from '../../store/actions'
+import ConnectAccounts from './connect-accounts.component'
+
+const mapStateToProps = ({ metamask }) => {
+ const { bitGoCreatedWallets } = metamask
+
+ return {
+ bitGoCreatedWallets
+ }
+}
+
+const mapDispatchToProps = dispatch => {
+ return {
+ createBitGoWallet: (coin) => dispatch(createBitGoWallet(coin)),
+ }
+}
+
+export default compose(
+ withRouter,
+ connect(mapStateToProps, mapDispatchToProps)
+)(ConnectAccounts)
diff --git a/brave/ui/app/pages/connect-accounts/index.js b/brave/ui/app/pages/connect-accounts/index.js
new file mode 100644
index 000000000..b706399ab
--- /dev/null
+++ b/brave/ui/app/pages/connect-accounts/index.js
@@ -0,0 +1 @@
+export { default } from './connect-accounts.container'
diff --git a/brave/ui/app/pages/first-time-flow/welcome-modal/index.scss b/brave/ui/app/pages/first-time-flow/welcome-modal/index.scss
index 04b0c7f4b..c12b4a40f 100644
--- a/brave/ui/app/pages/first-time-flow/welcome-modal/index.scss
+++ b/brave/ui/app/pages/first-time-flow/welcome-modal/index.scss
@@ -80,4 +80,57 @@
font-size: 14px;
}
}
+
+ .__bitgo {
+
+ h3 {
+ font-weight: bold;
+ margin-top: 20px;
+ }
+
+ .__wallets-area {
+ margin-top: 30px;
+ overflow-y: scroll;
+ max-height: 250px;
+ border: 1px solid #d3d3d3;
+
+ .__bitgo-wallet-item {
+ padding: 10px;
+ cursor: pointer;
+ border-bottom: 1px solid #d3d3d3;
+
+ .__left-info {
+
+ .__checkmark {
+ width: 20px;
+ height: 20px;
+ float: left;
+ margin-top: 3px;
+ border: 1px solid #d3d3d3;
+ }
+
+ .__checkmark.checked {
+ background: #fb794f;
+ }
+
+ .__asset-icon {
+ float: left;
+
+ img {
+ width: 30px;
+ margin: -2px 10px 0px 10px;
+ }
+ }
+
+ .__asset-name {
+ display: inline-block;
+ }
+ }
+ }
+ }
+ }
+
+ .__buton-create {
+ background: #fb794f;
+ }
}
diff --git a/brave/ui/app/pages/provider-wallet/index.js b/brave/ui/app/pages/provider-wallet/index.js
new file mode 100644
index 000000000..007a5bac6
--- /dev/null
+++ b/brave/ui/app/pages/provider-wallet/index.js
@@ -0,0 +1 @@
+export { default } from './provider-wallet.container'
diff --git a/brave/ui/app/pages/provider-wallet/index.scss b/brave/ui/app/pages/provider-wallet/index.scss
new file mode 100644
index 000000000..dcb296c73
--- /dev/null
+++ b/brave/ui/app/pages/provider-wallet/index.scss
@@ -0,0 +1,71 @@
+.provider-wallet {
+ width: 1000px;
+ background: white;
+ min-height: 800px;
+
+ .__info-column {
+ float: left;
+ height: 100%;
+ width: 350px;
+ background: #f7f8f9;
+
+ .__account-balance {
+ height: 230px;
+ background: #019fe8;
+ }
+
+ .__account-info {
+ text-align: center;
+ top: 90px;
+ color: #fff;
+ position: relative;
+
+ span {
+ display: block;
+ }
+
+ .__value {
+ color: #6ec8f1;
+ }
+
+ .__balance {
+ font-weight: bold;
+ font-size: 40px;
+ }
+ }
+
+ .__asset-list {
+ color: #000;
+ font-size: 25px;
+
+ .__asset.active {
+ color: #fff;
+ background: #93949d;
+ }
+
+ .__asset {
+ overflow: auto;
+ padding: 20px;
+
+ .__logo {
+ float: left;
+ margin-right: 10px;
+ }
+
+ .__ticker {
+ top: 9px;
+ position: relative;
+ margin-left: 5px;
+ }
+ }
+ }
+ }
+
+ .__activity_pane {
+ width: 650px;
+ }
+}
+
+.dropdown-menu-item {
+ border-top: none !important;
+}
diff --git a/brave/ui/app/pages/provider-wallet/provider-wallet.component.js b/brave/ui/app/pages/provider-wallet/provider-wallet.component.js
new file mode 100644
index 000000000..5885e1414
--- /dev/null
+++ b/brave/ui/app/pages/provider-wallet/provider-wallet.component.js
@@ -0,0 +1,106 @@
+import React, { PureComponent } from 'react'
+import PropTypes from 'prop-types'
+
+module.exports = class BraveProviderWallet extends PureComponent {
+ static contextTypes = {
+ t: PropTypes.func,
+ }
+
+ static propTypes = {
+ bitGoBalances: PropTypes.object,
+ bitGoTransfers: PropTypes.object,
+ bitGoCreatedWallets: PropTypes.array,
+ getBitGoWalletBalance: PropTypes.func,
+ getBitGoWalletTransfers: PropTypes.func,
+ sendBitGoTransaction: PropTypes.func,
+ }
+
+ constructor (props) {
+ super (props)
+
+ this.refreshTimer = null
+
+ const { bitGoCreatedWallets } = this.props
+ const currentAsset = bitGoCreatedWallets.length ? bitGoCreatedWallets[0] : ''
+
+ this.state = {
+ currentAsset
+ }
+ }
+
+ componentDidMount () {
+ this.updateBitGoInfo()
+ this.refreshTimer = setInterval(this.updateBitGoInfo, 150000)
+ }
+
+ componentWillUnmount() {
+ clearInterval(this.refreshTimer)
+ }
+
+ updateBitGoInfo = () => {
+ const {
+ getBitGoWalletBalance,
+ getBitGoWalletTransfers,
+ } = this.props
+
+ getBitGoWalletBalance()
+ getBitGoWalletTransfers()
+ }
+
+ getCryptoIcon = (asset, large = true) => {
+ const ext = large ? 'large' : 'small'
+
+ return (
+
+ )
+ }
+
+ renderAssetList = () => {
+ const {
+ bitGoBalances,
+ bitGoCreatedWallets,
+ } = this.props
+
+ return (
+
+ {bitGoCreatedWallets.map((asset) => {
+ const balance = bitGoBalances[asset] || '0.00'
+ const activeClass = this.state.currentAsset === asset ? 'active' : ''
+
+ return (
+
+
+ {this.getCryptoIcon(asset)}
+
+
{`${balance} ${asset.toUpperCase()}`}
+
+ )
+ })}
+
+ )
+ }
+
+ renderTransactions = () => {
+ const { bitGoTransfers } = this.props
+ return null
+ }
+
+ render () {
+ return (
+
+
+
+
+ Total Value
+ $0.00
+
+
+ {this.renderAssetList()}
+
+
+ {this.renderTransactions()}
+
+
+ )
+ }
+}
diff --git a/brave/ui/app/pages/provider-wallet/provider-wallet.container.js b/brave/ui/app/pages/provider-wallet/provider-wallet.container.js
new file mode 100644
index 000000000..b263d72e4
--- /dev/null
+++ b/brave/ui/app/pages/provider-wallet/provider-wallet.container.js
@@ -0,0 +1,36 @@
+import { connect } from 'react-redux'
+import { withRouter } from 'react-router-dom'
+import { compose } from 'recompose'
+import {
+ getBitGoWalletBalance,
+ getBitGoWalletTransfers,
+ sendBitGoTransaction
+} from '../../store/actions'
+import ProviderWallet from './provider-wallet.component'
+
+const mapStateToProps = ({ metamask }) => {
+ const {
+ bitGoBalances,
+ bitGoTransfers,
+ bitGoCreatedWallets
+ } = metamask
+
+ return {
+ bitGoBalances,
+ bitGoTransfers,
+ bitGoCreatedWallets
+ }
+}
+
+const mapDispatchToProps = dispatch => {
+ return {
+ getBitGoWalletBalance: (coin) => dispatch(getBitGoWalletBalance(coin)),
+ getBitGoWalletTransfers: (coin) => dispatch(getBitGoWalletTransfers(coin)),
+ sendBitGoTransaction: (coin, amount, recipientAddress) => dispatch(sendBitGoTransaction(coin, amount, recipientAddress)),
+ }
+}
+
+export default compose(
+ withRouter,
+ connect(mapStateToProps, mapDispatchToProps)
+)(ProviderWallet)
diff --git a/brave/ui/app/store/actions.js b/brave/ui/app/store/actions.js
index fd2ca1923..e17229308 100644
--- a/brave/ui/app/store/actions.js
+++ b/brave/ui/app/store/actions.js
@@ -9,6 +9,18 @@ MetaMaskActions.setRewardsDisclosureAccepted = setRewardsDisclosureAccepted
MetaMaskActions.showModal = showModal
+// BitGo
+MetaMaskActions.createBitGoWallet = createBitGoWallet
+MetaMaskActions.getBitGoWalletBalance = getBitGoWalletBalance
+MetaMaskActions.getBitGoWalletTransfers = getBitGoWalletTransfers
+MetaMaskActions.sendBitGoTransaction = sendBitGoTransaction
+MetaMaskActions.createNewVault = createNewVault
+MetaMaskActions.createNewVaultAndRestore = createNewVaultAndRestore
+
+MetaMaskActions.SET_BITGO_BALANCE = 'SET_BITGO_BALANCE'
+MetaMaskActions.SET_BITGO_TRANSFERS = 'SET_BITGO_TRANSFERS'
+MetaMaskActions.SET_BITGO_WALLET_CREATED = 'SET_BITGO_WALLET_CREATED'
+
var background = null // eslint-disable-line no-var
const parentSetBackground = MetaMaskActions._setBackgroundConnection
@@ -19,6 +31,122 @@ function setBackgroundConnection (newConnection) {
MetaMaskActions._setBackgroundConnection = setBackgroundConnection
+function createBitGoWallet (coin) {
+ return (dispatch) => {
+ return new Promise((resolve, reject) => {
+ background.createBitGoWallet(coin, (err) => {
+ if (err) {
+ dispatch(MetaMaskActions.displayWarning(err.message))
+ return reject(err)
+ }
+ dispatch({
+ coin,
+ type: MetaMaskActions.SET_BITGO_WALLET_CREATED
+ })
+ resolve()
+ })
+ })
+ }
+}
+
+function getBitGoWalletBalance (coin) {
+ return (dispatch) => {
+ background.getBitGoWalletBalance(coin, (err, balance) => {
+ if (err) {
+ log.error(err)
+ return dispatch(actions.displayWarning(`Could not get BitGo balances for ${coin}`))
+ }
+ dispatch({
+ coin,
+ balance,
+ type: MetaMaskActions.SET_BITGO_BALANCE
+ })
+ })
+ }
+}
+
+function getBitGoWalletTransfers (coin) {
+ return (dispatch) => {
+ background.getBitGoWalletTransfers(coin, (err, transfers) => {
+ if (err) {
+ log.error(err)
+ return dispatch(actions.displayWarning(`Could not get BitGo transfers for ${coin}`))
+ }
+ dispatch({
+ coin,
+ transfers,
+ type: MetaMaskActions.SET_BITGO_TRANSFERS
+ })
+ })
+ }
+}
+
+function sendBitGoTransaction (coin, amount, recipientAddress) {
+ return (dispatch) => {
+ return new Promise((resolve, reject) => {
+ background.sendBitGoTransaction(coin, amount, recipientAddress, (err) => {
+ if (err) {
+ dispatch(MetaMaskActions.displayWarning(err.message))
+ return reject(err)
+ }
+ resolve()
+ })
+ })
+ }
+}
+
+function createNewVault (password) {
+ return new Promise((resolve, reject) => {
+ background.createNewVaultAndKeychain(password, error => {
+ if (error) {
+ return reject(error)
+ }
+ background.unlockAndSetKey(password, (err) => {
+ if (err) {
+ return dispatch(MetaMaskActions.displayWarning(err.message))
+ }
+ })
+ resolve(true)
+ })
+ })
+}
+
+function createNewVaultAndRestore (password, seed) {
+ return (dispatch) => {
+ dispatch(MetaMaskActions.showLoadingIndication())
+ log.debug(`background.createNewVaultAndRestore`)
+ let vault
+ return new Promise((resolve, reject) => {
+ background.createNewVaultAndRestore(password, seed, (err, _vault) => {
+ if (err) {
+ return reject(err)
+ }
+ vault = _vault
+ resolve()
+ })
+ })
+ .then(() => {
+ background.unlockAndSetKey(password, (err) => {
+ if (err) {
+ return dispatch(MetaMaskActions.displayWarning(err.message))
+ }
+ return true
+ })
+ })
+ .then(() => dispatch(MetaMaskActions.unMarkPasswordForgotten()))
+ .then(() => {
+ dispatch(MetaMaskActions.showAccountsPage())
+ dispatch(MetaMaskActions.hideLoadingIndication())
+ return vault
+ })
+ .catch(err => {
+ dispatch(MetaMaskActions.displayWarning(err.message))
+ dispatch(MetaMaskActions.hideLoadingIndication())
+ return Promise.reject(err)
+ })
+ }
+}
+
function setBatTokenAdded () {
return (dispatch) => {
background.setBatTokenAdded((err) => {
diff --git a/package.json b/package.json
index e3569cf79..fa9227141 100644
--- a/package.json
+++ b/package.json
@@ -70,7 +70,8 @@
"swarm-js": "^0.1.40",
"minimist": "^1.2.3",
"node-sass": "^4.13.1",
- "kind-of": "^6.0.3"
+ "kind-of": "^6.0.3",
+ "sanitize-html": "1.13.0"
},
"dependencies": {
"3box": "^1.10.2",
@@ -89,6 +90,7 @@
"bluebird": "^3.5.0",
"bn.js": "^4.11.7",
"boron": "^0.2.3",
+ "brave-bitgo-client": "github:brave/bitgo-client#3300bcb9b59cdfbfe739d43db17f8bc655d6eae3",
"browser-passworder": "^2.0.3",
"browserify-derequire": "^0.9.4",
"browserify-unibabel": "^3.0.0",
diff --git a/ui/app/pages/routes/index.js b/ui/app/pages/routes/index.js
index 01e61b1b4..81382b93a 100644
--- a/ui/app/pages/routes/index.js
+++ b/ui/app/pages/routes/index.js
@@ -50,6 +50,10 @@ import {
submittedPendingTransactionsSelector,
} from '../../selectors/transactions'
+// Brave
+import BraveConnectAccounts from '../../../../brave/ui/app/pages/connect-accounts'
+import BraveProviderWallet from '../../../../brave/ui/app/pages/provider-wallet'
+
// Routes
import {
DEFAULT_ROUTE,
@@ -67,6 +71,8 @@ import {
CONFIRM_TRANSACTION_ROUTE,
INITIALIZE_ROUTE,
INITIALIZE_UNLOCK_ROUTE,
+ BRAVE_CONNECT_WALLETS_ROUTE,
+ BRAVE_BITGO_WALLET_INDEX
} from '../../helpers/constants/routes'
// enums
@@ -117,6 +123,8 @@ class Routes extends Component {
+
+
)
diff --git a/yarn.lock b/yarn.lock
index 87e61aea0..0be910c56 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1301,6 +1301,13 @@
dependencies:
regenerator-runtime "^0.13.2"
+"@babel/runtime@7.6.0":
+ version "7.6.0"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.0.tgz#4fc1d642a9fd0299754e8b5de62c631cf5568205"
+ integrity sha512-89eSBLJsxNxOERC0Op4vd+0Bqm6wRMqMbFtV3i0/fbaWw/mJ8Q3eBvgX0G4SyrOOLCtbu98HspF8o09MRT+KzQ==
+ dependencies:
+ regenerator-runtime "^0.13.2"
+
"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5":
version "7.4.5"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.5.tgz#582bb531f5f9dc67d2fcb682979894f75e253f12"
@@ -1448,6 +1455,36 @@
lodash "^4.17.13"
to-fast-properties "^2.0.0"
+"@bitgo/account-lib@^1.0.3":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@bitgo/account-lib/-/account-lib-1.1.0.tgz#5d9784f5d97efdbd07d7230baffeb4ea1a44656e"
+ integrity sha512-dX+An8tXPi6chqZnzEWyL/msMSVlKt2hE9rDXcQm4PDtIOnd5k00sPbLuKeFir2sSCBsvMuJy+iZQ9fljj2CSQ==
+ dependencies:
+ "@bitgo/statics" "^3.4.2"
+ "@taquito/local-forging" "^6.0.3-beta.0"
+ "@taquito/signer" "^6.0.3-beta.0"
+ bignumber.js "^9.0.0"
+ bitgo-utxo-lib "^1.6.0"
+ blake2b "git+https://github.com/BitGo/blake2b.git#6268e6dd678661e0acc4359e9171b97eb1ebf8ac"
+ bs58check "^2.1.2"
+ elliptic "^6.5.2"
+ libsodium-wrappers "^0.7.6"
+ protobufjs "^6.8.9"
+ tronweb "^2.7.2"
+
+"@bitgo/statics@^3.4.2", "@bitgo/statics@^3.5.0":
+ version "3.5.0"
+ resolved "https://registry.yarnpkg.com/@bitgo/statics/-/statics-3.5.0.tgz#1580dbd0ba5920acd649c6514012c9f3f2624112"
+ integrity sha512-t/KvJmaisndhrkT4HgdSrkaVDE21s2vzs9jFgt8xXfi1n7z6N0ScIBZuF1YO1BF8X9wL183Qj7Fy8yiz0pMeOw==
+
+"@bitgo/unspents@^0.6.0":
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/@bitgo/unspents/-/unspents-0.6.2.tgz#e89ff8d4e19d68253e1dc99fec2bb30192054390"
+ integrity sha512-G9jFHsfnnlQETHZVDpY66s1Pw2x6whDgPVk9iIMQ8rl7mO+hp8DzdIEmfTEGAVqbN605SFz3c1z+mhRwj1vxog==
+ dependencies:
+ lodash "~4.17.14"
+ tcomb "~3.2.29"
+
"@emotion/cache@^10.0.17":
version "10.0.19"
resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.19.tgz#d258d94d9c707dcadaf1558def968b86bb87ad71"
@@ -2030,6 +2067,54 @@
"@nodelib/fs.scandir" "2.1.2"
fastq "^1.6.0"
+"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf"
+ integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78=
+
+"@protobufjs/base64@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735"
+ integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==
+
+"@protobufjs/codegen@^2.0.4":
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb"
+ integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==
+
+"@protobufjs/eventemitter@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70"
+ integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A=
+
+"@protobufjs/fetch@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45"
+ integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=
+ dependencies:
+ "@protobufjs/aspromise" "^1.1.1"
+ "@protobufjs/inquire" "^1.1.0"
+
+"@protobufjs/float@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1"
+ integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=
+
+"@protobufjs/inquire@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089"
+ integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=
+
+"@protobufjs/path@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d"
+ integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=
+
+"@protobufjs/pool@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54"
+ integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=
+
"@protobufjs/utf8@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
@@ -2747,6 +2832,46 @@
dependencies:
defer-to-connect "^1.0.1"
+"@taquito/local-forging@^6.0.3-beta.0":
+ version "6.0.3-beta.1"
+ resolved "https://registry.yarnpkg.com/@taquito/local-forging/-/local-forging-6.0.3-beta.1.tgz#7922b03baa650b2641e9f4091fb1e3ec0b040790"
+ integrity sha512-G1OjOCAyQLkEDO/7r6c1+BseNOm+kvSivG50LEI0+57YmfvbsZih/7O7Zafc6ns0TQy5rPnBwOoRbxYWTomwJQ==
+ dependencies:
+ "@taquito/utils" "^6.0.3-beta.1"
+ bignumber.js "^9.0.0"
+
+"@taquito/signer@^6.0.3-beta.0":
+ version "6.0.3-beta.1"
+ resolved "https://registry.yarnpkg.com/@taquito/signer/-/signer-6.0.3-beta.1.tgz#18a8cae6121d0a0dc322fc6e45b80daf2f8b9e39"
+ integrity sha512-bEn15cvZmocxgN+APk50hNGorc+Uy4Jkq01WbW0KnXupzY+2wkIFuI2wy4rUe2MUnpO0zus8UexOqFOYBIWrrA==
+ dependencies:
+ "@taquito/utils" "^6.0.3-beta.1"
+ bignumber.js "^9.0.0"
+ bip39 "^3.0.2"
+ elliptic "^6.5.1"
+ libsodium-wrappers "^0.7.5"
+ pbkdf2 "^3.0.17"
+ typedarray-to-buffer "^3.1.5"
+
+"@taquito/utils@^6.0.3-beta.1":
+ version "6.0.3-beta.1"
+ resolved "https://registry.yarnpkg.com/@taquito/utils/-/utils-6.0.3-beta.1.tgz#61311a7ff6aca1a81c0e01386357d6fb8aa3456b"
+ integrity sha512-P4ddjsVSKCgkM77ewHI/Xo5bJmKMU9kCUAO6febu/IrBxYr31UcBv7YjQK5UCVQKE2ZXUG7OwhhGKifezd+AMQ==
+ dependencies:
+ blakejs "^1.1.0"
+ bs58check "^2.1.2"
+ buffer "^5.2.1"
+
+"@types/bluebird@^3.5.25":
+ version "3.5.30"
+ resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.30.tgz#ee034a0eeea8b84ed868b1aa60d690b08a6cfbc5"
+ integrity sha512-8LhzvcjIoqoi1TghEkRMkbbmM+jhHnBokPGkJWjclMK+Ks0MxEBow3/p2/iFTZ+OIbJHQDSfpgdZEb+af3gfVw==
+
+"@types/cookiejar@*":
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.1.tgz#90b68446364baf9efd8e8349bb36bd3852b75b80"
+ integrity sha512-aRnpPa7ysx3aNW60hTiCtLHlQaIFsXFCgQlpakNgDNVFzbtusSY8PwjAQgRWfSk0ekNoBjO51eQRB6upA9uuyw==
+
"@types/events@*":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
@@ -2789,6 +2914,16 @@
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.124.tgz#16fb067a8fc4be42f044c505d8b5316c6f54de93"
integrity sha512-6bKEUVbHJ8z34jisA7lseJZD2g31SIvee3cGX2KEZCS4XXWNbjPZpmO1/2rGNR9BhGtaYr6iYXPl1EzRrDAFTA==
+"@types/lodash@^4.14.136":
+ version "4.14.150"
+ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.150.tgz#649fe44684c3f1fcb6164d943c5a61977e8cf0bd"
+ integrity sha512-kMNLM5JBcasgYscD9x/Gvr6lTAv2NVgsKtet/hm93qMyf/D1pt+7jeEZklKJKxMVmXjxbRVQQGfqDSfipYCO6w==
+
+"@types/long@^4.0.1":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9"
+ integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==
+
"@types/minimatch@*":
version "3.0.3"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
@@ -2804,11 +2939,21 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67"
integrity sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==
+"@types/node@11.11.6":
+ version "11.11.6"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a"
+ integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==
+
"@types/node@^10.3.2":
version "10.14.14"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.14.tgz#a47955df2acf76ba7f0ac3b205d325da193dc9ad"
integrity sha512-xXD08vZsvpv4xptQXj1+ky22f7ZoKu5ZNI/4l+/BXG3X+XaeZsmaFbbTKuhSE3NjjvRuZFxFf9sQBMXIcZNFMQ==
+"@types/node@^13.7.0":
+ version "13.13.4"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.4.tgz#1581d6c16e3d4803eb079c87d4ac893ee7501c2c"
+ integrity sha512-x26ur3dSXgv5AwKS0lNfbjpCakGIduWU1DU91Zz58ONRWrIKGunmZBNv4P7N+e27sJkiGDsw/3fT4AtsqQBrBA==
+
"@types/node@^8.10.11":
version "8.10.48"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.48.tgz#e385073561643a9ba6199a1985ffc03530f90781"
@@ -2862,6 +3007,14 @@
dependencies:
redux "*"
+"@types/superagent@^4.1.3":
+ version "4.1.7"
+ resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-4.1.7.tgz#a7d92d98c490ee0f802a127fdf149b9a114f77a5"
+ integrity sha512-JSwNPgRYjIC4pIeOqLwWwfGj6iP1n5NE6kNBEbGx2V8H78xCPwx7QpNp9plaI30+W3cFEzJO7BIIsXE+dbtaGg==
+ dependencies:
+ "@types/cookiejar" "*"
+ "@types/node" "*"
+
"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2":
version "2.0.3"
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
@@ -2884,6 +3037,13 @@
"@types/unist" "*"
"@types/vfile-message" "*"
+"@types/ws@^7.2.0":
+ version "7.2.4"
+ resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.2.4.tgz#b3859f7b9c243b220efac9716ec42c716a72969d"
+ integrity sha512-9S6Ask71vujkVyeEXKxjBSUV8ZUB0mjL5la4IncBoheu04bDaYyUKErh1BQcY9+WzOUOiKqz/OnpJHYckbMfNg==
+ dependencies:
+ "@types/node" "*"
+
"@webassemblyjs/ast@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359"
@@ -3332,7 +3492,7 @@ agent-base@4, agent-base@^4.2.0:
dependencies:
es6-promisify "^5.0.0"
-agent-base@^4.3.0:
+agent-base@^4.1.0, agent-base@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee"
integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==
@@ -3452,6 +3612,16 @@ ajv@^6.10.0, ajv@^6.9.1:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
+"algosdk@git+https://github.com/BitGo/algosdk-bitgo.git":
+ version "1.2.0"
+ resolved "git+https://github.com/BitGo/algosdk-bitgo.git#0668c1412466beff2591a94c10c8bad06e21d872"
+ dependencies:
+ hi-base32 "^0.5.0"
+ js-sha512 "^0.8.0"
+ msgpack-lite "git+https://github.com/algorand/msgpack-lite.git"
+ superagent "^4.1.0"
+ tweetnacl "^1.0.1"
+
amdefine@>=0.0.4:
version "1.0.1"
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
@@ -4290,6 +4460,21 @@ aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
+axios@^0.18.0:
+ version "0.18.1"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3"
+ integrity sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==
+ dependencies:
+ follow-redirects "1.5.10"
+ is-buffer "^2.0.2"
+
+axios@^0.19.0:
+ version "0.19.2"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27"
+ integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==
+ dependencies:
+ follow-redirects "1.5.10"
+
babel-code-frame@^6.16.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
@@ -5094,7 +5279,7 @@ babel-register@^6.26.0:
mkdirp "^0.5.1"
source-map-support "^0.4.15"
-babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0:
+babel-runtime@6.26.0, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0, babel-runtime@^6.6.1:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
@@ -5102,6 +5287,13 @@ babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0:
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
+babel-runtime@^5.8.20:
+ version "5.8.38"
+ resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-5.8.38.tgz#1c0b02eb63312f5f087ff20450827b425c9d4c19"
+ integrity sha1-HAsC62MxL18If/IEUIJ7QlydTBk=
+ dependencies:
+ core-js "^1.0.0"
+
babel-standalone@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-standalone/-/babel-standalone-6.26.0.tgz#15fb3d35f2c456695815ebf1ed96fe7f015b6886"
@@ -5212,7 +5404,14 @@ base-x@3.0.4, base-x@^3.0.2:
dependencies:
safe-buffer "^5.0.1"
-base-x@^1.1.0:
+base-x@3.0.7:
+ version "3.0.7"
+ resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.7.tgz#1c5a7fafe8f66b4114063e8da102799d4e7c408f"
+ integrity sha512-zAKJGuQPihXW22fkrfOclUUZXM2g92z5GzlSMHxhO6r6Qj+Nm0ccaGNBzDZojzwOMkpjAv4J0fOv1U4go+a4iw==
+ dependencies:
+ safe-buffer "^5.0.1"
+
+base-x@^1.0.1, base-x@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/base-x/-/base-x-1.1.0.tgz#42d3d717474f9ea02207f6d1aa1f426913eeb7ac"
integrity sha1-QtPXF0dPnqAiB/bRqh9CaRPut6w=
@@ -5279,11 +5478,21 @@ bcrypt-pbkdf@^1.0.0:
dependencies:
tweetnacl "^0.14.3"
+bech32@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/bech32/-/bech32-0.0.3.tgz#736747c4a6531c5d8937d0400498de30e93b2f9c"
+ integrity sha512-O+K1w8P/aAOLcYwwQ4sbiPYZ51ZIW95lnS4/6nE8Aib/z+OOddQIIPdu2qi94qGDp4HhYy/wJotttXKkak1lXg==
+
bech32@^1.1.2:
version "1.1.3"
resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.3.tgz#bd47a8986bbb3eec34a56a097a84b8d3e9a2dfcd"
integrity sha512-yuVFUvrNcoJi0sv5phmqc6P+Fl1HjRDRNOOkHY2X/3LBy2bIGNSFx4fZ95HMaXHupuS7cZR15AsvtmCIF4UEyg==
+bech32@^1.1.3:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9"
+ integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==
+
beeper@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809"
@@ -5306,11 +5515,21 @@ big.js@^5.1.2, big.js@^5.2.2:
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
-bignumber.js@^4.1.0:
+bigi@1.4.2, bigi@^1.1.0, bigi@^1.4.0, bigi@^1.4.2, bigi@~1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/bigi/-/bigi-1.4.2.tgz#9c665a95f88b8b08fc05cfd731f561859d725825"
+ integrity sha1-nGZalfiLiwj8Bc/XMfVhhZ1yWCU=
+
+bignumber.js@^4.0.0, bignumber.js@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-4.1.0.tgz#db6f14067c140bd46624815a7916c92d9b6c24b1"
integrity sha512-eJzYkFYy9L4JzXsbymsFn3p54D+llV27oTQ+ziJG7WFRheJcNZilgVXMG0LoZtlQSKBsJdWtLFqOD0u+U0jZKA==
+bignumber.js@^7.2.1:
+ version "7.2.1"
+ resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-7.2.1.tgz#80c048759d826800807c4bfd521e50edbba57a5f"
+ integrity sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==
+
bignumber.js@^8.0.1, bignumber.js@^8.0.2, bignumber.js@^8.1.1:
version "8.1.1"
resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-8.1.1.tgz#4b072ae5aea9c20f6730e4e5d529df1271c4d885"
@@ -5397,6 +5616,11 @@ binaryen@77.0.0-nightly.20190407:
resolved "https://registry.yarnpkg.com/binaryen/-/binaryen-77.0.0-nightly.20190407.tgz#fbe4f8ba0d6bd0809a84eb519d2d5b5ddff3a7d1"
integrity sha512-1mxYNvQ0xywMe582K7V6Vo2zzhZZxMTeGHH8aE/+/AND8f64D8Q1GThVY3RVRwGY/4p+p95ccw9Xbw2ovFXRIg==
+binaryen@^37.0.0:
+ version "37.0.0"
+ resolved "https://registry.yarnpkg.com/binaryen/-/binaryen-37.0.0.tgz#c392bc784b6d46da8fc918b1a4ed8257a0cd8b08"
+ integrity sha512-ACBhSXtQvZvJZ8LNM5R/8HTk57Nr4J+HIrGfIfbIM9OpyaMePsXMgzVt+cMcCgX+sm4bmq5ed0kGgxd9RZ3Kkw==
+
binaryextensions@~1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-1.0.1.tgz#1e637488b35b58bda5f4774bf96a5212a8c90755"
@@ -5465,7 +5689,17 @@ bip39@^2.5.0:
safe-buffer "^5.0.1"
unorm "^1.3.3"
-bip66@^1.1.0, bip66@^1.1.5:
+bip39@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.2.tgz#2baf42ff3071fc9ddd5103de92e8f80d9257ee32"
+ integrity sha512-J4E1r2N0tUylTKt07ibXvhpT2c5pyAFgvuA5q1H9uDy6dEGpjV8jmymh3MTYJDLCNbIVClSB9FbND49I6N24MQ==
+ dependencies:
+ "@types/node" "11.11.6"
+ create-hash "^1.1.0"
+ pbkdf2 "^3.0.9"
+ randombytes "^2.0.1"
+
+bip66@^1.1.0, bip66@^1.1.3, bip66@^1.1.5:
version "1.1.5"
resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22"
integrity sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=
@@ -5477,6 +5711,11 @@ bitcoin-ops@^1.3.0, bitcoin-ops@^1.4.0:
resolved "https://registry.yarnpkg.com/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz#e45de620398e22fd4ca6023de43974ff42240278"
integrity sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow==
+bitcoin-ops@~1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/bitcoin-ops/-/bitcoin-ops-1.3.0.tgz#6b126b585537bc679b02ed499f14450cffc37e13"
+ integrity sha1-axJrWFU3vGebAu1JnxRFDP/DfhM=
+
bitcoinjs-lib@^5.0.0:
version "5.1.2"
resolved "https://registry.yarnpkg.com/bitcoinjs-lib/-/bitcoinjs-lib-5.1.2.tgz#35e334a145670a4f335b20e0ac376a4b15648697"
@@ -5499,6 +5738,106 @@ bitcoinjs-lib@^5.0.0:
varuint-bitcoin "^1.0.4"
wif "^2.0.1"
+bitcoinjs-lib@~3.0.2:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/bitcoinjs-lib/-/bitcoinjs-lib-3.0.3.tgz#3470eed5d6778b5404b770effbd0fcbb2bd89655"
+ integrity sha1-NHDu1dZ3i1QEt3Dv+9D8uyvYllU=
+ dependencies:
+ bigi "^1.4.0"
+ bip66 "^1.1.0"
+ bitcoin-ops "^1.3.0"
+ bs58check "^2.0.0"
+ create-hash "^1.1.0"
+ create-hmac "^1.1.3"
+ ecurve "^1.0.0"
+ merkle-lib "^2.0.10"
+ pushdata-bitcoin "^1.0.1"
+ randombytes "^2.0.1"
+ typeforce "^1.8.7"
+ varuint-bitcoin "^1.0.4"
+ wif "^2.0.1"
+
+bitcoinjs-message@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/bitcoinjs-message/-/bitcoinjs-message-2.1.0.tgz#5fe36a7d92473bdc929d9183416970bbef1690ad"
+ integrity sha512-xVL2YvyAJUI8ZwfNpi6Ju5zda3+QYGHTLUvISDb0VHWbsWn9Zyvd1o8XHRC/0r+DNwDIwenpXDSPl1XLCMGnMA==
+ dependencies:
+ bech32 "^1.1.3"
+ bs58check "^2.1.2"
+ buffer-equals "^1.0.3"
+ create-hash "^1.1.2"
+ secp256k1 "^3.0.1"
+ varuint-bitcoin "^1.0.1"
+
+bitgo-utxo-lib@^1.6.0, bitgo-utxo-lib@^1.7.0-rc:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/bitgo-utxo-lib/-/bitgo-utxo-lib-1.8.0.tgz#22b8ffb8dccf4fe74b6815407f1c1ebf1f4ad82f"
+ integrity sha512-6FQhml+7PKkR70cF6Kkj0JDKWhJb6czDcxJjyaq12fSKhn1hHjQCS4TrHYVmJuf4JH2xuaANX2Jx6exanTT8fQ==
+ dependencies:
+ bech32 "0.0.3"
+ bigi "^1.4.0"
+ bip66 "^1.1.0"
+ bitcoin-ops "^1.3.0"
+ blake2b "https://github.com/BitGo/blake2b#6268e6dd678661e0acc4359e9171b97eb1ebf8ac"
+ bs58check "^2.0.0"
+ create-hash "^1.1.0"
+ create-hmac "^1.1.3"
+ debug "~3.1.0"
+ ecurve "^1.0.0"
+ merkle-lib "^2.0.10"
+ pushdata-bitcoin "^1.0.1"
+ randombytes "^2.0.1"
+ safe-buffer "^5.0.1"
+ typeforce "^1.11.3"
+ varuint-bitcoin "^1.0.4"
+ wif "^2.0.1"
+ optionalDependencies:
+ secp256k1 "^3.5.2"
+
+bitgo@^11.0.1:
+ version "11.0.3"
+ resolved "https://registry.yarnpkg.com/bitgo/-/bitgo-11.0.3.tgz#d2ddd0be692c1c58963e2b94529dd9811dd36966"
+ integrity sha512-mhy3gLkvj3DwcZeckjNboP0vVfV5VN+QFpr2uypfeH5O1mPwjTDov22GU6mtuxh2Lg4hGIUV6eilgzHr2Lp1Ew==
+ dependencies:
+ "@bitgo/account-lib" "^1.0.3"
+ "@bitgo/statics" "^3.5.0"
+ "@bitgo/unspents" "^0.6.0"
+ "@types/bluebird" "^3.5.25"
+ "@types/superagent" "^4.1.3"
+ algosdk "git+https://github.com/BitGo/algosdk-bitgo.git"
+ big.js "^3.1.3"
+ bigi "^1.4.0"
+ bignumber.js "^8.0.1"
+ bitcoinjs-message "^2.0.0"
+ bitgo-utxo-lib "^1.7.0-rc"
+ bluebird "^3.5.3"
+ bs58 "^2.0.1"
+ bs58check "^1.0.4"
+ cashaddress "^1.1.0"
+ create-hmac "^1.1.7"
+ debug "^3.1.0"
+ ecurve "^1.0.6"
+ eol "^0.5.0"
+ eosjs "^16.0.8"
+ eosjs-ecc "^4.0.4"
+ lodash "^4.17.14"
+ moment "^2.20.1"
+ prova-lib "^0.2.10"
+ ripple-address-codec "^4.0.0"
+ ripple-binary-codec "^0.2.4"
+ ripple-keypairs "^0.11.0"
+ ripple-lib "^1.4.1"
+ sanitize-html "^1.13.0"
+ secrets.js-grempe "^1.1.0"
+ stellar-sdk "^0.11.0"
+ superagent "^3.8.3"
+ superagent-proxy "^1.0.3"
+ optionalDependencies:
+ ethereumjs-abi "^0.6.5"
+ ethereumjs-tx "^1.3.7"
+ ethereumjs-util "^4.4.1"
+ secp256k1 "^3.6.1"
+
bl@^1.0.0:
version "1.2.2"
resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c"
@@ -5521,6 +5860,27 @@ bl@^3.0.0:
dependencies:
readable-stream "^3.0.1"
+"blake2b-wasm@https://github.com/BitGo/blake2b-wasm#193cdb71656c1a6c7f89b05d0327bb9b758d071b":
+ version "2.0.0"
+ resolved "https://github.com/BitGo/blake2b-wasm#193cdb71656c1a6c7f89b05d0327bb9b758d071b"
+ dependencies:
+ nanoassert "^1.0.0"
+
+"blake2b@git+https://github.com/BitGo/blake2b.git#6268e6dd678661e0acc4359e9171b97eb1ebf8ac":
+ version "2.1.3"
+ resolved "git+https://github.com/BitGo/blake2b.git#6268e6dd678661e0acc4359e9171b97eb1ebf8ac"
+ dependencies:
+ blake2b-wasm "https://github.com/BitGo/blake2b-wasm#193cdb71656c1a6c7f89b05d0327bb9b758d071b"
+ nanoassert "^1.0.0"
+
+"blake2b@https://github.com/BitGo/blake2b#6268e6dd678661e0acc4359e9171b97eb1ebf8ac":
+ version "2.1.3"
+ uid "6268e6dd678661e0acc4359e9171b97eb1ebf8ac"
+ resolved "https://github.com/BitGo/blake2b#6268e6dd678661e0acc4359e9171b97eb1ebf8ac"
+ dependencies:
+ blake2b-wasm "https://github.com/BitGo/blake2b-wasm#193cdb71656c1a6c7f89b05d0327bb9b758d071b"
+ nanoassert "^1.0.0"
+
blakejs@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.0.tgz#69df92ef953aa88ca51a32df6ab1c54a155fc7a5"
@@ -5558,7 +5918,7 @@ bn.js@4.11.6:
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215"
integrity sha1-UzRK2xRhehP26N0s4okF0cC6MhU=
-bn.js@4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.10.0, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.6, bn.js@^4.11.7, bn.js@^4.11.8, bn.js@^4.4.0, bn.js@^4.8.0:
+bn.js@4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.10.0, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.3, bn.js@^4.11.6, bn.js@^4.11.7, bn.js@^4.11.8, bn.js@^4.4.0, bn.js@^4.8.0:
version "4.11.8"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
@@ -5578,6 +5938,16 @@ bn.js@^2.0.0:
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-2.2.0.tgz#12162bc2ae71fc40a5626c33438f3a875cd37625"
integrity sha1-EhYrwq5x/EClYmwzQ486h1zTdiU=
+bn.js@^3.1.1:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-3.3.0.tgz#1138e577889fdc97bbdab51844f2190dfc0ae3d7"
+ integrity sha1-ETjld4if3Je72rUYRPIZDfwK49c=
+
+bn.js@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.1.tgz#48efc4031a9c4041b9c99c6941d903463ab62eb5"
+ integrity sha512-IUTD/REb78Z2eodka1QZyyEk66pciRcP6Sroka0aI3tG/iwIdYLrBD62RsubR7vqdt3WyX8p4jxeatzmRSphtA==
+
body-parser@1.19.0, body-parser@^1.15.0, body-parser@^1.16.0, body-parser@^1.16.1:
version "1.19.0"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
@@ -5690,6 +6060,12 @@ braces@^1.8.2, braces@^2.3.1, braces@^2.3.2, braces@^3.0.1:
split-string "^3.0.2"
to-regex "^3.0.1"
+"brave-bitgo-client@github:brave/bitgo-client#3300bcb9b59cdfbfe739d43db17f8bc655d6eae3":
+ version "0.0.1"
+ resolved "https://codeload.github.com/brave/bitgo-client/tar.gz/3300bcb9b59cdfbfe739d43db17f8bc655d6eae3"
+ dependencies:
+ bitgo "^11.0.1"
+
brave-crypto@^0.2.1, brave-crypto@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/brave-crypto/-/brave-crypto-0.2.2.tgz#ab03e0fa9a41ac1e10acfbe5c26c1a952aa99323"
@@ -5714,7 +6090,7 @@ brfs@^1.6.1:
static-module "^2.2.0"
through2 "^2.0.0"
-brorand@^1.0.1:
+brorand@^1.0.1, brorand@^1.0.5:
version "1.1.0"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
@@ -5755,6 +6131,17 @@ browser-stdout@1.3.0:
resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f"
integrity sha1-81HTKWnTL6XXpVZxVCY9korjvR8=
+browserify-aes@1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a"
+ integrity sha1-Xncl297x/Vkw1OurSFZ85FHEigo=
+ dependencies:
+ buffer-xor "^1.0.2"
+ cipher-base "^1.0.0"
+ create-hash "^1.1.0"
+ evp_bytestokey "^1.0.0"
+ inherits "^2.0.1"
+
browserify-aes@^1.0.0, browserify-aes@^1.0.4:
version "1.1.1"
resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.1.1.tgz#38b7ab55edb806ff2dcda1a7f1620773a477c49f"
@@ -5967,7 +6354,7 @@ bs58check@<3.0.0, bs58check@^2.0.0, bs58check@^2.1.1, bs58check@^2.1.2:
create-hash "^1.1.0"
safe-buffer "^5.1.2"
-bs58check@^1.0.8:
+bs58check@^1.0.4, bs58check@^1.0.8:
version "1.3.4"
resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-1.3.4.tgz#c52540073749117714fa042c3047eb8f9151cbf8"
integrity sha1-xSVABzdJEXcU+gQsMEfrj5FRy/g=
@@ -5975,6 +6362,14 @@ bs58check@^1.0.8:
bs58 "^3.1.0"
create-hash "^1.1.0"
+bs58check@~2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.0.2.tgz#06f63b01c2fa6173033c90eb87f1fe3d2e13d89a"
+ integrity sha1-BvY7AcL6YXMDPJDrh/H+PS4T2Jo=
+ dependencies:
+ bs58 "^4.0.0"
+ create-hash "^1.1.0"
+
btoa@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73"
@@ -6018,6 +6413,11 @@ buffer-equal@^1.0.0:
resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe"
integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74=
+buffer-equals@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/buffer-equals/-/buffer-equals-1.0.4.tgz#0353b54fd07fd9564170671ae6f66b9cf10d27f5"
+ integrity sha1-A1O1T9B/2VZBcGca5vZrnPENJ/U=
+
buffer-fill@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
@@ -6060,7 +6460,7 @@ buffer-to-arraybuffer@^0.0.5:
resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a"
integrity sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=
-buffer-xor@^1.0.3:
+buffer-xor@^1.0.2, buffer-xor@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
@@ -6100,6 +6500,13 @@ builtin-status-codes@^3.0.0:
resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
+bytebuffer@5.0.1, bytebuffer@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/bytebuffer/-/bytebuffer-5.0.1.tgz#582eea4b1a873b6d020a48d58df85f0bba6cfddd"
+ integrity sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=
+ dependencies:
+ long "~3"
+
byteman@^1.3.5:
version "1.3.5"
resolved "https://registry.yarnpkg.com/byteman/-/byteman-1.3.5.tgz#d6061f7536c7e7c4bcb756037ef9c4c266ec51fd"
@@ -6276,7 +6683,7 @@ callsites@^3.0.0:
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-camel-case@3.0.x:
+camel-case@3.0.x, camel-case@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=
@@ -6356,6 +6763,13 @@ caseless@~0.12.0:
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
+cashaddress@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/cashaddress/-/cashaddress-1.1.0.tgz#1a7d3b4e3b3bbdef77b666fecf322ea79bcc9799"
+ integrity sha1-Gn07Tjs7ve93tmb+zzIup5vMl5k=
+ dependencies:
+ bigi "^1.4.2"
+
catharsis@^0.8.10:
version "0.8.10"
resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.8.10.tgz#364198c1fbf084ae17028ee33ec7db53ca942ee6"
@@ -7297,7 +7711,7 @@ cookie@0.4.0:
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
-cookiejar@^2.1.0, cookiejar@^2.1.1:
+cookiejar@^2.1.0, cookiejar@^2.1.1, cookiejar@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c"
integrity sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==
@@ -7427,6 +7841,11 @@ coveralls@^3.0.0:
minimist "^1.2.0"
request "^2.79.0"
+crc@3.5.0:
+ version "3.5.0"
+ resolved "https://registry.yarnpkg.com/crc/-/crc-3.5.0.tgz#98b8ba7d489665ba3979f59b21381374101a1964"
+ integrity sha1-mLi6fUiWZbo5efWbITgTdBAaGWQ=
+
crdts@~0.1.2:
version "0.1.5"
resolved "https://registry.yarnpkg.com/crdts/-/crdts-0.1.5.tgz#89413e8adfc3ab943300a890ee6392db5ba60c06"
@@ -7447,7 +7866,7 @@ create-error-class@^3.0.0, create-error-class@^3.0.1:
dependencies:
capture-stack-trace "^1.0.0"
-create-hash@^1.1.0, create-hash@^1.1.1:
+create-hash@1.1.3, create-hash@^1.1.0, create-hash@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd"
integrity sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=
@@ -7457,7 +7876,7 @@ create-hash@^1.1.0, create-hash@^1.1.1:
ripemd160 "^2.0.0"
sha.js "^2.4.0"
-create-hash@^1.1.2, create-hash@^1.2.0:
+create-hash@^1.1.2, create-hash@^1.1.3, create-hash@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
@@ -7468,7 +7887,7 @@ create-hash@^1.1.2, create-hash@^1.2.0:
ripemd160 "^2.0.1"
sha.js "^2.4.0"
-create-hmac@^1.1.0, create-hmac@^1.1.2:
+create-hmac@1.1.6, create-hmac@^1.1.0, create-hmac@^1.1.2:
version "1.1.6"
resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06"
integrity sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=
@@ -7480,7 +7899,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.2:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
-create-hmac@^1.1.3, create-hmac@^1.1.4, create-hmac@^1.1.7:
+create-hmac@^1.1.3, create-hmac@^1.1.4, create-hmac@^1.1.6, create-hmac@^1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
@@ -7760,6 +8179,11 @@ currently-unhandled@^0.4.1:
dependencies:
array-find-index "^1.0.1"
+cursor@^0.1.5:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/cursor/-/cursor-0.1.5.tgz#ea778c2b09d33c2e564fd92147076750483ebb2c"
+ integrity sha1-6neMKwnTPC5WT9khRwdnUEg+uyw=
+
custom-event@~1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425"
@@ -8160,7 +8584,7 @@ debug@2, debug@2.6.9, debug@^2.1.1, debug@^2.1.3, debug@^2.2.0, debug@^2.3.3, de
dependencies:
ms "2.0.0"
-debug@3.1.0, debug@3.X, debug@~3.1.0:
+debug@3.1.0, debug@3.X, debug@=3.1.0, debug@~3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
@@ -8199,6 +8623,11 @@ decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0:
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
+decimal.js@^10.2.0:
+ version "10.2.0"
+ resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231"
+ integrity sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw==
+
decode-uri-component@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
@@ -9071,6 +9500,29 @@ ecstatic@^3.0.0:
minimist "^1.1.0"
url-join "^2.0.5"
+ecurve@1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/ecurve/-/ecurve-1.0.5.tgz#d148e8fe50a674f983bb5bae09da0ea23e10535e"
+ integrity sha1-0Ujo/lCmdPmDu1uuCdoOoj4QU14=
+ dependencies:
+ bigi "^1.1.0"
+
+ecurve@^1.0.0, ecurve@^1.0.5, ecurve@^1.0.6, ecurve@~1.0.5:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/ecurve/-/ecurve-1.0.6.tgz#dfdabbb7149f8d8b78816be5a7d5b83fcf6de797"
+ integrity sha512-/BzEjNfiSuB7jIWKcS/z8FK9jNjmEWvUV2YZ4RLSmcDtP7Lq0m6FvDuSnJpBlDpGRpfRQeTLGLBI8H+kEv0r+w==
+ dependencies:
+ bigi "^1.1.0"
+ safe-buffer "^5.0.1"
+
+ed25519@0.0.4:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/ed25519/-/ed25519-0.0.4.tgz#e56218ace2fc903d259593aef0b2a9639f475beb"
+ integrity sha1-5WIYrOL8kD0llZOu8LKpY59HW+s=
+ dependencies:
+ bindings "^1.2.1"
+ nan "^2.0.9"
+
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
@@ -9135,6 +9587,19 @@ elliptic@6.3.3:
hash.js "^1.0.0"
inherits "^2.0.1"
+elliptic@6.5.2, elliptic@^6.2.3, elliptic@^6.5.1, elliptic@^6.5.2:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762"
+ integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==
+ dependencies:
+ bn.js "^4.4.0"
+ brorand "^1.0.1"
+ hash.js "^1.0.0"
+ hmac-drbg "^1.0.0"
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+ minimalistic-crypto-utils "^1.0.0"
+
elliptic@=3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-3.0.3.tgz#865c9b420bfbe55006b9f969f97a0d2c44966595"
@@ -9397,6 +9862,60 @@ enzyme@^3.4.4:
rst-selector-parser "^2.2.3"
string.prototype.trim "^1.1.2"
+eol@^0.5.0:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/eol/-/eol-0.5.1.tgz#a2f15f9be38ac160f27c4e394fde02a9731a410c"
+ integrity sha1-ovFfm+OKwWDyfE45T94CqXMaQQw=
+
+eosjs-api@7.0.4:
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/eosjs-api/-/eosjs-api-7.0.4.tgz#dc3a7206d4ac3e6818f0a950b8d24333175ac7c9"
+ integrity sha512-oLbM39rcyWYkqu6nIEQ50I92yT2vvD7WZPZ3FujbydG2ssR5Re/uSvbkFfZTB02g3I4D+UDUA1jd65HlM7r3MQ==
+ dependencies:
+ camel-case "^3.0.0"
+ isomorphic-fetch "^2.2.1"
+
+eosjs-ecc@4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/eosjs-ecc/-/eosjs-ecc-4.0.4.tgz#431450f30a6f73088ff5d7ba1ebdfe967a5ca4ab"
+ integrity sha512-9wAYefts4TidHOu+eN9nAisZdWpUzlUimZrB63oP7+/s4xRNJEn2Vvep2ICRODpxpidbshM1L7WaSYW9oiV5gA==
+ dependencies:
+ bigi "^1.4.2"
+ browserify-aes "^1.0.6"
+ bs58 "^4.0.1"
+ bytebuffer "^5.0.1"
+ create-hash "^1.1.3"
+ create-hmac "^1.1.6"
+ ecurve "^1.0.5"
+ randombytes "^2.0.5"
+
+eosjs-ecc@^4.0.4:
+ version "4.0.7"
+ resolved "https://registry.yarnpkg.com/eosjs-ecc/-/eosjs-ecc-4.0.7.tgz#f5246da3b84839fcc237204768ef6e5ea56cc814"
+ integrity sha512-uuqhqnrDy9XTpKfkhiZqRDUTCCI9oWBalVK5IosL7kpYwA9I3lm68INYFLyWsHpF2xwHqPql8MrMYJ3zfOn5Qg==
+ dependencies:
+ "@babel/runtime" "7.6.0"
+ bigi "1.4.2"
+ browserify-aes "1.0.6"
+ bs58 "4.0.1"
+ bytebuffer "5.0.1"
+ create-hash "1.1.3"
+ create-hmac "1.1.6"
+ ecurve "1.0.5"
+ randombytes "2.0.5"
+
+eosjs@^16.0.8:
+ version "16.0.9"
+ resolved "https://registry.yarnpkg.com/eosjs/-/eosjs-16.0.9.tgz#ee3790f2f038079e71981f20354be8d1d98de873"
+ integrity sha512-aYgzbgH2RhnmYVzEmK4AD6UIboJI54PGYQUesv2i8rCqYhWij+xQx7PtALJ481cxZnQgmFn8s2KMkgG07P5/Ug==
+ dependencies:
+ babel-runtime "6.26.0"
+ binaryen "^37.0.0"
+ create-hash "^1.1.3"
+ eosjs-api "7.0.4"
+ eosjs-ecc "4.0.4"
+ fcbuffer "2.2.2"
+
epimetheus@^1.0.92:
version "1.0.92"
resolved "https://registry.yarnpkg.com/epimetheus/-/epimetheus-1.0.92.tgz#c4f354341f8ab692f62c3392108b356e1282d191"
@@ -9534,6 +10053,11 @@ es6-promise@^4.0.3, es6-promise@^4.0.5:
resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29"
integrity sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==
+es6-promise@^4.2.4:
+ version "4.2.8"
+ resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a"
+ integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==
+
es6-promise@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.0.2.tgz#010d5858423a5f118979665f46486a95c6ee2bb6"
@@ -10544,7 +11068,7 @@ ethereumjs-util@6.1.0, ethereumjs-util@^6.0.0, ethereumjs-util@^6.1.0:
safe-buffer "^5.1.1"
secp256k1 "^3.0.1"
-ethereumjs-util@^4.0.1, ethereumjs-util@^4.3.0, ethereumjs-util@^4.4.0:
+ethereumjs-util@^4.0.1, ethereumjs-util@^4.3.0, ethereumjs-util@^4.4.0, ethereumjs-util@^4.4.1:
version "4.5.0"
resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-4.5.0.tgz#3e9428b317eebda3d7260d854fddda954b1f1bc6"
integrity sha1-PpQosxfuvaPXJg2FT93alUsfG8Y=
@@ -10676,6 +11200,21 @@ ethers@^4.0.20, ethers@^4.0.28:
uuid "2.0.1"
xmlhttprequest "1.8.0"
+ethers@^4.0.7:
+ version "4.0.47"
+ resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.47.tgz#91b9cd80473b1136dd547095ff9171bd1fc68c85"
+ integrity sha512-hssRYhngV4hiDNeZmVU/k5/E8xmLG8UpcNUzg6mb7lqhgpFPH/t7nuv20RjRrEf0gblzvi2XwR5Te+V3ZFc9pQ==
+ dependencies:
+ aes-js "3.0.0"
+ bn.js "^4.4.0"
+ elliptic "6.5.2"
+ hash.js "1.1.3"
+ js-sha3 "0.5.7"
+ scrypt-js "2.0.4"
+ setimmediate "1.0.4"
+ uuid "2.0.1"
+ xmlhttprequest "1.8.0"
+
etherscan-link@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/etherscan-link/-/etherscan-link-1.0.2.tgz#c7b9142c4b59509b338a204b6328aea40dd3c64e"
@@ -10929,6 +11468,16 @@ event-emitter@^0.3.5, event-emitter@~0.3.5:
d "1"
es5-ext "~0.10.14"
+event-lite@^0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/event-lite/-/event-lite-0.1.2.tgz#838a3e0fdddef8cc90f128006c8e55a4e4e4c11b"
+ integrity sha512-HnSYx1BsJ87/p6swwzv+2v6B4X+uxUteoDfRxsAb1S1BePzQqOLevVmkdA15GHJVd9A9Ok6wygUR18Hu0YeV9g==
+
+event-source-polyfill@0.0.12:
+ version "0.0.12"
+ resolved "https://registry.yarnpkg.com/event-source-polyfill/-/event-source-polyfill-0.0.12.tgz#e539cd67fdef2760a16aa5262fa98134df52e3af"
+ integrity sha1-5TnNZ/3vJ2ChaqUmL6mBNN9S468=
+
event-stream@^3.3.4:
version "3.3.4"
resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571"
@@ -10982,7 +11531,7 @@ events@^3.0.0:
resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88"
integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==
-eventsource@^1.0.7:
+eventsource@^1.0.5, eventsource@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0"
integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==
@@ -11410,6 +11959,15 @@ fbjs@^0.8.0, fbjs@^0.8.1, fbjs@^0.8.12, fbjs@^0.8.16, fbjs@^0.8.4, fbjs@^0.8.9:
setimmediate "^1.0.5"
ua-parser-js "^0.7.9"
+fcbuffer@2.2.2:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/fcbuffer/-/fcbuffer-2.2.2.tgz#987d10062c46a8bfea27da77c964f43e9e25a014"
+ integrity sha512-4OhDYe3F3iToKkqao6aj72XcvEjCB4p06U8Wy30lYcLQTp2ispBf2cCyeymKPJQGnbG5wpBa2PraaWWJuZVnUg==
+ dependencies:
+ bn.js "^4.11.8"
+ bytebuffer "^5.0.1"
+ ieee-float "^0.6.0"
+
fd-slicer@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
@@ -11847,6 +12405,13 @@ focus-lock@^0.6.3:
resolved "https://registry.yarnpkg.com/focus-lock/-/focus-lock-0.6.4.tgz#066af3ed5875d85745ab45ef4fbbb43e8a73514a"
integrity sha512-+waElh6m7dbNmEabXQIblZjJMIRQOoHMNqB8RZkyemK+vN1XQ9uHLi740DVwTcK5fzAq3g+tBglLjIqUDHX/Og==
+follow-redirects@1.5.10:
+ version "1.5.10"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
+ integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
+ dependencies:
+ debug "=3.1.0"
+
follow-redirects@^1.0.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.0.tgz#234f49cf770b7f35b40e790f636ceba0c3a0ab77"
@@ -11933,6 +12498,15 @@ form-data@^2.3.1, form-data@~2.3.1:
combined-stream "1.0.6"
mime-types "^2.1.12"
+form-data@^2.3.3:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4"
+ integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.6"
+ mime-types "^2.1.12"
+
form-data@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
@@ -13547,7 +14121,7 @@ heap@0.2.6, heap@~0.2.6:
resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.6.tgz#087e1f10b046932fc8594dd9e6d378afc9d1e5ac"
integrity sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw=
-hi-base32@~0.5.0:
+hi-base32@^0.5.0, hi-base32@~0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/hi-base32/-/hi-base32-0.5.0.tgz#61329f76a31f31008533f1c36f2473e259d64571"
integrity sha512-DDRmxSyoYuvjUb9EnXdoiMChBZ7ZcUVJsK5Frd3kqMhuBxvmZdnBeynAVfj7/ECbn++CekcoprvC/rprHPAtow==
@@ -13697,7 +14271,7 @@ htmlparser2@3.8.x:
entities "1.0"
readable-stream "1.1"
-htmlparser2@^3.10.0:
+htmlparser2@^3.10.0, htmlparser2@^3.9.0:
version "3.10.1"
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f"
integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==
@@ -13815,7 +14389,7 @@ https-did-resolver@^0.1.0:
did-resolver "0.0.6"
xmlhttprequest "^1.8.0"
-https-proxy-agent@2.2.1, https-proxy-agent@^2.1.1, https-proxy-agent@^2.2.3, https-proxy-agent@^3.0.0:
+https-proxy-agent@2.2.1, https-proxy-agent@^2.1.1, https-proxy-agent@^2.2.1, https-proxy-agent@^2.2.3, https-proxy-agent@^3.0.0, https-proxy-agent@^5.0.0:
version "2.2.4"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b"
integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==
@@ -13918,6 +14492,11 @@ idna-uts46@^1.0.1:
dependencies:
punycode "^2.1.0"
+ieee-float@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/ieee-float/-/ieee-float-0.6.0.tgz#a68a856ba1ef511e7fa0e7e7e155c3a63642a55d"
+ integrity sha1-poqFa6HvUR5/oOfn4VXDpjZCpV0=
+
ieee754@^1.1.4, ieee754@^1.1.8:
version "1.1.13"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
@@ -14119,6 +14698,11 @@ ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
+injectpromise@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/injectpromise/-/injectpromise-1.0.0.tgz#c621f7df2bbfc1164d714f1fb229adec2079da39"
+ integrity sha512-qNq5wy4qX4uWHcVFOEU+RqZkoVG65FhvGkyDWbuBxILMjK6A1LFf5A1mgXZkD4nRx5FCorD81X/XvPKp/zVfPA==
+
inline-source-map@~0.6.0:
version "0.6.2"
resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.6.2.tgz#f9393471c18a79d1724f863fa38b586370ade2a5"
@@ -14251,6 +14835,11 @@ insert-module-globals@^7.0.0:
undeclared-identifiers "^1.1.2"
xtend "^4.0.0"
+int64-buffer@^0.1.9:
+ version "0.1.10"
+ resolved "https://registry.yarnpkg.com/int64-buffer/-/int64-buffer-0.1.10.tgz#277b228a87d95ad777d07c13832022406a473423"
+ integrity sha1-J3siiofZWtd30HwTgyAiQGpHNCM=
+
interface-connection@~0.3.2, interface-connection@~0.3.3:
version "0.3.3"
resolved "https://registry.yarnpkg.com/interface-connection/-/interface-connection-0.3.3.tgz#d82dd81efee5f2d40d7cb0fd75e6e858f92fa199"
@@ -14955,6 +15544,11 @@ is-buffer@^2.0.0, is-buffer@^2.0.3:
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725"
integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==
+is-buffer@^2.0.2:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623"
+ integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==
+
is-builtin-module@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
@@ -15727,6 +16321,11 @@ js-sha3@^0.8.0, js-sha3@~0.8.0:
resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840"
integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==
+js-sha512@^0.8.0:
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/js-sha512/-/js-sha512-0.8.0.tgz#dd22db8d02756faccf19f218e3ed61ec8249f7d4"
+ integrity sha512-PWsmefG6Jkodqt+ePTvBZCSMFgN7Clckjd0O7su3I0+BW2QWUTJNzjktHsztGLhncP2h8mcF9V9Y2Ha59pAViQ==
+
js-tokens@^3.0.0, "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
@@ -15737,6 +16336,15 @@ js-tokens@^4.0.0:
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+js-xdr@^1.0.5:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/js-xdr/-/js-xdr-1.1.4.tgz#678df4c6f8c7960de85bdf3bfa02b89df2730777"
+ integrity sha512-Xhwys9hyDZQDisxCKZi2nDhvGg6fKhsEgAUaJlzjwo32mZ2gZVIQl3+w4Le5SX5dsKDsboFdM2gnu5JALWetTg==
+ dependencies:
+ cursor "^0.1.5"
+ lodash "^4.17.5"
+ long "^2.2.3"
+
js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.2.5, js-yaml@^3.2.7, js-yaml@^3.5.1, js-yaml@^3.6.1, js-yaml@^3.9.0, js-yaml@^3.9.1:
version "3.13.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
@@ -16025,6 +16633,11 @@ jsonpointer@^4.0.0:
resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
integrity sha1-T9kss04OnbPInIYi7PUfm5eMbLk=
+jsonschema@1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.2.tgz#83ab9c63d65bf4d596f91d81195e78772f6452bc"
+ integrity sha512-iX5OFQ6yx9NgbHCwse51ohhKgLuLL7Z5cNOeZOPIlDUtAMrxlruHLzVZxbltdHE5mEDXN+75oFOwq6Gn0MZwsA==
+
jsonschema@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.4.tgz#a46bac5d3506a254465bc548876e267c6d0d6464"
@@ -17113,6 +17726,18 @@ libp2p@~0.25.3:
peer-info "^0.15.1"
superstruct "^0.6.0"
+libsodium-wrappers@^0.7.5, libsodium-wrappers@^0.7.6:
+ version "0.7.6"
+ resolved "https://registry.yarnpkg.com/libsodium-wrappers/-/libsodium-wrappers-0.7.6.tgz#baed4c16d4bf9610104875ad8a8e164d259d48fb"
+ integrity sha512-OUO2CWW5bHdLr6hkKLHIKI4raEkZrf3QHkhXsJ1yCh6MZ3JDA7jFD3kCATNquuGSG6MjjPHQIQms0y0gBDzjQg==
+ dependencies:
+ libsodium "0.7.6"
+
+libsodium@0.7.6:
+ version "0.7.6"
+ resolved "https://registry.yarnpkg.com/libsodium/-/libsodium-0.7.6.tgz#018b80c5728054817845fbffa554274441bda277"
+ integrity sha512-hPb/04sEuLcTRdWDtd+xH3RXBihpmbPCsKW/Jtf4PsvdyKh+D6z2D2gvp/5BfoxseP+0FCOg66kE+0oGUE/loQ==
+
lie@~3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e"
@@ -17596,7 +18221,7 @@ lodash@4.17.14, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.13.1, lodash@^4.14.0, lo
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba"
integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==
-lodash@=3.10.1, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15:
+lodash@=3.10.1, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@~4.17.14:
version "4.17.15"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
@@ -17652,11 +18277,21 @@ lolex@^2.2.0, lolex@^2.3.2:
resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.3.2.tgz#85f9450425103bf9e7a60668ea25dc43274ca807"
integrity sha512-A5pN2tkFj7H0dGIAM6MFvHKMJcPnjZsOMvR7ujCjfgW5TbV6H9vb1PgxLtHvjqNZTHsUolz+6/WEO0N1xNx2ng==
+long@^2.2.3:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/long/-/long-2.4.0.tgz#9fa180bb1d9500cdc29c4156766a1995e1f4524f"
+ integrity sha1-n6GAux2VAM3CnEFWdmoZleH0Uk8=
+
long@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
+long@~3:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b"
+ integrity sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=
+
longest-streak@^2.0.1:
version "2.0.3"
resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.3.tgz#3de7a3f47ee18e9074ded8575b5c091f5d0a4105"
@@ -17757,6 +18392,14 @@ lru-cache@^3.2.0:
dependencies:
pseudomap "^1.0.1"
+lru-cache@^4.1.2:
+ version "4.1.5"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
+ integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
+ dependencies:
+ pseudomap "^1.0.2"
+ yallist "^2.1.2"
+
lru-cache@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
@@ -18316,6 +18959,11 @@ mime@^2.0.3, mime@^2.3.1, mime@^2.4.2:
resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.3.tgz#229687331e86f68924e6cb59e1cdd937f18275fe"
integrity sha512-QgrPRJfE+riq5TPZMcHZOtm8c6K/yYrMbKIoRfapfiGLxS8OTeIfRhUGW5LU7MlRa52KOAGCfUNruqLrIBvWZw==
+mime@^2.4.0:
+ version "2.4.4"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5"
+ integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==
+
mimic-fn@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18"
@@ -18525,6 +19173,11 @@ module-not-found-error@^1.0.0:
resolved "https://registry.yarnpkg.com/module-not-found-error/-/module-not-found-error-1.0.1.tgz#cf8b4ff4f29640674d6cdd02b0e3bc523c2bbdc0"
integrity sha1-z4tP9PKWQGdNbN0CsOO8UjwrvcA=
+moment@^2.20.1:
+ version "2.24.0"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"
+ integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==
+
moment@^2.21.0:
version "2.22.1"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.1.tgz#529a2e9bf973f259c9643d237fda84de3a26e8ad"
@@ -18593,6 +19246,15 @@ ms@^2.1.1:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+"msgpack-lite@git+https://github.com/algorand/msgpack-lite.git":
+ version "0.1.26"
+ resolved "git+https://github.com/algorand/msgpack-lite.git#549d9211c47863da5ad1b69276e363617c9a5c78"
+ dependencies:
+ event-lite "^0.1.1"
+ ieee754 "^1.1.8"
+ int64-buffer "^0.1.9"
+ isarray "^1.0.0"
+
multiaddr-to-uri@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/multiaddr-to-uri/-/multiaddr-to-uri-4.0.1.tgz#3b89d2a460a96602a16f3bfe296ee771ecb2558b"
@@ -18817,6 +19479,11 @@ nan@^2.0.8, nan@^2.11.0, nan@^2.11.1, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0:
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
+nan@^2.0.9:
+ version "2.14.1"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
+ integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==
+
nan@^2.2.1:
version "2.10.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f"
@@ -18827,6 +19494,11 @@ nano-json-stream-parser@^0.1.2:
resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f"
integrity sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=
+nanoassert@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/nanoassert/-/nanoassert-1.1.0.tgz#4f3152e09540fde28c76f44b19bbcd1d5a42478d"
+ integrity sha1-TzFS4JVA/eKMdvRLGbvNHVpCR40=
+
nanoid@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.0.3.tgz#dde999e173bc9d7bd2ee2746b89909ade98e075e"
@@ -20207,6 +20879,20 @@ p-whilst@^1.0.0:
resolved "https://registry.yarnpkg.com/p-whilst/-/p-whilst-1.0.0.tgz#54668ead7f934799fc00f1e5230fd6addeb8e7e6"
integrity sha1-VGaOrX+TR5n8APHlIw/Wrd645+Y=
+pac-proxy-agent@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-2.0.2.tgz#90d9f6730ab0f4d2607dcdcd4d3d641aa26c3896"
+ integrity sha512-cDNAN1Ehjbf5EHkNY5qnRhGPUCp6SnpyVof5fRzN800QV1Y2OkzbH9rmjZkbBRa8igof903yOnjIl6z0SlAhxA==
+ dependencies:
+ agent-base "^4.2.0"
+ debug "^3.1.0"
+ get-uri "^2.0.0"
+ http-proxy-agent "^2.1.0"
+ https-proxy-agent "^2.2.1"
+ pac-resolver "^3.0.0"
+ raw-body "^2.2.0"
+ socks-proxy-agent "^3.0.0"
+
pac-proxy-agent@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz#115b1e58f92576cac2eba718593ca7b0e37de2ad"
@@ -20522,7 +21208,7 @@ pause-stream@0.0.11:
dependencies:
through "~2.3"
-pbkdf2@^3.0.3, pbkdf2@^3.0.9:
+pbkdf2@^3.0.17, pbkdf2@^3.0.3, pbkdf2@^3.0.9:
version "3.0.17"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6"
integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==
@@ -21358,6 +22044,25 @@ proto-list@~1.2.1:
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=
+protobufjs@^6.8.9:
+ version "6.9.0"
+ resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.9.0.tgz#c08b2bf636682598e6fabbf0edb0b1256ff090bd"
+ integrity sha512-LlGVfEWDXoI/STstRDdZZKb/qusoAWUnmLg9R8OLSO473mBLWHowx8clbX5/+mKDEI+v7GzjoK9tRPZMMcoTrg==
+ dependencies:
+ "@protobufjs/aspromise" "^1.1.2"
+ "@protobufjs/base64" "^1.1.2"
+ "@protobufjs/codegen" "^2.0.4"
+ "@protobufjs/eventemitter" "^1.1.0"
+ "@protobufjs/fetch" "^1.1.0"
+ "@protobufjs/float" "^1.0.2"
+ "@protobufjs/inquire" "^1.1.0"
+ "@protobufjs/path" "^1.1.2"
+ "@protobufjs/pool" "^1.1.0"
+ "@protobufjs/utf8" "^1.1.0"
+ "@types/long" "^4.0.1"
+ "@types/node" "^13.7.0"
+ long "^4.0.0"
+
protocol-buffers-schema@^3.3.1:
version "3.3.2"
resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.3.2.tgz#00434f608b4e8df54c59e070efeefc37fb4bb859"
@@ -21373,6 +22078,22 @@ protons@^1.0.1:
signed-varint "^2.0.1"
varint "^5.0.0"
+prova-lib@^0.2.10:
+ version "0.2.10"
+ resolved "https://registry.yarnpkg.com/prova-lib/-/prova-lib-0.2.10.tgz#324c17227d62c0cbd74b62198f0928560a889a92"
+ integrity sha512-L1K1BiBteuTL4Q/gyMROmPI4BJVG2KsmEkhmQEOKQw5SA3D54UC3iG6u+DSZKW7nvjsTPSbpzDzaCOmSgtTGuA==
+ dependencies:
+ bigi "~1.4.2"
+ bitcoin-ops "~1.3.0"
+ bitcoinjs-lib "~3.0.2"
+ bs58check "~2.0.1"
+ ecurve "~1.0.5"
+ lodash "~4.17.4"
+ typeforce "~1.10.6"
+ varuint-bitcoin "~1.0.4"
+ optionalDependencies:
+ secp256k1 "~3.5.0"
+
proxy-addr@~2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34"
@@ -21381,6 +22102,20 @@ proxy-addr@~2.0.5:
forwarded "~0.1.2"
ipaddr.js "1.9.0"
+proxy-agent@2:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-2.3.1.tgz#3d49d863d46cf5f37ca8394848346ea02373eac6"
+ integrity sha512-CNKuhC1jVtm8KJYFTS2ZRO71VCBx3QSA92So/e6NrY6GoJonkx3Irnk4047EsCcswczwqAekRj3s8qLRGahSKg==
+ dependencies:
+ agent-base "^4.2.0"
+ debug "^3.1.0"
+ http-proxy-agent "^2.1.0"
+ https-proxy-agent "^2.2.1"
+ lru-cache "^4.1.2"
+ pac-proxy-agent "^2.0.1"
+ proxy-from-env "^1.0.0"
+ socks-proxy-agent "^3.0.0"
+
proxy-agent@3:
version "3.1.1"
resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-3.1.1.tgz#7e04e06bf36afa624a1540be247b47c970bd3014"
@@ -21859,7 +22594,7 @@ randexp@0.4.6:
discontinuous-range "1.0.0"
ret "~0.1.10"
-randombytes@^2.0.0, randombytes@^2.0.5:
+randombytes@2.0.5, randombytes@^2.0.0, randombytes@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79"
integrity sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==
@@ -22948,6 +23683,11 @@ regex-parser@^2.2.9:
resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.9.tgz#a372f45a248b62976a568037c1b6e60a60599192"
integrity sha512-VncXxOF6uFlYog5prG2j+e2UGJeam5MfNiJnB/qEgo4KTnMm2XrELCg4rNZ6IlaEUZnGlb8aB6lXowCRQtTkkA==
+regexp-quote@0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/regexp-quote/-/regexp-quote-0.0.0.tgz#1e0f4650c862dcbfed54fd42b148e9bb1721fcf2"
+ integrity sha1-Hg9GUMhi3L/tVP1CsUjpuxch/PI=
+
regexp-tree@^0.1.6:
version "0.1.10"
resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.10.tgz#d837816a039c7af8a8d64d7a7c3cf6a1d93450bc"
@@ -23602,6 +24342,84 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
hash-base "^3.0.0"
inherits "^2.0.1"
+ripple-address-codec@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/ripple-address-codec/-/ripple-address-codec-2.0.1.tgz#eddbe3a7960d2e02c5c1c74fb9a9fa0d2dfb6571"
+ integrity sha1-7dvjp5YNLgLFwcdPuan6DS37ZXE=
+ dependencies:
+ hash.js "^1.0.3"
+ x-address-codec "^0.7.0"
+
+ripple-address-codec@^4.0.0, ripple-address-codec@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/ripple-address-codec/-/ripple-address-codec-4.1.1.tgz#48e5d76b00b6b9752b1d376646d5abbcd3c8bd67"
+ integrity sha512-mcVD8f7+CH6XaBnLkRcmw4KyHMufa0HTJE3TYeaecwleIQASLYVenjQmVJLgmJQcDUS2Ldh/EltqktmiFMFgkg==
+ dependencies:
+ base-x "3.0.7"
+ create-hash "^1.1.2"
+
+ripple-binary-codec@^0.2.4, ripple-binary-codec@^0.2.5:
+ version "0.2.6"
+ resolved "https://registry.yarnpkg.com/ripple-binary-codec/-/ripple-binary-codec-0.2.6.tgz#a8c45c905c12d5dc6fa7e179c3584d56fb8bdb07"
+ integrity sha512-k0efyjpcde7p+rJ9PXW9tJSYsUDdlC9Z9xU7OPM7fJiHVKlR1E7nfu0jqw9vVXtTG3tujqKeEgtcb8yaa7rMXA==
+ dependencies:
+ babel-runtime "^6.6.1"
+ bn.js "^5.1.1"
+ create-hash "^1.1.2"
+ decimal.js "^10.2.0"
+ inherits "^2.0.1"
+ lodash "^4.17.15"
+ ripple-address-codec "^4.0.0"
+
+ripple-keypairs@^0.11.0:
+ version "0.11.1"
+ resolved "https://registry.yarnpkg.com/ripple-keypairs/-/ripple-keypairs-0.11.1.tgz#e8637c9d577a579c311138c7848cdc5928908979"
+ integrity sha512-xdakxb+/4yo3TWA2ZImEma3g9OZrvoVRMDC9A2dfk6V+tBsDWug1p53bfmSnfTaue7kf2O5ejq2bfmYG8W08FA==
+ dependencies:
+ babel-runtime "^5.8.20"
+ bn.js "^3.1.1"
+ brorand "^1.0.5"
+ elliptic "^6.5.2"
+ hash.js "^1.0.3"
+ ripple-address-codec "^2.0.1"
+
+ripple-keypairs@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/ripple-keypairs/-/ripple-keypairs-1.0.0.tgz#8f1c604f89daeac5e61b7eebbbca2da99da2bacf"
+ integrity sha512-MQ3d6fU3D+Cqu5ma4dfkfa+KakN2sKpVVVN0FeJyAYPVIGXu8Rcvd1g028TdwYAZcSYk0tGn5UhHxd0gUG3T8g==
+ dependencies:
+ bn.js "^5.1.1"
+ brorand "^1.0.5"
+ elliptic "^6.5.2"
+ hash.js "^1.0.3"
+ ripple-address-codec "^4.0.0"
+
+ripple-lib-transactionparser@0.8.2:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/ripple-lib-transactionparser/-/ripple-lib-transactionparser-0.8.2.tgz#7aaad3ba1e1aeee1d5bcff32334a7a838f834dce"
+ integrity sha512-1teosQLjYHLyOQrKUQfYyMjDR3MAq/Ga+MJuLUfpBMypl4LZB4bEoMcmG99/+WVTEiZOezJmH9iCSvm/MyxD+g==
+ dependencies:
+ bignumber.js "^9.0.0"
+ lodash "^4.17.15"
+
+ripple-lib@^1.4.1:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/ripple-lib/-/ripple-lib-1.7.0.tgz#2f7674688941330fca24b27ab8b243a2a9d8e727"
+ integrity sha512-Mv5tj742civmPEnS849zZM+89BbAjGB7rPQg2ycYCLJaiqZmGrzwjwdPodi6qJ8+O3qqXSx7qK3xIz4Ca9Wkuw==
+ dependencies:
+ "@types/lodash" "^4.14.136"
+ "@types/ws" "^7.2.0"
+ bignumber.js "^9.0.0"
+ https-proxy-agent "^5.0.0"
+ jsonschema "1.2.2"
+ lodash "^4.17.4"
+ lodash.isequal "^4.5.0"
+ ripple-address-codec "^4.1.1"
+ ripple-binary-codec "^0.2.5"
+ ripple-keypairs "^1.0.0"
+ ripple-lib-transactionparser "0.8.2"
+ ws "^7.2.0"
+
rlp@^2.0.0, rlp@^2.2.1:
version "2.2.3"
resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.3.tgz#7f94aef86cec412df87d5ea1d8cb116a47d45f0e"
@@ -23789,6 +24607,15 @@ sanitize-filename@^1.6.1:
dependencies:
truncate-utf8-bytes "^1.0.0"
+sanitize-html@1.13.0, sanitize-html@^1.13.0:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.13.0.tgz#4ee17cbec516bfe32f2ce6686a569d7e6b4f3631"
+ integrity sha1-TuF8vsUWv+MvLOZoaladfmtPNjE=
+ dependencies:
+ htmlparser2 "^3.9.0"
+ regexp-quote "0.0.0"
+ xtend "^4.0.0"
+
sass-graph@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49"
@@ -23998,6 +24825,39 @@ secp256k1@^3.0.1, secp256k1@^3.6.1, secp256k1@^3.6.2:
nan "^2.14.0"
safe-buffer "^5.1.2"
+secp256k1@^3.5.2:
+ version "3.8.0"
+ resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.8.0.tgz#28f59f4b01dbee9575f56a47034b7d2e3b3b352d"
+ integrity sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw==
+ dependencies:
+ bindings "^1.5.0"
+ bip66 "^1.1.5"
+ bn.js "^4.11.8"
+ create-hash "^1.2.0"
+ drbg.js "^1.0.1"
+ elliptic "^6.5.2"
+ nan "^2.14.0"
+ safe-buffer "^5.1.2"
+
+secp256k1@~3.5.0:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.5.2.tgz#f95f952057310722184fe9c914e6b71281f2f2ae"
+ integrity sha512-iin3kojdybY6NArd+UFsoTuapOF7bnJNf2UbcWXaY3z+E1sJDipl60vtzB5hbO/uquBu7z0fd4VC4Irp+xoFVQ==
+ dependencies:
+ bindings "^1.2.1"
+ bip66 "^1.1.3"
+ bn.js "^4.11.3"
+ create-hash "^1.1.2"
+ drbg.js "^1.0.1"
+ elliptic "^6.2.3"
+ nan "^2.2.1"
+ safe-buffer "^5.1.0"
+
+secrets.js-grempe@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/secrets.js-grempe/-/secrets.js-grempe-1.1.0.tgz#bb3b606dd68637ca244681a10fdee6c512049294"
+ integrity sha1-uztgbdaGN8okRoGhD97mxRIEkpQ=
+
seedrandom@3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.1.tgz#eb3dde015bcf55df05a233514e5df44ef9dce083"
@@ -24221,7 +25081,7 @@ setprototypeof@1.1.1:
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
-sha.js@^2.4.0, sha.js@^2.4.8:
+sha.js@^2.3.6, sha.js@^2.4.0, sha.js@^2.4.8:
version "2.4.11"
resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
@@ -24472,6 +25332,11 @@ smart-buffer@4.0.2:
resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.0.2.tgz#5207858c3815cc69110703c6b94e46c15634395d"
integrity sha512-JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw==
+smart-buffer@^1.0.13:
+ version "1.1.15"
+ resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-1.1.15.tgz#7f114b5b65fab3e2a35aa775bb12f0d1c649bf16"
+ integrity sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=
+
smart-buffer@^4.0.2:
version "4.1.0"
resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba"
@@ -24665,6 +25530,14 @@ sockjs-client@1.3.0:
json3 "^3.3.2"
url-parse "^1.4.3"
+socks-proxy-agent@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz#2eae7cf8e2a82d34565761539a7f9718c5617659"
+ integrity sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA==
+ dependencies:
+ agent-base "^4.1.0"
+ socks "^1.1.10"
+
socks-proxy-agent@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386"
@@ -24673,6 +25546,14 @@ socks-proxy-agent@^4.0.1:
agent-base "~4.2.1"
socks "~2.3.2"
+socks@^1.1.10:
+ version "1.1.10"
+ resolved "https://registry.yarnpkg.com/socks/-/socks-1.1.10.tgz#5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a"
+ integrity sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=
+ dependencies:
+ ip "^1.1.4"
+ smart-buffer "^1.0.13"
+
socks@~2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.2.tgz#ade388e9e6d87fdb11649c15746c578922a5883e"
@@ -25044,6 +25925,35 @@ stealthy-require@^1.1.0:
resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
+stellar-base@^0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/stellar-base/-/stellar-base-0.9.0.tgz#03a4d71c9bfe49f0c54afd4a8f34517ed49c0924"
+ integrity sha512-4tyztbyNeLW3bGUMepMqdcywfLUmfAI1A/RSiMgNHRC7vK8Jueh5Dn8RmQPhmAlKsgXhDSmbvpCLwEr2i00Emg==
+ dependencies:
+ base32.js "~0.1.0"
+ bignumber.js "^4.0.0"
+ crc "3.5.0"
+ js-xdr "^1.0.5"
+ lodash "^4.17.10"
+ sha.js "^2.3.6"
+ tweetnacl "^1.0.0"
+ optionalDependencies:
+ ed25519 "0.0.4"
+
+stellar-sdk@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/stellar-sdk/-/stellar-sdk-0.11.0.tgz#d5415b1c535df188dbd3ab173f93bb24d18266d5"
+ integrity sha512-VNiJBea4eqZsuuNoqJu2WfBq0xhfaKex4soowJFQzYbLY0xVUe4qigetMO8dwlJrRevL4c/EDUd4ouKbT1lqAQ==
+ dependencies:
+ axios "^0.18.0"
+ es6-promise "^4.2.4"
+ event-source-polyfill "0.0.12"
+ eventsource "^1.0.5"
+ lodash "^4.17.10"
+ stellar-base "^0.9.0"
+ toml "^2.3.0"
+ urijs "1.19.1"
+
stifle@^1.0.2:
version "1.0.4"
resolved "https://registry.yarnpkg.com/stifle/-/stifle-1.0.4.tgz#8b3bcdf52419b0a9c79e35adadce50123c1d8e99"
@@ -25571,7 +26481,7 @@ superagent-proxy@^1.0.3, superagent-proxy@^2.0.0:
debug "^3.1.0"
proxy-agent "3"
-superagent@^3.8.1:
+superagent@^3.8.1, superagent@^3.8.3:
version "3.8.3"
resolved "https://registry.yarnpkg.com/superagent/-/superagent-3.8.3.tgz#460ea0dbdb7d5b11bc4f78deba565f86a178e128"
integrity sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==
@@ -25587,6 +26497,21 @@ superagent@^3.8.1:
qs "^6.5.1"
readable-stream "^2.3.5"
+superagent@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/superagent/-/superagent-4.1.0.tgz#c465c2de41df2b8d05c165cbe403e280790cdfd5"
+ integrity sha512-FT3QLMasz0YyCd4uIi5HNe+3t/onxMyEho7C3PSqmti3Twgy2rXT4fmkTz6wRL6bTF4uzPcfkUCa8u4JWHw8Ag==
+ dependencies:
+ component-emitter "^1.2.0"
+ cookiejar "^2.1.2"
+ debug "^4.1.0"
+ form-data "^2.3.3"
+ formidable "^1.2.0"
+ methods "^1.1.1"
+ mime "^2.4.0"
+ qs "^6.6.0"
+ readable-stream "^3.0.6"
+
superstruct@^0.6.0, superstruct@~0.6.0, superstruct@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.6.1.tgz#148fc3d627bb59fcfe24aa1bd2a1b8c51b1db072"
@@ -25943,6 +26868,11 @@ tarn@^1.1.4:
resolved "https://registry.yarnpkg.com/tarn/-/tarn-1.1.5.tgz#7be88622e951738b9fa3fb77477309242cdddc2d"
integrity sha512-PMtJ3HCLAZeedWjJPgGnCvcphbCOMbtZpjKgLq3qM5Qq9aQud+XHrL0WlrlgnTyS8U+jrjGbEXprFcQrxPy52g==
+tcomb@~3.2.29:
+ version "3.2.29"
+ resolved "https://registry.yarnpkg.com/tcomb/-/tcomb-3.2.29.tgz#32404fe9456d90c2cf4798682d37439f1ccc386c"
+ integrity sha512-di2Hd1DB2Zfw6StGv861JoAF5h/uQVu/QJp2g8KVbtfKnoHdBQl5M32YWq6mnSYBQ1vFFrns5B1haWJL7rKaOQ==
+
tdigest@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/tdigest/-/tdigest-0.1.1.tgz#2e3cb2c39ea449e55d1e6cd91117accca4588021"
@@ -26420,6 +27350,11 @@ toidentifier@1.0.0:
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
+toml@^2.3.0:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/toml/-/toml-2.3.6.tgz#25b0866483a9722474895559088b436fd11f861b"
+ integrity sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==
+
tosource@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/tosource/-/tosource-1.0.0.tgz#42d88dd116618bcf00d6106dd5446f3427902ff1"
@@ -26498,6 +27433,23 @@ trim@0.0.1:
resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd"
integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0=
+tronweb@^2.7.2:
+ version "2.10.1"
+ resolved "https://registry.yarnpkg.com/tronweb/-/tronweb-2.10.1.tgz#f30354d3bcc99b6e7bcbec5ea7635c781b1a50df"
+ integrity sha512-FAXmpZa6oidvy6HssbF1WnnGaqiJuJXGx7UmccgurTt1IRyySQzaIz+m3gXhhtIzJx9hFYgBQgzbFp6fglFw/w==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ axios "^0.19.0"
+ babel-runtime "^6.26.0"
+ bignumber.js "^7.2.1"
+ elliptic "^6.4.1"
+ ethers "^4.0.7"
+ eventemitter3 "^3.1.0"
+ injectpromise "^1.0.0"
+ lodash "^4.17.14"
+ semver "^5.6.0"
+ validator "^10.7.1"
+
trough@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.1.tgz#a9fd8b0394b0ae8fff82e0633a0a36ccad5b5f86"
@@ -26623,11 +27575,18 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
-typeforce@^1.11.3, typeforce@^1.11.5:
+typeforce@^1.11.3, typeforce@^1.11.5, typeforce@^1.8.7:
version "1.18.0"
resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.18.0.tgz#d7416a2c5845e085034d70fcc5b6cc4a90edbfdc"
integrity sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==
+typeforce@~1.10.6:
+ version "1.10.6"
+ resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.10.6.tgz#71bdca35b4e635b61245371b57c008cedfbec4db"
+ integrity sha1-cb3KNbTmNbYSRTcbV8AIzt++xNs=
+ dependencies:
+ inherits "^2.0.1"
+
typewise-core@^1.2, typewise-core@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/typewise-core/-/typewise-core-1.2.0.tgz#97eb91805c7f55d2f941748fa50d315d991ef195"
@@ -27011,6 +27970,11 @@ uri-to-multiaddr@^3.0.1:
is-ip "^2.0.0"
multiaddr "^6.0.3"
+urijs@1.19.1:
+ version "1.19.1"
+ resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.1.tgz#5b0ff530c0cbde8386f6342235ba5ca6e995d25a"
+ integrity sha512-xVrGVi94ueCJNrBSTjWqjvtgvl3cyOTThp2zaMaFNGp3F542TR6sM3f2o8RqZl+AwteClSVmoCyt0ka4RjQOQg==
+
urix@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
@@ -27207,6 +28171,11 @@ validate-npm-package-license@^3.0.1:
spdx-correct "~1.0.0"
spdx-expression-parse "~1.0.0"
+validator@^10.7.1:
+ version "10.11.0"
+ resolved "https://registry.yarnpkg.com/validator/-/validator-10.11.0.tgz#003108ea6e9a9874d31ccc9e5006856ccd76b228"
+ integrity sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==
+
value-equal@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7"
@@ -27229,6 +28198,13 @@ varint@^5.0.0, varint@~5.0.0:
resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.0.tgz#d826b89f7490732fabc0c0ed693ed475dcb29ebf"
integrity sha1-2Ca4n3SQcy+rwMDtaT7Uddyynr8=
+varuint-bitcoin@^1.0.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/varuint-bitcoin/-/varuint-bitcoin-1.1.2.tgz#e76c138249d06138b480d4c5b40ef53693e24e92"
+ integrity sha512-4EVb+w4rx+YfVM32HQX42AbbT7/1f5zwAYhIujKXKk8NQK+JfRVl3pqT3hjNn/L+RstigmGGKVwHA/P0wgITZw==
+ dependencies:
+ safe-buffer "^5.1.1"
+
varuint-bitcoin@^1.0.4:
version "1.1.0"
resolved "https://registry.yarnpkg.com/varuint-bitcoin/-/varuint-bitcoin-1.1.0.tgz#7a343f50537607af6a3059312b9782a170894540"
@@ -27236,6 +28212,11 @@ varuint-bitcoin@^1.0.4:
dependencies:
safe-buffer "^5.1.1"
+varuint-bitcoin@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/varuint-bitcoin/-/varuint-bitcoin-1.0.4.tgz#d812c5dae16e32f60544b6adee1d4be1307d0283"
+ integrity sha1-2BLF2uFuMvYFRLat7h1L4TB9AoM=
+
vary@^1, vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
@@ -28138,6 +29119,11 @@ ws@^5.1.1:
dependencies:
async-limiter "~1.0.0"
+ws@^7.2.0:
+ version "7.2.5"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.5.tgz#abb1370d4626a5a9cd79d8de404aa18b3465d10d"
+ integrity sha512-C34cIU4+DB2vMyAbmEKossWq2ZQDr6QEyuuCzWrM9zfw1sGc0mYiJ0UnG9zzNykt49C2Fi34hvr2vssFQRS6EA==
+
ws@~6.1.0:
version "6.1.4"
resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.4.tgz#5b5c8800afab925e94ccb29d153c8d02c1776ef9"
@@ -28145,6 +29131,13 @@ ws@~6.1.0:
dependencies:
async-limiter "~1.0.0"
+x-address-codec@^0.7.0:
+ version "0.7.2"
+ resolved "https://registry.yarnpkg.com/x-address-codec/-/x-address-codec-0.7.2.tgz#2a2f7bb00278520bd13733a7959a05443d6802e0"
+ integrity sha1-Ki97sAJ4UgvRNzOnlZoFRD1oAuA=
+ dependencies:
+ base-x "^1.0.1"
+
x-is-string@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82"