1import * as ob from 'urbit-ob'
3import React from 'react';
5import AcceptTransfer from '../views/AcceptTransfer'
6import CancelTransfer from '../views/CancelTransfer'
7import CreateGalaxy from '../views/CreateGalaxy'
8import GenKeyfile from '../views/GenKeyfile'
9import IssueChild from '../views/IssueChild'
10import Landing from '../views/Landing'
11import Network from '../views/Network'
12import Mnemonic from '../views/Mnemonic'
13import Ledger from '../views/Ledger'
14import Trezor from '../views/Trezor'
15import PrivateKey from '../views/PrivateKey'
16import Keystore from '../views/Keystore'
17import ViewPoint from '../views/ViewPoint'
18import SentTransaction from '../views/SentTransaction'
19import SetKeys from '../views/SetKeys'
24 } from '../views/SetProxy'
25import Point from '../views/Point'
26import Points from '../views/Points'
27import Shards from '../views/Shards'
28import Ticket from '../views/Ticket'
29import Transfer from '../views/Transfer'
30import Wallet from '../views/Wallet'
32import { addressFromSecp256k1Public, EthereumWallet } from './wallet'
33import { renderNetworkType } from './network'
34import { BRIDGE_ERROR } from './error'
37 ACCEPT_TRANSFER: Symbol('ACCEPT_TRANSFER'),
38 CANCEL_TRANSFER: Symbol('CANCEL_TRANSFER'),
39 LANDING: Symbol('LANDING'),
40 NETWORK: Symbol('NETWORK'),
41 WALLET: Symbol('WALLET'),
42 MNEMONIC: Symbol('MNEMONIC'),
43 TICKET: Symbol('TICKET'),
44 SHARDS: Symbol('SHARDS'),
45 LEDGER: Symbol('LEDGER'),
46 TREZOR: Symbol('TREZOR'),
47 PRIVATE_KEY: Symbol('PRIVATE_KEY'),
48 KEYSTORE: Symbol('KEYSTORE'),
49 VIEW_SHIP: Symbol('VIEW_SHIP'),
50 SHIPS: Symbol('SHIPS'),
52 SET_MANAGEMENT_PROXY: Symbol('SET_MANAGEMENT_PROXY'),
53 SET_SPAWN_PROXY: Symbol('SET_SPAWN_PROXY'),
54 SET_TRANSFER_PROXY: Symbol('SET_TRANSFER_PROXY'),
55 CREATE_GALAXY: Symbol('CREATE_GALAXY'),
56 ISSUE_CHILD: Symbol('ISSUE_CHILD'),
57 SET_KEYS: Symbol('SET_KEYS'),
58 TRANSFER: Symbol('TRANSFER'),
59 SENT_TRANSACTION: Symbol('SENT_TRANSACTION'),
60 GEN_KEYFILE: Symbol('GEN_KEYFILE'),
61 DEFAULT: Symbol('DEFAULT')
64const createRoutes = () => {
66 routes[ROUTE_NAMES.ACCEPT_TRANSFER] = AcceptTransfer
67 routes[ROUTE_NAMES.CANCEL_TRANSFER] = CancelTransfer
68 routes[ROUTE_NAMES.LANDING] = Landing
69 routes[ROUTE_NAMES.NETWORK] = Network
70 routes[ROUTE_NAMES.WALLET] = Wallet
71 routes[ROUTE_NAMES.VIEW_SHIP] = ViewPoint
72 routes[ROUTE_NAMES.MNEMONIC] = Mnemonic
73 routes[ROUTE_NAMES.TICKET] = Ticket
74 routes[ROUTE_NAMES.SHARDS] = Shards
75 routes[ROUTE_NAMES.LEDGER] = Ledger
76 routes[ROUTE_NAMES.TREZOR] = Trezor
77 routes[ROUTE_NAMES.PRIVATE_KEY] = PrivateKey
78 routes[ROUTE_NAMES.KEYSTORE] = Keystore
79 routes[ROUTE_NAMES.SHIPS] = Points
80 routes[ROUTE_NAMES.SHIP] = Point
81 routes[ROUTE_NAMES.SET_MANAGEMENT_PROXY] = SetManagementProxy
82 routes[ROUTE_NAMES.SET_SPAWN_PROXY] = SetSpawnProxy
83 routes[ROUTE_NAMES.SET_TRANSFER_PROXY] = SetTransferProxy
84 routes[ROUTE_NAMES.CREATE_GALAXY] = CreateGalaxy
85 routes[ROUTE_NAMES.ISSUE_CHILD] = IssueChild
86 routes[ROUTE_NAMES.SET_KEYS] = SetKeys
87 routes[ROUTE_NAMES.TRANSFER] = Transfer
88 routes[ROUTE_NAMES.SENT_TRANSACTION] = SentTransaction
89 routes[ROUTE_NAMES.DEFAULT] = Landing
90 routes[ROUTE_NAMES.GEN_KEYFILE] = GenKeyfile
94const ROUTES = createRoutes()
96const renderRoute = (props, route) => {
97 const { wallet, networkType, pointCursor } = props
99 route === ROUTE_NAMES.LANDING
102 : route === ROUTE_NAMES.NETWORK
103 ? `${renderNetworkType(networkType)}`
105 : route === ROUTE_NAMES.WALLET
107 Nothing: () => 'Wallet',
109 wal.value instanceof EthereumWallet
110 ? (<span className="text-mono">{wal.value.address}</span>)
111 : (<span className="text-mono">{addressFromSecp256k1Public(wal.value.publicKey)}</span>)
114 : route === ROUTE_NAMES.MNEMONIC
117 : route === ROUTE_NAMES.TICKET
120 : route === ROUTE_NAMES.SHARDS
123 : route === ROUTE_NAMES.LEDGER
126 : route === ROUTE_NAMES.TREZOR
129 : route === ROUTE_NAMES.PRIVATE_KEY
132 : route === ROUTE_NAMES.KEYSTORE
135 : route === ROUTE_NAMES.SHIPS
138 : route === ROUTE_NAMES.VIEW_SHIP
141 : route === ROUTE_NAMES.SHIP
142 ? pointCursor.matchWith({
143 Just: (cursor) => ob.patp(cursor.value),
145 throw BRIDGE_ERROR.MISSING_POINT
149 : route === ROUTE_NAMES.SET_TRANSFER_PROXY
150 || route === ROUTE_NAMES.SET_MANAGEMENT_PROXY
151 || route === ROUTE_NAMES.SET_SPAWN_PROXY
154 : route === ROUTE_NAMES.CREATE_GALAXY
157 : route === ROUTE_NAMES.ISSUE_CHILD
160 : route === ROUTE_NAMES.TRANSFER
163 : route === ROUTE_NAMES.ACCEPT_TRANSFER
166 : route === ROUTE_NAMES.CANCEL_TRANSFER
169 : route === ROUTE_NAMES.GEN_KEYFILE
172 : route === ROUTE_NAMES.SET_KEYS
175 : route === ROUTE_NAMES.SENT_TRANSACTION
182const router = (route) =>
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list