1import * as ob from 'urbit-ob'
3import AcceptTransfer from '../views/AcceptTransfer'
4import CancelTransfer from '../views/CancelTransfer'
5import CreateGalaxy from '../views/CreateGalaxy'
6import GenKeyfile from '../views/GenKeyfile'
7import IssueChild from '../views/IssueChild'
8import Landing from '../views/Landing'
9import Network from '../views/Network'
10import Mnemonic from '../views/Mnemonic'
11import Ledger from '../views/Ledger'
12import Trezor from '../views/Trezor'
13import PrivateKey from '../views/PrivateKey'
14import ViewPoint from '../views/ViewPoint'
15import SentTransaction from '../views/SentTransaction'
16import SetKeys from '../views/SetKeys'
21 } from '../views/SetProxy'
22import Point from '../views/Point'
23import Points from '../views/Points'
24import Shards from '../views/Shards'
25import Ticket from '../views/Ticket'
26import Transfer from '../views/Transfer'
27import Wallet from '../views/Wallet'
29import { addressFromSecp256k1Public, EthereumWallet } from './wallet'
30import { renderNetworkType } from './network'
31import { BRIDGE_ERROR } from './error'
34 ACCEPT_TRANSFER: Symbol('ACCEPT_TRANSFER'),
35 CANCEL_TRANSFER: Symbol('CANCEL_TRANSFER'),
36 LANDING: Symbol('LANDING'),
37 NETWORK: Symbol('NETWORK'),
38 WALLET: Symbol('WALLET'),
39 MNEMONIC: Symbol('MNEMONIC'),
40 TICKET: Symbol('TICKET'),
41 SHARDS: Symbol('SHARDS'),
42 LEDGER: Symbol('LEDGER'),
43 TREZOR: Symbol('TREZOR'),
44 PRIVATE_KEY: Symbol('PRIVATE_KEY'),
45 VIEW_SHIP: Symbol('VIEW_SHIP'),
46 SHIPS: Symbol('SHIPS'),
48 SET_MANAGEMENT_PROXY: Symbol('SET_MANAGEMENT_PROXY'),
49 SET_SPAWN_PROXY: Symbol('SET_SPAWN_PROXY'),
50 SET_TRANSFER_PROXY: Symbol('SET_TRANSFER_PROXY'),
51 CREATE_GALAXY: Symbol('CREATE_GALAXY'),
52 ISSUE_CHILD: Symbol('ISSUE_CHILD'),
53 SET_KEYS: Symbol('SET_KEYS'),
54 TRANSFER: Symbol('TRANSFER'),
55 SENT_TRANSACTION: Symbol('SENT_TRANSACTION'),
56 GEN_KEYFILE: Symbol('GEN_KEYFILE'),
57 DEFAULT: Symbol('DEFAULT')
60const createRoutes = () => {
62 routes[ROUTE_NAMES.ACCEPT_TRANSFER] = AcceptTransfer
63 routes[ROUTE_NAMES.CANCEL_TRANSFER] = CancelTransfer
64 routes[ROUTE_NAMES.LANDING] = Landing
65 routes[ROUTE_NAMES.NETWORK] = Network
66 routes[ROUTE_NAMES.WALLET] = Wallet
67 routes[ROUTE_NAMES.VIEW_SHIP] = ViewPoint
68 routes[ROUTE_NAMES.MNEMONIC] = Mnemonic
69 routes[ROUTE_NAMES.TICKET] = Ticket
70 routes[ROUTE_NAMES.SHARDS] = Shards
71 routes[ROUTE_NAMES.LEDGER] = Ledger
72 routes[ROUTE_NAMES.TREZOR] = Trezor
73 routes[ROUTE_NAMES.PRIVATE_KEY] = PrivateKey
74 routes[ROUTE_NAMES.SHIPS] = Points
75 routes[ROUTE_NAMES.SHIP] = Point
76 routes[ROUTE_NAMES.SET_MANAGEMENT_PROXY] = SetManagementProxy
77 routes[ROUTE_NAMES.SET_SPAWN_PROXY] = SetSpawnProxy
78 routes[ROUTE_NAMES.SET_TRANSFER_PROXY] = SetTransferProxy
79 routes[ROUTE_NAMES.CREATE_GALAXY] = CreateGalaxy
80 routes[ROUTE_NAMES.ISSUE_CHILD] = IssueChild
81 routes[ROUTE_NAMES.SET_KEYS] = SetKeys
82 routes[ROUTE_NAMES.TRANSFER] = Transfer
83 routes[ROUTE_NAMES.SENT_TRANSACTION] = SentTransaction
84 routes[ROUTE_NAMES.DEFAULT] = Landing
85 routes[ROUTE_NAMES.GEN_KEYFILE] = GenKeyfile
89const ROUTES = createRoutes()
91const renderRoute = (props, route) => {
92 const { wallet, networkType, pointCursor } = props
94 route === ROUTE_NAMES.LANDING
97 : route === ROUTE_NAMES.NETWORK
98 ? `${renderNetworkType(networkType)}`
100 : route === ROUTE_NAMES.WALLET
102 Nothing: () => 'Wallet',
104 wal.value instanceof EthereumWallet
106 : addressFromSecp256k1Public(wal.value.publicKey)
109 : route === ROUTE_NAMES.MNEMONIC
112 : route === ROUTE_NAMES.TICKET
115 : route === ROUTE_NAMES.SHARDS
118 : route === ROUTE_NAMES.LEDGER
121 : route === ROUTE_NAMES.TREZOR
124 : route === ROUTE_NAMES.PRIVATE_KEY
127 : route === ROUTE_NAMES.SHIPS
130 : route === ROUTE_NAMES.VIEW_SHIP
133 : route === ROUTE_NAMES.SHIP
134 ? pointCursor.matchWith({
135 Just: (cursor) => ob.patp(cursor.value),
137 throw BRIDGE_ERROR.MISSING_POINT
141 : route === ROUTE_NAMES.SET_TRANSFER_PROXY
142 || route === ROUTE_NAMES.SET_MANAGEMENT_PROXY
143 || route === ROUTE_NAMES.SET_SPAWN_PROXY
146 : route === ROUTE_NAMES.CREATE_GALAXY
149 : route === ROUTE_NAMES.ISSUE_CHILD
152 : route === ROUTE_NAMES.TRANSFER
155 : route === ROUTE_NAMES.ACCEPT_TRANSFER
158 : route === ROUTE_NAMES.CANCEL_TRANSFER
161 : route === ROUTE_NAMES.GEN_KEYFILE
164 : route === ROUTE_NAMES.SET_KEYS
167 : route === ROUTE_NAMES.SENT_TRANSACTION
174const 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