aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/higher-order-components/with-token-tracker
diff options
context:
space:
mode:
authorChi Kei Chan <chikeichan@gmail.com>2019-03-22 07:03:30 +0800
committerDan J Miller <danjm.com@gmail.com>2019-03-22 07:03:30 +0800
commit31175625b446cb5d18b17db23018bca8b14d280c (patch)
treef54e159883deef003fb281267025edf796eb8004 /ui/app/higher-order-components/with-token-tracker
parent7287133e15fab22299e07704206e85bc855d1064 (diff)
downloadtangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.tar
tangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.tar.gz
tangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.tar.bz2
tangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.tar.lz
tangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.tar.xz
tangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.tar.zst
tangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.zip
Folder restructure (#6304)
* Remove ui/app/keychains/ * Remove ui/app/img/ (unused images) * Move conversion-util to helpers/utils/ * Move token-util to helpers/utils/ * Move /helpers/*.js inside /helpers/utils/ * Move util tests inside /helpers/utils/ * Renameand move confirm-transaction/util.js to helpers/utils/ * Move higher-order-components to helpers/higher-order-components/ * Move infura-conversion.json to helpers/constants/ * Move all utility functions to helpers/utils/ * Move pages directory to top-level * Move all constants to helpers/constants/ * Move metametrics inside helpers/ * Move app and root inside pages/ * Move routes inside helpers/ * Re-organize ducks/ * Move reducers to ducks/ * Move selectors inside selectors/ * Move test out of test folder * Move action, reducer, store inside store/ * Move ui components inside ui/ * Move UI components inside ui/ * Move connected components inside components/app/ * Move i18n-helper inside helpers/ * Fix unit tests * Fix unit test * Move pages components * Rename routes component * Move reducers to ducks/index * Fix bad path in unit test
Diffstat (limited to 'ui/app/higher-order-components/with-token-tracker')
-rw-r--r--ui/app/higher-order-components/with-token-tracker/index.js1
-rw-r--r--ui/app/higher-order-components/with-token-tracker/with-token-tracker.component.js106
2 files changed, 0 insertions, 107 deletions
diff --git a/ui/app/higher-order-components/with-token-tracker/index.js b/ui/app/higher-order-components/with-token-tracker/index.js
deleted file mode 100644
index d401e81f1..000000000
--- a/ui/app/higher-order-components/with-token-tracker/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from './with-token-tracker.component'
diff --git a/ui/app/higher-order-components/with-token-tracker/with-token-tracker.component.js b/ui/app/higher-order-components/with-token-tracker/with-token-tracker.component.js
deleted file mode 100644
index 36f6a6efd..000000000
--- a/ui/app/higher-order-components/with-token-tracker/with-token-tracker.component.js
+++ /dev/null
@@ -1,106 +0,0 @@
-import React, { Component } from 'react'
-import PropTypes from 'prop-types'
-import TokenTracker from 'eth-token-tracker'
-
-export default function withTokenTracker (WrappedComponent) {
- return class TokenTrackerWrappedComponent extends Component {
- static propTypes = {
- userAddress: PropTypes.string.isRequired,
- token: PropTypes.object.isRequired,
- }
-
- constructor (props) {
- super(props)
-
- this.state = {
- string: '',
- symbol: '',
- error: null,
- }
-
- this.tracker = null
- this.updateBalance = this.updateBalance.bind(this)
- this.setError = this.setError.bind(this)
- }
-
- componentDidMount () {
- this.createFreshTokenTracker()
- }
-
- componentDidUpdate (prevProps) {
- const { userAddress: newAddress, token: { address: newTokenAddress } } = this.props
- const { userAddress: oldAddress, token: { address: oldTokenAddress } } = prevProps
-
- if ((oldAddress === newAddress) && (oldTokenAddress === newTokenAddress)) {
- return
- }
-
- if ((!oldAddress || !newAddress) && (!oldTokenAddress || !newTokenAddress)) {
- return
- }
-
- this.createFreshTokenTracker()
- }
-
- componentWillUnmount () {
- this.removeListeners()
- }
-
- createFreshTokenTracker () {
- this.removeListeners()
-
- if (!global.ethereumProvider) {
- return
- }
-
- const { userAddress, token } = this.props
-
- this.tracker = new TokenTracker({
- userAddress,
- provider: global.ethereumProvider,
- tokens: [token],
- pollingInterval: 8000,
- })
-
- this.tracker.on('update', this.updateBalance)
- this.tracker.on('error', this.setError)
-
- this.tracker.updateBalances()
- .then(() => this.updateBalance(this.tracker.serialize()))
- .catch(error => this.setState({ error: error.message }))
- }
-
- setError (error) {
- this.setState({ error })
- }
-
- updateBalance (tokens = []) {
- if (!this.tracker.running) {
- return
- }
- const [{ string, symbol }] = tokens
- this.setState({ string, symbol, error: null })
- }
-
- removeListeners () {
- if (this.tracker) {
- this.tracker.stop()
- this.tracker.removeListener('update', this.updateBalance)
- this.tracker.removeListener('error', this.setError)
- }
- }
-
- render () {
- const { string, symbol, error } = this.state
-
- return (
- <WrappedComponent
- { ...this.props }
- string={string}
- symbol={symbol}
- error={error}
- />
- )
- }
- }
-}