Browse Source

Merge pull request #1443 from MortalKastor/restore-merge

Restore merge of master into develop
master
Thibaut 6 years ago
committed by GitHub
parent
commit
e8a5910c7a
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      package.json
  2. 19
      src/components/ExchangePage/index.js
  3. 2
      src/components/QRCodeCameraPickerCanvas.js
  4. 4
      src/components/RecipientAddress/index.js
  5. 2
      src/components/modals/AddAccounts/steps/04-step-finish.js
  6. 37
      src/components/modals/Send/fields/RecipientField.js
  7. 1
      src/config/errors.js
  8. 5
      src/config/urls.js
  9. 7
      static/i18n/en/app.json
  10. 3
      static/i18n/en/errors.json
  11. 6
      static/images/logos/exchanges/genesis.svg
  12. 14
      static/images/logos/exchanges/luno.svg
  13. 93
      static/images/logos/exchanges/shapeshift.svg
  14. 6
      yarn.lock

4
package.json

@ -3,7 +3,7 @@
"productName": "Ledger Live",
"description": "Ledger Live - Desktop",
"repository": "https://github.com/LedgerHQ/ledger-live-desktop",
"version": "1.1.6",
"version": "1.1.7",
"author": "Ledger",
"license": "MIT",
"scripts": {
@ -39,7 +39,7 @@
"@ledgerhq/hw-transport": "^4.13.0",
"@ledgerhq/hw-transport-node-hid": "4.22.0",
"@ledgerhq/ledger-core": "2.0.0-rc.6",
"@ledgerhq/live-common": "3.0.0",
"@ledgerhq/live-common": "3.0.2",
"animated": "^0.2.2",
"async": "^2.6.1",
"axios": "^0.18.0",

19
src/components/ExchangePage/index.js

@ -5,6 +5,7 @@ import { translate } from 'react-i18next'
import type { T } from 'types/common'
import { urls } from 'config/urls'
import { i } from 'helpers/staticPath'
import TrackPage from 'analytics/TrackPage'
import Box from 'components/base/Box'
@ -51,6 +52,24 @@ const cards = [
url: urls.paybis,
logo: <PaybisLogo width={150} height={57} />,
},
{
key: 'luno',
id: 'luno',
url: urls.luno,
logo: <img src={i('logos/exchanges/luno.svg')} alt="Luno" width={150} />,
},
{
key: 'shapeshift',
id: 'shapeshift',
url: urls.shapeshift,
logo: <img src={i('logos/exchanges/shapeshift.svg')} alt="Shapeshift" width={150} />,
},
{
key: 'genesis',
id: 'genesis',
url: urls.genesis,
logo: <img src={i('logos/exchanges/genesis.svg')} alt="Genesis" width={150} />,
},
]
class ExchangePage extends PureComponent<Props> {

2
src/components/QRCodeCameraPickerCanvas.js

@ -155,7 +155,7 @@ export default class QRCodeCameraPickerCanvas extends Component<
.catch(e => {
if (this.unmounted) return
this.setState({
message: String(e.message || e),
message: String(e.message || e.name || e),
})
})
}

4
src/components/RecipientAddress/index.js

@ -47,7 +47,7 @@ const BackgroundLayer = styled(Box)`
type Props = {
value: string,
// return false if it can't be changed (invalid info)
onChange: (string, ?{ amount?: BigNumber, currency?: CryptoCurrency }) => ?boolean,
onChange: (string, ?{ amount?: BigNumber, currency?: CryptoCurrency }) => Promise<?boolean>,
withQrCode: boolean,
}
@ -76,6 +76,8 @@ class RecipientAddress extends PureComponent<Props, State> {
handleOnPick = (code: string) => {
const { address, ...rest } = decodeURIScheme(code)
// $FlowFixMe
Object.assign(rest, { fromQRCode: true })
if (this.props.onChange(address, rest) !== false) {
this.setState({ qrReaderOpened: false })
}

2
src/components/modals/AddAccounts/steps/04-step-finish.js

@ -52,7 +52,7 @@ export default StepFinish
export const StepFinishFooter = ({ onGoStep1, t }: StepProps) => (
<Fragment>
<Button mr={2} primary onClick={onGoStep1}>
<Button primary onClick={onGoStep1}>
{t('app:addAccounts.cta.addMore')}
</Button>
</Fragment>

37
src/components/modals/Send/fields/RecipientField.js

@ -9,7 +9,8 @@ import Box from 'components/base/Box'
import LabelWithExternalIcon from 'components/base/LabelWithExternalIcon'
import RecipientAddress from 'components/RecipientAddress'
import { track } from 'analytics/segment'
import { InvalidAddress } from 'config/errors'
import { createCustomErrorClass } from 'helpers/errors'
import { CantScanQRCode } from 'config/errors'
type Props<Transaction> = {
t: T,
@ -20,13 +21,16 @@ type Props<Transaction> = {
autoFocus?: boolean,
}
const InvalidAddress = createCustomErrorClass('InvalidAddress')
class RecipientField<Transaction> extends Component<
Props<Transaction>,
{ isValid: boolean, warning: ?Error },
{ isValid: boolean, warning: ?Error, QRCodeRefusedReason: ?Error },
> {
state = {
isValid: true,
warning: null,
QRCodeRefusedReason: null,
}
componentDidMount() {
this.resync()
@ -41,7 +45,9 @@ class RecipientField<Transaction> extends Component<
}
componentWillUnmount() {
this.syncId++
this.isUnmounted = true
}
isUnmounted = false
syncId = 0
async resync() {
const { account, bridge, transaction } = this.props
@ -50,18 +56,31 @@ class RecipientField<Transaction> extends Component<
const isValid = await bridge.isRecipientValid(account.currency, recipient)
const warning = await bridge.getRecipientWarning(account.currency, recipient)
if (syncId !== this.syncId) return
if (this.isUnmounted) return
this.setState({ isValid, warning })
}
onChange = (recipient: string, maybeExtra: ?Object) => {
onChange = async (recipient: string, maybeExtra: ?Object) => {
const { bridge, account, transaction, onChangeTransaction } = this.props
const { amount, currency } = maybeExtra || {}
const { QRCodeRefusedReason } = this.state
const { amount, currency, fromQRCode } = maybeExtra || {}
if (currency && currency.scheme !== account.currency.scheme) return false
let t = transaction
if (amount) {
t = bridge.editTransactionAmount(account, t, amount)
}
t = bridge.editTransactionRecipient(account, t, recipient)
const warning = fromQRCode
? await bridge.getRecipientWarning(account.currency, recipient)
: null
if (this.isUnmounted) return false
if (warning) {
// clear the input if field has warning AND has a warning
t = bridge.editTransactionRecipient(account, t, '')
this.setState({ QRCodeRefusedReason: new CantScanQRCode() })
} else {
t = bridge.editTransactionRecipient(account, t, recipient)
if (QRCodeRefusedReason) this.setState({ QRCodeRefusedReason: null })
}
onChangeTransaction(t)
return true
}
@ -72,11 +91,13 @@ class RecipientField<Transaction> extends Component<
}
render() {
const { bridge, account, transaction, t, autoFocus } = this.props
const { isValid, warning } = this.state
const { isValid, warning, QRCodeRefusedReason } = this.state
const value = bridge.getTransactionRecipient(account, transaction)
const error =
!value || isValid ? null : new InvalidAddress(null, { currencyName: account.currency.name })
!value || isValid
? QRCodeRefusedReason
: new InvalidAddress(null, { currencyName: account.currency.name })
return (
<Box flow={1}>
@ -86,7 +107,7 @@ class RecipientField<Transaction> extends Component<
/>
<RecipientAddress
autoFocus={autoFocus}
withQrCode={false}
withQrCode
error={error}
warning={warning}
value={value}

1
src/config/errors.js

@ -40,6 +40,7 @@ export const WebsocketConnectionError = createCustomErrorClass('WebsocketConnect
export const WebsocketConnectionFailed = createCustomErrorClass('WebsocketConnectionFailed')
export const WrongDeviceForAccount = createCustomErrorClass('WrongDeviceForAccount')
export const ETHAddressNonEIP = createCustomErrorClass('ETHAddressNonEIP')
export const CantScanQRCode = createCustomErrorClass('CantScanQRCode')
// db stuff, no need to translate
export const NoDBPathGiven = createCustomErrorClass('NoDBPathGiven')

5
src/config/urls.js

@ -26,7 +26,10 @@ export const urls = {
changelly: 'https://changelly.com/?ref_id=aac789605a01',
coinmama: 'http://go.coinmama.com/visit/?bta=51801&nci=5343',
simplex: 'https://partners.simplex.com/?partner=ledger',
paybis: 'https://paybis.idevaffiliate.com/idevaffiliate.php?id=4064',
paybis: 'https://aff-tracking.paybis.com/click?pid=22&offer_id=1',
luno: 'http://luno.go2cloud.org/aff_c?offer_id=4&aff_id=1001&source=ledger',
shapeshift: 'https://shapeshift.io/#/coins?affiliate=ledger',
genesis: 'https://genesistrading.com/ledger-live/',
// Errors
errors: {

7
static/i18n/en/app.json

@ -78,7 +78,7 @@
"menu": "Menu",
"accounts": "Accounts ({{count}})",
"manager": "Manager",
"exchange": "Trade"
"exchange": "Buy/Trade"
},
"account": {
"lastOperations": "Last operations",
@ -165,7 +165,10 @@
"changelly": "Changelly is a popular instant crypto asset exchange with 100+ coins and tokens listed.",
"coinmama": "Coinmama is a financial service that makes it fast, safe and fun to buy digital assets, anywhere in the world.",
"simplex": "Simplex is a EU licensed financial institution, providing a fraudless credit card payment solution.",
"paybis": "it is safe and easy to Buy Bitcoin with credit card from PayBis. Service operates in US, Canada, Germany, Russia and Saudi Arabia."
"paybis": "it is safe and easy to Buy Bitcoin with credit card from PayBis. Service operates in US, Canada, Germany, Russia and Saudi Arabia.",
"luno": "Luno makes it safe and easy to buy, store and learn about digital currencies like Bitcoin and Ethreum",
"shapeshift": "ShapeShift is an online marketplace where users can buy and sell digital assets. It is a fast and secure way for the world to buy and sell digital assets, with no lengthy signup process, no counterparty risk, and no friction.",
"genesis": "Genesis is an institutional trading firm offering liquidity and borrow for digital currencies, including bitcoin, bitcoin cash, ethereum, ethereum classic, litecoin, and XRP."
},
"genuinecheck": {
"modal": {

3
static/i18n/en/errors.json

@ -165,5 +165,8 @@
"ETHAddressNonEIP": {
"title": "Auto-verification not available: carefully verify the address",
"description": null
},
"CantScanQRCode": {
"title": "Couldn't scan this QR-code: auto-verification not supported by this address"
}
}

6
static/images/logos/exchanges/genesis.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 10 KiB

14
static/images/logos/exchanges/luno.svg

@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="31" viewBox="0 0 128 31">
<defs>
<path id="a" d="M75.99.016v.003c-3.515.06-6.677 1.208-8.933 3.246-2.518 2.276-3.85 5.544-3.85 9.453v14.987c0 1.12.927 2.065 2.025 2.065 1.137 0 2.064-.927 2.064-2.52V12.465c.046-4.741 3.766-8.372 9.045-8.372h.024c5.3 0 9.02 3.63 9.067 8.83v14.782c0 1.138.926 2.065 2.065 2.065 1.097 0 2.023-.946 2.023-2.065V12.718c0-3.863-1.302-7.104-3.766-9.375-2.196-2.024-5.28-3.194-8.716-3.314l-.002-.007-.348-.004-.243-.002h-.454zm26.044 5.112c-2.69 2.804-4.17 6.54-4.17 10.52v.081c0 3.981 1.466 7.703 4.129 10.48 2.77 2.887 6.624 4.478 10.856 4.478 4.231 0 8.101-1.605 10.896-4.518 2.69-2.804 4.17-6.54 4.17-10.52v-.081c0-3.981-1.466-7.703-4.13-10.48C121.018 2.2 117.163.61 112.93.61c-4.231 0-8.101 1.605-10.896 4.518zm3.154 18.434c-1.973-2.082-3.059-4.892-3.059-7.914v-.08c0-6.333 4.609-11.108 10.72-11.108 2.991 0 5.74 1.163 7.742 3.275 1.972 2.082 3.059 4.892 3.059 7.913v.081c0 6.333-4.609 11.108-10.72 11.108-2.991 0-5.741-1.163-7.742-3.275zM.007 2.837v14.987c0 3.908 1.33 7.177 3.849 9.452 2.256 2.039 5.418 3.186 8.934 3.247v.003h.454l.243-.002.055-.001v.003h5.922a2.067 2.067 0 0 0 2.064-2.066c0-1.098-.945-2.026-2.064-2.026l-6.358.014c-5.26-.015-8.965-3.641-9.011-8.826V2.837A2.067 2.067 0 0 0 2.03.771C.933.772.007 1.718.007 2.837zm50.561.301V17.92c-.047 5.199-3.766 8.83-9.067 8.83h-.024c-5.28 0-8.999-3.631-9.046-8.826V3.138a2.067 2.067 0 0 0-2.064-2.066c-1.097 0-2.024.946-2.024 2.066v14.987c0 3.908 1.332 7.177 3.85 9.452 2.255 2.039 5.418 3.186 8.933 3.247v.003h.454l.244-.002.347-.004.002-.008c3.436-.12 6.52-1.29 8.717-3.313 2.464-2.271 3.766-5.513 3.766-9.375V3.138c0-1.12-.927-2.066-2.024-2.066a2.067 2.067 0 0 0-2.064 2.066z"/>
</defs>
<g fill="none" fill-rule="evenodd">
<path fill="#12326B" d="M19.464 26.592c1.119 0 2.064.927 2.064 2.025a2.067 2.067 0 0 1-2.064 2.066h-5.921v-.003l-.056.001-.243.002h-.454v-.003c-3.516-.06-6.678-1.208-8.934-3.246C1.338 25.158.006 21.89.006 17.98V2.994C.007 1.874.934.93 2.032.93c1.138 0 2.064.926 2.064 2.065V17.78c.046 5.184 3.75 8.81 9.011 8.826l6.358-.014zM52.632 1.23c1.097 0 2.024.946 2.024 2.065v14.987c0 3.863-1.302 7.104-3.766 9.375-2.196 2.024-5.28 3.194-8.717 3.314l-.001.007-.348.004-.244.002h-.454v-.003c-3.515-.06-6.678-1.208-8.934-3.246-2.518-2.276-3.849-5.544-3.849-9.453V3.295c0-1.12.927-2.065 2.024-2.065 1.138 0 2.064.927 2.064 2.065v14.786c.047 5.195 3.767 8.826 9.046 8.826h.024c5.3 0 9.02-3.63 9.067-8.83V3.295c0-1.138.926-2.065 2.064-2.065zm34.865 28.698a2.067 2.067 0 0 1-2.065-2.066V13.08c-.046-5.199-3.766-8.83-9.067-8.83h-.024c-5.279 0-8.999 3.631-9.046 8.372v14.785c0 1.594-.925 2.52-2.064 2.52-1.097 0-2.023-.945-2.023-2.065V12.875c0-3.908 1.33-7.177 3.849-9.452C69.313 1.384 72.475.237 75.99.176V.173h.454l.243.002.348.004.002.008c3.436.12 6.52 1.29 8.716 3.313 2.464 2.271 3.767 5.513 3.767 9.375v14.987c0 1.12-.927 2.066-2.024 2.066zm25.351.916c-4.23 0-8.086-1.59-10.855-4.478-2.663-2.777-4.13-6.499-4.13-10.48v-.08c0-3.981 1.481-7.717 4.17-10.52C104.83 2.372 108.7.768 112.93.768c4.232 0 8.087 1.59 10.856 4.477 2.663 2.777 4.13 6.5 4.13 10.48v.08c0 3.981-1.482 7.718-4.171 10.52-2.795 2.914-6.665 4.52-10.897 4.52zm0-26.227c-6.11 0-10.719 4.776-10.719 11.108v.08c0 3.022 1.086 5.833 3.059 7.914 2 2.112 4.75 3.276 7.742 3.276 6.111 0 10.72-4.776 10.72-11.109v-.08c0-3.021-1.087-5.832-3.059-7.914-2.001-2.112-4.75-3.275-7.743-3.275z"/>
<g transform="translate(0 .157)">
<mask id="b" fill="#fff">
<use xlink:href="#a"/>
</mask>
<path fill="#12326B" d="M-2.663 33.5h133.248V-2.657H-2.663z" mask="url(#b)"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

93
static/images/logos/exchanges/shapeshift.svg

@ -0,0 +1,93 @@
<svg xmlns="http://www.w3.org/2000/svg" width="154" height="52" viewBox="0 0 154 52">
<defs>
<linearGradient id="a" x1="0%" y1="50%" y2="50%">
<stop offset="27%" stop-color="#5C769B"/>
<stop offset="100%" stop-color="#495F7D"/>
</linearGradient>
<linearGradient id="b" x1="100.08%" x2="44.136%" y1="-45.282%" y2="89.845%">
<stop offset="13%" stop-color="#314259"/>
<stop offset="38%" stop-color="#425774"/>
<stop offset="69%" stop-color="#5C769B"/>
<stop offset="79%" stop-color="#5A7498"/>
<stop offset="86%" stop-color="#546C8F"/>
<stop offset="93%" stop-color="#4A607F"/>
<stop offset="98%" stop-color="#3C4F69"/>
<stop offset="100%" stop-color="#374961"/>
</linearGradient>
<linearGradient id="c" x1="99.809%" x2="-4.606%" y1="63.342%" y2="7.408%">
<stop offset="0%" stop-color="#5C769B"/>
<stop offset="48%" stop-color="#5B7499"/>
<stop offset="69%" stop-color="#566F92"/>
<stop offset="85%" stop-color="#4F6685"/>
<stop offset="91%" stop-color="#4A607E"/>
</linearGradient>
<linearGradient id="d" x1="728.331%" x2="-348.488%" y1="50%" y2="50%">
<stop offset="25%" stop-color="#25344A"/>
<stop offset="41%" stop-color="#2C3D55"/>
<stop offset="68%" stop-color="#3F5471"/>
<stop offset="100%" stop-color="#5C769B"/>
</linearGradient>
<linearGradient id="e" x1="-653.906%" x2="455.58%" y1="49.996%" y2="49.996%">
<stop offset="25%" stop-color="#5C769B"/>
<stop offset="41%" stop-color="#556D90"/>
<stop offset="69%" stop-color="#425774"/>
<stop offset="100%" stop-color="#28384E"/>
</linearGradient>
<linearGradient id="f" x1="50.987%" x2="48.896%" y1="-209.612%" y2="236.046%">
<stop offset="1%" stop-color="#5C769B"/>
<stop offset="20%" stop-color="#587195"/>
<stop offset="45%" stop-color="#4D6485"/>
<stop offset="74%" stop-color="#3B4E6A"/>
<stop offset="100%" stop-color="#26354B"/>
</linearGradient>
<linearGradient id="g" x1="183.934%" x2="-71.265%" y1="-95.776%" y2="173.207%">
<stop offset="25%" stop-color="#5C769B"/>
<stop offset="41%" stop-color="#556E90"/>
<stop offset="69%" stop-color="#425774"/>
<stop offset="100%" stop-color="#27374C"/>
</linearGradient>
<linearGradient id="h" x1="-60.786%" x2="153.26%" y1="-60.281%" y2="146.989%">
<stop offset="25%" stop-color="#5C769B"/>
<stop offset="41%" stop-color="#556E90"/>
<stop offset="69%" stop-color="#425774"/>
<stop offset="100%" stop-color="#27374C"/>
</linearGradient>
<linearGradient id="i" x1="-19.379%" x2="154.799%" y1="31.605%" y2="103.778%">
<stop offset="27%" stop-color="#5C769B"/>
<stop offset="100%" stop-color="#495F7D"/>
</linearGradient>
<linearGradient id="j" x1="-71.29%" x2="149.246%" y1="-81.38%" y2="102.791%">
<stop offset="46%" stop-color="#5C769B" stop-opacity="0"/>
<stop offset="59%" stop-color="#597296" stop-opacity=".06"/>
<stop offset="71%" stop-color="#4E6586" stop-opacity=".23"/>
<stop offset="83%" stop-color="#3C506D" stop-opacity=".53"/>
<stop offset="95%" stop-color="#243349" stop-opacity=".94"/>
<stop offset="97%" stop-color="#202E43"/>
</linearGradient>
<linearGradient id="k" x1="50.156%" x2="50.156%" y1="296.046%" y2="-124.719%">
<stop offset="25%" stop-color="#5C769B"/>
<stop offset="41%" stop-color="#556E90"/>
<stop offset="69%" stop-color="#425774"/>
<stop offset="100%" stop-color="#27374C"/>
</linearGradient>
</defs>
<g fill="none" fill-rule="nonzero">
<path fill="#3B4E68" d="M41.192 29.674c-2.238 0-4.626.892-4.626 3.06 0 1.93 2.187 2.497 4.777 2.93 3.516.562 6.988 1.275 6.988 5.303-.025 4.001-3.797 5.301-7.164 5.301-3.118 0-6.084-1.147-7.442-4.129l1.81-1.07c1.132 2.115 3.494 3.134 5.657 3.134 2.136 0 4.982-.688 4.982-3.313.025-2.218-2.44-2.854-5.079-3.269-3.394-.535-6.686-1.325-6.686-4.944-.051-3.714 3.694-4.997 6.74-4.997 2.616 0 5.104.537 6.663 3.238l-1.66 1.04c-.965-1.544-3-2.257-4.96-2.284zM51.92 28.095v7.316c1.057-1.659 2.716-2.219 4.3-2.244 3.494 0 5.203 2.345 5.203 5.81v6.932h-2.036v-6.905c0-2.473-1.257-3.874-3.516-3.874-2.26 0-3.921 1.81-3.921 4.103v6.676h-2.065v-17.84h2.035v.026zM74.014 45.962l-.052-2.294c-.98 1.734-2.864 2.55-4.574 2.55-3.57 0-6.36-2.5-6.36-6.603 0-4.078 2.84-6.525 6.385-6.5 1.86 0 3.695.868 4.6 2.5l.026-2.295h2.009V45.91h-1.984l-.05.053zm-4.525-10.858c-2.465 0-4.45 1.783-4.45 4.588s1.985 4.606 4.45 4.606c5.983 0 5.983-9.228.025-9.228l-.025.034zM77.699 33.37h1.96l.1 2.422c.982-1.681 2.816-2.65 4.777-2.65 3.57.076 6.185 2.625 6.185 6.498 0 3.978-2.59 6.55-6.311 6.55-1.758 0-3.72-.763-4.7-2.547v8.208h-2.011v-18.48zm10.96 6.322c0-2.83-1.836-4.512-4.374-4.512-2.589 0-4.349 1.932-4.349 4.512 0 2.581 1.835 4.511 4.35 4.538 2.487 0 4.373-1.709 4.373-4.538zM104.021 43.897c-1.257 1.505-3.418 2.243-5.356 2.243-3.844 0-6.535-2.574-6.535-6.575 0-3.798 2.69-6.526 6.436-6.526 3.795 0 6.686 2.377 6.208 7.392H94.217c.226 2.319 2.111 3.772 4.5 3.772 1.408 0 3.116-.56 3.946-1.58l1.383 1.274h-.025zm-1.207-5.2c-.1-2.447-1.759-3.772-4.198-3.772-2.162 0-4.047 1.325-4.396 3.745h8.597l-.003.027z"/>
<path fill="#5C769B" d="M113.17 29.674c-2.237 0-4.626.892-4.626 3.06 0 1.93 2.188 2.497 4.777 2.93 3.517.562 6.988 1.275 6.988 5.303-.025 4.001-3.795 5.301-7.164 5.301-3.116 0-6.083-1.147-7.44-4.129l1.81-1.07c1.13 2.115 3.494 3.134 5.655 3.134 2.137 0 4.982-.688 4.982-3.313.025-2.218-2.438-2.854-5.078-3.269-3.398-.529-6.695-1.32-6.695-4.935-.05-3.715 3.695-4.997 6.74-4.997 2.614 0 5.103.537 6.661 3.238l-1.659 1.04c-.954-1.553-2.99-2.266-4.95-2.293zM123.9 28.095v7.316c1.055-1.659 2.716-2.219 4.3-2.244 3.493 0 5.203 2.345 5.203 5.81v6.932h-2.037v-6.905c0-2.473-1.257-3.874-3.517-3.874s-3.92 1.81-3.92 4.103v6.676h-2.065v-17.84h2.036v.026zM135.079 45.909h2.062v-12.41h-2.062v12.41zm1.056-14.31l-1.632-1.812 1.632-1.811 1.631 1.811-1.63 1.811zM140.99 45.936v-.024h-.025zM143.027 32.48c0-1.888.854-2.729 2.186-2.729h.077l.465-1.796a4.608 4.608 0 0 0-.586-.041c-2.614 0-4.173 1.681-4.173 4.562v.994h-2.444v1.835h2.438v10.604h2.037V35.308h2.466v-1.835h-2.466v-.994zM153.499 44.161c-.158.027-.318.041-.478.042-1.483 0-1.96-.942-1.96-2.42v-6.491h2.637V33.48h-2.62v-3.832l-2.06.23v3.602h-2.49v1.81h2.49v6.492c0 2.777 1.257 4.357 3.921 4.308.323-.01.644-.048.96-.116l-.4-1.814z"/>
<path fill="url(#a)" d="M.006 28.135L0 34.723l8.904 14.074 9.548 3.07 6.988-4.498z"/>
<path fill="url(#b)" d="M14.344 15.031L.02 27.781l19.965 11.654.074-24.02z"/>
<path fill="#4C6382" d="M12.304 22.916l7.698 20.844.055-19.68z"/>
<path fill="#3B4E68" d="M27.702 22.991l-7.7 20.77.055-19.68z"/>
<path fill="url(#c)" d="M33.827.012L26.186 4.08l-6.118 1.36L13.9 4.08 6.279 0l2.625 12.297-2.5 6.906 8.747 5.504 4.869 5.348v.05l.022-.025.023.025v-.05l4.87-5.348 8.762-5.5-2.487-6.9z"/>
<path fill="url(#d)" d="M33.827.012l-2.123 12.32 1.993 6.875-2.487-6.9z"/>
<path fill="url(#e)" d="M6.279 0l2.138 12.323-2.012 6.88 2.5-6.906z"/>
<path fill="url(#f)" d="M6.279 0l8.895 3.77h9.762L33.827.011 26.186 4.08l-6.118 1.36L13.9 4.08z"/>
<path fill="url(#g)" d="M8.904 12.297l-.442 1.23 9.23-8.617z"/>
<path fill="url(#h)" d="M31.21 12.308L22.461 4.91l9.17 8.562z"/>
<path fill="url(#i)" d="M.02 27.781l21.456 12.006 2.719 6.885-5.75 2.226-8.949-.945-9.481-13.23z"/>
<path fill="#FFF" d="M17.775 37.728L9.52 47.923l-.024.03 8.937 3.046.012.003 6.98-3.626.015-.007v-5.378z"/>
<path fill="url(#j)" d="M31.21 12.308L33.827.012 26.186 4.08l-3.725.83z"/>
<path fill="#FFF" d="M20.06 30.105l-2.431-2.698 2.43-2.698 2.431 2.698z"/>
<path fill="url(#k)" d="M19.822 5.386l.246.055.223-.05-.238 15.7z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.0 KiB

6
yarn.lock

@ -1542,9 +1542,9 @@
npm "^5.7.1"
prebuild-install "^2.2.2"
"@ledgerhq/live-common@3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/live-common/-/live-common-3.0.0.tgz#abbd88e351c7d0ffffabf7e8502f5b2fbecdc150"
"@ledgerhq/live-common@3.0.2":
version "3.0.2"
resolved "https://registry.yarnpkg.com/@ledgerhq/live-common/-/live-common-3.0.2.tgz#1ee5fcc6044c5a049c067978d81892f79789863c"
dependencies:
axios "^0.18.0"
bignumber.js "^7.2.1"

Loading…
Cancel
Save