From 295a8e54939cec091fff8f25d272650924079be5 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Tue, 23 Jul 2019 13:38:49 +0200 Subject: [PATCH 01/23] added package.json --- .gitignore | 2 ++ package.json | 14 ++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 .gitignore create mode 100644 package.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..97008e5b --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +node_modules +yarn.lock \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 00000000..5013dc14 --- /dev/null +++ b/package.json @@ -0,0 +1,14 @@ +{ + "name": "tbtc-dapp", + "version": "0.1.0", + "scripts": { + "dev": "next", + "build": "next build", + "start": "next start" + }, + "dependencies": { + "next": "^9.0.2", + "react": "^16.8.6", + "react-dom": "^16.8.6" + } +} From 2fc2e9c1e500969255dc5c5be0d1a9e9e1a074f7 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Tue, 23 Jul 2019 13:42:29 +0200 Subject: [PATCH 02/23] Added index --- pages/index.js | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 pages/index.js diff --git a/pages/index.js b/pages/index.js new file mode 100644 index 00000000..b2875ba5 --- /dev/null +++ b/pages/index.js @@ -0,0 +1,5 @@ +const Index = () => { + return
Hello tBTC!
+} + +export default Index \ No newline at end of file From c0be8e3863fb2b25f047fb8c8c19570e72266421 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Tue, 23 Jul 2019 13:42:37 +0200 Subject: [PATCH 03/23] ignore .next --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 97008e5b..27873ae5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules -yarn.lock \ No newline at end of file +yarn.lock +.next \ No newline at end of file From 8883ba1b7f3dc25056ad36a6f0620d9188044266 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Tue, 23 Jul 2019 13:54:59 +0200 Subject: [PATCH 04/23] Add more deps --- .babelrc | 4 ++++ README.md | 3 ++- package.json | 9 ++++++++- 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 .babelrc diff --git a/.babelrc b/.babelrc new file mode 100644 index 00000000..1e405f81 --- /dev/null +++ b/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": ["next/babel"], + "plugins": [["styled-components", { "ssr": true }]] +} \ No newline at end of file diff --git a/README.md b/README.md index 1a6d7625..21866304 100644 --- a/README.md +++ b/README.md @@ -1 +1,2 @@ -# tbtc-dapp \ No newline at end of file +# tbtc-dapp + diff --git a/package.json b/package.json index 5013dc14..30f46b1c 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,15 @@ "start": "next start" }, "dependencies": { + "babel-plugin-styled-components": "^1.10.6", "next": "^9.0.2", + "normalize.css": "^8.0.1", "react": "^16.8.6", - "react-dom": "^16.8.6" + "react-dom": "^16.8.6", + "react-redux": "^7.1.0", + "redux": "^4.0.4", + "redux-devtools-extension": "^2.13.8", + "styled-components": "^4.3.2", + "web3": "^1.2.0" } } From 7e32fc0565720fd0adec39491bab4a19542834c5 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Tue, 23 Jul 2019 13:57:45 +0200 Subject: [PATCH 05/23] Add simple circleci build step --- .circleci/config.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 00000000..ffca4b27 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,14 @@ +version: 2.1 + +executors: + docker-node: + docker: + - image: circleci/node:11 + +jobs: + test_solidity: + executor: docker-node + steps: + - checkout + - run: npm i + - run: npm run build \ No newline at end of file From 1e8061cb1729d94d22d410b051f5c6cc05f034cb Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Tue, 23 Jul 2019 14:16:10 +0200 Subject: [PATCH 06/23] setup basic skeleton --- components/await-deposit-confirm.js | 0 components/initiate-deposit.js | 0 components/landing.js | 0 components/prove-deposit.js | 0 components/request-deposit.js | 0 components/tbtc-minted.js | 0 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 components/await-deposit-confirm.js create mode 100644 components/initiate-deposit.js create mode 100644 components/landing.js create mode 100644 components/prove-deposit.js create mode 100644 components/request-deposit.js create mode 100644 components/tbtc-minted.js diff --git a/components/await-deposit-confirm.js b/components/await-deposit-confirm.js new file mode 100644 index 00000000..e69de29b diff --git a/components/initiate-deposit.js b/components/initiate-deposit.js new file mode 100644 index 00000000..e69de29b diff --git a/components/landing.js b/components/landing.js new file mode 100644 index 00000000..e69de29b diff --git a/components/prove-deposit.js b/components/prove-deposit.js new file mode 100644 index 00000000..e69de29b diff --git a/components/request-deposit.js b/components/request-deposit.js new file mode 100644 index 00000000..e69de29b diff --git a/components/tbtc-minted.js b/components/tbtc-minted.js new file mode 100644 index 00000000..e69de29b From c0043482cdcd3412671321e42fbabd7aabaad69c Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Tue, 23 Jul 2019 14:16:54 +0200 Subject: [PATCH 07/23] next conf --- next.config.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 next.config.js diff --git a/next.config.js b/next.config.js new file mode 100644 index 00000000..7c6d6c73 --- /dev/null +++ b/next.config.js @@ -0,0 +1 @@ +module.exports = {} \ No newline at end of file From f336407d3aeee8a648afd4f7885a2f150ea9cc27 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Tue, 23 Jul 2019 17:12:22 +0200 Subject: [PATCH 08/23] Landing page done --- components/landing.js | 118 ++++++++++++++++++++++++++++++++++++++++ lib/with-redux-store.js | 50 +++++++++++++++++ pages/_app.js | 48 ++++++++++++++++ pages/index.js | 6 +- reducers/form.js | 7 +++ reducers/index.js | 6 ++ store/index.js | 22 ++++++++ 7 files changed, 256 insertions(+), 1 deletion(-) create mode 100644 lib/with-redux-store.js create mode 100644 pages/_app.js create mode 100644 reducers/form.js create mode 100644 reducers/index.js create mode 100644 store/index.js diff --git a/components/landing.js b/components/landing.js index e69de29b..d7caf95f 100644 --- a/components/landing.js +++ b/components/landing.js @@ -0,0 +1,118 @@ +import styled from 'styled-components' + + +const PageWrapper = styled.div` + min-height: 100vh; + + display: flex; + flex-direction: column; + flex-wrap: nowrap; + justify-content: flex-start; + align-items: stretch; + align-content: stretch; + +` + +const PageContainer = styled.div` + + display: flex; + justify-content: space-around; + flex-direction: column; + flex: 1; +` + +const HeaderBlock = styled.div` + flex: 0 1; + padding: 0em 0; + margin: 2em 4em; +` + +const MainBlock = styled.div` + flex: 1; + align-items: center; + display: flex; + margin: 0em 4em; +` + +const TBTCTitle = styled.div` + font-size: 1.6em; +` + +const Hero = styled.div` + h1 { + font-size: 3.6em; + margin-top: 0; + } + p { + max-width: 450px; + } +` + +const QuestionBlock = styled.div` + flex: 1; + text-align: center; + padding: 2em 1em; + max-height: 200px; + background: #ddd; + + background: #ddd; + + h1 { + font-size: 1.6em; + } +` + +const Questions = styled.ul` + flex: 1; + text-align: center; +} +` + +const Question = styled.li` + display: block; + width: 300px; + +` + +const Button = styled.button` + padding: 1em; +` + +const Landing = () => { + return + + + + tbtc + + + + +

Bitcoin, on Ethereum

+

+ Deposit BTC to mint TBTC, trustlessly. Redeem TBTC for BTC, trustlessly. No KYC, no middleman, no bullshit. +

+ +
+
+ + +

Questions?

+ + + Foobar + + + Foobar + + + Foobar + + +
+ +
+
+} + +export default Landing \ No newline at end of file diff --git a/lib/with-redux-store.js b/lib/with-redux-store.js new file mode 100644 index 00000000..89b6e70e --- /dev/null +++ b/lib/with-redux-store.js @@ -0,0 +1,50 @@ +import React from 'react' +import { configureStore } from '../store' + +const isServer = typeof window === 'undefined' +const __NEXT_REDUX_STORE__ = '__NEXT_REDUX_STORE__' + +function getOrCreateStore (initialState) { + // Always make a new store if server, otherwise state is shared between requests + if (isServer) { + return configureStore(initialState) + } + + // Create store if unavailable on the client and set it on the window object + if (!window[__NEXT_REDUX_STORE__]) { + window[__NEXT_REDUX_STORE__] = configureStore(initialState) + } + return window[__NEXT_REDUX_STORE__] +} + +export default App => { + return class AppWithRedux extends React.Component { + static async getInitialProps (appContext) { + // Get or Create the store with `undefined` as initialState + // This allows you to set a custom default initialState + const reduxStore = getOrCreateStore() + + // Provide the store to getInitialProps of pages + appContext.ctx.reduxStore = reduxStore + + let appProps = {} + if (typeof App.getInitialProps === 'function') { + appProps = await App.getInitialProps(appContext) + } + + return { + ...appProps, + initialReduxState: reduxStore.getState() + } + } + + constructor (props) { + super(props) + this.reduxStore = getOrCreateStore(props.initialReduxState) + } + + render () { + return + } + } +} \ No newline at end of file diff --git a/pages/_app.js b/pages/_app.js new file mode 100644 index 00000000..fbdefa7a --- /dev/null +++ b/pages/_app.js @@ -0,0 +1,48 @@ +import Head from 'next/head' +import App, { Container } from 'next/app' +import React from 'react' +import withReduxStore from '../lib/with-redux-store' +import { Provider } from 'react-redux' + +import styled from 'styled-components' + + + +class MyApp extends App { + render() { + const { Component, pageProps, reduxStore } = this.props + return
+ + + + + + + + + + + + + +
+ } +} + +export default withReduxStore(MyApp) diff --git a/pages/index.js b/pages/index.js index b2875ba5..1a9fef83 100644 --- a/pages/index.js +++ b/pages/index.js @@ -1,5 +1,9 @@ +import styled from 'styled-components' + +import Landing from '../components/landing' + const Index = () => { - return
Hello tBTC!
+ return } export default Index \ No newline at end of file diff --git a/reducers/form.js b/reducers/form.js new file mode 100644 index 00000000..c45d7241 --- /dev/null +++ b/reducers/form.js @@ -0,0 +1,7 @@ +const intialState = { + step: 1 +} + +export function form(state = intialState, action) { + return state +} \ No newline at end of file diff --git a/reducers/index.js b/reducers/index.js new file mode 100644 index 00000000..f2d6c6eb --- /dev/null +++ b/reducers/index.js @@ -0,0 +1,6 @@ +import { form } from './form' +import { combineReducers } from 'redux' + +export default combineReducers({ + form +}) \ No newline at end of file diff --git a/store/index.js b/store/index.js new file mode 100644 index 00000000..55488bc2 --- /dev/null +++ b/store/index.js @@ -0,0 +1,22 @@ +import { createStore, applyMiddleware, compose, combineReducers } from 'redux' +import reducers from '../reducers' +import { composeWithDevTools } from 'redux-devtools-extension'; + +const composeEnhancers = composeWithDevTools({ +}); + +const initialState = { +} + +export function configureStore(options) { + const middleware = [ + ] + const store = createStore( + reducers, + initialState, + composeEnhancers( + applyMiddleware(...middleware), + ) + ) + return store; +} \ No newline at end of file From 874ae333bcb30901bc2442a8f08d3e323ec96963 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Tue, 23 Jul 2019 18:00:47 +0200 Subject: [PATCH 09/23] dapp page flows complete --- components/Button.js | 7 +++++++ components/await-deposit-confirm.js | 0 components/initiate-deposit.js | 0 components/prove-deposit.js | 0 components/request-deposit.js | 0 components/tbtc-minted.js | 0 package.json | 1 + pages/await-deposit-confirm.js | 26 ++++++++++++++++++++++++ pages/index.js | 2 +- pages/initiate-deposit.js | 31 +++++++++++++++++++++++++++++ {components => pages}/landing.js | 8 +++----- pages/prove-deposit.js | 23 +++++++++++++++++++++ pages/request-deposit.js | 15 ++++++++++++++ pages/tbtc-minted.js | 17 ++++++++++++++++ 14 files changed, 124 insertions(+), 6 deletions(-) create mode 100644 components/Button.js delete mode 100644 components/await-deposit-confirm.js delete mode 100644 components/initiate-deposit.js delete mode 100644 components/prove-deposit.js delete mode 100644 components/request-deposit.js delete mode 100644 components/tbtc-minted.js create mode 100644 pages/await-deposit-confirm.js create mode 100644 pages/initiate-deposit.js rename {components => pages}/landing.js (92%) create mode 100644 pages/prove-deposit.js create mode 100644 pages/request-deposit.js create mode 100644 pages/tbtc-minted.js diff --git a/components/Button.js b/components/Button.js new file mode 100644 index 00000000..ed4929cc --- /dev/null +++ b/components/Button.js @@ -0,0 +1,7 @@ +import styled from 'styled-components' + +const Button = styled.button` + padding: 1em; +` + +export { Button } \ No newline at end of file diff --git a/components/await-deposit-confirm.js b/components/await-deposit-confirm.js deleted file mode 100644 index e69de29b..00000000 diff --git a/components/initiate-deposit.js b/components/initiate-deposit.js deleted file mode 100644 index e69de29b..00000000 diff --git a/components/prove-deposit.js b/components/prove-deposit.js deleted file mode 100644 index e69de29b..00000000 diff --git a/components/request-deposit.js b/components/request-deposit.js deleted file mode 100644 index e69de29b..00000000 diff --git a/components/tbtc-minted.js b/components/tbtc-minted.js deleted file mode 100644 index e69de29b..00000000 diff --git a/package.json b/package.json index 30f46b1c..f0e18ac7 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "babel-plugin-styled-components": "^1.10.6", "next": "^9.0.2", "normalize.css": "^8.0.1", + "qrcode.react": "^0.9.3", "react": "^16.8.6", "react-dom": "^16.8.6", "react-redux": "^7.1.0", diff --git a/pages/await-deposit-confirm.js b/pages/await-deposit-confirm.js new file mode 100644 index 00000000..99b5de6d --- /dev/null +++ b/pages/await-deposit-confirm.js @@ -0,0 +1,26 @@ +import styled from 'styled-components' +const QRCode = require('qrcode.react') + + +const CopyAddressBox = styled.div` + background: #ddd; + border: 1px solid #ddd; + display: inline-block; + padding: 1em; +` + +const AwaitDepositConfirmation = () => { + const address = '1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa' + return
+ Waiting for transaction + +

Pay 1 BTC

+

Scan the QR code or tap to pay, or copy the address below into your wallet

+ + + {address} + +
+} + +export default AwaitDepositConfirmation \ No newline at end of file diff --git a/pages/index.js b/pages/index.js index 1a9fef83..86ab7b69 100644 --- a/pages/index.js +++ b/pages/index.js @@ -1,6 +1,6 @@ import styled from 'styled-components' -import Landing from '../components/landing' +import Landing from './landing' const Index = () => { return diff --git a/pages/initiate-deposit.js b/pages/initiate-deposit.js new file mode 100644 index 00000000..8550d0bf --- /dev/null +++ b/pages/initiate-deposit.js @@ -0,0 +1,31 @@ +import styled from 'styled-components' +const QRCode = require('qrcode.react') +import Link from 'next/link' +import { Button } from '../components/Button' + +const CopyAddressBox = styled.div` + background: white; + border: 1px solid #ddd; + display: inline-block; + padding: 1em; +` + +const InitiateDeposit = () => { + const address = '1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa' + return
+ + +

Pay 1 BTC

+

Scan the QR code or tap to pay, or copy the address below into your wallet

+ + + {address} + + + + + +
+} + +export default InitiateDeposit \ No newline at end of file diff --git a/components/landing.js b/pages/landing.js similarity index 92% rename from components/landing.js rename to pages/landing.js index d7caf95f..e330790e 100644 --- a/components/landing.js +++ b/pages/landing.js @@ -1,5 +1,6 @@ import styled from 'styled-components' - +import Link from 'next/link' +import { Button } from '../components/Button' const PageWrapper = styled.div` min-height: 100vh; @@ -74,9 +75,6 @@ const Question = styled.li` ` -const Button = styled.button` - padding: 1em; -` const Landing = () => { return @@ -92,7 +90,7 @@ const Landing = () => {

Deposit BTC to mint TBTC, trustlessly. Redeem TBTC for BTC, trustlessly. No KYC, no middleman, no bullshit.

- + diff --git a/pages/prove-deposit.js b/pages/prove-deposit.js new file mode 100644 index 00000000..61cfafef --- /dev/null +++ b/pages/prove-deposit.js @@ -0,0 +1,23 @@ +import styled from 'styled-components' +import Link from 'next/link' +import { Button } from '../components/Button' + +const CopyAddressBox = styled.div` + background: #ddd; + border: 1px solid #ddd; + display: inline-block; + padding: 1em; +` + +const ProveDeposit = () => { + return
+

Confirmed!

+

Finally, let's submit proof to Ethereum and get your tBTC

+ + + + +
+} + +export default ProveDeposit \ No newline at end of file diff --git a/pages/request-deposit.js b/pages/request-deposit.js new file mode 100644 index 00000000..f4f8c828 --- /dev/null +++ b/pages/request-deposit.js @@ -0,0 +1,15 @@ +import { Button } from "../components/Button"; +import Link from 'next/link' + +const RequestDeposit = () => { + return
+ +

Put down a small bond

+

Don't worry, you'll get it back! It's just an anti-spam measure

+ + + +
+} + +export default RequestDeposit \ No newline at end of file diff --git a/pages/tbtc-minted.js b/pages/tbtc-minted.js new file mode 100644 index 00000000..5f8382b5 --- /dev/null +++ b/pages/tbtc-minted.js @@ -0,0 +1,17 @@ + +import Link from 'next/link' +import { Button } from '../components/Button' + + +const TBTCMinted = () => { + return
+

Congratulations!

+

You're the proud owner of 0.995 tBTC

+ + + + + +
+} +export default TBTCMinted \ No newline at end of file From 0f7011287a65d6b0dd6c20b84c42581d3169ba02 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Tue, 23 Jul 2019 18:59:50 +0200 Subject: [PATCH 10/23] pages share layout now --- components/MainBlock.js | 11 ++++++ components/PageTemplate.js | 61 ++++++++++++++++++++++++++++++++++ pages/await-deposit-confirm.js | 24 ++++++++----- pages/initiate-deposit.js | 26 +++++++++------ pages/prove-deposit.js | 18 ++++++---- pages/request-deposit.js | 23 ++++++++----- pages/tbtc-minted.js | 11 ++++-- 7 files changed, 138 insertions(+), 36 deletions(-) create mode 100644 components/MainBlock.js create mode 100644 components/PageTemplate.js diff --git a/components/MainBlock.js b/components/MainBlock.js new file mode 100644 index 00000000..7b0d312e --- /dev/null +++ b/components/MainBlock.js @@ -0,0 +1,11 @@ +import styled from 'styled-components' + +const MainBlock = styled.div` + flex: 1; + align-items: start; + display: flex; + flex-direction: column; + margin: 0em 4em; +` + +export { MainBlock } \ No newline at end of file diff --git a/components/PageTemplate.js b/components/PageTemplate.js new file mode 100644 index 00000000..50e83166 --- /dev/null +++ b/components/PageTemplate.js @@ -0,0 +1,61 @@ +import { Button } from "../components/Button"; +import styled from 'styled-components' +import Link from 'next/link' + +const PageWrapper = styled.div` + min-height: 100vh; + + display: flex; + flex-direction: column; + flex-wrap: nowrap; + justify-content: flex-start; + align-items: stretch; + align-content: stretch; + +` + +const PageContainer = styled.div` + + display: flex; + justify-content: space-around; + flex-direction: column; + flex: 1; +` + +const HeaderBlock = styled.div` + flex: 0 1; + padding: 0em 0; + margin: 2em 4em; +` + +const MainBlock = styled.div` + flex: 1; + align-items: center; + display: flex; + flex-direction: row; + margin: 0em 4em; +` + +const TBTCTitle = styled.div` + font-size: 1.6em; +` + + +const PageTemplate = ({ children }) => { + return + + + + + tbtc + + + + {children} + + + + +} + +export { PageTemplate } \ No newline at end of file diff --git a/pages/await-deposit-confirm.js b/pages/await-deposit-confirm.js index 99b5de6d..09865529 100644 --- a/pages/await-deposit-confirm.js +++ b/pages/await-deposit-confirm.js @@ -1,4 +1,8 @@ import styled from 'styled-components' +import { PageTemplate } from '../components/PageTemplate' +import { MainBlock } from "../components/MainBlock"; +import Link from 'next/link' + const QRCode = require('qrcode.react') @@ -11,16 +15,20 @@ const CopyAddressBox = styled.div` const AwaitDepositConfirmation = () => { const address = '1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa' - return
- Waiting for transaction + return + + Waiting for transaction + +

Pay 1 BTC

+

Scan the QR code or tap to pay, or copy the address below into your wallet

-

Pay 1 BTC

-

Scan the QR code or tap to pay, or copy the address below into your wallet

+ + {address} + - - {address} - -
+ next to prove deposit + + } export default AwaitDepositConfirmation \ No newline at end of file diff --git a/pages/initiate-deposit.js b/pages/initiate-deposit.js index 8550d0bf..ae051d71 100644 --- a/pages/initiate-deposit.js +++ b/pages/initiate-deposit.js @@ -2,6 +2,8 @@ import styled from 'styled-components' const QRCode = require('qrcode.react') import Link from 'next/link' import { Button } from '../components/Button' +import { PageTemplate } from '../components/PageTemplate' +import { MainBlock } from "../components/MainBlock" const CopyAddressBox = styled.div` background: white; @@ -12,20 +14,22 @@ const CopyAddressBox = styled.div` const InitiateDeposit = () => { const address = '1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa' - return
- + return + + -

Pay 1 BTC

-

Scan the QR code or tap to pay, or copy the address below into your wallet

+

Pay 1 BTC

+

Scan the QR code or tap to pay, or copy the address below into your wallet

- - {address} - + + {address} + - - - -
+ + + + + } export default InitiateDeposit \ No newline at end of file diff --git a/pages/prove-deposit.js b/pages/prove-deposit.js index 61cfafef..5a0a22f0 100644 --- a/pages/prove-deposit.js +++ b/pages/prove-deposit.js @@ -1,6 +1,8 @@ import styled from 'styled-components' import Link from 'next/link' import { Button } from '../components/Button' +import { PageTemplate } from '../components/PageTemplate' +import { MainBlock } from "../components/MainBlock" const CopyAddressBox = styled.div` background: #ddd; @@ -10,14 +12,16 @@ const CopyAddressBox = styled.div` ` const ProveDeposit = () => { - return
-

Confirmed!

-

Finally, let's submit proof to Ethereum and get your tBTC

+ return + +

Confirmed!

+

Finally, let's submit proof to Ethereum and get your tBTC

- - - -
+ + + + + } export default ProveDeposit \ No newline at end of file diff --git a/pages/request-deposit.js b/pages/request-deposit.js index f4f8c828..93a0109f 100644 --- a/pages/request-deposit.js +++ b/pages/request-deposit.js @@ -1,15 +1,22 @@ import { Button } from "../components/Button"; +import styled from 'styled-components' import Link from 'next/link' +import { PageTemplate } from '../components/PageTemplate' +import { MainBlock } from "../components/MainBlock"; const RequestDeposit = () => { - return
- -

Put down a small bond

-

Don't worry, you'll get it back! It's just an anti-spam measure

- - - -
+ return + +
+

Put down a small bond

+

Don't worry, you'll get it back! It's just an anti-spam measure

+ + + +
+
+
+ } export default RequestDeposit \ No newline at end of file diff --git a/pages/tbtc-minted.js b/pages/tbtc-minted.js index 5f8382b5..0c2b0669 100644 --- a/pages/tbtc-minted.js +++ b/pages/tbtc-minted.js @@ -2,16 +2,23 @@ import Link from 'next/link' import { Button } from '../components/Button' +import { PageTemplate } from '../components/PageTemplate' +import { MainBlock } from "../components/MainBlock" const TBTCMinted = () => { - return
+ return + + +

Congratulations!

You're the proud owner of 0.995 tBTC

+
-
+ + } export default TBTCMinted \ No newline at end of file From 0ddb27932fd95002a04957927796e93c8ce37b09 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Tue, 23 Jul 2019 19:38:33 +0200 Subject: [PATCH 11/23] Fixed styled-components issue --- pages/_document.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 pages/_document.js diff --git a/pages/_document.js b/pages/_document.js new file mode 100644 index 00000000..a9d4fefe --- /dev/null +++ b/pages/_document.js @@ -0,0 +1,29 @@ +import Document from 'next/document' +import { ServerStyleSheet } from 'styled-components' + +export default class MyDocument extends Document { + static async getInitialProps (ctx) { + const sheet = new ServerStyleSheet() + const originalRenderPage = ctx.renderPage + + try { + ctx.renderPage = () => + originalRenderPage({ + enhanceApp: App => props => sheet.collectStyles() + }) + + const initialProps = await Document.getInitialProps(ctx) + return { + ...initialProps, + styles: ( + <> + {initialProps.styles} + {sheet.getStyleElement()} + + ) + } + } finally { + sheet.seal() + } + } +} \ No newline at end of file From 3baf7fe15e0ffd939a29816c90d6dd10baf3d6ee Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Tue, 23 Jul 2019 19:54:19 +0200 Subject: [PATCH 12/23] Form step layout, left aligned icons --- components/FormStep.js | 19 +++++++++++++++++ pages/await-deposit-confirm.js | 37 ++++++++++++++++++++++++++-------- pages/initiate-deposit.js | 27 ++++++++++++++++--------- 3 files changed, 66 insertions(+), 17 deletions(-) create mode 100644 components/FormStep.js diff --git a/components/FormStep.js b/components/FormStep.js new file mode 100644 index 00000000..9bdf699c --- /dev/null +++ b/components/FormStep.js @@ -0,0 +1,19 @@ +import styled from 'styled-components' + +export const FormStep = styled.div` + display: flex; + flex-direction: row; +` + +export const IconBlock = styled.div` + max-width: 256px; + max-height: 256px; + align-items: center; + display: flex; + justify-content: center; + margin-right: 2em; +` + +export const ContentBlock = styled.div` + flex: 1; +` diff --git a/pages/await-deposit-confirm.js b/pages/await-deposit-confirm.js index 09865529..024edd69 100644 --- a/pages/await-deposit-confirm.js +++ b/pages/await-deposit-confirm.js @@ -2,6 +2,7 @@ import styled from 'styled-components' import { PageTemplate } from '../components/PageTemplate' import { MainBlock } from "../components/MainBlock"; import Link from 'next/link' +import { IconBlock, ContentBlock, FormStep } from '../components/FormStep'; const QRCode = require('qrcode.react') @@ -11,22 +12,42 @@ const CopyAddressBox = styled.div` border: 1px solid #ddd; display: inline-block; padding: 1em; + color: #666; +` + +const WaitingForTx = styled.div` + text-align: center; + i { + font-size: 64px; + display: block; + clear: both; + } ` const AwaitDepositConfirmation = () => { const address = '1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa' return - Waiting for transaction - -

Pay 1 BTC

-

Scan the QR code or tap to pay, or copy the address below into your wallet

+ + + + + Waiting for a confirmation + + + + +

Pay 1 BTC

+

Scan the QR code or tap to pay, or copy the address below into your wallet

- - {address} - + + {address} + - next to prove deposit +
+ next to prove deposit +
+
} diff --git a/pages/initiate-deposit.js b/pages/initiate-deposit.js index ae051d71..d4db60fa 100644 --- a/pages/initiate-deposit.js +++ b/pages/initiate-deposit.js @@ -4,6 +4,7 @@ import Link from 'next/link' import { Button } from '../components/Button' import { PageTemplate } from '../components/PageTemplate' import { MainBlock } from "../components/MainBlock" +import { IconBlock, FormStep, ContentBlock } from '../components/FormStep'; const CopyAddressBox = styled.div` background: white; @@ -16,18 +17,26 @@ const InitiateDeposit = () => { const address = '1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa' return - + + + + -

Pay 1 BTC

-

Scan the QR code or tap to pay, or copy the address below into your wallet

+ +

Pay 1 BTC

+

Scan the QR code or tap to pay, or copy the address below into your wallet

- - {address} - + + {address} + - - - +
+ + + +
+ +
} From ea3a89b80acde57302f3698e6b2218887b0e2481 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Wed, 24 Jul 2019 18:01:35 +0200 Subject: [PATCH 13/23] Building interactivity with sagas --- PLAN | 38 +++++++++++++++++++++++++ actions/index.js | 30 ++++++++++++++++++++ components/FormStep.js | 2 +- components/RequestDeposit.js | 20 ++++++++++++++ containers/RequestDepositContainer.js | 20 ++++++++++++++ package.json | 3 ++ pages/request-deposit.js | 23 ++------------- sagas/index.js | 40 +++++++++++++++++++++++++++ store/index.js | 7 +++++ 9 files changed, 161 insertions(+), 22 deletions(-) create mode 100644 PLAN create mode 100644 actions/index.js create mode 100644 components/RequestDeposit.js create mode 100644 containers/RequestDepositContainer.js create mode 100644 sagas/index.js diff --git a/PLAN b/PLAN new file mode 100644 index 00000000..f3509270 --- /dev/null +++ b/PLAN @@ -0,0 +1,38 @@ +order: +- request-deposit +- initiate-deposit +- await-deposit-confirm +- prove-deposit +- tbtc-minted + + +requestADeposit + create action + call Keep to request a deposit + sign the transaction and submit + wait for it to be mined + get the deposit address + now call the deposit contract + and get the btc address + goto next + +sendTbtc + onclick "ok I sent it" + now show a waiting dialog, with some sort of smart countdown + wait for the transaction to be received + wait for the transaction to be confirmed + wait a certain number of confirmations on this step + when it's finally sufficiently confirmed, dispatch the txid + goto next + +proveDeposit + get the txid + run through the proof generation process + generate a proof + again, call the web3 contract, submitting the proof + wait for the tx to be mined successfully + filter through the contract events to get the transaction id + goto next + +tbtcMinted + show the link to the tx diff --git a/actions/index.js b/actions/index.js new file mode 100644 index 00000000..155d9f01 --- /dev/null +++ b/actions/index.js @@ -0,0 +1,30 @@ +import { createActions, handleActions, combineActions } from 'redux-actions'; +import { REQUEST_A_DEPOSIT } from '../sagas' + +export function requestADeposit() { + return { + type: REQUEST_A_DEPOSIT + } +} + + +// const defaultState = { counter: 10 }; + +// const { increment, decrement } = createActions({ +// INCREMENT: (amount = 1) => ({ amount }), +// DECREMENT: (amount = 1) => ({ amount: -amount }) +// }); + +// const reducer = handleActions( +// { +// [combineActions(increment, decrement)]: ( +// state, +// { payload: { amount } } +// ) => { +// return { ...state, counter: state.counter + amount }; +// } +// }, +// defaultState +// ); + +// export default reducer; diff --git a/components/FormStep.js b/components/FormStep.js index 9bdf699c..f6ed0b63 100644 --- a/components/FormStep.js +++ b/components/FormStep.js @@ -6,7 +6,7 @@ export const FormStep = styled.div` ` export const IconBlock = styled.div` - max-width: 256px; + width: 200px; max-height: 256px; align-items: center; display: flex; diff --git a/components/RequestDeposit.js b/components/RequestDeposit.js new file mode 100644 index 00000000..b4dc425e --- /dev/null +++ b/components/RequestDeposit.js @@ -0,0 +1,20 @@ +import { Button } from "./Button"; +import styled from 'styled-components' +import Link from 'next/link' +import { PageTemplate } from './PageTemplate' +import { MainBlock } from "./MainBlock"; + +const RequestDeposit = ({ requestADeposit }) => { + return + +
+

Put down a small bond

+

Don't worry, you'll get it back! It's just an anti-spam measure

+ +
+
+
+ +} + +export { RequestDeposit } \ No newline at end of file diff --git a/containers/RequestDepositContainer.js b/containers/RequestDepositContainer.js new file mode 100644 index 00000000..ebfbe36e --- /dev/null +++ b/containers/RequestDepositContainer.js @@ -0,0 +1,20 @@ +import { bindActionCreators } from 'redux' +import { connect } from 'react-redux' + +import { RequestDeposit } from '../components/RequestDeposit' +import { requestADeposit } from "../actions" + +function mapStateToProps(state, ownProps) { + return {} +} + +function mapDispatchToProps(dispatch) { + return bindActionCreators( + { + requestADeposit + }, + dispatch + ) +} + +export default connect(mapStateToProps, mapDispatchToProps)(RequestDeposit) \ No newline at end of file diff --git a/package.json b/package.json index f0e18ac7..9f7d2a6e 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ }, "dependencies": { "babel-plugin-styled-components": "^1.10.6", + "connected-next-router": "^0.0.7", "next": "^9.0.2", "normalize.css": "^8.0.1", "qrcode.react": "^0.9.3", @@ -15,7 +16,9 @@ "react-dom": "^16.8.6", "react-redux": "^7.1.0", "redux": "^4.0.4", + "redux-actions": "^2.6.5", "redux-devtools-extension": "^2.13.8", + "redux-saga": "^1.0.5", "styled-components": "^4.3.2", "web3": "^1.2.0" } diff --git a/pages/request-deposit.js b/pages/request-deposit.js index 93a0109f..2a1392c5 100644 --- a/pages/request-deposit.js +++ b/pages/request-deposit.js @@ -1,22 +1,3 @@ -import { Button } from "../components/Button"; -import styled from 'styled-components' -import Link from 'next/link' -import { PageTemplate } from '../components/PageTemplate' -import { MainBlock } from "../components/MainBlock"; +import RequestDepositContainer from '../containers/RequestDepositContainer' -const RequestDeposit = () => { - return - -
-

Put down a small bond

-

Don't worry, you'll get it back! It's just an anti-spam measure

- - - -
-
-
- -} - -export default RequestDeposit \ No newline at end of file +export default RequestDepositContainer \ No newline at end of file diff --git a/sagas/index.js b/sagas/index.js new file mode 100644 index 00000000..bb392fd1 --- /dev/null +++ b/sagas/index.js @@ -0,0 +1,40 @@ +import { call, put, takeEvery, takeLatest } from 'redux-saga/effects' + +import { useRouter } from 'next/router' +const router = useRouter() + +export const REQUEST_A_DEPOSIT = 'REQUEST_A_DEPOSIT' + +function* requestADeposit() { + // call Keep to request a deposit + yield put({ type: 'DEPOSIT_REQUEST_BEGIN' }) + + // sign the transaction and submit + yield put({ type: 'DEPOSIT_REQUEST_METAMASK_SUCCESS' }) + + // wait for it to be mined + // get the deposit address + yield put({ + type: 'DEPOSIT_REQUEST_SUCCESS', + payload: { + depositAddress: '0x'+'0'.repeat(40) + } + }) + + // now call the deposit contract + // and get the btc address + // goto next + yield put({ + type: 'DEPOSIT_BTC_ADDRESS', + payload: { + btcAddress: '1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa' + } + }) + + // goto + router.push('/initiate-deposit') +} + +export default function* () { + yield takeEvery("REQUEST_A_DEPOSIT", requestADeposit); +} \ No newline at end of file diff --git a/store/index.js b/store/index.js index 55488bc2..da427c2f 100644 --- a/store/index.js +++ b/store/index.js @@ -1,6 +1,8 @@ import { createStore, applyMiddleware, compose, combineReducers } from 'redux' import reducers from '../reducers' import { composeWithDevTools } from 'redux-devtools-extension'; +import createSagaMiddleware from 'redux-saga' +import rootSaga from '../sagas' const composeEnhancers = composeWithDevTools({ }); @@ -8,8 +10,12 @@ const composeEnhancers = composeWithDevTools({ const initialState = { } +const sagaMiddleware = createSagaMiddleware() + + export function configureStore(options) { const middleware = [ + sagaMiddleware ] const store = createStore( reducers, @@ -18,5 +24,6 @@ export function configureStore(options) { applyMiddleware(...middleware), ) ) + sagaMiddleware.run(rootSaga) return store; } \ No newline at end of file From 51932e3d769e1115a03bc24434f773fa30a5c2dd Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Wed, 24 Jul 2019 18:28:04 +0200 Subject: [PATCH 14/23] routing via saga, btcAddress loaded from store --- components/InitiateDeposit.js | 43 ++++++++++++++++++++++++ containers/InitiateDepositContainer.js | 24 ++++++++++++++ package.json | 1 - pages/_app.js | 3 +- pages/await-deposit-confirm.js | 2 +- pages/initiate-deposit.js | 46 ++------------------------ reducers/form.js | 18 +++++++++- sagas/index.js | 9 ++--- 8 files changed, 94 insertions(+), 52 deletions(-) create mode 100644 components/InitiateDeposit.js create mode 100644 containers/InitiateDepositContainer.js diff --git a/components/InitiateDeposit.js b/components/InitiateDeposit.js new file mode 100644 index 00000000..22c04685 --- /dev/null +++ b/components/InitiateDeposit.js @@ -0,0 +1,43 @@ +import styled from 'styled-components' +const QRCode = require('qrcode.react') +import Link from 'next/link' +import { Button } from '../components/Button' +import { PageTemplate } from '../components/PageTemplate' +import { MainBlock } from "../components/MainBlock" +import { IconBlock, FormStep, ContentBlock } from '../components/FormStep'; + +const CopyAddressBox = styled.div` + background: white; + border: 1px solid #ddd; + display: inline-block; + padding: 1em; +` + +const InitiateDeposit = ({ address }) => { + return + + + + + + + +

Pay 1 BTC

+

Scan the QR code or tap to pay, or copy the address below into your wallet

+ + + {address} + + +
+ + + +
+ +
+
+
+} + +export { InitiateDeposit } \ No newline at end of file diff --git a/containers/InitiateDepositContainer.js b/containers/InitiateDepositContainer.js new file mode 100644 index 00000000..da4dd151 --- /dev/null +++ b/containers/InitiateDepositContainer.js @@ -0,0 +1,24 @@ + + + +import { bindActionCreators } from 'redux' +import { connect } from 'react-redux' + +import { InitiateDeposit } from '../components/InitiateDeposit' +import { requestADeposit } from "../actions" + +function mapStateToProps(state, ownProps) { + return { + address: state.form.btcAddress + } +} + +function mapDispatchToProps(dispatch) { + return bindActionCreators( + { + }, + dispatch + ) +} + +export default connect(mapStateToProps, mapDispatchToProps)(InitiateDeposit) \ No newline at end of file diff --git a/package.json b/package.json index 9f7d2a6e..c976e15d 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,6 @@ }, "dependencies": { "babel-plugin-styled-components": "^1.10.6", - "connected-next-router": "^0.0.7", "next": "^9.0.2", "normalize.css": "^8.0.1", "qrcode.react": "^0.9.3", diff --git a/pages/_app.js b/pages/_app.js index fbdefa7a..032d2dc1 100644 --- a/pages/_app.js +++ b/pages/_app.js @@ -3,6 +3,7 @@ import App, { Container } from 'next/app' import React from 'react' import withReduxStore from '../lib/with-redux-store' import { Provider } from 'react-redux' +import { ConnectedRouter } from 'connected-next-router' import styled from 'styled-components' @@ -37,7 +38,7 @@ class MyApp extends App { `} - + diff --git a/pages/await-deposit-confirm.js b/pages/await-deposit-confirm.js index 024edd69..9120cee8 100644 --- a/pages/await-deposit-confirm.js +++ b/pages/await-deposit-confirm.js @@ -25,7 +25,7 @@ const WaitingForTx = styled.div` ` const AwaitDepositConfirmation = () => { - const address = '1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa' + const address = '' return diff --git a/pages/initiate-deposit.js b/pages/initiate-deposit.js index d4db60fa..ec1ccef2 100644 --- a/pages/initiate-deposit.js +++ b/pages/initiate-deposit.js @@ -1,44 +1,2 @@ -import styled from 'styled-components' -const QRCode = require('qrcode.react') -import Link from 'next/link' -import { Button } from '../components/Button' -import { PageTemplate } from '../components/PageTemplate' -import { MainBlock } from "../components/MainBlock" -import { IconBlock, FormStep, ContentBlock } from '../components/FormStep'; - -const CopyAddressBox = styled.div` - background: white; - border: 1px solid #ddd; - display: inline-block; - padding: 1em; -` - -const InitiateDeposit = () => { - const address = '1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa' - return - - - - - - - -

Pay 1 BTC

-

Scan the QR code or tap to pay, or copy the address below into your wallet

- - - {address} - - -
- - - -
- -
-
-
-} - -export default InitiateDeposit \ No newline at end of file +import InitiateDepositContainer from '../containers/InitiateDepositContainer' +export default InitiateDepositContainer \ No newline at end of file diff --git a/reducers/form.js b/reducers/form.js index c45d7241..435b2eda 100644 --- a/reducers/form.js +++ b/reducers/form.js @@ -1,7 +1,23 @@ +import { DEPOSIT_BTC_ADDRESS, DEPOSIT_REQUEST_SUCCESS } from "../sagas"; + const intialState = { - step: 1 + step: 1, + btcAddress: null, + depositAddress: null } export function form(state = intialState, action) { + switch(action.type) { + case DEPOSIT_BTC_ADDRESS: + return { + ...state, + btcAddress: action.payload.btcAddress + } + case DEPOSIT_REQUEST_SUCCESS: + return { + ...state, + depositAddress: action.payload.depositAddress + } + } return state } \ No newline at end of file diff --git a/sagas/index.js b/sagas/index.js index bb392fd1..4919ad4a 100644 --- a/sagas/index.js +++ b/sagas/index.js @@ -1,9 +1,10 @@ import { call, put, takeEvery, takeLatest } from 'redux-saga/effects' -import { useRouter } from 'next/router' -const router = useRouter() - export const REQUEST_A_DEPOSIT = 'REQUEST_A_DEPOSIT' +export const DEPOSIT_REQUEST_BEGIN = 'DEPOSIT_REQUEST_BEGIN' +export const DEPOSIT_REQUEST_SUCCESS = 'DEPOSIT_REQUEST_SUCCESS' +export const DEPOSIT_BTC_ADDRESS = 'DEPOSIT_BTC_ADDRESS' +import Router from 'next/router'; function* requestADeposit() { // call Keep to request a deposit @@ -32,7 +33,7 @@ function* requestADeposit() { }) // goto - router.push('/initiate-deposit') + Router.push('/initiate-deposit') } export default function* () { From 2a492a76f8ff37232e6e0f0cf95cf8800930c175 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Wed, 24 Jul 2019 18:31:38 +0200 Subject: [PATCH 15/23] AwaitDepositConfirmation container --- components/AwaitDepositConfirmation.js | 54 ++++++++++++++++++ .../AwaitDepositConfirmationContainer.js | 21 +++++++ pages/await-deposit-confirm.js | 57 +------------------ 3 files changed, 77 insertions(+), 55 deletions(-) create mode 100644 components/AwaitDepositConfirmation.js create mode 100644 containers/AwaitDepositConfirmationContainer.js diff --git a/components/AwaitDepositConfirmation.js b/components/AwaitDepositConfirmation.js new file mode 100644 index 00000000..ba108201 --- /dev/null +++ b/components/AwaitDepositConfirmation.js @@ -0,0 +1,54 @@ +import styled from 'styled-components' +import { PageTemplate } from './PageTemplate' +import { MainBlock } from "./MainBlock"; +import Link from 'next/link' +import { IconBlock, ContentBlock, FormStep } from './FormStep'; + +const QRCode = require('qrcode.react') + + +const CopyAddressBox = styled.div` + background: #ddd; + border: 1px solid #ddd; + display: inline-block; + padding: 1em; + color: #666; +` + +const WaitingForTx = styled.div` + text-align: center; + i { + font-size: 64px; + display: block; + clear: both; + } +` + +const AwaitDepositConfirmation = ({ address }) => { + return + + + + + + Waiting for a confirmation + + + + +

Pay 1 BTC

+

Scan the QR code or tap to pay, or copy the address below into your wallet

+ + + {address} + + +
+ next to prove deposit +
+
+
+
+} + +export { AwaitDepositConfirmation } \ No newline at end of file diff --git a/containers/AwaitDepositConfirmationContainer.js b/containers/AwaitDepositConfirmationContainer.js new file mode 100644 index 00000000..a534036f --- /dev/null +++ b/containers/AwaitDepositConfirmationContainer.js @@ -0,0 +1,21 @@ +import { bindActionCreators } from 'redux' +import { connect } from 'react-redux' + +import { AwaitDepositConfirmation } from '../components/AwaitDepositConfirmation' + + +function mapStateToProps(state, ownProps) { + return { + address: state.form.btcAddress + } +} + +function mapDispatchToProps(dispatch) { + return bindActionCreators( + { + }, + dispatch + ) +} + +export default connect(mapStateToProps, mapDispatchToProps)(AwaitDepositConfirmation) \ No newline at end of file diff --git a/pages/await-deposit-confirm.js b/pages/await-deposit-confirm.js index 9120cee8..b686ca96 100644 --- a/pages/await-deposit-confirm.js +++ b/pages/await-deposit-confirm.js @@ -1,55 +1,2 @@ -import styled from 'styled-components' -import { PageTemplate } from '../components/PageTemplate' -import { MainBlock } from "../components/MainBlock"; -import Link from 'next/link' -import { IconBlock, ContentBlock, FormStep } from '../components/FormStep'; - -const QRCode = require('qrcode.react') - - -const CopyAddressBox = styled.div` - background: #ddd; - border: 1px solid #ddd; - display: inline-block; - padding: 1em; - color: #666; -` - -const WaitingForTx = styled.div` - text-align: center; - i { - font-size: 64px; - display: block; - clear: both; - } -` - -const AwaitDepositConfirmation = () => { - const address = '' - return - - - - - - Waiting for a confirmation - - - - -

Pay 1 BTC

-

Scan the QR code or tap to pay, or copy the address below into your wallet

- - - {address} - - -
- next to prove deposit -
-
-
-
-} - -export default AwaitDepositConfirmation \ No newline at end of file +import AwaitDepositConfirmationContainer from '../containers/AwaitDepositConfirmationContainer' +export default AwaitDepositConfirmationContainer \ No newline at end of file From ffed120dd4ec014a981ba3e3ea0ecac295b1686d Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Thu, 25 Jul 2019 16:17:57 +0300 Subject: [PATCH 16/23] AwaitDepositConfirmation sagas --- actions/index.js | 28 ++++------------- components/AwaitDepositConfirmation.js | 2 +- .../AwaitDepositConfirmationContainer.js | 13 +++++++- pages/request-deposit.js | 1 - reducers/form.js | 3 +- sagas/index.js | 30 ++++++++++++++++++- 6 files changed, 50 insertions(+), 27 deletions(-) diff --git a/actions/index.js b/actions/index.js index 155d9f01..7d186e24 100644 --- a/actions/index.js +++ b/actions/index.js @@ -1,5 +1,5 @@ import { createActions, handleActions, combineActions } from 'redux-actions'; -import { REQUEST_A_DEPOSIT } from '../sagas' +import { REQUEST_A_DEPOSIT, WAIT_CONFIRMATION } from '../sagas' export function requestADeposit() { return { @@ -7,24 +7,8 @@ export function requestADeposit() { } } - -// const defaultState = { counter: 10 }; - -// const { increment, decrement } = createActions({ -// INCREMENT: (amount = 1) => ({ amount }), -// DECREMENT: (amount = 1) => ({ amount: -amount }) -// }); - -// const reducer = handleActions( -// { -// [combineActions(increment, decrement)]: ( -// state, -// { payload: { amount } } -// ) => { -// return { ...state, counter: state.counter + amount }; -// } -// }, -// defaultState -// ); - -// export default reducer; +export function waitConfirmation() { + return { + type: WAIT_CONFIRMATION + } +} \ No newline at end of file diff --git a/components/AwaitDepositConfirmation.js b/components/AwaitDepositConfirmation.js index ba108201..ec149dba 100644 --- a/components/AwaitDepositConfirmation.js +++ b/components/AwaitDepositConfirmation.js @@ -44,7 +44,7 @@ const AwaitDepositConfirmation = ({ address }) => {
- next to prove deposit + let's prove our deposit and claim tbtc
diff --git a/containers/AwaitDepositConfirmationContainer.js b/containers/AwaitDepositConfirmationContainer.js index a534036f..811b807f 100644 --- a/containers/AwaitDepositConfirmationContainer.js +++ b/containers/AwaitDepositConfirmationContainer.js @@ -2,7 +2,17 @@ import { bindActionCreators } from 'redux' import { connect } from 'react-redux' import { AwaitDepositConfirmation } from '../components/AwaitDepositConfirmation' +import { waitConfirmation } from '../actions' +class AwaitDepositConfirmationContainer extends React.Component { + componentDidMount() { + this.props.waitConfirmation() + } + + render() { + return + } +} function mapStateToProps(state, ownProps) { return { @@ -13,9 +23,10 @@ function mapStateToProps(state, ownProps) { function mapDispatchToProps(dispatch) { return bindActionCreators( { + waitConfirmation }, dispatch ) } -export default connect(mapStateToProps, mapDispatchToProps)(AwaitDepositConfirmation) \ No newline at end of file +export default connect(mapStateToProps, mapDispatchToProps)(AwaitDepositConfirmationContainer) \ No newline at end of file diff --git a/pages/request-deposit.js b/pages/request-deposit.js index 2a1392c5..365319b9 100644 --- a/pages/request-deposit.js +++ b/pages/request-deposit.js @@ -1,3 +1,2 @@ import RequestDepositContainer from '../containers/RequestDepositContainer' - export default RequestDepositContainer \ No newline at end of file diff --git a/reducers/form.js b/reducers/form.js index 435b2eda..d6e831fc 100644 --- a/reducers/form.js +++ b/reducers/form.js @@ -3,7 +3,8 @@ import { DEPOSIT_BTC_ADDRESS, DEPOSIT_REQUEST_SUCCESS } from "../sagas"; const intialState = { step: 1, btcAddress: null, - depositAddress: null + depositAddress: null, + txid: null } export function form(state = intialState, action) { diff --git a/sagas/index.js b/sagas/index.js index 4919ad4a..9d65ed3d 100644 --- a/sagas/index.js +++ b/sagas/index.js @@ -4,6 +4,9 @@ export const REQUEST_A_DEPOSIT = 'REQUEST_A_DEPOSIT' export const DEPOSIT_REQUEST_BEGIN = 'DEPOSIT_REQUEST_BEGIN' export const DEPOSIT_REQUEST_SUCCESS = 'DEPOSIT_REQUEST_SUCCESS' export const DEPOSIT_BTC_ADDRESS = 'DEPOSIT_BTC_ADDRESS' + +export const WAIT_CONFIRMATION = 'WAIT_CONFIRMATION' + import Router from 'next/router'; function* requestADeposit() { @@ -36,6 +39,31 @@ function* requestADeposit() { Router.push('/initiate-deposit') } +function* waitConfirmation() { + // now show a waiting dialog, with some sort of smart countdown + // wait for the transaction to be received + // wait for the transaction to be confirmed + yield put({ + type: "BTC_TX_MINED" + }) + + // wait a certain number of confirmations on this step + yield put({ + type: "BTC_TX_CONFIRMED_WAIT" + }) + + // when it's finally sufficiently confirmed, dispatch the txid + yield put({ + type: "BTC_TX_CONFIRMED", + payload: { + txid: 'ed469d3afbe6a4f69b729fc782ed6bf15fb7017d7f4349227d48753c68ac04b3' + } + }) + + // goto next +} + export default function* () { - yield takeEvery("REQUEST_A_DEPOSIT", requestADeposit); + yield takeEvery("REQUEST_A_DEPOSIT", requestADeposit) + yield takeEvery('WAIT_CONFIRMATION', waitConfirmation) } \ No newline at end of file From 8ac86f25c4cf928edcdbd1e40f38699adc5179e0 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Thu, 25 Jul 2019 16:46:07 +0300 Subject: [PATCH 17/23] Full e2e flow with logic --- actions/index.js | 8 +++++- components/AwaitDepositConfirmation.js | 4 +-- components/ProveDeposit.js | 25 ++++++++++++++++++ components/TBTCMinted.js | 23 +++++++++++++++++ containers/ProveDepositContainer.js | 21 ++++++++++++++++ containers/TBTCMintedContainer.js | 20 +++++++++++++++ pages/prove-deposit.js | 29 ++------------------- pages/tbtc-minted.js | 26 ++----------------- reducers/form.js | 16 ++++++++++-- sagas/index.js | 35 ++++++++++++++++++++++---- 10 files changed, 146 insertions(+), 61 deletions(-) create mode 100644 components/ProveDeposit.js create mode 100644 components/TBTCMinted.js create mode 100644 containers/ProveDepositContainer.js create mode 100644 containers/TBTCMintedContainer.js diff --git a/actions/index.js b/actions/index.js index 7d186e24..5e72cfd0 100644 --- a/actions/index.js +++ b/actions/index.js @@ -1,5 +1,5 @@ import { createActions, handleActions, combineActions } from 'redux-actions'; -import { REQUEST_A_DEPOSIT, WAIT_CONFIRMATION } from '../sagas' +import { REQUEST_A_DEPOSIT, WAIT_CONFIRMATION, SUBMIT_DEPOSIT_PROOF } from '../sagas' export function requestADeposit() { return { @@ -11,4 +11,10 @@ export function waitConfirmation() { return { type: WAIT_CONFIRMATION } +} + +export function submitProof() { + return { + type: SUBMIT_DEPOSIT_PROOF + } } \ No newline at end of file diff --git a/components/AwaitDepositConfirmation.js b/components/AwaitDepositConfirmation.js index ec149dba..0247c34b 100644 --- a/components/AwaitDepositConfirmation.js +++ b/components/AwaitDepositConfirmation.js @@ -30,7 +30,7 @@ const AwaitDepositConfirmation = ({ address }) => { - + Waiting for a confirmation @@ -44,7 +44,7 @@ const AwaitDepositConfirmation = ({ address }) => {
- let's prove our deposit and claim tbtc + let's prove our deposit and claim tbtc
diff --git a/components/ProveDeposit.js b/components/ProveDeposit.js new file mode 100644 index 00000000..bef06c8a --- /dev/null +++ b/components/ProveDeposit.js @@ -0,0 +1,25 @@ +import styled from 'styled-components' +import Link from 'next/link' +import { Button } from '../components/Button' +import { PageTemplate } from '../components/PageTemplate' +import { MainBlock } from "../components/MainBlock" + +const CopyAddressBox = styled.div` + background: #ddd; + border: 1px solid #ddd; + display: inline-block; + padding: 1em; +` + +const ProveDeposit = ({ submitProof }) => { + return + +

Confirmed!

+

Finally, let's submit proof to Ethereum and get your tBTC

+ + +
+
+} + +export { ProveDeposit } \ No newline at end of file diff --git a/components/TBTCMinted.js b/components/TBTCMinted.js new file mode 100644 index 00000000..65f39e77 --- /dev/null +++ b/components/TBTCMinted.js @@ -0,0 +1,23 @@ +import Link from 'next/link' +import { Button } from '../components/Button' + +import { PageTemplate } from '../components/PageTemplate' +import { MainBlock } from "../components/MainBlock" + +const TBTCMinted = ({ txHash }) => { + return + + +
+

Congratulations!

+

You're the proud owner of 0.995 tBTC

+ + + + +
+ +
+
+} +export { TBTCMinted } \ No newline at end of file diff --git a/containers/ProveDepositContainer.js b/containers/ProveDepositContainer.js new file mode 100644 index 00000000..60075c95 --- /dev/null +++ b/containers/ProveDepositContainer.js @@ -0,0 +1,21 @@ +import { bindActionCreators } from 'redux' +import { connect } from 'react-redux' + +import { ProveDeposit } from '../components/ProveDeposit' +import { submitProof } from '../actions' + +function mapStateToProps(state, ownProps) { + return { + } +} + +function mapDispatchToProps(dispatch) { + return bindActionCreators( + { + submitProof + }, + dispatch + ) +} + +export default connect(mapStateToProps, mapDispatchToProps)(ProveDeposit) \ No newline at end of file diff --git a/containers/TBTCMintedContainer.js b/containers/TBTCMintedContainer.js new file mode 100644 index 00000000..a8650f89 --- /dev/null +++ b/containers/TBTCMintedContainer.js @@ -0,0 +1,20 @@ +import { bindActionCreators } from 'redux' +import { connect } from 'react-redux' + +import { TBTCMinted } from '../components/TBTCMinted'; + +function mapStateToProps(state, ownProps) { + return { + txHash: state.form.tbtcMintedTxId + } +} + +function mapDispatchToProps(dispatch) { + return bindActionCreators( + { + }, + dispatch + ) +} + +export default connect(mapStateToProps, mapDispatchToProps)(TBTCMinted) \ No newline at end of file diff --git a/pages/prove-deposit.js b/pages/prove-deposit.js index 5a0a22f0..c8d223da 100644 --- a/pages/prove-deposit.js +++ b/pages/prove-deposit.js @@ -1,27 +1,2 @@ -import styled from 'styled-components' -import Link from 'next/link' -import { Button } from '../components/Button' -import { PageTemplate } from '../components/PageTemplate' -import { MainBlock } from "../components/MainBlock" - -const CopyAddressBox = styled.div` - background: #ddd; - border: 1px solid #ddd; - display: inline-block; - padding: 1em; -` - -const ProveDeposit = () => { - return - -

Confirmed!

-

Finally, let's submit proof to Ethereum and get your tBTC

- - - - -
-
-} - -export default ProveDeposit \ No newline at end of file +import ProveDepositContainer from '../containers/ProveDepositContainer' +export default ProveDepositContainer \ No newline at end of file diff --git a/pages/tbtc-minted.js b/pages/tbtc-minted.js index 0c2b0669..6fc79d44 100644 --- a/pages/tbtc-minted.js +++ b/pages/tbtc-minted.js @@ -1,24 +1,2 @@ - -import Link from 'next/link' -import { Button } from '../components/Button' - -import { PageTemplate } from '../components/PageTemplate' -import { MainBlock } from "../components/MainBlock" - -const TBTCMinted = () => { - return - - -
-

Congratulations!

-

You're the proud owner of 0.995 tBTC

- - - - -
- -
-
-} -export default TBTCMinted \ No newline at end of file +import TBTCMintedContainer from '../containers/TBTCMintedContainer' +export default TBTCMintedContainer \ No newline at end of file diff --git a/reducers/form.js b/reducers/form.js index d6e831fc..4b950032 100644 --- a/reducers/form.js +++ b/reducers/form.js @@ -1,10 +1,11 @@ -import { DEPOSIT_BTC_ADDRESS, DEPOSIT_REQUEST_SUCCESS } from "../sagas"; +import { DEPOSIT_BTC_ADDRESS, DEPOSIT_REQUEST_SUCCESS, DEPOSIT_PROVE_BTC_TX_SUCCESS, BTC_TX_CONFIRMED } from "../sagas"; const intialState = { step: 1, btcAddress: null, depositAddress: null, - txid: null + btcDepositedTxid: null, + tbtcMintedTxId: null } export function form(state = intialState, action) { @@ -19,6 +20,17 @@ export function form(state = intialState, action) { ...state, depositAddress: action.payload.depositAddress } + case BTC_TX_CONFIRMED: + return { + ...state, + btcDepositedTxid: action.payload.btcDepositedTxid + } + case DEPOSIT_PROVE_BTC_TX_SUCCESS: + return { + ...state, + tbtcMintedTxId: action.payload.tbtcMintedTxId + } + } return state } \ No newline at end of file diff --git a/sagas/index.js b/sagas/index.js index 9d65ed3d..8d759a0f 100644 --- a/sagas/index.js +++ b/sagas/index.js @@ -6,6 +6,10 @@ export const DEPOSIT_REQUEST_SUCCESS = 'DEPOSIT_REQUEST_SUCCESS' export const DEPOSIT_BTC_ADDRESS = 'DEPOSIT_BTC_ADDRESS' export const WAIT_CONFIRMATION = 'WAIT_CONFIRMATION' +export const BTC_TX_CONFIRMED = 'BTC_TX_CONFIRMED' + +export const SUBMIT_DEPOSIT_PROOF = 'SUBMIT_DEPOSIT_PROOF' +export const DEPOSIT_PROVE_BTC_TX_SUCCESS = 'DEPOSIT_PROVE_BTC_TX_SUCCESS' import Router from 'next/router'; @@ -29,7 +33,7 @@ function* requestADeposit() { // and get the btc address // goto next yield put({ - type: 'DEPOSIT_BTC_ADDRESS', + type: DEPOSIT_BTC_ADDRESS, payload: { btcAddress: '1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa' } @@ -54,16 +58,37 @@ function* waitConfirmation() { // when it's finally sufficiently confirmed, dispatch the txid yield put({ - type: "BTC_TX_CONFIRMED", + type: BTC_TX_CONFIRMED, payload: { - txid: 'ed469d3afbe6a4f69b729fc782ed6bf15fb7017d7f4349227d48753c68ac04b3' + btcDepositedTxid: 'ed469d3afbe6a4f69b729fc782ed6bf15fb7017d7f4349227d48753c68ac04b3' } }) // goto next } +function* proveDeposit(btcTxid) { + // get the transaction details from the bitcoin chain + // run through the proof generation process + // generate a proof + + // again, call the web3 contract, submitting the proof + yield put({ type: 'DEPOSIT_PROVE_BTC_TX_BEGIN' }) + + // wait for the tx to be mined successfully + yield put({ + type: DEPOSIT_PROVE_BTC_TX_SUCCESS, + payload: { + tbtcMintedTxId: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599' + } + }) + + // goto next + Router.push('/tbtc-minted') +} + export default function* () { - yield takeEvery("REQUEST_A_DEPOSIT", requestADeposit) - yield takeEvery('WAIT_CONFIRMATION', waitConfirmation) + yield takeEvery(REQUEST_A_DEPOSIT, requestADeposit) + yield takeEvery(WAIT_CONFIRMATION, waitConfirmation) + yield takeEvery(SUBMIT_DEPOSIT_PROOF, proveDeposit) } \ No newline at end of file From 2ec43f5c4c6cea04dc3657475343a0a32ccb1762 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Thu, 25 Jul 2019 16:51:04 +0300 Subject: [PATCH 18/23] Cleanup actions --- actions/index.js | 5 ++++- sagas/index.js | 23 ++++++++++++----------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/actions/index.js b/actions/index.js index 5e72cfd0..57117685 100644 --- a/actions/index.js +++ b/actions/index.js @@ -1,5 +1,8 @@ import { createActions, handleActions, combineActions } from 'redux-actions'; -import { REQUEST_A_DEPOSIT, WAIT_CONFIRMATION, SUBMIT_DEPOSIT_PROOF } from '../sagas' + +export const REQUEST_A_DEPOSIT = 'REQUEST_A_DEPOSIT' +export const WAIT_CONFIRMATION = 'WAIT_CONFIRMATION' +export const SUBMIT_DEPOSIT_PROOF = 'SUBMIT_DEPOSIT_PROOF' export function requestADeposit() { return { diff --git a/sagas/index.js b/sagas/index.js index 8d759a0f..98ffacb9 100644 --- a/sagas/index.js +++ b/sagas/index.js @@ -1,29 +1,32 @@ import { call, put, takeEvery, takeLatest } from 'redux-saga/effects' -export const REQUEST_A_DEPOSIT = 'REQUEST_A_DEPOSIT' +import { REQUEST_A_DEPOSIT, WAIT_CONFIRMATION, SUBMIT_DEPOSIT_PROOF } from '../actions' + export const DEPOSIT_REQUEST_BEGIN = 'DEPOSIT_REQUEST_BEGIN' +export const DEPOSIT_REQUEST_METAMASK_SUCCESS = 'DEPOSIT_REQUEST_METAMASK_SUCCESS' export const DEPOSIT_REQUEST_SUCCESS = 'DEPOSIT_REQUEST_SUCCESS' export const DEPOSIT_BTC_ADDRESS = 'DEPOSIT_BTC_ADDRESS' -export const WAIT_CONFIRMATION = 'WAIT_CONFIRMATION' +export const BTC_TX_MINED = 'BTC_TX_MINED' +export const BTC_TX_CONFIRMED_WAIT = 'BTC_TX_CONFIRMED_WAIT' export const BTC_TX_CONFIRMED = 'BTC_TX_CONFIRMED' -export const SUBMIT_DEPOSIT_PROOF = 'SUBMIT_DEPOSIT_PROOF' +export const DEPOSIT_PROVE_BTC_TX_BEGIN = 'DEPOSIT_PROVE_BTC_TX_BEGIN' export const DEPOSIT_PROVE_BTC_TX_SUCCESS = 'DEPOSIT_PROVE_BTC_TX_SUCCESS' import Router from 'next/router'; function* requestADeposit() { // call Keep to request a deposit - yield put({ type: 'DEPOSIT_REQUEST_BEGIN' }) + yield put({ type: DEPOSIT_REQUEST_BEGIN }) // sign the transaction and submit - yield put({ type: 'DEPOSIT_REQUEST_METAMASK_SUCCESS' }) + yield put({ type: DEPOSIT_REQUEST_METAMASK_SUCCESS }) // wait for it to be mined // get the deposit address yield put({ - type: 'DEPOSIT_REQUEST_SUCCESS', + type: DEPOSIT_REQUEST_SUCCESS, payload: { depositAddress: '0x'+'0'.repeat(40) } @@ -48,12 +51,12 @@ function* waitConfirmation() { // wait for the transaction to be received // wait for the transaction to be confirmed yield put({ - type: "BTC_TX_MINED" + type: BTC_TX_MINED }) // wait a certain number of confirmations on this step yield put({ - type: "BTC_TX_CONFIRMED_WAIT" + type: BTC_TX_CONFIRMED_WAIT }) // when it's finally sufficiently confirmed, dispatch the txid @@ -63,8 +66,6 @@ function* waitConfirmation() { btcDepositedTxid: 'ed469d3afbe6a4f69b729fc782ed6bf15fb7017d7f4349227d48753c68ac04b3' } }) - - // goto next } function* proveDeposit(btcTxid) { @@ -73,7 +74,7 @@ function* proveDeposit(btcTxid) { // generate a proof // again, call the web3 contract, submitting the proof - yield put({ type: 'DEPOSIT_PROVE_BTC_TX_BEGIN' }) + yield put({ type: DEPOSIT_PROVE_BTC_TX_BEGIN }) // wait for the tx to be mined successfully yield put({ From 1a08f001494669ac8575ca1329c426a84e031dc6 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Mon, 29 Jul 2019 13:09:30 +0300 Subject: [PATCH 19/23] Remove old dep ConnectedRouter --- pages/_app.js | 1 - 1 file changed, 1 deletion(-) diff --git a/pages/_app.js b/pages/_app.js index 032d2dc1..a39c61de 100644 --- a/pages/_app.js +++ b/pages/_app.js @@ -3,7 +3,6 @@ import App, { Container } from 'next/app' import React from 'react' import withReduxStore from '../lib/with-redux-store' import { Provider } from 'react-redux' -import { ConnectedRouter } from 'connected-next-router' import styled from 'styled-components' From 296e86196bbdd08265f1089aeca158c69761d402 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Mon, 29 Jul 2019 14:15:19 +0300 Subject: [PATCH 20/23] Document setup in README --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 21866304..704e1c2c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,17 @@ # tbtc-dapp +The tBTC dApp. + +## Setup + +### Prerequisites + + - Run Ganache test chain + - Deploy tBTC contracts + +### Running the dApp + + 1. `cd app/`` + 2. `npm i` + 3. `npm run dev` and open [http://localhost:3000](http://localhost:3000) + From d95b88fe31c54b5ac0dd25581d246e1b755797e0 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Tue, 30 Jul 2019 00:36:41 +0300 Subject: [PATCH 21/23] Moved into app/ --- .babelrc => app/.babelrc | 0 .gitignore => app/.gitignore | 0 {actions => app/actions}/index.js | 0 .../components}/AwaitDepositConfirmation.js | 0 {components => app/components}/Button.js | 0 {components => app/components}/FormStep.js | 0 {components => app/components}/InitiateDeposit.js | 0 {components => app/components}/MainBlock.js | 0 {components => app/components}/PageTemplate.js | 0 {components => app/components}/ProveDeposit.js | 0 {components => app/components}/RequestDeposit.js | 0 {components => app/components}/TBTCMinted.js | 0 .../containers}/AwaitDepositConfirmationContainer.js | 0 .../containers}/InitiateDepositContainer.js | 0 {containers => app/containers}/ProveDepositContainer.js | 0 .../containers}/RequestDepositContainer.js | 0 {containers => app/containers}/TBTCMintedContainer.js | 0 {lib => app/lib}/with-redux-store.js | 0 next.config.js => app/next.config.js | 0 package.json => app/package.json | 0 {pages => app/pages}/_app.js | 0 {pages => app/pages}/_document.js | 0 {pages => app/pages}/await-deposit-confirm.js | 0 {pages => app/pages}/index.js | 0 {pages => app/pages}/initiate-deposit.js | 0 {pages => app/pages}/landing.js | 0 {pages => app/pages}/prove-deposit.js | 0 {pages => app/pages}/request-deposit.js | 0 {pages => app/pages}/tbtc-minted.js | 0 {reducers => app/reducers}/form.js | 0 {reducers => app/reducers}/index.js | 0 {sagas => app/sagas}/index.js | 0 {store => app/store}/index.js | 0 app/test/eth.js | 9 +++++++++ app/test/index.js | 0 35 files changed, 9 insertions(+) rename .babelrc => app/.babelrc (100%) rename .gitignore => app/.gitignore (100%) rename {actions => app/actions}/index.js (100%) rename {components => app/components}/AwaitDepositConfirmation.js (100%) rename {components => app/components}/Button.js (100%) rename {components => app/components}/FormStep.js (100%) rename {components => app/components}/InitiateDeposit.js (100%) rename {components => app/components}/MainBlock.js (100%) rename {components => app/components}/PageTemplate.js (100%) rename {components => app/components}/ProveDeposit.js (100%) rename {components => app/components}/RequestDeposit.js (100%) rename {components => app/components}/TBTCMinted.js (100%) rename {containers => app/containers}/AwaitDepositConfirmationContainer.js (100%) rename {containers => app/containers}/InitiateDepositContainer.js (100%) rename {containers => app/containers}/ProveDepositContainer.js (100%) rename {containers => app/containers}/RequestDepositContainer.js (100%) rename {containers => app/containers}/TBTCMintedContainer.js (100%) rename {lib => app/lib}/with-redux-store.js (100%) rename next.config.js => app/next.config.js (100%) rename package.json => app/package.json (100%) rename {pages => app/pages}/_app.js (100%) rename {pages => app/pages}/_document.js (100%) rename {pages => app/pages}/await-deposit-confirm.js (100%) rename {pages => app/pages}/index.js (100%) rename {pages => app/pages}/initiate-deposit.js (100%) rename {pages => app/pages}/landing.js (100%) rename {pages => app/pages}/prove-deposit.js (100%) rename {pages => app/pages}/request-deposit.js (100%) rename {pages => app/pages}/tbtc-minted.js (100%) rename {reducers => app/reducers}/form.js (100%) rename {reducers => app/reducers}/index.js (100%) rename {sagas => app/sagas}/index.js (100%) rename {store => app/store}/index.js (100%) create mode 100644 app/test/eth.js create mode 100644 app/test/index.js diff --git a/.babelrc b/app/.babelrc similarity index 100% rename from .babelrc rename to app/.babelrc diff --git a/.gitignore b/app/.gitignore similarity index 100% rename from .gitignore rename to app/.gitignore diff --git a/actions/index.js b/app/actions/index.js similarity index 100% rename from actions/index.js rename to app/actions/index.js diff --git a/components/AwaitDepositConfirmation.js b/app/components/AwaitDepositConfirmation.js similarity index 100% rename from components/AwaitDepositConfirmation.js rename to app/components/AwaitDepositConfirmation.js diff --git a/components/Button.js b/app/components/Button.js similarity index 100% rename from components/Button.js rename to app/components/Button.js diff --git a/components/FormStep.js b/app/components/FormStep.js similarity index 100% rename from components/FormStep.js rename to app/components/FormStep.js diff --git a/components/InitiateDeposit.js b/app/components/InitiateDeposit.js similarity index 100% rename from components/InitiateDeposit.js rename to app/components/InitiateDeposit.js diff --git a/components/MainBlock.js b/app/components/MainBlock.js similarity index 100% rename from components/MainBlock.js rename to app/components/MainBlock.js diff --git a/components/PageTemplate.js b/app/components/PageTemplate.js similarity index 100% rename from components/PageTemplate.js rename to app/components/PageTemplate.js diff --git a/components/ProveDeposit.js b/app/components/ProveDeposit.js similarity index 100% rename from components/ProveDeposit.js rename to app/components/ProveDeposit.js diff --git a/components/RequestDeposit.js b/app/components/RequestDeposit.js similarity index 100% rename from components/RequestDeposit.js rename to app/components/RequestDeposit.js diff --git a/components/TBTCMinted.js b/app/components/TBTCMinted.js similarity index 100% rename from components/TBTCMinted.js rename to app/components/TBTCMinted.js diff --git a/containers/AwaitDepositConfirmationContainer.js b/app/containers/AwaitDepositConfirmationContainer.js similarity index 100% rename from containers/AwaitDepositConfirmationContainer.js rename to app/containers/AwaitDepositConfirmationContainer.js diff --git a/containers/InitiateDepositContainer.js b/app/containers/InitiateDepositContainer.js similarity index 100% rename from containers/InitiateDepositContainer.js rename to app/containers/InitiateDepositContainer.js diff --git a/containers/ProveDepositContainer.js b/app/containers/ProveDepositContainer.js similarity index 100% rename from containers/ProveDepositContainer.js rename to app/containers/ProveDepositContainer.js diff --git a/containers/RequestDepositContainer.js b/app/containers/RequestDepositContainer.js similarity index 100% rename from containers/RequestDepositContainer.js rename to app/containers/RequestDepositContainer.js diff --git a/containers/TBTCMintedContainer.js b/app/containers/TBTCMintedContainer.js similarity index 100% rename from containers/TBTCMintedContainer.js rename to app/containers/TBTCMintedContainer.js diff --git a/lib/with-redux-store.js b/app/lib/with-redux-store.js similarity index 100% rename from lib/with-redux-store.js rename to app/lib/with-redux-store.js diff --git a/next.config.js b/app/next.config.js similarity index 100% rename from next.config.js rename to app/next.config.js diff --git a/package.json b/app/package.json similarity index 100% rename from package.json rename to app/package.json diff --git a/pages/_app.js b/app/pages/_app.js similarity index 100% rename from pages/_app.js rename to app/pages/_app.js diff --git a/pages/_document.js b/app/pages/_document.js similarity index 100% rename from pages/_document.js rename to app/pages/_document.js diff --git a/pages/await-deposit-confirm.js b/app/pages/await-deposit-confirm.js similarity index 100% rename from pages/await-deposit-confirm.js rename to app/pages/await-deposit-confirm.js diff --git a/pages/index.js b/app/pages/index.js similarity index 100% rename from pages/index.js rename to app/pages/index.js diff --git a/pages/initiate-deposit.js b/app/pages/initiate-deposit.js similarity index 100% rename from pages/initiate-deposit.js rename to app/pages/initiate-deposit.js diff --git a/pages/landing.js b/app/pages/landing.js similarity index 100% rename from pages/landing.js rename to app/pages/landing.js diff --git a/pages/prove-deposit.js b/app/pages/prove-deposit.js similarity index 100% rename from pages/prove-deposit.js rename to app/pages/prove-deposit.js diff --git a/pages/request-deposit.js b/app/pages/request-deposit.js similarity index 100% rename from pages/request-deposit.js rename to app/pages/request-deposit.js diff --git a/pages/tbtc-minted.js b/app/pages/tbtc-minted.js similarity index 100% rename from pages/tbtc-minted.js rename to app/pages/tbtc-minted.js diff --git a/reducers/form.js b/app/reducers/form.js similarity index 100% rename from reducers/form.js rename to app/reducers/form.js diff --git a/reducers/index.js b/app/reducers/index.js similarity index 100% rename from reducers/index.js rename to app/reducers/index.js diff --git a/sagas/index.js b/app/sagas/index.js similarity index 100% rename from sagas/index.js rename to app/sagas/index.js diff --git a/store/index.js b/app/store/index.js similarity index 100% rename from store/index.js rename to app/store/index.js diff --git a/app/test/eth.js b/app/test/eth.js new file mode 100644 index 00000000..1476b97a --- /dev/null +++ b/app/test/eth.js @@ -0,0 +1,9 @@ +import { createDeposit } from "../chain/eth"; + + +describe('Ethereum code', async () => { + it('#createDeposit', async () => { + let addr = await createDeposit() + expect(addr).to.equal('0x123') + }) +}) \ No newline at end of file diff --git a/app/test/index.js b/app/test/index.js new file mode 100644 index 00000000..e69de29b From 789e317778dd191345776b98442fa28e61ee3101 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Tue, 30 Jul 2019 01:58:29 +0300 Subject: [PATCH 22/23] =?UTF-8?q?=F0=9F=98=8B=20tasty=20styling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/components/AwaitDepositConfirmation.js | 13 +- app/components/Button.js | 17 + app/components/FormStep.js | 7 + app/components/InitiateDeposit.js | 5 +- app/components/MainBlock.js | 5 +- app/components/PageTemplate.js | 29 +- app/components/ProveDeposit.js | 15 +- app/components/RequestDeposit.js | 18 +- app/components/TBTCMinted.js | 20 +- app/pages/_app.js | 2 +- app/pages/landing.js | 81 +- app/static/festival.png | Bin 0 -> 146533 bytes app/static/metamask-wolf.png | Bin 0 -> 77377 bytes app/static/waiting.png | Bin 0 -> 33016 bytes app/styles/index.js | 6 + yarn.lock | 3227 ++++++++++++++++++++ 16 files changed, 3366 insertions(+), 79 deletions(-) create mode 100644 app/static/festival.png create mode 100644 app/static/metamask-wolf.png create mode 100644 app/static/waiting.png create mode 100644 app/styles/index.js create mode 100644 yarn.lock diff --git a/app/components/AwaitDepositConfirmation.js b/app/components/AwaitDepositConfirmation.js index 0247c34b..cc50cb49 100644 --- a/app/components/AwaitDepositConfirmation.js +++ b/app/components/AwaitDepositConfirmation.js @@ -3,6 +3,7 @@ import { PageTemplate } from './PageTemplate' import { MainBlock } from "./MainBlock"; import Link from 'next/link' import { IconBlock, ContentBlock, FormStep } from './FormStep'; +import { DarkGray } from '../styles'; const QRCode = require('qrcode.react') @@ -12,7 +13,8 @@ const CopyAddressBox = styled.div` border: 1px solid #ddd; display: inline-block; padding: 1em; - color: #666; + width: 420px; + color: ${DarkGray}; ` const WaitingForTx = styled.div` @@ -30,21 +32,20 @@ const AwaitDepositConfirmation = ({ address }) => { - - Waiting for a confirmation + -

Pay 1 BTC

+

Pay 1 BTC

Scan the QR code or tap to pay, or copy the address below into your wallet

{address} -
- let's prove our deposit and claim tbtc +

+ [debug] let's prove our deposit and claim tbtc
diff --git a/app/components/Button.js b/app/components/Button.js index ed4929cc..ac2a26af 100644 --- a/app/components/Button.js +++ b/app/components/Button.js @@ -1,7 +1,24 @@ import styled from 'styled-components' +import { Blue } from '../styles' const Button = styled.button` padding: 1em; + background: ${Blue}; + color: white; + + font-size: 16px; + font-weight: 500; + font-style: normal; + font-stretch: normal; + line-height: 1; + letter-spacing: normal; + color: #ffffff; + + :hover { + cursor: pointer; + opacity: 0.8; + color: white; + } ` export { Button } \ No newline at end of file diff --git a/app/components/FormStep.js b/app/components/FormStep.js index f6ed0b63..6cc1a749 100644 --- a/app/components/FormStep.js +++ b/app/components/FormStep.js @@ -3,6 +3,9 @@ import styled from 'styled-components' export const FormStep = styled.div` display: flex; flex-direction: row; + width: 850px; + margin: 0 auto; + padding-top: 2em; ` export const IconBlock = styled.div` @@ -12,6 +15,10 @@ export const IconBlock = styled.div` display: flex; justify-content: center; margin-right: 2em; + img { + height: 100%; + width: 100%; + } ` export const ContentBlock = styled.div` diff --git a/app/components/InitiateDeposit.js b/app/components/InitiateDeposit.js index 22c04685..c8962100 100644 --- a/app/components/InitiateDeposit.js +++ b/app/components/InitiateDeposit.js @@ -11,6 +11,7 @@ const CopyAddressBox = styled.div` border: 1px solid #ddd; display: inline-block; padding: 1em; + margin-bottom: 1em; ` const InitiateDeposit = ({ address }) => { @@ -18,11 +19,11 @@ const InitiateDeposit = ({ address }) => { - + -

Pay 1 BTC

+

Pay 1 BTC

Scan the QR code or tap to pay, or copy the address below into your wallet

diff --git a/app/components/MainBlock.js b/app/components/MainBlock.js index 7b0d312e..c2695133 100644 --- a/app/components/MainBlock.js +++ b/app/components/MainBlock.js @@ -1,11 +1,14 @@ import styled from 'styled-components' +import { LightBlue } from '../styles' + const MainBlock = styled.div` flex: 1; align-items: start; display: flex; flex-direction: column; - margin: 0em 4em; + padding: 0em 4em; + background: ${LightBlue}; ` export { MainBlock } \ No newline at end of file diff --git a/app/components/PageTemplate.js b/app/components/PageTemplate.js index 50e83166..659ed700 100644 --- a/app/components/PageTemplate.js +++ b/app/components/PageTemplate.js @@ -2,7 +2,9 @@ import { Button } from "../components/Button"; import styled from 'styled-components' import Link from 'next/link' -const PageWrapper = styled.div` +import { DarkBlue } from '../styles' + +export const PageWrapper = styled.div` min-height: 100vh; display: flex; @@ -11,10 +13,22 @@ const PageWrapper = styled.div` justify-content: flex-start; align-items: stretch; align-content: stretch; + + h1, + h2, + h3, + h4 { + font-weight: 300; + color: ${DarkBlue}; + } + + p { + color: ${DarkBlue}; + } ` -const PageContainer = styled.div` +export const PageContainer = styled.div` display: flex; justify-content: space-around; @@ -22,13 +36,13 @@ const PageContainer = styled.div` flex: 1; ` -const HeaderBlock = styled.div` +export const HeaderBlock = styled.div` flex: 0 1; padding: 0em 0; margin: 2em 4em; ` -const MainBlock = styled.div` +export const MainBlock = styled.div` flex: 1; align-items: center; display: flex; @@ -36,8 +50,13 @@ const MainBlock = styled.div` margin: 0em 4em; ` -const TBTCTitle = styled.div` +export const TBTCTitle = styled.div` font-size: 1.6em; + color: ${DarkBlue}; + + :hover { + cursor: pointer; + } ` diff --git a/app/components/ProveDeposit.js b/app/components/ProveDeposit.js index bef06c8a..6e810332 100644 --- a/app/components/ProveDeposit.js +++ b/app/components/ProveDeposit.js @@ -3,6 +3,7 @@ import Link from 'next/link' import { Button } from '../components/Button' import { PageTemplate } from '../components/PageTemplate' import { MainBlock } from "../components/MainBlock" +import { FormStep, IconBlock, ContentBlock } from './FormStep'; const CopyAddressBox = styled.div` background: #ddd; @@ -14,10 +15,18 @@ const CopyAddressBox = styled.div` const ProveDeposit = ({ submitProof }) => { return -

Confirmed!

-

Finally, let's submit proof to Ethereum and get your tBTC

+ + + + - + +

Confirmed!

+

Finally, let's submit proof to Ethereum and get your tBTC

+ + +
+
} diff --git a/app/components/RequestDeposit.js b/app/components/RequestDeposit.js index b4dc425e..51fceece 100644 --- a/app/components/RequestDeposit.js +++ b/app/components/RequestDeposit.js @@ -2,16 +2,22 @@ import { Button } from "./Button"; import styled from 'styled-components' import Link from 'next/link' import { PageTemplate } from './PageTemplate' -import { MainBlock } from "./MainBlock"; +import { MainBlock } from "./MainBlock" +import { FormStep, IconBlock, ContentBlock } from '../components/FormStep' const RequestDeposit = ({ requestADeposit }) => { return -
-

Put down a small bond

-

Don't worry, you'll get it back! It's just an anti-spam measure

- -
+ + + + + +

Put down a small bond

+

Don't worry, you'll get it back! It's just an anti-spam measure

+ +
+
diff --git a/app/components/TBTCMinted.js b/app/components/TBTCMinted.js index 65f39e77..4c8a7d53 100644 --- a/app/components/TBTCMinted.js +++ b/app/components/TBTCMinted.js @@ -3,19 +3,25 @@ import { Button } from '../components/Button' import { PageTemplate } from '../components/PageTemplate' import { MainBlock } from "../components/MainBlock" +import { IconBlock, FormStep, ContentBlock } from './FormStep'; const TBTCMinted = ({ txHash }) => { return + + + + -
-

Congratulations!

-

You're the proud owner of 0.995 tBTC

+ +

Congratulations!

+

You're the proud owner of 0.995 tBTC

- - - -
+ + + +
+
diff --git a/app/pages/_app.js b/app/pages/_app.js index a39c61de..1b304d79 100644 --- a/app/pages/_app.js +++ b/app/pages/_app.js @@ -26,7 +26,7 @@ class MyApp extends App { body { - font-family: "Helvetica Neue", 'Open Sans', sans-serif; + font-family: Roboto, 'Open Sans', sans-serif; font-size: 14px; margin: 0; diff --git a/app/pages/landing.js b/app/pages/landing.js index e330790e..205f8563 100644 --- a/app/pages/landing.js +++ b/app/pages/landing.js @@ -1,52 +1,30 @@ import styled from 'styled-components' import Link from 'next/link' import { Button } from '../components/Button' +import { MainBlock } from '../components/MainBlock' -const PageWrapper = styled.div` - min-height: 100vh; - - display: flex; - flex-direction: column; - flex-wrap: nowrap; - justify-content: flex-start; - align-items: stretch; - align-content: stretch; - -` - -const PageContainer = styled.div` - - display: flex; - justify-content: space-around; - flex-direction: column; - flex: 1; -` - -const HeaderBlock = styled.div` - flex: 0 1; - padding: 0em 0; - margin: 2em 4em; -` - -const MainBlock = styled.div` - flex: 1; - align-items: center; - display: flex; - margin: 0em 4em; -` - -const TBTCTitle = styled.div` - font-size: 1.6em; -` +import { + PageWrapper, + PageContainer, + HeaderBlock, + TBTCTitle +} from '../components/PageTemplate' +import { DarkBlue } from '../styles'; const Hero = styled.div` + margin: auto 0; + color: ${DarkBlue}; + h1 { font-size: 3.6em; - margin-top: 0; + margin: 0; } p { max-width: 450px; + opacity: 0.8; + padding-bottom: 1em; } + ` const QuestionBlock = styled.div` @@ -54,25 +32,29 @@ const QuestionBlock = styled.div` text-align: center; padding: 2em 1em; max-height: 200px; - background: #ddd; + background: white; + color: ${DarkBlue}; - background: #ddd; - - h1 { - font-size: 1.6em; + h2 { + font-size: 2em; } ` -const Questions = styled.ul` +const Questions = styled.div` flex: 1; + display: flex; + flex-direction: row; + text-align: center; + align-items: center; + justify-content: center; } ` -const Question = styled.li` +const Question = styled.div` display: block; width: 300px; - + margin: 0 3em; ` @@ -98,13 +80,16 @@ const Landing = () => {

Questions?

- Foobar +

Question One

+

Far far away, behind the word mountains, far from the countries Vokalia and Consonantia

- Foobar +

Question Two

+

Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean

- Foobar +

Question Three

+

A small river named Duden flows by their place and supplies it with the necessary regelialia

diff --git a/app/static/festival.png b/app/static/festival.png new file mode 100644 index 0000000000000000000000000000000000000000..23a5bcf840a1960c62cf32dbce109cc22ce66775 GIT binary patch literal 146533 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�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 literal 0 HcmV?d00001 diff --git a/app/static/metamask-wolf.png b/app/static/metamask-wolf.png new file mode 100644 index 0000000000000000000000000000000000000000..3b069e4124d4841160658469ed8e40063482ad7b GIT binary patch literal 77377 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 z

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 literal 0 HcmV?d00001 diff --git a/app/styles/index.js b/app/styles/index.js new file mode 100644 index 00000000..d825a933 --- /dev/null +++ b/app/styles/index.js @@ -0,0 +1,6 @@ +export const DarkBlue = '#297fca' +export const Blue = '#3fa2f7' +export const LightBlue = '#e4f1fd' + +export const Gray = '#dddddd' +export const DarkGray = '#999999' \ No newline at end of file diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000..e42fbc64 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,3227 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@sindresorhus/is@^0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" + integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== + +"@szmarczak/http-timer@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" + integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== + dependencies: + defer-to-connect "^1.0.1" + +"@types/node@^10.3.2": + version "10.14.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.13.tgz#ac786d623860adf39a3f51d629480aacd6a6eec7" + integrity sha512-yN/FNNW1UYsRR1wwAoyOwqvDuLDtVXnaJTZ898XIw/Q5cCaeVAlVwvsmXLX5PuiScBYwZsZU4JYSHB3TvfdwvQ== + +accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +aes-js@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" + integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= + +ajv@^6.10.0, ajv@^6.5.5: + version "6.10.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" + integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-colors@3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" + integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +any-promise@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +asn1.js@^4.0.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + +async-limiter@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base64-js@^1.0.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" + integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +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== + +bl@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" + integrity sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA== + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + +bluebird@^3.5.0: + version "3.5.5" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" + integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== + +bn-chai@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/bn-chai/-/bn-chai-1.0.1.tgz#5d6e9654162602a527b08a1546e60cfb44213725" + integrity sha512-7rJXt21DwYiLLpvzLaACixBBoUGkRV1iuFD3wElEhw8Ji9IiY/QsJRtvW+c7ChRgEOyLQkGaSGFUUqBKm21SNA== + +bn.js@4.11.6: + version "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.11.6, bn.js@^4.11.8, bn.js@^4.4.0: + version "4.11.8" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== + +bn.js@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.0.0.tgz#5c3d398021b3ddb548c1296a16f857e908f35c70" + integrity sha512-bVwDX8AF+72fIUNuARelKAlQUNtPOfG2fRxorbVvFk4zpHbqLrPdOGfVg5vrKwVzLLePqPBiATaOZNELQzmS0A== + +body-parser@1.19.0, body-parser@^1.16.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sha3@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/browserify-sha3/-/browserify-sha3-0.0.4.tgz#086c47b8c82316c9d47022c26185954576dd8e26" + integrity sha1-CGxHuMgjFsnUcCLCYYWVRXbdjiY= + dependencies: + js-sha3 "^0.6.1" + safe-buffer "^5.1.1" + +browserify-sign@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= + dependencies: + bn.js "^4.1.1" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.2" + elliptic "^6.0.0" + inherits "^2.0.1" + parse-asn1 "^5.0.0" + +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= + +buffer-to-arraybuffer@^0.0.5: + version "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: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^5.0.5, buffer@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6" + integrity sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +cacheable-request@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" + integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^3.0.0" + lowercase-keys "^2.0.0" + normalize-url "^4.1.0" + responselike "^1.0.2" + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chai@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" + integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.2" + deep-eql "^3.0.1" + get-func-name "^2.0.0" + pathval "^1.1.0" + type-detect "^4.0.5" + +chalk@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +check-error@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= + +chownr@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" + integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +cliui@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +clone-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@~2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" + integrity sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ= + dependencies: + graceful-readlink ">= 1.0.0" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "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.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c" + integrity sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA== + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cors@^2.8.1: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +create-ecdh@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: + 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== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-spawn@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +crypto-browserify@3.12.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +crypto-js@^3.1.9-1: + version "3.1.9-1" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.1.9-1.tgz#fda19e761fc077e01ffbfdc6e9fdfc59e8806cd8" + integrity sha1-/aGedh/Ad+Af+/3G6f38WeiAbNg= + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +debug@2.6.9, debug@^2.2.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@3.2.6: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + +debug@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +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" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +decompress-response@^3.2.0, decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + dependencies: + mimic-response "^1.0.0" + +decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1" + integrity sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ== + dependencies: + file-type "^5.2.0" + is-stream "^1.1.0" + tar-stream "^1.5.2" + +decompress-tarbz2@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b" + integrity sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A== + dependencies: + decompress-tar "^4.1.0" + file-type "^6.1.0" + is-stream "^1.1.0" + seek-bzip "^1.0.5" + unbzip2-stream "^1.0.9" + +decompress-targz@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee" + integrity sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w== + dependencies: + decompress-tar "^4.1.1" + file-type "^5.2.0" + is-stream "^1.1.0" + +decompress-unzip@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69" + integrity sha1-3qrM39FK6vhVePczroIQ+bSEj2k= + dependencies: + file-type "^3.8.0" + get-stream "^2.2.0" + pify "^2.3.0" + yauzl "^2.4.2" + +decompress@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.0.tgz#7aedd85427e5a92dacfe55674a7c505e96d01f9d" + integrity sha1-eu3YVCflqS2s/lVnSnxQXpbQH50= + dependencies: + decompress-tar "^4.0.0" + decompress-tarbz2 "^4.0.0" + decompress-targz "^4.0.0" + decompress-unzip "^4.0.1" + graceful-fs "^4.1.10" + make-dir "^1.0.0" + pify "^2.3.0" + strip-dirs "^2.0.0" + +deep-eql@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" + integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== + dependencies: + type-detect "^4.0.0" + +defer-to-connect@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.0.2.tgz#4bae758a314b034ae33902b5aac25a8dd6a8633e" + integrity sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw== + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +des.js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +diff@3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dom-walk@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" + integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg= + +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +elliptic@6.3.3: + version "6.3.3" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.3.tgz#5482d9646d54bcb89fd7d994fc9e2e9568876e3f" + integrity sha1-VILZZG1UvLif19mU/J4ulWiHbj8= + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + inherits "^2.0.1" + +elliptic@^6.0.0, elliptic@^6.4.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.0.tgz#2b8ed4c891b7de3200e14412a5b8248c7af505ca" + integrity sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg== + 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" + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== + dependencies: + once "^1.4.0" + +es-abstract@^1.13.0, es-abstract@^1.5.1: + version "1.13.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" + integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== + dependencies: + es-to-primitive "^1.2.0" + function-bind "^1.1.1" + has "^1.0.3" + is-callable "^1.1.4" + is-regex "^1.0.4" + object-keys "^1.0.12" + +es-to-primitive@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" + integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +eth-ens-namehash@2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" + integrity sha1-IprEbsqG1S4MmR58sq74P/D2i88= + dependencies: + idna-uts46-hx "^2.3.1" + js-sha3 "^0.5.7" + +eth-lib@0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.7.tgz#2f93f17b1e23aec3759cd4a3fe20c1286a3fc1ca" + integrity sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco= + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + xhr-request-promise "^0.1.2" + +eth-lib@^0.1.26: + version "0.1.27" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.27.tgz#f0b0fd144f865d2d6bf8257a40004f2e75ca1dd6" + integrity sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA== + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + keccakjs "^0.2.1" + nano-json-stream-parser "^0.1.2" + servify "^0.1.12" + ws "^3.0.0" + xhr-request-promise "^0.1.2" + +ethers@4.0.0-beta.3: + version "4.0.0-beta.3" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.0-beta.3.tgz#15bef14e57e94ecbeb7f9b39dd0a4bd435bc9066" + integrity sha512-YYPogooSknTwvHg3+Mv71gM/3Wcrx+ZpCzarBj3mqs9njjRkrOo2/eufzhHloOCo3JSoNI4TQJJ6yU5ABm3Uog== + dependencies: + "@types/node" "^10.3.2" + aes-js "3.0.0" + bn.js "^4.4.0" + elliptic "6.3.3" + hash.js "1.1.3" + js-sha3 "0.5.7" + scrypt-js "2.0.3" + setimmediate "1.0.4" + uuid "2.0.1" + xmlhttprequest "1.8.0" + +ethers@^4.0.0-beta.1, ethers@^4.0.32: + version "4.0.33" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.33.tgz#f7b88d2419d731a39aefc37843a3f293e396f918" + integrity sha512-lAHkSPzBe0Vj+JrhmkEHLtUEKEheVktIjGDyE9gbzF4zf1vibjYgB57LraDHu4/ItqWVkztgsm8GWqcDMN+6vQ== + dependencies: + "@types/node" "^10.3.2" + aes-js "3.0.0" + bn.js "^4.4.0" + elliptic "6.3.3" + 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" + +ethjs-unit@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk= + dependencies: + bn.js "4.11.6" + number-to-bn "1.7.0" + +eventemitter3@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" + integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +express@^4.14.0: + version "4.17.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= + +fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= + dependencies: + pend "~1.2.0" + +file-type@^3.8.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" + integrity sha1-JXoHg4TR24CHvESdEH1SpSZyuek= + +file-type@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" + integrity sha1-LdvqfHP/42No365J3DOMBYwritY= + +file-type@^6.1.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.2.0.tgz#e50cd75d356ffed4e306dc4f5bcf52a79903a919" + integrity sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg== + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-up@3.0.0, find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +flat@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" + integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== + dependencies: + is-buffer "~2.0.3" + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-minipass@^1.2.5: + version "1.2.6" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" + integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ== + dependencies: + minipass "^2.2.1" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-func-name@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= + +get-stream@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" + integrity sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4= + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + +get-stream@^4.0.0, get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" + integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== + dependencies: + pump "^3.0.0" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global@~4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" + integrity sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8= + dependencies: + min-document "^2.19.0" + process "~0.5.1" + +got@9.6.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" + integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== + dependencies: + "@sindresorhus/is" "^0.14.0" + "@szmarczak/http-timer" "^1.1.2" + cacheable-request "^6.0.0" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^4.1.0" + lowercase-keys "^1.0.1" + mimic-response "^1.0.1" + p-cancelable "^1.0.0" + to-readable-stream "^1.0.0" + url-parse-lax "^3.0.0" + +got@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" + integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw== + dependencies: + decompress-response "^3.2.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + is-plain-obj "^1.1.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + isurl "^1.0.0-alpha5" + lowercase-keys "^1.0.0" + p-cancelable "^0.3.0" + p-timeout "^1.1.1" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + url-parse-lax "^1.0.0" + url-to-options "^1.0.1" + +graceful-fs@^4.1.10, graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.2.0" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" + integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg== + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= + +growl@1.10.5: + version "1.10.5" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.0: + version "5.1.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-symbol-support-x@^1.4.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" + integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== + +has-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= + +has-to-string-tag-x@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" + integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== + dependencies: + has-symbol-support-x "^1.4.1" + +has-yarn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-1.0.0.tgz#89e25db604b725c8f5976fff0addc921b828a5a7" + integrity sha1-ieJdtgS3Jcj1l2//Ct3JIbgopac= + +has@^1.0.1, has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +hash.js@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" + integrity sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.0" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +http-cache-semantics@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz#495704773277eeef6e43f9ab2c2c7d259dda25c5" + integrity sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew== + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-https@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" + integrity sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs= + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +idna-uts46-hx@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" + integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== + dependencies: + punycode "2.1.0" + +ieee754@^1.1.4: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== + +ipaddr.js@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" + integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== + +is-buffer@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" + integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== + +is-callable@^1.1.3, is-callable@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-function@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" + integrity sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU= + +is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= + +is-natural-number@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" + integrity sha1-q5124dtM7VHjXeDHLr7PCfc0zeg= + +is-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" + integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA= + +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= + dependencies: + has "^1.0.1" + +is-retry-allowed@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= + +is-stream@^1.0.0, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-symbol@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + dependencies: + has-symbols "^1.0.0" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +isurl@^1.0.0-alpha5: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" + integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== + dependencies: + has-to-string-tag-x "^1.2.0" + is-object "^1.0.1" + +js-sha3@0.5.7, js-sha3@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" + integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= + +js-sha3@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.6.1.tgz#5b89f77a7477679877f58c4a075240934b1f95c0" + integrity sha1-W4n3enR3Z5h39YxKB1JAk0sflcA= + +js-yaml@3.13.1: + version "3.13.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +keccakjs@^0.2.1: + version "0.2.3" + resolved "https://registry.yarnpkg.com/keccakjs/-/keccakjs-0.2.3.tgz#5e4e969ce39689a3861f445d7752ee3477f9fe72" + integrity sha512-BjLkNDcfaZ6l8HBG9tH0tpmDv3sS2mA7FNQxFHpCdzP3Gb2MVruXBSuoM66SnVxKJpAr5dKGdkHD+bDokt8fTg== + dependencies: + browserify-sha3 "^0.0.4" + sha3 "^1.2.2" + +keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" + integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== + dependencies: + json-buffer "3.0.0" + +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== + dependencies: + invert-kv "^2.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +lodash@^4.17.11: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + +log-symbols@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== + dependencies: + chalk "^2.0.1" + +lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^4.0.1: + 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" + +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== + dependencies: + pify "^3.0.0" + +map-age-cleaner@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +mem@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" + integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^2.0.0" + p-is-promise "^2.0.0" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.40.0: + version "1.40.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== + +mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.24" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== + dependencies: + mime-db "1.40.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= + dependencies: + dom-walk "^0.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@3.0.4, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + +minipass@^2.2.1, minipass@^2.3.5: + version "2.3.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" + integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" + integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== + dependencies: + minipass "^2.2.1" + +mkdirp-promise@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" + integrity sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE= + dependencies: + mkdirp "*" + +mkdirp@*, mkdirp@0.5.1, mkdirp@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + +mocha@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-6.2.0.tgz#f896b642843445d1bb8bca60eabd9206b8916e56" + integrity sha512-qwfFgY+7EKAAUAdv7VYMZQknI7YJSGesxHyhn6qD52DV8UcSZs5XwCifcZGMVIE4a5fbmhvbotxC0DLQ0oKohQ== + dependencies: + ansi-colors "3.2.3" + browser-stdout "1.3.1" + debug "3.2.6" + diff "3.5.0" + escape-string-regexp "1.0.5" + find-up "3.0.0" + glob "7.1.3" + growl "1.10.5" + he "1.2.0" + js-yaml "3.13.1" + log-symbols "2.2.0" + minimatch "3.0.4" + mkdirp "0.5.1" + ms "2.1.1" + node-environment-flags "1.0.5" + object.assign "4.1.0" + strip-json-comments "2.0.1" + supports-color "6.0.0" + which "1.3.1" + wide-align "1.1.3" + yargs "13.2.2" + yargs-parser "13.0.0" + yargs-unparser "1.5.0" + +mock-fs@^4.1.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.10.1.tgz#50a07a20114a6cdb119f35762f61f46266a1e323" + integrity sha512-w22rOL5ZYu6HbUehB5deurghGM0hS/xBVyHMGKOuQctkk93J9z9VEOhDsiWrXOprVNQpP9uzGKdl8v9mFspKuw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +ms@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +nan@2.13.2: + version "2.13.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7" + integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw== + +nan@^2.0.8, nan@^2.3.3: + version "2.14.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" + integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== + +nano-json-stream-parser@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" + integrity sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18= + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-environment-flags@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.5.tgz#fa930275f5bf5dae188d6192b24b4c8bbac3d76a" + integrity sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ== + dependencies: + object.getownpropertydescriptors "^2.0.3" + semver "^5.7.0" + +normalize-url@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.3.0.tgz#9c49e10fc1876aeb76dba88bf1b2b5d9fa57b2ee" + integrity sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +number-to-bn@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" + integrity sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA= + dependencies: + bn.js "4.11.6" + strip-hex-prefix "1.0.0" + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-keys@^1.0.11, object-keys@^1.0.12: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + +oboe@2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.4.tgz#20c88cdb0c15371bb04119257d4fdd34b0aa49f6" + integrity sha1-IMiM2wwVNxuwQRklfU/dNLCqSfY= + dependencies: + http-https "^1.0.0" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +os-locale@^3.0.0, os-locale@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== + dependencies: + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" + +p-cancelable@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" + integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw== + +p-cancelable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" + integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== + +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-is-promise@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + +p-limit@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" + integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== + dependencies: + p-try "^2.0.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-timeout@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" + integrity sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y= + dependencies: + p-finally "^1.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parse-asn1@^5.0.0: + version "5.1.4" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc" + integrity sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw== + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-headers@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.2.tgz#9545e8a4c1ae5eaea7d24992bca890281ed26e34" + integrity sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg== + dependencies: + for-each "^0.3.3" + string.prototype.trim "^1.1.2" + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +pathval@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" + integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= + +pbkdf2@^3.0.3: + version "3.0.17" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" + integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@~0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" + integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8= + +proxy-addr@~2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" + integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ== + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.9.0" + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.24: + version "1.2.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.2.0.tgz#df12b5b1b3a30f51c329eacbdef98f3a6e136dc6" + integrity sha512-GEn74ZffufCmkDDLNcl3uuyF/aSD6exEyh1v/ZSdAomB82t6G9hzJVRx0jBmLDW+VfZqks3aScmMw9DszwUalA== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + integrity sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0= + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +query-string@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" + integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== + dependencies: + decode-uri-component "^0.2.0" + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +randomhex@0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/randomhex/-/randomhex-0.1.5.tgz#baceef982329091400f2a2912c6cd02f1094f585" + integrity sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU= + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +readable-stream@^2.3.0, readable-stream@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +request@^2.79.0: + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.0" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + dependencies: + lowercase-keys "^1.0.0" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2: + version "5.2.0" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" + integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +scrypt-js@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.3.tgz#bb0040be03043da9a012a2cea9fc9f852cfc87d4" + integrity sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q= + +scrypt-js@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" + integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== + +scrypt.js@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/scrypt.js/-/scrypt.js-0.3.0.tgz#6c62d61728ad533c8c376a2e5e3e86d41a95c4c0" + integrity sha512-42LTc1nyFsyv/o0gcHtDztrn+aqpkaCNt5Qh7ATBZfhEZU7IC/0oT/qbBH+uRNoAPvs2fwiOId68FDEoSRA8/A== + dependencies: + scryptsy "^1.2.1" + optionalDependencies: + scrypt "^6.0.2" + +scrypt@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/scrypt/-/scrypt-6.0.3.tgz#04e014a5682b53fa50c2d5cce167d719c06d870d" + integrity sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0= + dependencies: + nan "^2.0.8" + +scryptsy@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-1.2.1.tgz#a3225fa4b2524f802700761e2855bdf3b2d92163" + integrity sha1-oyJfpLJST4AnAHYeKFW987LZIWM= + dependencies: + pbkdf2 "^3.0.3" + +seek-bzip@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" + integrity sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w= + dependencies: + commander "~2.8.1" + +semver@^5.5.0, semver@^5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" + integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== + +send@0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +servify@^0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" + integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw== + dependencies: + body-parser "^1.16.0" + cors "^2.8.1" + express "^4.14.0" + request "^2.79.0" + xhr "^2.3.3" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +setimmediate@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f" + integrity sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48= + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.1: + version "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: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +sha3@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/sha3/-/sha3-1.2.3.tgz#ed5958fa8331df1b1b8529ca9fdf225a340c5418" + integrity sha512-sOWDZi8cDBRkLfWOw18wvJyNblXDHzwMGnRWut8zNNeIeLnmMRO17bjpLc7OzMuj1ASUgx2IyohzUCAl+Kx5vA== + dependencies: + nan "2.13.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +signal-exit@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + +simple-concat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6" + integrity sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY= + +simple-get@^2.7.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.1.tgz#0e22e91d4575d87620620bc91308d57a77f44b5d" + integrity sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw== + dependencies: + decompress-response "^3.3.0" + once "^1.3.1" + simple-concat "^1.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +"statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string.prototype.trim@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz#75a729b10cfc1be439543dae442129459ce61e3d" + integrity sha512-9EIjYD/WdlvLpn987+ctkLf0FfvBefOCuiEr2henD8X+7jfwPnyvTdmW8OJhj5p+M0/96mBdynLWkxUr+rHlpg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.13.0" + function-bind "^1.1.1" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-dirs@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.1.0.tgz#4987736264fc344cf20f6c34aca9d13d1d4ed6c5" + integrity sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g== + dependencies: + is-natural-number "^4.0.1" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + integrity sha1-DF8VX+8RUTczd96du1iNoFUA428= + dependencies: + is-hex-prefixed "1.0.0" + +strip-json-comments@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +subpackage@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/subpackage/-/subpackage-1.1.0.tgz#92c308b16d5ff3391f6289a9c8d777030473c052" + integrity sha1-ksMIsW1f8zkfYompyNd3AwRzwFI= + dependencies: + cross-spawn "^5.1.0" + has-yarn "^1.0.0" + +supports-color@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" + integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg== + dependencies: + has-flag "^3.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +swarm-js@0.1.39: + version "0.1.39" + resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.39.tgz#79becb07f291d4b2a178c50fee7aa6e10342c0e8" + integrity sha512-QLMqL2rzF6n5s50BptyD6Oi0R1aWlJC5Y17SRIVXRj6OR1DRIPM7nepvrxxkjA1zNzFz6mUOMjfeqeDaWB7OOg== + dependencies: + bluebird "^3.5.0" + buffer "^5.0.5" + decompress "^4.0.0" + eth-lib "^0.1.26" + fs-extra "^4.0.2" + got "^7.1.0" + mime-types "^2.1.16" + mkdirp-promise "^5.0.1" + mock-fs "^4.1.0" + setimmediate "^1.0.5" + tar "^4.0.2" + xhr-request-promise "^0.1.2" + +tar-stream@^1.5.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" + integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== + dependencies: + bl "^1.0.0" + buffer-alloc "^1.2.0" + end-of-stream "^1.0.0" + fs-constants "^1.0.0" + readable-stream "^2.3.0" + to-buffer "^1.1.1" + xtend "^4.0.0" + +tar@^4.0.2: + version "4.4.10" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" + integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== + dependencies: + chownr "^1.1.1" + fs-minipass "^1.2.5" + minipass "^2.3.5" + minizlib "^1.2.1" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.3" + +through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +timed-out@^4.0.0, timed-out@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= + +to-buffer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== + +to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" + integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + +tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + +truffle-blockchain-utils@^0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/truffle-blockchain-utils/-/truffle-blockchain-utils-0.0.10.tgz#18b772673635a95a893f7083f7be6bd62227462b" + integrity sha512-gVvagLCvYD0QXfnkxy6I48P6O+d7TEY0smc2VFuwldl1/clLVWE+KfBO/jFMaAz+nupTQeKvPhNTeyh3JAsCeA== + +truffle-contract-schema@^3.0.11: + version "3.0.11" + resolved "https://registry.yarnpkg.com/truffle-contract-schema/-/truffle-contract-schema-3.0.11.tgz#202f6982b51bcad032b7ff2a8d5837853fb69301" + integrity sha512-YcgSOlrufi6VtnXg8LU5Ma7JHzHpnZQxzB1PSWnb+JOTc1nL02XRoCWTgEO7PkJnFgf6yrwOpW0ajSwHk3zQ7Q== + dependencies: + ajv "^6.10.0" + crypto-js "^3.1.9-1" + debug "^4.1.0" + +truffle-contract@^4.0.26: + version "4.0.26" + resolved "https://registry.yarnpkg.com/truffle-contract/-/truffle-contract-4.0.26.tgz#a980be7c6048eb1b2f27e1e3bddd0a023ba1b5ab" + integrity sha512-/+tjcC+aXParkT/5k1gOXP4IN8x6xD/FnYdgQJjbaSCMJWTvuw9tB8dr3Nsq7/T67tnF0d1uEFgN+uT71o/5EA== + dependencies: + bignumber.js "^7.2.1" + ethers "^4.0.0-beta.1" + truffle-blockchain-utils "^0.0.10" + truffle-contract-schema "^3.0.11" + truffle-error "^0.0.5" + truffle-interface-adapter "^0.2.1" + web3 "^1.2.0" + web3-core-promievent "^1.2.0" + web3-eth-abi "^1.2.0" + web3-utils "^1.2.0" + +truffle-error@^0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/truffle-error/-/truffle-error-0.0.5.tgz#6b5740c9f3aac74f47b85d654fff7fe2c1fc5e0e" + integrity sha512-JpzPLMPSCE0vaZ3vH5NO5u42GpMj/Y1SRBkQ6b69PSw3xMSH1umApN32cEcg1nnh8q5FNYc5FnKu0m4tiBffyQ== + +truffle-interface-adapter@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/truffle-interface-adapter/-/truffle-interface-adapter-0.2.1.tgz#76cc312d2762ae2efe64d5bca40dfa62e9f39ff1" + integrity sha512-uzLUJYDWMzFKAN32vBNe6ZOv1C8DBboRQeXpeB36UxJXFFT79K5a8KXyVbhof/rEIXrEMVSftJ/bNK0kpjF4gA== + dependencies: + bn.js "^4.11.8" + ethers "^4.0.32" + web3 "^1.2.0" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-detect@^4.0.0, type-detect@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typedarray-to-buffer@^3.1.2: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +ultron@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" + integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== + +unbzip2-stream@^1.0.9: + version "1.3.3" + resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz#d156d205e670d8d8c393e1c02ebd506422873f6a" + integrity sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg== + dependencies: + buffer "^5.2.1" + through "^2.3.8" + +underscore@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" + integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + dependencies: + punycode "^2.1.0" + +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= + dependencies: + prepend-http "^1.0.1" + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + dependencies: + prepend-http "^2.0.0" + +url-set-query@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" + integrity sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk= + +url-to-options@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" + integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= + +utf8@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" + integrity sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w= + +uuid@3.3.2, uuid@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +web3-bzz@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.0.tgz#eab70a2cf6c437223f40fc069499fe70ff53feb0" + integrity sha512-QEIdvguSEpqBK9b815nzx4yvpfKv/SAvaFeCMjQ0vjIVqFhAwBHDxd+f+X3nWGVRGVeOTP7864tau26CPBtQ8Q== + dependencies: + got "9.6.0" + swarm-js "0.1.39" + underscore "1.9.1" + +web3-core-helpers@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.0.tgz#023947323cebd021e43a67145a5087627ce87fb3" + integrity sha512-KLCCP2FS1cMz23Y9l3ZaEDzaUky+GpsNavl4Hn1xX8lNaKcfgGEF+DgtAY/TfPQYAxLjLrSbIFUDzo9H/W1WAQ== + dependencies: + underscore "1.9.1" + web3-eth-iban "1.2.0" + web3-utils "1.2.0" + +web3-core-method@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.0.tgz#9f6a6939d15f53bc74d086f280fbd62461546cd3" + integrity sha512-Iff5rCL+sgHe6zZVZijp818aRixKQf3ZAyQsT6ewER1r9yqXsH89DJtX33Xw8xiaYSwUFcpNs2j+Kluhv/eVAw== + dependencies: + underscore "1.9.1" + web3-core-helpers "1.2.0" + web3-core-promievent "1.2.0" + web3-core-subscriptions "1.2.0" + web3-utils "1.2.0" + +web3-core-promievent@1.2.0, web3-core-promievent@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.0.tgz#d6454837a307da5b453fe3077743fe25801a07a1" + integrity sha512-9THNYsZka91AX4LZGZvka5hio9+QlOY22hNgCiagmCmYytyKk3cXftL6CWefnNF7XgW8sy/ew5lzWLVsQW61Lw== + dependencies: + any-promise "1.3.0" + eventemitter3 "3.1.2" + +web3-core-requestmanager@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.0.tgz#a7f9995495340037e7ac72792c1885c35c1e7616" + integrity sha512-hPe1jyESodXAiE7qJglu7ySo4GINCn5CgG+9G1ATLQbriZsir83QMSeKQekv/hckKFIf4SvZJRPEBhtAle+Dhw== + dependencies: + underscore "1.9.1" + web3-core-helpers "1.2.0" + web3-providers-http "1.2.0" + web3-providers-ipc "1.2.0" + web3-providers-ws "1.2.0" + +web3-core-subscriptions@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.0.tgz#d359b9b5fb6f6a700f1b383be11de7925cb7549f" + integrity sha512-DHipGH8It5E4HxxvymhkudcYhBVgGx6MwGWobIVKFgp6JRxtuvAbqwrMbuD/+78J6yXOa4y9zVXBk12dm2NXGg== + dependencies: + eventemitter3 "3.1.2" + underscore "1.9.1" + web3-core-helpers "1.2.0" + +web3-core@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.0.tgz#6f3c59f84b2af9ab0ee7617d3c5208a814d3953c" + integrity sha512-Vy+fargzx94COdihE79zIM5lb/XAl/LJlgGdmz2a6QhgGZrSL8K6DKKNS+OuORAcLJN2PWNMc4IdfknkOw1PhQ== + dependencies: + web3-core-helpers "1.2.0" + web3-core-method "1.2.0" + web3-core-requestmanager "1.2.0" + web3-utils "1.2.0" + +web3-eth-abi@1.2.0, web3-eth-abi@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.0.tgz#26b22261756ffbb3363bc37c1a6f5143bebb6469" + integrity sha512-FDuPq/tFeMg/D/f7cNSmvVYkMYb1z379gUUzSL8ZFtZrdHPkezq+lq/TmWmbCOMLYNXlhGJBzjGdLXRS4Upprg== + dependencies: + ethers "4.0.0-beta.3" + underscore "1.9.1" + web3-utils "1.2.0" + +web3-eth-accounts@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.0.tgz#bb26d5446017700a13b75fc69a2b1226fe44f6bb" + integrity sha512-d/fUAL3F6HqstvEiBnZ1RwZ77/DytgF9d6A3mWVvPOUk2Pqi77PM0adRvsKvIWUaQ/k6OoCk/oXtbzaO7CyGpg== + dependencies: + any-promise "1.3.0" + crypto-browserify "3.12.0" + eth-lib "0.2.7" + scrypt.js "^0.3.0" + underscore "1.9.1" + uuid "3.3.2" + web3-core "1.2.0" + web3-core-helpers "1.2.0" + web3-core-method "1.2.0" + web3-utils "1.2.0" + +web3-eth-contract@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.0.tgz#8d1c235c6624b5df428969ea2e9c26337095f6f0" + integrity sha512-hfjozNbfsoMeR3QklfkwU0Mqcw6YRD4y1Cb1ghGWNhFy2+/sbvKcQNPPJDKFTde22PRzGQBWyh/nb422Sux4bQ== + dependencies: + underscore "1.9.1" + web3-core "1.2.0" + web3-core-helpers "1.2.0" + web3-core-method "1.2.0" + web3-core-promievent "1.2.0" + web3-core-subscriptions "1.2.0" + web3-eth-abi "1.2.0" + web3-utils "1.2.0" + +web3-eth-ens@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.0.tgz#af66308542f4acfa09ccd3ce370e3ad2de20ec30" + integrity sha512-kE6uHMLwH9dv+MZSKT7BcKXcQ6CcLP5m5mM44s2zg2e9Rl20F3J6R3Ik6sLc/w2ywdCwTe/Z22yEstHXQwu5ig== + dependencies: + eth-ens-namehash "2.0.8" + underscore "1.9.1" + web3-core "1.2.0" + web3-core-helpers "1.2.0" + web3-core-promievent "1.2.0" + web3-eth-abi "1.2.0" + web3-eth-contract "1.2.0" + web3-utils "1.2.0" + +web3-eth-iban@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.0.tgz#1bece9cebf817dca82fa03230203351f4f263866" + integrity sha512-6DzTx/cvIgEvxadhJjLGpsuDUARA4RKskNOuwWYUsUODcPb50rsfMmRkHhGtLss/sNXVE5gNjbT9rX3TDqy2tg== + dependencies: + bn.js "4.11.8" + web3-utils "1.2.0" + +web3-eth-personal@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.0.tgz#7194f519c870d720eee1349d867408004f0f78af" + integrity sha512-8QdcaT6dbdiMC8zEqvDuij8XeI34r2GGdQYGvYBP2UgCm15EZBHgewxO30A+O+j2oIW1/Hu60zP5upnhCuA1Dw== + dependencies: + web3-core "1.2.0" + web3-core-helpers "1.2.0" + web3-core-method "1.2.0" + web3-net "1.2.0" + web3-utils "1.2.0" + +web3-eth@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.0.tgz#ac8d3409356538d2fe1cb6151036b724eace76f6" + integrity sha512-GP1+hHS/IVW1tAOIDS44PxCpvSl9PBU/KAB40WgP27UMvSy43LjHxGlP6hQQOdIfmBLBTvGvn2n+Z5kW2gzAzg== + dependencies: + underscore "1.9.1" + web3-core "1.2.0" + web3-core-helpers "1.2.0" + web3-core-method "1.2.0" + web3-core-subscriptions "1.2.0" + web3-eth-abi "1.2.0" + web3-eth-accounts "1.2.0" + web3-eth-contract "1.2.0" + web3-eth-ens "1.2.0" + web3-eth-iban "1.2.0" + web3-eth-personal "1.2.0" + web3-net "1.2.0" + web3-utils "1.2.0" + +web3-net@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.0.tgz#9e99c4326a28712451dc4d45f3acf26c1d4b3219" + integrity sha512-7iD8C6vvx8APXPMmlpPLGWjn4bsXHzd3BTdFzKjkoYjiiVFJdVAbY3j1BwN/6tVQu8Ay7sDpV2EdTNub7GKbyw== + dependencies: + web3-core "1.2.0" + web3-core-method "1.2.0" + web3-utils "1.2.0" + +web3-providers-http@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.0.tgz#c6ebf9b6a23564439fa3c4a431cd6b405cc1ec0f" + integrity sha512-UrUn6JSz7NVCZ+0nZZtC4cmbl5JIi57w1flL1jN8jgkfdWDdErNvTkSwCt/QYdTQscMaUtWXDDOSAsVO6YC64g== + dependencies: + web3-core-helpers "1.2.0" + xhr2-cookies "1.1.0" + +web3-providers-ipc@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.0.tgz#98b8b8c9e77935dabfcf6d16e66c783f2429eac8" + integrity sha512-T2OSbiqu7+dahbGG5YFEQM5+FXdLVvaTCKmHXaQpw8IuL5hw7HELtyFOtHVudgDRyw0tJKxIfAiX/v2F1IL1fQ== + dependencies: + oboe "2.1.4" + underscore "1.9.1" + web3-core-helpers "1.2.0" + +web3-providers-ws@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.0.tgz#c45929f0d1e1743301372e6e604aab63e83f66e3" + integrity sha512-rnwGcCe6cev5A6eG5UBCQqPmkJVZMCrK+HN1AvUCco0OHD/0asGc9LuLbtkQIyznA6Lzetq/OOcaTOM4KeT11g== + dependencies: + underscore "1.9.1" + web3-core-helpers "1.2.0" + websocket "github:frozeman/WebSocket-Node#browserifyCompatible" + +web3-shh@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.0.tgz#c07c306d761f70782c64e2b5b119db54e16f301f" + integrity sha512-VFjS8kvsQBodudFmIoVJWvDNZosONJZZnhvktngD3POu5dwbJmSCl6lzbLJ2C5XjR15dF+JvSstAkWbM+2sdPg== + dependencies: + web3-core "1.2.0" + web3-core-method "1.2.0" + web3-core-subscriptions "1.2.0" + web3-net "1.2.0" + +web3-utils@1.2.0, web3-utils@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.0.tgz#1f11b05d173b757d3f5ba32cb90b375a487d3bf0" + integrity sha512-tI1low8ICoaWU2c53cikH0rsksKuIskI2nycH5E5sEXxxl9/BOD3CeDDBFbxgNPQ+bpDevbR7gXNEDB7Ud4G9g== + dependencies: + bn.js "4.11.8" + eth-lib "0.2.7" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randomhex "0.1.5" + underscore "1.9.1" + utf8 "3.0.0" + +web3@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.0.tgz#ef9c43a99eac348a85c09179690290d45a96a5f2" + integrity sha512-iFrVAexsopX97x0ofBU/7HrCxzovf624qBkjBUeHZDf/G3Sb4tMQtjkCRc5lgVvzureq5SCqDiFDcqnw7eJ0bA== + dependencies: + web3-bzz "1.2.0" + web3-core "1.2.0" + web3-eth "1.2.0" + web3-eth-personal "1.2.0" + web3-net "1.2.0" + web3-shh "1.2.0" + web3-utils "1.2.0" + +"websocket@github:frozeman/WebSocket-Node#browserifyCompatible": + version "1.0.26" + resolved "https://codeload.github.com/frozeman/WebSocket-Node/tar.gz/6c72925e3f8aaaea8dc8450f97627e85263999f2" + dependencies: + debug "^2.2.0" + nan "^2.3.3" + typedarray-to-buffer "^3.1.2" + yaeti "^0.0.6" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@1.3.1, which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +wide-align@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +ws@^3.0.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" + integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + ultron "~1.1.0" + +xhr-request-promise@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.2.tgz#343c44d1ee7726b8648069682d0f840c83b4261d" + integrity sha1-NDxE0e53JrhkgGloLQ+EDIO0Jh0= + dependencies: + xhr-request "^1.0.1" + +xhr-request@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed" + integrity sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA== + dependencies: + buffer-to-arraybuffer "^0.0.5" + object-assign "^4.1.1" + query-string "^5.0.1" + simple-get "^2.7.0" + timed-out "^4.0.1" + url-set-query "^1.0.0" + xhr "^2.0.4" + +xhr2-cookies@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz#7d77449d0999197f155cb73b23df72505ed89d48" + integrity sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg= + dependencies: + cookiejar "^2.1.1" + +xhr@^2.0.4, xhr@^2.3.3: + version "2.5.0" + resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz#bed8d1676d5ca36108667692b74b316c496e49dd" + integrity sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ== + dependencies: + global "~4.3.0" + is-function "^1.0.1" + parse-headers "^2.0.0" + xtend "^4.0.0" + +xmlhttprequest@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" + integrity sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw= + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + +yaeti@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" + integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^3.0.0, yallist@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" + integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== + +yargs-parser@13.0.0: + version "13.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.0.0.tgz#3fc44f3e76a8bdb1cc3602e860108602e5ccde8b" + integrity sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" + integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^13.0.0: + version "13.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" + integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-unparser@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.5.0.tgz#f2bb2a7e83cbc87bb95c8e572828a06c9add6e0d" + integrity sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw== + dependencies: + flat "^4.1.0" + lodash "^4.17.11" + yargs "^12.0.5" + +yargs@13.2.2: + version "13.2.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.2.tgz#0c101f580ae95cea7f39d927e7770e3fdc97f993" + integrity sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA== + dependencies: + cliui "^4.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + os-locale "^3.1.0" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.0.0" + +yargs@^12.0.5: + version "12.0.5" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" + integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== + dependencies: + cliui "^4.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^11.1.1" + +yauzl@^2.4.2: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" From 75123b85e58ffd1404faba2b9e53f584e74b4fa9 Mon Sep 17 00:00:00 2001 From: liamzebedee Date: Tue, 30 Jul 2019 14:18:54 +0300 Subject: [PATCH 23/23] Fixed address box width inconsistency --- app/components/InitiateDeposit.js | 1 + 1 file changed, 1 insertion(+) diff --git a/app/components/InitiateDeposit.js b/app/components/InitiateDeposit.js index c8962100..4ff820fe 100644 --- a/app/components/InitiateDeposit.js +++ b/app/components/InitiateDeposit.js @@ -12,6 +12,7 @@ const CopyAddressBox = styled.div` display: inline-block; padding: 1em; margin-bottom: 1em; + width: 420px; ` const InitiateDeposit = ({ address }) => {