@@ -1,188 +0,0 @@
1−import { Just, Nothing } from 'folktale/maybe'
2−import React from 'react'
3−import { pour } from 'sigil-js'
4−import * as ob from 'urbit-ob'
5−import * as azimuth from 'azimuth-js'
7−import { addressFromSecp256k1Public, EthereumWallet } from '../lib/wallet'
8−import { ROUTE_NAMES } from '../lib/router'
10−import PointList from '../components/PointList'
11−import ReactSVGComponents from '../components/ReactSVGComponents'
12−import KeysAndMetadata from './Point/KeysAndMetadata'
13−import Actions from './Point/Actions'
14−import { BRIDGE_ERROR } from '../lib/error'
15−import { Row, Col, Warning, Button, H1, H3 } from '../components/Base'
17−import { generateWallet, downloadWallet } from '../lib/invite'
19−// for wallet generation
20−import PaperCollateralRenderer from 'PaperCollateralRenderer'
22−class InviteWallet extends React.Component {
35− this.download = this.download.bind(this)
36− this.proceed = this.proceed.bind(this)
39− async componentDidMount() {
40− const { web3, wallet, contracts, setPointCursor } = this.props
43− contracts.chain(ctrcs =>
44− wallet.chain(async wal => {
45− const addr = addressFromSecp256k1Public(wal.publicKey);
46− console.log('fetching incoming for', addr)
47− const incoming = await azimuth.azimuth.getTransferringFor(ctrcs, addr)
48− console.log('incoming', incoming)
50− let point = Nothing();
51− let wallet = Nothing();
53− if (incoming.length > 0) {
54− let pointNum = parseInt(incoming[0]);
55− point = Just(pointNum);
56− wallet = await generateWallet(pointNum);
57− if (incoming.length > 1) {
58− //TODO notify user "...and others / ticket reusable"
61− this.setState({loaded: true, point: point, wallet: Just(wallet)})
65− componentDidUpdate(prevProps) {
70− let result = await downloadWallet(this.state.paper)
77− this.props.pushRoute(ROUTE_NAMES.INVITE_VERIFY, {
78− ticket: this.state.wallet.value.ticket,
79− point: parseInt(this.state.point.value)
84− const { loaded, point, wallet, paper, downloaded } = this.state;
88− loading = ( <div>{ 'Loading...' }</div> );
92− if (loaded && Nothing.hasInstance(point)) {
95− <h3 className={'mb-2'}>{'Warning'}</h3>
97− 'This invite has no claimable balance.'
103− // let pointOverview;
104− // if (loaded && Just.hasInstance(point)) {
105− // const name = ob.patp(point.value);
106− // const sigil = pour({
108− // renderer: ReactSVGComponents,
111− // pointOverview = (
112− // //TODO Passport display component
114− // <div className={'mt-12 pt-6'}>
117− // <H3><code>{ name }</code></H3>
122− let downloadButtonContents = 'Download wallet';
123− if ( Nothing.hasInstance(this.state.wallet) ||
124− Nothing.hasInstance(this.state.paper) ) {
125− downloadButtonContents = (
127− <span className="btn-spinner"></span>
128− {'Generating wallet...'}
139− prop-size={'lg wide'}
140− disabled={( Nothing.hasInstance(this.state.wallet) ||
141− Nothing.hasInstance(this.state.paper) )}
142− onClick={this.download}
144− <span className="relative">
145− { downloadButtonContents }
153− prop-size={'lg wide'}
154− disabled={!this.state.downloaded}
155− onClick={this.proceed}
163− if ( Just.hasInstance(this.state.wallet) &&
164− Nothing.hasInstance(this.state.paper) ) {
165− console.log('rendering for', point.value)
167− <PaperCollateralRenderer
168− wallet={{[point.value]: wallet.value}}
169− className={'extremely-hidden'}
171− console.log('got paper', data);
172− this.setState({isRendering: false, paper: data})
174− mode={'REGISTRATION'} />
188−export default InviteWallet