on master help sign in
368 files changed+62535−41352
since splitsnapshots
unifiedsplit
.env+2−2 .env.development+5−5 .github/ISSUE_TEMPLATE/l2-bug-report.md+1−1 .gitignore+2 .nvmrc+1−1 DEVELOPMENT.md+69−18 README.md+17−1 bridge-npm-audit.txt+697 globals.d.ts+13 index.html+107 legal/privacy policy.md+11−11 migrations/1_migration.js+2−1 notes.md+1 package-lock.json+47972−30917 package.json+58−38 public/index.html−26 src/Bridge.js → src/Bridge.tsx+42−13 src/assets/blank-planet-sigil.svg+39 src/components/Accordion.js → src/components/Accordion.jsx src/components/AddressButton.tsx+36 src/components/AlertBox.tsx+6−1 src/components/AspectRatio.js → src/components/AspectRatio.jsx src/components/BarGraph.js → src/components/BarGraph.jsx src/components/Blinky.js → src/components/Blinky.jsx src/components/BrowserWarning.tsx+27 src/components/Buttons.js → src/components/Buttons.jsx src/components/Chip.js → src/components/Chip.jsx src/components/Crumbs.js → src/components/Crumbs.jsx src/components/DownloadKeyfileButton.js → src/components/DownloadKeyfileButton.jsx+1−1 src/components/DownloadSigilButton.js → src/components/DownloadSigilButton.jsx src/components/Footer.js → src/components/Footer.jsx+4−1 src/components/FooterButton.js → src/components/FooterButton.jsx src/components/GlobalErrorBoundary.js → src/components/GlobalErrorBoundary.tsx+11−4 src/components/Greeting.js−60 src/components/Greeting.jsx+109 src/components/Header.js → src/components/Header.jsx src/components/Highlighted.js → src/components/Highlighted.jsx+1−1 src/components/InlineEthereumTransaction.js → src/components/InlineEthereumTransaction.jsx+126−28 src/components/InlineEthereumTransaction.scss+23−11 src/components/InputSigil.js → src/components/InputSigil.jsx−1 src/components/InviteSigilList.js → src/components/InviteSigilList.jsx src/components/L2/Card.scss+22 src/components/L2/Card.tsx+8 src/components/L2/CreatingInvitesModal.tsx+85 src/components/L2/Dropdowns/AccountsDropdown.scss+27−2 src/components/L2/Dropdowns/AccountsDropdown.tsx+45−73 src/components/L2/Dropdowns/Dropdown.scss+22−2 src/components/L2/Dropdowns/Dropdown.tsx+1 src/components/L2/Dropdowns/FeeDropdown.scss+31−7 src/components/L2/Dropdowns/FeeDropdown.tsx+64−27 src/components/L2/Headers/AdvancedOptions.scss+54 src/components/L2/Headers/AdvancedOptions.tsx+71 src/components/L2/Headers/L2BackButton.scss → src/components/L2/Headers/HeaderButton.scss src/components/L2/Headers/HeaderButton.tsx+23 src/components/L2/Headers/L2BackButton.tsx−21 src/components/L2/Headers/L2BackHeader.scss+4 src/components/L2/Headers/L2BackHeader.tsx+12−26 src/components/L2/Headers/L2PointHeader.scss+48−8 src/components/L2/Headers/L2PointHeader.tsx+66−38 src/components/L2/InviteConverter.tsx+292 src/components/L2/LayerIndicator.scss+31−3 src/components/L2/LayerIndicator.tsx+14−3 src/components/L2/LoadingOverlay.tsx+3−3 src/components/L2/Modal.scss+31−1 src/components/L2/Modal.tsx+18−3 src/components/L2/PendingTransaction.scss+64 src/components/L2/PendingTransaction.tsx+46 src/components/L2/PermissionIndicator.scss+15 src/components/L2/PermissionIndicator.tsx+35 src/components/L2/PointList.tsx+65 src/components/L2/Window/BodyPane.scss+1−2 src/components/L2/Window/BodyPane.tsx+17−4 src/components/L2/Window/HeaderPane.scss+13 src/components/L2/Window/Window.scss+3−1 src/components/L2/Window/Window.tsx+1−1 src/components/LoadingBar.js → src/components/LoadingBar.jsx src/components/LoginButton.js → src/components/LoginButton.jsx src/components/MaybeSigil.js → src/components/MaybeSigil.jsx src/components/MiniBackButton.js → src/components/MiniBackButton.jsx src/components/NavHeader.js → src/components/NavHeader.jsx+4−1 src/components/NeedFundsNotice.js → src/components/NeedFundsNotice.jsx src/components/NetworkKeys.jsx+98 src/components/NetworkingKeys.js−123 src/components/NoticeBox.js → src/components/NoticeBox.jsx src/components/PaperBuilder.js → src/components/PaperBuilder.jsx src/components/Passport.js → src/components/Passport.jsx+14−10 src/components/ProgressButton.js → src/components/ProgressButton.jsx src/components/Router.js → src/components/Router.jsx src/components/Sigil.js → src/components/Sigil.jsx src/components/SigilMini.scss+6−1 src/components/Steps.js → src/components/Steps.jsx src/components/Tabs.js → src/components/Tabs.jsx src/components/UploadButton.js → src/components/UploadButton.jsx src/components/View.js → src/components/View.tsx+28−12 src/components/ViewHeader.js → src/components/ViewHeader.jsx src/components/WarningBox.js → src/components/WarningBox.jsx src/components/WithErrorBoundary.js → src/components/WithErrorBoundary.jsx src/components/alerts/L2VulnAlert.tsx+49 src/components/copiable/CopiableAddress.js → src/components/copiable/CopiableAddress.jsx+6−1 src/components/copiable/CopiableAddressWrap.js → src/components/copiable/CopiableAddressWrap.jsx+1−1 src/components/copiable/CopiableWithTooltip.js → src/components/copiable/CopiableWithTooltip.jsx src/components/copiable/CopyButton.js → src/components/copiable/CopyButton.jsx src/components/copiable/CopyButtonWide.tsx+11−1 src/components/form/TicketInputAccessory.scss+7 src/components/form/TicketInputAccessory.tsx+17 src/form/BridgeForm.tsx+24−3 src/form/ColorInput.js → src/form/ColorInput.jsx src/form/EmailChipInput.js → src/form/EmailChipInput.jsx+1−1 src/form/FormError.js → src/form/FormError.jsx src/form/Inputs.tsx+49−12 src/form/SubmitButton.js → src/form/SubmitButton.jsx src/form/UploadInput.js → src/form/UploadInput.jsx src/form/formatters.ts+19−13 src/index.js−10 src/index.tsx+7 src/indigo-react/components/AccessoryIcon.js → src/indigo-react/components/AccessoryIcon.jsx src/indigo-react/components/Button.js → src/indigo-react/components/Button.jsx src/indigo-react/components/CheckboxInput.js−72 src/indigo-react/components/CheckboxInput.jsx+54 src/indigo-react/components/Flex.d.ts+1 src/indigo-react/components/Flex.js → src/indigo-react/components/Flex.jsx src/indigo-react/components/Grid.d.ts+1−8 src/indigo-react/components/Grid.js → src/indigo-react/components/Grid.jsx+10−2 src/indigo-react/components/IconButton.js → src/indigo-react/components/IconButton.jsx src/indigo-react/components/IndigoApp.js → src/indigo-react/components/IndigoApp.jsx src/indigo-react/components/Input.js → src/indigo-react/components/Input.jsx+1−12 src/indigo-react/components/LinkButton.js → src/indigo-react/components/LinkButton.jsx src/indigo-react/components/SelectInput.js → src/indigo-react/components/SelectInput.jsx+1−1 src/indigo-react/components/ToggleInput.js → src/indigo-react/components/ToggleInput.jsx src/indigo-react/components/Typography.js → src/indigo-react/components/Typography.jsx src/lib/LocalRouter.js → src/lib/LocalRouter.ts+2−1 src/lib/MediaQuery.js → src/lib/MediaQuery.jsx src/lib/WalletConnect.ts+23−9 src/lib/authToken.ts+33−41 src/lib/constants.ts+91−10 src/lib/contracts.js+5−5 src/lib/expiredPlanetsWithInviteCodes.json+1445 src/lib/explorer.js+2−2 src/lib/flags.js+10−4 src/lib/flowCommand.ts+44−8 src/lib/getSuggestedGasPrice.js+86−41 src/lib/inviteMail.js+2−2 src/lib/keys.js+31−6 src/lib/ledger.js−42 src/lib/lib.js+4 src/lib/maybeGetResult.ts+12 src/lib/metamask.ts+40−14 src/lib/network.js+32−11 src/lib/proxy.js+19−2 src/lib/reticket.js+23−25 src/lib/routeNames.js−38 src/lib/routeNames.ts+39 src/lib/router.js → src/lib/router.ts+9−9 src/lib/tank.js+2−2 src/lib/trezor.ts−55 src/lib/txn.ts+125−133 src/lib/types/BridgeWallet.ts+1 src/lib/types/ITxData.ts+9 src/lib/types/Invite.ts+4 src/lib/types/Keypair.ts+7 src/lib/types/L1Point.ts+2−1 src/lib/types/L2Transaction.ts+85 src/lib/types/NetworkKeys.ts+11 src/lib/types/PendingL1Transaction.ts+24 src/lib/types/Point.ts+255 src/lib/types/ValueOf.ts+1 src/lib/useBreakpoints.js−5 src/lib/useBreakpoints.tsx+6 src/lib/useBrowser.ts+32 src/lib/useEthereumTransaction.js+12−16 src/lib/useGasPrice.js+26−19 src/lib/useHasNetworkKeysSet.tsx+2−2 src/lib/useInviter.js−222 src/lib/useInvites.js−7 src/lib/useIsExpiredInvite.ts+23 src/lib/useKeyfileGenerator.js−139 src/lib/useKeyfileGenerator.ts+256 src/lib/useMailer.js+1−1 src/lib/useOnClickOutside.ts+34 src/lib/usePointBirthday.js−7 src/lib/useReticketL2Spawn.ts+136 src/lib/useRoller.ts+617−445 src/lib/useRollerOptions.ts+59 src/lib/useRollerPoller.ts+44 src/lib/useRouter.js → src/lib/useRouter.tsx+54−13 src/lib/useWalletConnect.ts+191−114 src/lib/utils/address.ts+16−21 src/lib/utils/array.ts+2 src/lib/utils/date.ts+19 src/lib/utils/hex.ts+11 src/lib/utils/invite.ts+4−4 src/lib/utils/notifications.ts+5 src/lib/utils/point.ts+33 src/lib/utils/proxy.ts−49 src/lib/utils/roller.ts+227−44 src/lib/utils/wallet.ts+7 src/lib/validators.ts+45−27 src/lib/wallet.ts+11−11 src/lib/walletgen.js → src/lib/walletgen.ts+32−14 src/nockjs/TODO−42 src/nockjs/bits.js−333 src/nockjs/compiler.js−726 src/nockjs/hamt.js−137 src/nockjs/list.js−40 src/nockjs/noun.js−367 src/nockjs/serial.js−167 src/nockjs/test/ack.js−51 src/nockjs/test/add.js−40 src/nockjs/test/bits.js−15 src/nockjs/test/decrement.js−37 src/nockjs/test/hamt.js−16 src/nockjs/test/noun.js−88 src/nockjs/test/serial.js−22 src/react-app-env.d.ts+5 src/store/history.js → src/store/history.tsx+23−6 src/store/lib/useBirthdaysStore.js−59 src/store/lib/useControlledPointsStore.js+56−45 src/store/lib/useDetailsStore.ts+25−37 src/store/lib/useInvitesStore.js−71 src/store/lib/usePointStore.js+3−12 src/store/lib/useResidentsStore.ts+13−3 src/store/network.js → src/store/network.jsx+10−18 src/store/online.js → src/store/online.jsx src/store/pointCache.js−28 src/store/pointCache.jsx+53 src/store/pointCursor.js → src/store/pointCursor.jsx+25−3 src/store/roller.ts−62 src/store/rollerStore.ts+106 src/store/starRelease.js → src/store/starRelease.jsx src/store/storage/roller.ts+27−3 src/store/timerStore.ts+16 src/store/txnCursor.js → src/store/txnCursor.jsx src/store/wallet.js → src/store/wallet.jsx+67−3 src/style/anim.css+8−10 src/style/form-reset.scss+2−2 src/style/master-key.scss+2 src/style/shared/variables.scss+2−3 src/urbit-key-generation.d.ts+125 src/urbit-ob.d.ts−1 src/views/AcceptLockup.js → src/views/AcceptLockup.jsx src/views/AcceptTransfer.js−115 src/views/AcceptTransfer.tsx+206 src/views/Activate.js → src/views/Activate.jsx+1−1 src/views/Activate/ActivateCode.tsx+68−20 src/views/Activate/ActivateCodeForm.tsx+74−58 src/views/Activate/ActivateMasterKey.tsx+5−9 src/views/Activate/ActivateView.scss+34 src/views/Activate/ActivateView.tsx+59−31 src/views/Activate/CodeExpired.scss+3 src/views/Activate/CodeExpired.tsx+47 src/views/Activate/DownloadPortButton.tsx−30 src/views/Activate/MasterKeyConfirm.scss+1−2 src/views/Activate/MasterKeyConfirm.tsx+9−20 src/views/Activate/MasterKeyCopy.tsx+2−2 src/views/Activate/MasterKeyDownload.tsx+25−22 src/views/Activate/MasterKeyReveal.tsx+8−6 src/views/Activate/MasterKeyTransfer.tsx+34−19 src/views/Activate/ActivateFlow.js → src/views/Activate/useActivateFlow.js src/views/Activate/useActivateFlowState.js+30−7 src/views/Activate/useFadeIn.ts+2−2 src/views/Activate/withFadeable.tsx+2−2 src/views/Adopt.js−88 src/views/Bitcoin/Bitcoin.js−44 src/views/Bitcoin/Bitcoin.scss+29 src/views/Bitcoin/Bitcoin.tsx+213 src/views/Bitcoin/SignTransaction.js−160 src/views/Bitcoin/Xpub.js−50 src/views/CancelTransfer.js−94 src/views/CancelTransfer.tsx+166 src/views/CreateGalaxy.js → src/views/CreateGalaxy.jsx src/views/Disclaimer.js−108 src/views/Disclaimer.jsx+143 src/views/Invite/CSVButton.tsx+54 src/views/Invite/Cohort.scss+41−15 src/views/Invite/Cohort.tsx+86−345 src/views/Invite/Email.js−225 src/views/Invite/GenerateInvites.tsx+152 src/views/Invite/GeneratingModal.tsx+88 src/views/Invite/Inviter.js−54 src/views/Invite/Url.js−108 src/views/Invite/useInvites.ts+383 src/views/Login.scss+3 src/views/Login.tsx+21−7 src/views/Login/Advanced.js−37 src/views/Login/Hardware.js−52 src/views/Login/Keystore.js−93 src/views/Login/Ledger.tsx−236 src/views/Login/LoginSelector.scss+55−9 src/views/Login/LoginSelector.tsx+219−82 src/views/Login/Metamask.js−92 src/views/Login/Metamask.jsx+128 src/views/Login/Mnemonic.js−130 src/views/Login/Mnemonic.tsx+153 src/views/Login/Other.tsx+1−1 src/views/Login/PrivateKey.js−65 src/views/Login/Ticket.js−294 src/views/Login/Ticket.tsx+292 src/views/Login/Trezor.tsx−163 src/views/Login/WalletConnect.tsx+83−59 src/views/Ops/Ops.scss+14 src/views/Ops/Ops.tsx+126 src/views/Ops/RequestRow.tsx+47 src/views/Ops/Requests.scss+91 src/views/Ops/Requests.tsx+96 src/views/Ops/ResidentRow.tsx+64 src/views/Ops/Residents.scss+123 src/views/Ops/Residents.tsx+82 src/views/Party/PartySetPoolSize.js → src/views/Party/PartySetPoolSize.jsx+2−2 src/views/Point/InviteForm.tsx−92 src/views/Point/IssueChild.js−197 src/views/Point/IssueChild.scss+59 src/views/Point/IssueChild.tsx+349 src/views/Point/MigrateL2.scss+5−4 src/views/Point/MigrateL2.tsx+134−80 src/views/Point/PatpBadge.tsx+28 src/views/Point/Point.scss+3−53 src/views/Point/Point.tsx+90−156 src/views/Point/Residents.js−272 src/views/Point/Senate.js → src/views/Point/Senate.jsx src/views/Point/UrbitID.js → src/views/Point/UrbitID.jsx+4−7 src/views/Point/UrbitOS.js → src/views/Point/UrbitOS.jsx+3−3 src/views/Points.scss+28 src/views/Points.js → src/views/Points.tsx+150−183 src/views/Points/StarReleaseButton.scss+27 src/views/Points/StarReleaseButton.tsx+31 src/views/Release.js−89 src/views/Release/Active.js−101 src/views/Release/Locked.js−178 src/views/Release/StarRelease.scss+65 src/views/Release/StarRelease.tsx+61 src/views/Release/Transfer.js → src/views/Release/TransferForm.tsx+35−48 src/views/Release/WithdrawForm.tsx+137 src/views/Release/useTransferLockup.ts+24 src/views/Release/useWithdrawStars.ts+19 src/views/Senate/Documents.js → src/views/Senate/Documents.jsx src/views/Senate/Upgrades.js → src/views/Senate/Upgrades.jsx src/views/Transactions/AddressRow.tsx+5−1 src/views/Transactions/PatpRow.tsx+5−1 src/views/Transactions/TransactionHistory.scss+191−162 src/views/Transactions/TransactionHistory.tsx+14−12 src/views/Transactions/TransactionRow.tsx+40−33 src/views/UrbitID/DownloadKeys.js → src/views/UrbitID/DownloadKeys.jsx+2−2 src/views/UrbitID/Home.tsx+76−54 src/views/UrbitID/ResetKeys.js → src/views/UrbitID/ResetKeys.jsx src/views/UrbitID/ResetKeys/ResetConfirm.js → src/views/UrbitID/ResetKeys/ResetConfirm.jsx+1−1 src/views/UrbitID/ResetKeys/ResetDownload.js → src/views/UrbitID/ResetKeys/ResetDownload.jsx+2−2 src/views/UrbitID/ResetKeys/ResetExecute.js → src/views/UrbitID/ResetKeys/ResetExecute.tsx+146−79 src/views/UrbitID/ResetKeys/ResetVerify.js → src/views/UrbitID/ResetKeys/ResetVerify.jsx+1−1 src/views/UrbitID/SetProxy.js → src/views/UrbitID/SetProxy.jsx+71−30 src/views/UrbitID/SetProxy.scss+2−50 src/views/UrbitID/SigilGenerator.js−123 src/views/UrbitID/SigilGenerator.jsx+131 src/views/UrbitID/Transfer.js → src/views/UrbitID/Transfer.tsx+62−31 src/views/UrbitID/UrbitID.scss+4 src/views/UrbitOS/ChangeSponsor.js−208 src/views/UrbitOS/ChangeSponsor.tsx+273 src/views/UrbitOS/Home.tsx+63−42 src/views/UrbitOS/NetworkKeys.scss+56 src/views/UrbitOS/NetworkKeys.tsx+452 src/views/UrbitOS/NetworkingKeys.js−357 src/views/UrbitOS/UrbitOS.scss+1−1 src/worker/index.ts+7 src/worker/worker.ts+9 truffle-config.js+4−8 tsconfig.json+10−13 vite-env.d.ts+2 vite.config.ts+104 window.d.ts+9
.env+2−2
@@ -1,2 +1,2 @@
1−REACT_APP_INFURA_ENDPOINT='2599df54929b47099bda360958d75aaf'
2−
1+VITE_INFURA_ENDPOINT='2599df54929b47099bda360958d75aaf'
2+VITE_WALLET_CONNECT_PROJECT_ID=''
.env.development+5−5
@@ -1,5 +1,5 @@
1−REACT_APP_DEV_MNEMONIC='benefit crew supreme gesture quantum web media hazard theory mercy wing kitten'
2−REACT_APP_DEV_GALAXY_TICKET='~wacfus-dabpex-danted-mosfep-pasrud-lavmer-nodtex-taslus-pactyp-milpub-pildeg-fornev-ralmed-dinfeb-fopbyr-sanbet-sovmyl-dozsut-mogsyx-mapwyc-sorrup-ricnec-marnys-lignex'
3−REACT_APP_ROPSTEN_KEY='b7d2af9f01534031ba773374f766ef65'
4−REACT_APP_HD_PATH="m/44'/60'/0'/0/0"
5−REACT_APP_STUB_LOCAL='false'
1+VITE_DEV_MNEMONIC='benefit crew supreme gesture quantum web media hazard theory mercy wing kitten'
2+VITE_DEV_GALAXY_TICKET='~wacfus-dabpex-danted-mosfep-pasrud-lavmer-nodtex-taslus-pactyp-milpub-pildeg-fornev-ralmed-dinfeb-fopbyr-sanbet-sovmyl-dozsut-mogsyx-mapwyc-sorrup-ricnec-marnys-lignex'
3+VITE_GOERLI_KEY='b7d2af9f01534031ba773374f766ef65'
4+VITE_HD_PATH="m/44'/60'/0'/0/0"
5+VITE_STUB_LOCAL='false'
.github/ISSUE_TEMPLATE/l2-bug-report.md+1−1
@@ -23,7 +23,7 @@ A clear and concise description of what you expected to happen.
2323If applicable, add screenshots to help explain your problem. If possible, please also copy and paste any errors that appear in your browser's dev console. Here are [Chrome's docs](https://developers.google.com/web/tools/chrome-devtools/open) for using this feature.
2424
2525**Ethereum network:**
26−Were you testing on Ropsten or mainnet?
26+Were you testing on Goerli or mainnet?
2727
2828**Desktop (please complete the following information):**
2929 - OS: [e.g. MacOS 10.15.3]
.gitignore+2
@@ -11,6 +11,7 @@
1111
1212# misc
1313.DS_Store
14+.env
1415.env.local
1516.env.development.local
1617.env.test.local
@@ -28,3 +29,4 @@ bridge*.tar.gz
2829checksums.txt
2930
3031*.pem
32+localhost+2*
.nvmrc+1−1
@@ -1 +1 @@
1−14.17.0
1+16.18.0
DEVELOPMENT.md+69−18
@@ -65,9 +65,9 @@ of having to re-authenticate whenever you make a change or refresh the page):
6565
6666- The `.env.development` file contains environment variables that you can
6767 provide to the application when it's running in development. You can access
68− them via `process.env.REACT_APP_<whatever>`.
68+ them via `import.meta.env.VITE_<whatever>`.
6969
70−- Set `REACT_APP_STUB_LOCAL='true'` in `.env.development` to enabled stubbing of
70+- Set `VITE_STUB_LOCAL='true'` in `.env.development` to enabled stubbing of
7171 certain methods throughout the app.
7272
7373- The top of the Bridge component in `src/Bridge.js` can be tweaked for setting
@@ -80,19 +80,46 @@ of having to re-authenticate whenever you make a change or refresh the page):
8080
8181## HTTPS
8282
83−For development, you can enable HTTPS on localhost without a certificate for
84−Chrome by pasting the following into the URL bar:
83+For development, Bridge will not run unless you access localhost via HTTPS. To do this, you will want to set up a self-signed cert using `mkcert`:
8584
85+1. Install `mkcert`:
8686```
87−chrome://flags/#allow-insecure-localhost
87+# on MacOS using homebrew
88+brew install mkcert
89+
90+# on Linux using apt # TODO Confirm functionality
91+sudo apt install libnss3-tools
92+wget -O mkcert https://github.com/FiloSottile/mkcert/releases/latest/download/mkcert-v*-linux-amd64
93+chmod +x mkcert
94+sudo mv mkcert /usr/local/bin/
8895```
8996
90−In Firefox, you may need to allow connecting to the unsecured local node
91−websocket. Do this by going to `about:config` and setting the
92−`network.websocket.allowInsecureFromHTTPS` flag to `true`.
97+2. Create certificate authority:
98+```
99+# install local cert authority
100+mkcert -install
101+```
102+
103+3. Generate localhost Cert:
104+```
105+# Navigate to your bridge project directory
106+cd /path/to/urbit/bridge
107+
108+# Generate certificate for localhost
109+mkcert localhost 127.0.0.1 ::1
110+```
111+
112+This creates two files:
113+- `localhost+2.pem` (certificate)
114+- `localhost+2-key.pem` (private key)
115+
116+
117+Note: as of 3.3.0, Bridge is deprecating explicit support for Firefox. Privacy focused users are recommended to use Brave Browser.
93118
94−Additionally you need to run with the `HTTPS` environment variable set to
95−`true`. Note that `npm run pilot` will handle this automatically.
119+## WalletConnect
120+
121+To get WalletConnect working you need to set the `VITE_WALLET_CONNECT_PROJECT_ID`
122+environment variable with a project id that you can get at https://cloud.walletconnect.com/sign-in
96123
97124## Testing
98125
@@ -119,9 +146,9 @@ Automated tests for critical user journeys are coming Soon™️. Until then, he
119146
120147"As a user, I can create a new invite"
121148
122−First, in `Bridge.js`, set the `INITIAL_NETWORK_TYPE` to Ropsten:
149+First, in `Bridge.js`, set the `INITIAL_NETWORK_TYPE` to Goerli:
123150```js
124−const INITIAL_NETWORK_TYPE = NETWORK_TYPES.ROPSTEN;
151+const INITIAL_NETWORK_TYPE = NETWORK_TYPES.GOERLI;
125152```
126153
127154Then, in `tank.js`, set the port to `3011`:
@@ -140,9 +167,10 @@ const baseUrl = 'https://gas-tank.urbit.org:3011';
1401671. On the Bridge landing page, click the small "Activate" link
1411682. Paste the Invite code from the previous test case, and click "Go"
1421693. Download the Passport file, then use the enclosed Master Ticket and ID to login to Bridge again
170+
143171### Known Issues
144172
145−When testing the invite acceptance and login flow on Ropsten, some of the Azimuth API calls will fail (e.g., `getConditional`).
173+When testing the invite acceptance and login flow on Goerli, some of the Azimuth API calls will fail (e.g., `getConditional`).
146174
147175## Releases
148176
@@ -157,11 +185,34 @@ verify the checksums on e.g. MacOS via `shasum -c checksums.txt`.
157185To work with the L2 aggregator locally, set up the local environment like so:
158186
159187```sh
160−# Start Bridge with local blockchain preloaded with L1 and L2 points
188+# Start Bridge with local blockchain preloaded with L1 and L2 points, all owned by the address 0x6DEfFb0caFDB11D175F123F6891AA64F01c24F7d
189+
161190npm run pilot-l2
191+```
192+
193+Start a local fake ship from the master branch in the [urbit repo](https://github.com/urbit/urbit)
194+
195+```sh
196+/path/to/urbit -F zod -B ./bin/solid.pill -A ./pkg/arvo -c zod --http-port 8080
197+```
162198
163−# Build urbit at naive/roller branch, start a local fake ship, then run these in the dojo:
164−|cors-approve 'http://localhost:3000'
165−:azimuth|watch 'http://0.0.0.0:8545' %local
166−|rein %base [& %roller] [& %roller-rpc] [& %azimuth-rpc]
199+```dojo
200+:: Run these in the dojo:
201+::
202+> |mount /=base=
203+> |nuke %azimuth
204+> |rein %base [%.y %azimuth]
205+> :azimuth|watch 'http://0.0.0.0:8545' %local
206+> :azimuth %resub
207+> :azimuth &azimuth-poke [%kick ~]
208+> |rein %base [& %roller] [& %roller-rpc] [& %azimuth-rpc]
209+> :roller|local
210+> :roller|setkey '58d62eb79797502bc0f66cd3e7a49d00287bff53a2734b799ef09cb746340ed0'
211+> :roller|quota 9.999
212+:: If you run into issues, also add 'https://localhost:3000' the the eyre CORS approvals
213+> |eyre/cors/approve 'https://127.0.0.1:3000'
214+::
215+:: Once L2 txs have been sent via Bridge, this will manually commit and batch them, avoiding waiting for the timer
216+::
217+> :roller|commit
167218```
README.md+17−1
@@ -35,7 +35,7 @@ Optionally, to validate your downloaded file's integrity, compare the lines in c
3535
36361. `cd` into the `bridge-$version` directory
37372. Run `python3 -m http.server 5000 --bind 127.0.0.1`
38−3. Navigate to http://localhost:5000 using a web browser to access Bridge (we recommend using Firefox or Chrome)
38+3. Navigate to http://127.0.0.1:5000 using a web browser to access Bridge (we recommend using Firefox or Chrome)
3939
4040#### Ledger support
4141
@@ -54,3 +54,19 @@ A proper "offline mode" for the latest iteration of Bridge is still being worked
5454## Development
5555
5656See [development.md](DEVELOPMENT.md).
57+
58+
59+## Configurable Roller Endpoint
60+
61+By default, Bridge uses Tlon's L2 Roller, but can also be configured to use your own.
62+
63+For example:
64+
65+```sh
66+VITE_ROLLER_HOST=my-personal-roller.net npm run pilot-mainnet
67+```
68+
69+The following are configurable, and will otherwise fallback to the defaults in `constants`:
70+- `VITE_ROLLER_HOST` - host
71+- `VITE_ROLLER_PORT` - port
72+- `VITE_ROLLER_TRANSPORT_TYPE` - transport type (e.g., `http` or `https`)
bridge-npm-audit.txtnew file+697
@@ -0,0 +1,697 @@
1+# npm audit report
2+
3+@babel/helpers <7.26.10
4+Severity: moderate
5+Babel has inefficient RegExp complexity in generated code with .replace when transpiling named capturing groups - https://github.com/advisories/GHSA-968p-4wvh-cqc8
6+fix available via `npm audit fix`
7+node_modules/@babel/helpers
8+
9+@babel/runtime-corejs3 <7.26.10
10+Severity: moderate
11+Babel has inefficient RegExp complexity in generated code with .replace when transpiling named capturing groups - https://github.com/advisories/GHSA-968p-4wvh-cqc8
12+fix available via `npm audit fix`
13+node_modules/@babel/runtime-corejs3
14+
15+@babel/traverse <7.23.2
16+Severity: critical
17+Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code - https://github.com/advisories/GHSA-67hx-6x53-jw92
18+fix available via `npm audit fix`
19+node_modules/@babel/traverse
20+
21+ajv <6.12.3
22+Severity: moderate
23+Prototype Pollution in Ajv - https://github.com/advisories/GHSA-v88g-cgmw-v5xw
24+fix available via `npm audit fix --force`
25+Will install serve@14.2.5, which is a breaking change
26+node_modules/serve/node_modules/ajv
27+ serve 5.0.4 - 14.2.4
28+ Depends on vulnerable versions of ajv
29+ Depends on vulnerable versions of boxen
30+ Depends on vulnerable versions of clipboardy
31+ Depends on vulnerable versions of compression
32+ Depends on vulnerable versions of serve-handler
33+ node_modules/serve
34+
35+ansi-regex 3.0.0
36+Severity: high
37+Inefficient Regular Expression Complexity in chalk/ansi-regex - https://github.com/advisories/GHSA-93q8-gq69-wqmw
38+fix available via `npm audit fix`
39+node_modules/ansi-align/node_modules/ansi-regex
40+node_modules/boxen/node_modules/ansi-regex
41+node_modules/widest-line/node_modules/ansi-regex
42+
43+axios 1.0.0 - 1.11.0
44+Severity: high
45+Axios Cross-Site Request Forgery Vulnerability - https://github.com/advisories/GHSA-wf5p-g6vw-rhxx
46+Server-Side Request Forgery in axios - https://github.com/advisories/GHSA-8hc4-vh64-cxmj
47+axios Requests Vulnerable To Possible SSRF and Credential Leakage via Absolute URL - https://github.com/advisories/GHSA-jr5f-v2jv-69x6
48+Axios is vulnerable to DoS attack through lack of data size check - https://github.com/advisories/GHSA-4hjh-wcwx-xvwj
49+fix available via `npm audit fix --force`
50+Will install truffle@5.5.7, which is a breaking change
51+node_modules/axios
52+ @truffle/dashboard-message-bus-client >=0.1.10
53+ Depends on vulnerable versions of axios
54+ node_modules/@truffle/dashboard-message-bus-client
55+ @truffle/events >=0.1.21
56+ Depends on vulnerable versions of @truffle/dashboard-message-bus-client
57+ node_modules/@truffle/events
58+ @truffle/config *
59+ Depends on vulnerable versions of @truffle/events
60+ Depends on vulnerable versions of @truffle/provider
61+ node_modules/@truffle/config
62+ @truffle/db >=2.0.13
63+ Depends on vulnerable versions of @truffle/config
64+ node_modules/@truffle/db
65+ @truffle/db-loader >=0.2.13
66+ Depends on vulnerable versions of @truffle/db
67+ node_modules/@truffle/db-loader
68+ truffle 5.1.9-nodeLTS.0 || 5.1.14-alphaTez.0 - 5.1.14-truffleLogger.0 || >=5.1.66
69+ Depends on vulnerable versions of @truffle/db
70+ Depends on vulnerable versions of @truffle/db-loader
71+ Depends on vulnerable versions of @truffle/debugger
72+ Depends on vulnerable versions of ganache
73+ Depends on vulnerable versions of mocha
74+ node_modules/truffle
75+
76+babel-traverse *
77+Severity: critical
78+Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code - https://github.com/advisories/GHSA-67hx-6x53-jw92
79+fix available via `npm audit fix --force`
80+Will install azimuth-js@0.15.0, which is a breaking change
81+node_modules/babel-traverse
82+ babel-core 5.8.20 - 7.0.0-beta.3
83+ Depends on vulnerable versions of babel-helpers
84+ Depends on vulnerable versions of babel-register
85+ Depends on vulnerable versions of babel-template
86+ Depends on vulnerable versions of babel-traverse
87+ Depends on vulnerable versions of json5
88+ node_modules/babel-core
89+ babel-register *
90+ Depends on vulnerable versions of babel-core
91+ node_modules/babel-register
92+ azimuth-solidity *
93+ Depends on vulnerable versions of babel-register
94+ node_modules/azimuth-solidity
95+ azimuth-js *
96+ Depends on vulnerable versions of azimuth-solidity
97+ Depends on vulnerable versions of web3
98+ node_modules/azimuth-js
99+ babel-template *
100+ Depends on vulnerable versions of babel-traverse
101+ node_modules/babel-template
102+ babel-helpers *
103+ Depends on vulnerable versions of babel-template
104+ node_modules/babel-helpers
105+
106+base-x <=3.0.10
107+Severity: high
108+Homograph attack allows Unicode lookalike characters to bypass validation. - https://github.com/advisories/GHSA-xq7p-g2vc-g82p
109+fix available via `npm audit fix`
110+node_modules/base-x
111+
112+brace-expansion 1.0.0 - 1.1.11
113+brace-expansion Regular Expression Denial of Service vulnerability - https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
114+fix available via `npm audit fix`
115+node_modules/brace-expansion
116+node_modules/ganache/node_modules/brace-expansion
117+node_modules/truffle/node_modules/ganache/node_modules/brace-expansion
118+
119+braces <3.0.3
120+Severity: high
121+Uncontrolled resource consumption in braces - https://github.com/advisories/GHSA-grv7-fg5c-xmjg
122+fix available via `npm audit fix`
123+node_modules/braces
124+node_modules/ganache/node_modules/braces
125+node_modules/truffle/node_modules/ganache/node_modules/braces
126+
127+browserify-sign 2.6.0 - 4.2.1
128+Severity: high
129+browserify-sign upper bound check issue in `dsaVerify` leads to a signature forgery attack - https://github.com/advisories/GHSA-x9w5-v3q2-3rhw
130+fix available via `npm audit fix`
131+node_modules/browserify-sign
132+node_modules/ganache/node_modules/browserify-sign
133+node_modules/truffle/node_modules/ganache/node_modules/browserify-sign
134+
135+cipher-base <=1.0.4
136+Severity: critical
137+cipher-base is missing type checks, leading to hash rewind and passing on crafted data - https://github.com/advisories/GHSA-cpq7-6gpm-g9rc
138+fix available via `npm audit fix`
139+node_modules/cipher-base
140+node_modules/ganache/node_modules/cipher-base
141+node_modules/truffle/node_modules/ganache/node_modules/cipher-base
142+
143+cross-spawn <6.0.6 || >=7.0.0 <7.0.5
144+Severity: high
145+Regular Expression Denial of Service (ReDoS) in cross-spawn - https://github.com/advisories/GHSA-3xgq-45jj-v275
146+Regular Expression Denial of Service (ReDoS) in cross-spawn - https://github.com/advisories/GHSA-3xgq-45jj-v275
147+fix available via `npm audit fix --force`
148+Will install serve@14.2.5, which is a breaking change
149+node_modules/clipboardy/node_modules/cross-spawn
150+node_modules/cross-spawn
151+node_modules/eslint/node_modules/cross-spawn
152+node_modules/ganache/node_modules/cross-spawn
153+node_modules/term-size/node_modules/cross-spawn
154+node_modules/truffle/node_modules/ganache/node_modules/cross-spawn
155+ execa 0.5.0 - 0.9.0
156+ Depends on vulnerable versions of cross-spawn
157+ node_modules/clipboardy/node_modules/execa
158+ node_modules/term-size/node_modules/execa
159+ clipboardy <=1.2.3
160+ Depends on vulnerable versions of execa
161+ node_modules/clipboardy
162+ term-size 1.0.0 - 1.2.0
163+ Depends on vulnerable versions of execa
164+ node_modules/term-size
165+ boxen 1.2.0 - 3.2.0
166+ Depends on vulnerable versions of term-size
167+ node_modules/boxen
168+
169+crypto-js <4.2.0
170+Severity: critical
171+crypto-js PBKDF2 1,000 times weaker than specified in 1993 and 1.3M times weaker than current standard - https://github.com/advisories/GHSA-xwcq-pm8m-c4vf
172+fix available via `npm audit fix --force`
173+Will install secure-ls@2.0.0, which is a breaking change
174+node_modules/crypto-js
175+ secure-ls <=1.2.6
176+ Depends on vulnerable versions of crypto-js
177+ node_modules/secure-ls
178+
179+ejs <=3.1.9
180+Severity: critical
181+ejs template injection vulnerability - https://github.com/advisories/GHSA-phwq-j96m-2c2q
182+ejs lacks certain pollution protection - https://github.com/advisories/GHSA-ghr5-ch3p-vcr6
183+fix available via `npm audit fix`
184+node_modules/source-map-explorer/node_modules/ejs
185+
186+elliptic <=6.6.0
187+Severity: critical
188+Elliptic's verify function omits uniqueness validation - https://github.com/advisories/GHSA-434g-2637-qmqr
189+Elliptic's private key extraction in ECDSA upon signing a malformed input (e.g. a string) - https://github.com/advisories/GHSA-vjh7-7g9h-fjfh
190+Valid ECDSA signatures erroneously rejected in Elliptic - https://github.com/advisories/GHSA-fc9h-whq2-v747
191+Elliptic's EDDSA missing signature length check - https://github.com/advisories/GHSA-f7q4-pwc6-w24p
192+Elliptic's ECDSA missing check for whether leading bit of r and s is zero - https://github.com/advisories/GHSA-977x-g7h5-7qgw
193+Elliptic allows BER-encoded signatures - https://github.com/advisories/GHSA-49q7-c7j4-3p7m
194+fix available via `npm audit fix --force`
195+Will install truffle@5.5.7, which is a breaking change
196+node_modules/elliptic
197+node_modules/ganache/node_modules/elliptic
198+node_modules/truffle/node_modules/ganache/node_modules/elliptic
199+ ethers 3.0.0 - 4.0.49
200+ Depends on vulnerable versions of elliptic
201+ node_modules/@truffle/interface-adapter/node_modules/ethers
202+ @truffle/interface-adapter *
203+ Depends on vulnerable versions of ethers
204+ Depends on vulnerable versions of web3
205+ node_modules/@truffle/interface-adapter
206+ @truffle/provider *
207+ Depends on vulnerable versions of @truffle/interface-adapter
208+ Depends on vulnerable versions of web3
209+ node_modules/@truffle/provider
210+
211+esbuild <=0.24.2
212+Severity: moderate
213+esbuild enables any website to send any requests to the development server and read the response - https://github.com/advisories/GHSA-67mh-4wv8-2f99
214+fix available via `npm audit fix --force`
215+Will install vite@3.2.11, which is outside the stated dependency range
216+node_modules/esbuild
217+ vite <=6.1.6
218+ Depends on vulnerable versions of esbuild
219+ Depends on vulnerable versions of rollup
220+ node_modules/vite
221+
222+fast-redact *
223+fast-redact vulnerable to prototype pollution - https://github.com/advisories/GHSA-ffrw-9mx8-89p8
224+fix available via `npm audit fix`
225+node_modules/fast-redact
226+ pino 5.0.0-rc.1 - 9.11.0
227+ Depends on vulnerable versions of fast-redact
228+ node_modules/pino
229+ @walletconnect/logger <=2.1.3
230+ Depends on vulnerable versions of pino
231+ node_modules/@walletconnect/logger
232+ @walletconnect/core 2.0.0-2.0.0-beta.102 - 2.22.2
233+ Depends on vulnerable versions of @walletconnect/logger
234+ Depends on vulnerable versions of @walletconnect/types
235+ Depends on vulnerable versions of @walletconnect/utils
236+ node_modules/@walletconnect/sign-client/node_modules/@walletconnect/core
237+ @walletconnect/sign-client <=2.22.2
238+ Depends on vulnerable versions of @walletconnect/core
239+ Depends on vulnerable versions of @walletconnect/logger
240+ Depends on vulnerable versions of @walletconnect/types
241+ Depends on vulnerable versions of @walletconnect/utils
242+ node_modules/@walletconnect/sign-client
243+ @walletconnect/types 2.1.2-eaa4818c - 2.22.2
244+ Depends on vulnerable versions of @walletconnect/logger
245+ node_modules/@walletconnect/types
246+ @walletconnect/utils 2.1.2-eaa4818c - 2.22.2
247+ Depends on vulnerable versions of @walletconnect/types
248+ node_modules/@walletconnect/sign-client/node_modules/@walletconnect/utils
249+
250+form-data <2.5.4
251+Severity: critical
252+form-data uses unsafe random function in form-data for choosing boundary - https://github.com/advisories/GHSA-fjxv-7rqg-78g4
253+fix available via `npm audit fix`
254+node_modules/form-data
255+ request *
256+ Depends on vulnerable versions of form-data
257+ Depends on vulnerable versions of tough-cookie
258+ node_modules/request
259+ jsdom 0.1.20 || 0.2.0 - 16.5.3
260+ Depends on vulnerable versions of request
261+ Depends on vulnerable versions of tough-cookie
262+ node_modules/jsdom
263+ servify *
264+ Depends on vulnerable versions of request
265+ node_modules/servify
266+ eth-lib <=0.1.29
267+ Depends on vulnerable versions of servify
268+ Depends on vulnerable versions of ws
269+ node_modules/eth-lib
270+ swarm-js >=0.1.36
271+ Depends on vulnerable versions of eth-lib
272+ Depends on vulnerable versions of tar
273+ node_modules/swarm-js
274+ web3-bzz *
275+ Depends on vulnerable versions of swarm-js
276+ node_modules/@truffle/debugger/node_modules/web3-bzz
277+ node_modules/@truffle/interface-adapter/node_modules/web3-bzz
278+ node_modules/@truffle/provider/node_modules/web3-bzz
279+ node_modules/web3-bzz
280+
281+get-func-name <2.0.1
282+Severity: high
283+Chaijs/get-func-name vulnerable to ReDoS - https://github.com/advisories/GHSA-4q6p-r6v2-jvc5
284+fix available via `npm audit fix`
285+node_modules/get-func-name
286+
287+js-yaml <3.14.2 || >=4.0.0 <4.1.1
288+Severity: moderate
289+js-yaml has prototype pollution in merge (<<) - https://github.com/advisories/GHSA-mh29-5h37-fv8m
290+js-yaml has prototype pollution in merge (<<) - https://github.com/advisories/GHSA-mh29-5h37-fv8m
291+fix available via `npm audit fix --force`
292+Will install truffle@5.5.7, which is a breaking change
293+node_modules/@eslint/eslintrc/node_modules/js-yaml
294+node_modules/eslint/node_modules/js-yaml
295+node_modules/ganache/node_modules/js-yaml
296+node_modules/js-yaml
297+node_modules/mocha/node_modules/js-yaml
298+node_modules/truffle/node_modules/ganache/node_modules/js-yaml
299+ mocha 5.1.0 - 10.5.2
300+ Depends on vulnerable versions of js-yaml
301+ Depends on vulnerable versions of minimatch
302+ Depends on vulnerable versions of nanoid
303+ Depends on vulnerable versions of serialize-javascript
304+ node_modules/ganache/node_modules/mocha
305+ node_modules/mocha
306+ node_modules/truffle/node_modules/ganache/node_modules/mocha
307+
308+json-schema <0.4.0
309+Severity: critical
310+json-schema is vulnerable to Prototype Pollution - https://github.com/advisories/GHSA-896r-f27r-55mw
311+fix available via `npm audit fix`
312+node_modules/json-schema
313+ jsprim 0.3.0 - 1.4.1 || 2.0.0 - 2.0.1
314+ Depends on vulnerable versions of json-schema
315+ node_modules/jsprim
316+
317+json5 <1.0.2 || >=2.0.0 <2.2.2
318+Severity: high
319+Prototype Pollution in JSON5 via Parse Method - https://github.com/advisories/GHSA-9c47-m6qq-7p4h
320+Prototype Pollution in JSON5 via Parse Method - https://github.com/advisories/GHSA-9c47-m6qq-7p4h
321+fix available via `npm audit fix --force`
322+Will install azimuth-js@0.15.0, which is a breaking change
323+node_modules/@babel/core/node_modules/json5
324+node_modules/ganache/node_modules/json5
325+node_modules/json5
326+node_modules/truffle/node_modules/ganache/node_modules/json5
327+node_modules/vite-plugin-comlink/node_modules/json5
328+ vite-plugin-comlink 3.0.3 - 3.0.5
329+ Depends on vulnerable versions of json5
330+ node_modules/vite-plugin-comlink
331+
332+jszip <3.8.0
333+Severity: moderate
334+JSZip contains Path Traversal via loadAsync - https://github.com/advisories/GHSA-36fh-84j7-cv5h
335+fix available via `npm audit fix`
336+node_modules/jszip
337+
338+markdown-to-jsx <7.4.0
339+Severity: moderate
340+Cross site scripting in markdown-to-jsx - https://github.com/advisories/GHSA-4wx3-54gh-9fr9
341+fix available via `npm audit fix`
342+node_modules/markdown-to-jsx
343+
344+micromatch <4.0.8
345+Severity: moderate
346+Regular Expression Denial of Service (ReDoS) in micromatch - https://github.com/advisories/GHSA-952p-6rrq-rcjv
347+fix available via `npm audit fix`
348+node_modules/ganache/node_modules/micromatch
349+node_modules/micromatch
350+node_modules/truffle/node_modules/ganache/node_modules/micromatch
351+
352+minimatch <3.0.5
353+Severity: high
354+minimatch ReDoS vulnerability - https://github.com/advisories/GHSA-f8q6-p94x-37v3
355+fix available via `npm audit fix --force`
356+Will install truffle@5.5.7, which is a breaking change
357+node_modules/ganache/node_modules/minimatch
358+node_modules/minimatch
359+node_modules/truffle/node_modules/ganache/node_modules/minimatch
360+ serve-handler <=6.1.5
361+ Depends on vulnerable versions of minimatch
362+ Depends on vulnerable versions of path-to-regexp
363+ node_modules/serve-handler
364+
365+nanoid <=3.3.7
366+Severity: moderate
367+Predictable results in nanoid generation when given non-integer values - https://github.com/advisories/GHSA-mwcw-c2x4-8c55
368+Exposure of Sensitive Information to an Unauthorized Actor in nanoid - https://github.com/advisories/GHSA-qrpm-p2h7-hrv2
369+fix available via `npm audit fix --force`
370+Will install truffle@5.5.7, which is a breaking change
371+node_modules/ganache/node_modules/nanoid
372+node_modules/nanoid
373+node_modules/truffle/node_modules/ganache/node_modules/nanoid
374+node_modules/vite/node_modules/nanoid
375+
376+on-headers <1.1.0
377+on-headers is vulnerable to http response header manipulation - https://github.com/advisories/GHSA-76c9-3jph-rj3q
378+fix available via `npm audit fix --force`
379+Will install serve@14.2.5, which is a breaking change
380+node_modules/on-headers
381+ compression 1.0.3 - 1.8.0
382+ Depends on vulnerable versions of on-headers
383+ node_modules/serve/node_modules/compression
384+
385+path-to-regexp 2.0.0 - 3.2.0
386+Severity: high
387+path-to-regexp outputs backtracking regular expressions - https://github.com/advisories/GHSA-9wv6-86v2-598j
388+fix available via `npm audit fix --force`
389+Will install serve@14.2.5, which is a breaking change
390+node_modules/serve-handler/node_modules/path-to-regexp
391+
392+pbkdf2 <=3.1.2
393+Severity: critical
394+pbkdf2 silently disregards Uint8Array input, returning static keys - https://github.com/advisories/GHSA-v62p-rq8g-8h59
395+pbkdf2 returns predictable uninitialized/zero-filled memory for non-normalized or unimplemented algos - https://github.com/advisories/GHSA-h7cp-r72f-jxh6
396+fix available via `npm audit fix`
397+node_modules/ganache/node_modules/pbkdf2
398+node_modules/pbkdf2
399+node_modules/truffle/node_modules/ganache/node_modules/pbkdf2
400+
401+postcss <8.4.31
402+Severity: moderate
403+PostCSS line return parsing error - https://github.com/advisories/GHSA-7fh5-64p2-3v2j
404+fix available via `npm audit fix`
405+node_modules/vite/node_modules/postcss
406+
407+qs 6.5.0 - 6.5.2
408+Severity: high
409+qs vulnerable to Prototype Pollution - https://github.com/advisories/GHSA-hrpp-h998-j3pp
410+fix available via `npm audit fix`
411+node_modules/request/node_modules/qs
412+
413+
414+rollup <2.79.2
415+Severity: high
416+DOM Clobbering Gadget found in rollup bundled scripts that leads to XSS - https://github.com/advisories/GHSA-gcx4-mw62-g8wm
417+fix available via `npm audit fix --force`
418+Will install vite@3.2.11, which is outside the stated dependency range
419+node_modules/vite/node_modules/rollup
420+
421+secp256k1 <=3.8.0 || 4.0.0 - 4.0.3
422+Severity: high
423+secp256k1-node allows private key extraction over ECDH - https://github.com/advisories/GHSA-584q-6j8j-r5pm
424+secp256k1-node allows private key extraction over ECDH - https://github.com/advisories/GHSA-584q-6j8j-r5pm
425+fix available via `npm audit fix --force`
426+Will install ganache@6.4.5, which is a breaking change
427+node_modules/ganache/node_modules/secp256k1
428+node_modules/secp256k1
429+node_modules/truffle/node_modules/ganache/node_modules/secp256k1
430+node_modules/urbit-key-generation/node_modules/secp256k1
431+ ganache <=3.0.0-internal.16 || >=7.0.0-alpha.0
432+ Depends on vulnerable versions of @trufflesuite/uws-js-unofficial
433+ Depends on vulnerable versions of secp256k1
434+ node_modules/ganache
435+ node_modules/truffle/node_modules/ganache
436+ keythereum 1.2.0
437+ Depends on vulnerable versions of secp256k1
438+ node_modules/keythereum
439+
440+semver <=5.7.1 || 6.0.0 - 6.3.0 || 7.0.0 - 7.5.1
441+Severity: high
442+semver vulnerable to Regular Expression Denial of Service - https://github.com/advisories/GHSA-c2qf-rxjj-qqgw
443+semver vulnerable to Regular Expression Denial of Service - https://github.com/advisories/GHSA-c2qf-rxjj-qqgw
444+semver vulnerable to Regular Expression Denial of Service - https://github.com/advisories/GHSA-c2qf-rxjj-qqgw
445+fix available via `npm audit fix`
446+node_modules/@babel/core/node_modules/semver
447+node_modules/cross-spawn/node_modules/semver
448+node_modules/ganache/node_modules/semver
449+node_modules/normalize-package-data/node_modules/semver
450+node_modules/truffle/node_modules/ganache/node_modules/semver
451+ @microsoft/api-extractor 7.9.1 - 7.36.2
452+ Depends on vulnerable versions of @microsoft/api-extractor-model
453+ Depends on vulnerable versions of @rushstack/node-core-library
454+ Depends on vulnerable versions of semver
455+ node_modules/ganache/node_modules/@microsoft/api-extractor
456+ node_modules/truffle/node_modules/ganache/node_modules/@microsoft/api-extractor
457+ @rushstack/node-core-library 3.25.0 - 3.59.5
458+ Depends on vulnerable versions of semver
459+ node_modules/ganache/node_modules/@rushstack/node-core-library
460+ node_modules/truffle/node_modules/ganache/node_modules/@rushstack/node-core-library
461+ @microsoft/api-extractor-model 7.8.12 - 7.27.4
462+ Depends on vulnerable versions of @rushstack/node-core-library
463+ node_modules/ganache/node_modules/@microsoft/api-extractor-model
464+ node_modules/truffle/node_modules/ganache/node_modules/@microsoft/api-extractor-model
465+
466+serialize-javascript 6.0.0 - 6.0.1
467+Severity: moderate
468+Cross-site Scripting (XSS) in serialize-javascript - https://github.com/advisories/GHSA-76p7-773f-r4q5
469+fix available via `npm audit fix --force`
470+Will install truffle@5.5.7, which is a breaking change
471+node_modules/ganache/node_modules/serialize-javascript
472+node_modules/serialize-javascript
473+node_modules/truffle/node_modules/ganache/node_modules/serialize-javascript
474+
475+sha.js <=2.4.11
476+Severity: critical
477+sha.js is missing type checks leading to hash rewind and passing on crafted data - https://github.com/advisories/GHSA-95m3-7q98-8xr5
478+fix available via `npm audit fix`
479+node_modules/ganache/node_modules/sha.js
480+node_modules/sha.js
481+node_modules/truffle/node_modules/ganache/node_modules/sha.js
482+
483+shell-quote 1.6.3 - 1.7.2
484+Severity: critical
485+Improper Neutralization of Special Elements used in a Command in Shell-quote - https://github.com/advisories/GHSA-g4rg-993r-mgx7
486+fix available via `npm audit fix`
487+node_modules/shell-quote
488+
489+tar <6.2.1
490+Severity: moderate
491+Denial of service while parsing a tar file due to lack of folders count validation - https://github.com/advisories/GHSA-f5x3-32g6-xq36
492+fix available via `npm audit fix`
493+node_modules/tar
494+
495+tiny-secp256k1 <=1.1.6
496+Severity: high
497+tiny-secp256k1 allows for verify() bypass when running in bundled environment - https://github.com/advisories/GHSA-5vhg-9xg4-cv9m
498+tiny-secp256k1 vulnerable to private key extraction when signing a malicious JSON-stringifyable message in bundled environment - https://github.com/advisories/GHSA-7mc2-6phr-23xc
499+fix available via `npm audit fix`
500+node_modules/tiny-secp256k1
501+
502+tough-cookie <4.1.3
503+Severity: moderate
504+tough-cookie Prototype Pollution vulnerability - https://github.com/advisories/GHSA-72xf-g2v4-qvf3
505+fix available via `npm audit fix`
506+node_modules/tough-cookie
507+
508+validator <13.15.20
509+Severity: moderate
510+validator.js has a URL validation bypass vulnerability in its isURL function - https://github.com/advisories/GHSA-9965-vmph-33xx
511+fix available via `npm audit fix`
512+node_modules/ganache/node_modules/validator
513+node_modules/truffle/node_modules/ganache/node_modules/validator
514+
515+
516+web3-core-method <=2.0.0-alpha.1
517+web3-core-method is vulnerable to prototype pollution - https://github.com/advisories/GHSA-2j4c-9qqq-896r
518+Depends on vulnerable versions of web3-core-subscriptions
519+fix available via `npm audit fix --force`
520+Will install web3-core@4.7.1, which is a breaking change
521+node_modules/@truffle/debugger/node_modules/web3-core-method
522+node_modules/@truffle/interface-adapter/node_modules/web3-core-method
523+node_modules/@truffle/provider/node_modules/web3-core-method
524+node_modules/web3-core-method
525+ web3-core <=2.0.0-alpha.1
526+ Depends on vulnerable versions of web3-core-method
527+ Depends on vulnerable versions of web3-core-method
528+ node_modules/@truffle/debugger/node_modules/web3-core
529+ node_modules/@truffle/interface-adapter/node_modules/web3-core
530+ node_modules/@truffle/provider/node_modules/web3-core
531+ node_modules/web3-core
532+ web3-eth-ens <=2.0.0-alpha.1
533+ Depends on vulnerable versions of web3-core
534+ Depends on vulnerable versions of web3-core
535+ Depends on vulnerable versions of web3-eth-contract
536+ Depends on vulnerable versions of web3-eth-contract
537+ node_modules/@truffle/debugger/node_modules/web3-eth-ens
538+ node_modules/@truffle/interface-adapter/node_modules/web3-eth-ens
539+ node_modules/@truffle/provider/node_modules/web3-eth-ens
540+ node_modules/web3-eth-ens
541+ web3-eth-personal <=2.0.0-alpha.1 || 4.0.9-dev.408125.0
542+ Depends on vulnerable versions of web3-core
543+ Depends on vulnerable versions of web3-core
544+ Depends on vulnerable versions of web3-core-method
545+ Depends on vulnerable versions of web3-core-method
546+ Depends on vulnerable versions of web3-net
547+ Depends on vulnerable versions of web3-net
548+ node_modules/@truffle/debugger/node_modules/web3-eth-personal
549+ node_modules/@truffle/interface-adapter/node_modules/web3-eth-personal
550+ node_modules/@truffle/provider/node_modules/web3-eth-personal
551+ node_modules/web3-eth-personal
552+ web3-net 1.2.0 - 2.0.0-alpha.1 || 4.0.8-dev.408125.0
553+ Depends on vulnerable versions of web3-core
554+ Depends on vulnerable versions of web3-core
555+ Depends on vulnerable versions of web3-core-method
556+ Depends on vulnerable versions of web3-core-method
557+ node_modules/@truffle/debugger/node_modules/web3-net
558+ node_modules/@truffle/interface-adapter/node_modules/web3-net
559+ node_modules/@truffle/provider/node_modules/web3-net
560+ node_modules/web3-net
561+ web3 1.0.0-beta.1 - 3.0.0-rc.0
562+ Depends on vulnerable versions of web3-bzz
563+ Depends on vulnerable versions of web3-core
564+ Depends on vulnerable versions of web3-core
565+ Depends on vulnerable versions of web3-eth
566+ Depends on vulnerable versions of web3-eth
567+ Depends on vulnerable versions of web3-eth-personal
568+ Depends on vulnerable versions of web3-eth-personal
569+ Depends on vulnerable versions of web3-net
570+ Depends on vulnerable versions of web3-net
571+ Depends on vulnerable versions of web3-shh
572+ Depends on vulnerable versions of web3-shh
573+ node_modules/@truffle/debugger/node_modules/web3
574+ node_modules/@truffle/interface-adapter/node_modules/web3
575+ node_modules/@truffle/provider/node_modules/web3
576+ node_modules/web3
577+ @truffle/debugger *
578+ Depends on vulnerable versions of @ensdomains/ensjs
579+ Depends on vulnerable versions of web3
580+ node_modules/@truffle/debugger
581+ web3-eth <=2.0.0-alpha.1
582+ Depends on vulnerable versions of web3-core
583+ Depends on vulnerable versions of web3-core
584+ Depends on vulnerable versions of web3-core-method
585+ Depends on vulnerable versions of web3-core-method
586+ Depends on vulnerable versions of web3-core-subscriptions
587+ Depends on vulnerable versions of web3-eth-accounts
588+ Depends on vulnerable versions of web3-eth-accounts
589+ Depends on vulnerable versions of web3-eth-contract
590+ Depends on vulnerable versions of web3-eth-contract
591+ Depends on vulnerable versions of web3-eth-ens
592+ Depends on vulnerable versions of web3-eth-ens
593+ Depends on vulnerable versions of web3-eth-personal
594+ Depends on vulnerable versions of web3-eth-personal
595+ Depends on vulnerable versions of web3-net
596+ Depends on vulnerable versions of web3-net
597+ node_modules/@truffle/debugger/node_modules/web3-eth
598+ node_modules/@truffle/interface-adapter/node_modules/web3-eth
599+ node_modules/@truffle/provider/node_modules/web3-eth
600+ node_modules/web3-eth
601+ web3-shh *
602+ Depends on vulnerable versions of web3-core
603+ Depends on vulnerable versions of web3-core
604+ Depends on vulnerable versions of web3-core-method
605+ Depends on vulnerable versions of web3-core-method
606+ Depends on vulnerable versions of web3-core-subscriptions
607+ Depends on vulnerable versions of web3-net
608+ Depends on vulnerable versions of web3-net
609+ node_modules/@truffle/debugger/node_modules/web3-shh
610+ node_modules/@truffle/interface-adapter/node_modules/web3-shh
611+ node_modules/@truffle/provider/node_modules/web3-shh
612+ node_modules/web3-shh
613+ web3-eth-accounts <=2.0.0-alpha.1
614+ Depends on vulnerable versions of web3-core
615+ Depends on vulnerable versions of web3-core
616+ Depends on vulnerable versions of web3-core-method
617+ Depends on vulnerable versions of web3-core-method
618+ node_modules/@truffle/debugger/node_modules/web3-eth-accounts
619+ node_modules/@truffle/interface-adapter/node_modules/web3-eth-accounts
620+ node_modules/@truffle/provider/node_modules/web3-eth-accounts
621+ node_modules/web3-eth-accounts
622+ web3-eth-contract <=2.0.0-alpha.1
623+ Depends on vulnerable versions of web3-core
624+ Depends on vulnerable versions of web3-core
625+ Depends on vulnerable versions of web3-core-method
626+ Depends on vulnerable versions of web3-core-method
627+ Depends on vulnerable versions of web3-core-subscriptions
628+ node_modules/@truffle/debugger/node_modules/web3-eth-contract
629+ node_modules/@truffle/interface-adapter/node_modules/web3-eth-contract
630+ node_modules/@truffle/provider/node_modules/web3-eth-contract
631+ node_modules/web3-eth-contract
632+
633+web3-core-subscriptions <=2.0.0-alpha.1
634+web3-core-subscriptions has a Prototype Pollution vulnerability - https://github.com/advisories/GHSA-hhf6-3xpg-pggx
635+fix available via `npm audit fix --force`
636+Will install web3-core@4.7.1, which is a breaking change
637+node_modules/@truffle/debugger/node_modules/web3-core-subscriptions
638+node_modules/@truffle/interface-adapter/node_modules/web3-core-subscriptions
639+node_modules/@truffle/provider/node_modules/web3-core-subscriptions
640+node_modules/web3-core-subscriptions
641+
642+webpack 5.0.0-alpha.0 - 5.93.0
643+Severity: critical
644+Cross-realm object access in Webpack 5 - https://github.com/advisories/GHSA-hc6q-2mpp-qw7j
645+Webpack's AutoPublicPathRuntimeModule has a DOM Clobbering Gadget that leads to XSS - https://github.com/advisories/GHSA-4vvj-4cpr-p986
646+fix available via `npm audit fix`
647+node_modules/ganache/node_modules/webpack
648+node_modules/truffle/node_modules/ganache/node_modules/webpack
649+
650+word-wrap <1.2.4
651+Severity: moderate
652+word-wrap vulnerable to Regular Expression Denial of Service - https://github.com/advisories/GHSA-j8xg-fqg3-53r7
653+fix available via `npm audit fix`
654+node_modules/word-wrap
655+
656+ws 2.1.0 - 5.2.3 || 7.0.0 - 7.5.9 || 8.0.0 - 8.17.0
657+Severity: high
658+ws affected by a DoS when handling a request with many HTTP headers - https://github.com/advisories/GHSA-3h5v-q93c-6h6q
659+ws affected by a DoS when handling a request with many HTTP headers - https://github.com/advisories/GHSA-3h5v-q93c-6h6q
660+ws affected by a DoS when handling a request with many HTTP headers - https://github.com/advisories/GHSA-3h5v-q93c-6h6q
661+fix available via `npm audit fix --force`
662+Will install ganache@6.4.5, which is a breaking change
663+node_modules/eth-lib/node_modules/ws
664+node_modules/ganache/node_modules/@trufflesuite/uws-js-unofficial/node_modules/ws
665+node_modules/truffle/node_modules/ganache/node_modules/@trufflesuite/uws-js-unofficial/node_modules/ws
666+node_modules/ws
667+ @trufflesuite/uws-js-unofficial *
668+ Depends on vulnerable versions of ws
669+ node_modules/ganache/node_modules/@trufflesuite/uws-js-unofficial
670+ node_modules/truffle/node_modules/ganache/node_modules/@trufflesuite/uws-js-unofficial
671+
672+yargs-parser <=5.0.0
673+Severity: moderate
674+yargs-parser Vulnerable to Prototype Pollution - https://github.com/advisories/GHSA-p9pc-299p-vxgp
675+fix available via `npm audit fix --force`
676+Will install truffle@5.5.7, which is a breaking change
677+node_modules/solc/node_modules/yargs-parser
678+ yargs 4.0.0-alpha1 - 7.0.0-alpha.3 || 7.1.1
679+ Depends on vulnerable versions of yargs-parser
680+ node_modules/solc/node_modules/yargs
681+ solc 0.3.6 - 0.4.26
682+ Depends on vulnerable versions of yargs
683+ node_modules/solc
684+ @ensdomains/ens *
685+ Depends on vulnerable versions of solc
686+ node_modules/@ensdomains/ens
687+ @ensdomains/ensjs <=2.1.0
688+ Depends on vulnerable versions of @ensdomains/ens
689+ node_modules/@ensdomains/ensjs
690+
691+108 vulnerabilities (23 low, 25 moderate, 42 high, 18 critical)
692+
693+To address issues that do not require attention, run:
694+ npm audit fix
695+
696+To address all issues (including breaking changes), run:
697+ npm audit fix --force
globals.d.tsnew file+13
@@ -0,0 +1,13 @@
1+declare module "\*.svg" {
2+ import React = require("react");
3+ export const ReactComponent: React.FC<React.SVGProps<SVGSVGElement>>;
4+ const src: string;
5+ export default src;
6+}
7+
8+declare module "\*.png" {
9+ import React = require("react");
10+ export const ReactComponent: React.FC<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>>>;
11+ const src: string;
12+ export default src;
13+}
index.htmlnew file+107
@@ -0,0 +1,107 @@
1+<!DOCTYPE html>
2+<html lang="en">
3+ <head>
4+ <meta charset="utf-8" />
5+ <meta
6+ name="viewport"
7+ content="width=device-width, initial-scale=1, shrink-to-fit=no"
8+ />
9+ <meta name="theme-color" content="#fff" />
10+ <link rel="manifest" href="/manifest.json" />
11+ <link rel="shortcut icon" href="/favicon.ico" />
12+
13+ <meta
14+ name="description"
15+ content="Bridge is Urbit ID's identity management interface, wallet navigator, and governance portal."
16+ />
17+ <meta property="og:title" content="Bridge" />
18+ <meta property="og:type" content="website" />
19+ <meta property="og:url" content="https://bridge.urbit.org/" />
20+ <meta
21+ property="og:description"
22+ content="Bridge is Urbit ID's identity management interface, wallet navigator, and governance portal."
23+ />
24+ <meta
25+ property="og:image"
26+ content="https://media.urbit.org/logo/urbit-logo-card.png"
27+ />
28+ <meta name="twitter:site" content="@urbit" key="twitter-site" />
29+ <meta name="twitter:creator" content="@urbit" key="twitter-creator" />
30+ <meta
31+ name="twitter:card"
32+ content="summary_large_image"
33+ key="twitter-card"
34+ />
35+ <meta
36+ name="twitter:image"
37+ content="https://media.urbit.org/logo/urbit-logo-card.png"
38+ key="image"
39+ />
40+
41+ <title>Bridge</title>
42+ <style type="text/css">
43+ .font-hidden {
44+ position: absolute;
45+ overflow: hidden;
46+ clip: rect(0 0 0 0);
47+ height: 1px;
48+ width: 1px;
49+ margin: -1px;
50+ padding: 0;
51+ border: 0;
52+ }
53+ </style>
54+ <script type="module">
55+ import { Buffer } from "buffer";
56+ window.global = window;
57+ window.Buffer = Buffer;
58+ </script>
59+ </head>
60+ <body>
61+ <div id="root"></div>
62+ <script type="module" src="/src/index.tsx"></script>
63+ <!-- Force load all fonts -->
64+ <div
65+ aria-visibility="hidden"
66+ class="font-hidden"
67+ style="font-family:Inter; font-weight:400"
68+ >
69+ &nbsp;
70+ </div>
71+ <div
72+ aria-visibility="hidden"
73+ class="font-hidden"
74+ style="font-family:Inter; font-weight:500"
75+ >
76+ &nbsp;
77+ </div>
78+ <div
79+ aria-visibility="hidden"
80+ class="font-hidden"
81+ style="font-family:Inter; font-weight:600"
82+ >
83+ &nbsp;
84+ </div>
85+ <div
86+ aria-visibility="hidden"
87+ class="font-hidden"
88+ style="font-family:Source Code Pro; font-weight:400"
89+ >
90+ &nbsp;
91+ </div>
92+ <div
93+ aria-visibility="hidden"
94+ class="font-hidden"
95+ style="font-family:Source Code Pro; font-weight:500"
96+ >
97+ &nbsp;
98+ </div>
99+ <div
100+ aria-visibility="hidden"
101+ class="font-hidden"
102+ style="font-family:Source Code Pro; font-weight:600"
103+ >
104+ &nbsp;
105+ </div>
106+ </body>
107+</html>
legal/privacy policy.md+11−11
@@ -1,7 +1,7 @@
11
2−Effective date: June 01, 2018
2+Effective date: December 11, 2025
33
4−Tlon Corporation ("us", "we", or "our") operates the website and the Urbit mobile application (the "Service").
4+The Urbit Foundation in cooperation with Tlon Corporation, ("us", "we", or "our") operate the bridge.urbit.org website (the "Service").
55
66This page informs you of our policies regarding the collection, use, and disclosure of personal data when you use our Service and the choices you have associated with that data.
77
@@ -11,7 +11,7 @@ We use your data to provide and improve the Service. By using the Service, you a
1111
1212**Service**
1313
14−Service means the website and the Urbit mobile application operated by Tlon Corporation
14+Service means the bridge.urbit.org website.
1515
1616**Personal Data**
1717
@@ -81,7 +81,7 @@ Security Cookies. We use Security Cookies for security purposes.
8181
8282**Use of Data**
8383
84−Tlon Corporation uses the collected data for various purposes:
84+We use the collected data for various purposes:
8585
8686- To provide and maintain our Service
8787
@@ -99,13 +99,13 @@ Tlon Corporation uses the collected data for various purposes:
9999
100100- Legal Basis for Processing Personal Data Under General Data Protection Regulation (GDPR)
101101
102−If you are from the European Economic Area (EEA), Tlon Corporation legal basis for collecting and using the personal information described in this Privacy Policy depends on the Personal Data we collect and the specific context in which we collect it.
102+If you are from the European Economic Area (EEA), our legal basis for collecting and using the personal information described in this Privacy Policy depends on the Personal Data we collect and the specific context in which we collect it.
103103
104−**Tlon Corporation may process your Personal Data because:**
104+**Tlon Corporation and The Urbit Foundation may process your Personal Data because:**
105105
106106- We need to perform a contract with you
107107
108−- You have given us permission to do so
108+- You have given us permission to do so as a part of using The Service,
109109
110110- The processing is in our legitimate interests and it's not overridden by your rights
111111
@@ -113,9 +113,9 @@ If you are from the European Economic Area (EEA), Tlon Corporation legal basis f
113113
114114- Retention of Data
115115
116−Tlon Corporation will retain your Personal Data only for as long as is necessary for the purposes set out in this Privacy Policy. We will retain and use your Personal Data to the extent necessary to comply with our legal obligations (for example, if we are required to retain your data to comply with applicable laws), resolve disputes, and enforce our legal agreements and policies.
116+We will retain your Personal Data only for as long as is necessary for the purposes set out in this Privacy Policy. We will retain and use your Personal Data to the extent necessary to comply with our legal obligations (for example, if we are required to retain your data to comply with applicable laws), resolve disputes, and enforce our legal agreements and policies.
117117
118−Tlon Corporation will also retain Usage Data for internal analysis purposes. Usage Data is generally retained for a shorter period of time, except when this data is used to strengthen the security or to improve the functionality of our Service, or we are legally obligated to retain this data for longer time periods.
118+We will also retain Usage Data for internal analysis purposes. Usage Data is generally retained for a shorter period of time, except when this data is used to strengthen the security or to improve the functionality of our Service, or we are legally obligated to retain this data for longer time periods.
119119
120120**Transfer of Data**
121121
@@ -131,7 +131,7 @@ Tlon Corporation will take all steps reasonably necessary to ensure that your da
131131
132132Legal Requirements
133133
134−Tlon Corporation may disclose your Personal Data in the good faith belief that such action is necessary to:
134+We may disclose your Personal Data in the good faith belief that such action is necessary to:
135135
136136- To comply with a legal obligation
137137
@@ -207,4 +207,4 @@ You are advised to review this Privacy Policy periodically for any changes. Chan
207207
208208If you have any questions about this Privacy Policy, please contact us:
209209
210−By email: support@urbit.org
210+By email: support@urbit.org & support@tlon.io
migrations/1_migration.js+2−1
@@ -63,7 +63,8 @@ module.exports = async function(deployer) {
6363 '0x0000000000000000000000000000000000000000',
6464 azimuth.address,
6565 polls.address,
66− claims.address
66+ claims.address,
67+ '0x0000000000000000000000000000000000000000' // treasury
6768 );
6869
6970 // configure contract ownership
notes.mdnew file+1
@@ -0,0 +1 @@
1+WIP notes
package-lock.json+47972−30917

This diff is too big to show here.

package.json+58−38

This diff is too big to show here.

public/index.htmldeleted−26

This diff is too big to show here.

src/Bridge.js → src/Bridge.tsxrenamed+42−13

This diff is too big to show here.

src/assets/blank-planet-sigil.svgnew file+39

This diff is too big to show here.

src/components/Accordion.js → src/components/Accordion.jsxrenamed

The content is the same.

src/components/AddressButton.tsxnew file+36

This diff is too big to show here.

src/components/AlertBox.tsx+6−1

This diff is too big to show here.

src/components/AspectRatio.js → src/components/AspectRatio.jsxrenamed

The content is the same.

src/components/BarGraph.js → src/components/BarGraph.jsxrenamed

The content is the same.

src/components/Blinky.js → src/components/Blinky.jsxrenamed

The content is the same.

src/components/BrowserWarning.tsxnew file+27

This diff is too big to show here.

src/components/Buttons.js → src/components/Buttons.jsxrenamed

The content is the same.

src/components/Chip.js → src/components/Chip.jsxrenamed

The content is the same.

src/components/Crumbs.js → src/components/Crumbs.jsxrenamed

The content is the same.

src/components/DownloadKeyfileButton.js → src/components/DownloadKeyfileButton.jsxrenamed+1−1

This diff is too big to show here.

src/components/DownloadSigilButton.js → src/components/DownloadSigilButton.jsxrenamed

The content is the same.

src/components/Footer.js → src/components/Footer.jsxrenamed+4−1

This diff is too big to show here.

src/components/FooterButton.js → src/components/FooterButton.jsxrenamed

The content is the same.

src/components/GlobalErrorBoundary.js → src/components/GlobalErrorBoundary.tsxrenamed+11−4

This diff is too big to show here.

src/components/Greeting.jsdeleted−60

This diff is too big to show here.

src/components/Greeting.jsxnew file+109

This diff is too big to show here.

src/components/Header.js → src/components/Header.jsxrenamed

The content is the same.

src/components/Highlighted.js → src/components/Highlighted.jsxrenamed+1−1

This diff is too big to show here.

src/components/InlineEthereumTransaction.js → src/components/InlineEthereumTransaction.jsxrenamed+126−28

This diff is too big to show here.

src/components/InlineEthereumTransaction.scss+23−11

This diff is too big to show here.

src/components/InputSigil.js → src/components/InputSigil.jsxrenamed−1

This diff is too big to show here.

src/components/InviteSigilList.js → src/components/InviteSigilList.jsxrenamed

The content is the same.

src/components/L2/Card.scss+22

This diff is too big to show here.

src/components/L2/Card.tsx+8

This diff is too big to show here.

src/components/L2/CreatingInvitesModal.tsxnew file+85

This diff is too big to show here.

src/components/L2/Dropdowns/AccountsDropdown.scss+27−2

This diff is too big to show here.

src/components/L2/Dropdowns/AccountsDropdown.tsx+45−73

This diff is too big to show here.

src/components/L2/Dropdowns/Dropdown.scss+22−2

This diff is too big to show here.

src/components/L2/Dropdowns/Dropdown.tsx+1

This diff is too big to show here.

src/components/L2/Dropdowns/FeeDropdown.scss+31−7

This diff is too big to show here.

src/components/L2/Dropdowns/FeeDropdown.tsx+64−27

This diff is too big to show here.

src/components/L2/Headers/AdvancedOptions.scssnew file+54

This diff is too big to show here.

src/components/L2/Headers/AdvancedOptions.tsxnew file+71

This diff is too big to show here.

src/components/L2/Headers/L2BackButton.scss → src/components/L2/Headers/HeaderButton.scssrenamed

The content is the same.

src/components/L2/Headers/HeaderButton.tsxnew file+23

This diff is too big to show here.

src/components/L2/Headers/L2BackButton.tsxdeleted−21

This diff is too big to show here.

src/components/L2/Headers/L2BackHeader.scss+4

This diff is too big to show here.

src/components/L2/Headers/L2BackHeader.tsx+12−26

This diff is too big to show here.

src/components/L2/Headers/L2PointHeader.scss+48−8

This diff is too big to show here.

src/components/L2/Headers/L2PointHeader.tsx+66−38

This diff is too big to show here.

src/components/L2/InviteConverter.tsxnew file+292

This diff is too big to show here.

src/components/L2/LayerIndicator.scss+31−3

This diff is too big to show here.

src/components/L2/LayerIndicator.tsx+14−3

This diff is too big to show here.

src/components/L2/LoadingOverlay.tsx+3−3

This diff is too big to show here.

src/components/L2/Modal.scss+31−1

This diff is too big to show here.

src/components/L2/Modal.tsx+18−3

This diff is too big to show here.

src/components/L2/PendingTransaction.scssnew file+64

This diff is too big to show here.

src/components/L2/PendingTransaction.tsxnew file+46

This diff is too big to show here.

src/components/L2/PermissionIndicator.scssnew file+15

This diff is too big to show here.

src/components/L2/PermissionIndicator.tsxnew file+35

This diff is too big to show here.

src/components/L2/PointList.tsxnew file+65

This diff is too big to show here.

src/components/L2/Window/BodyPane.scss+1−2

This diff is too big to show here.

src/components/L2/Window/BodyPane.tsx+17−4

This diff is too big to show here.

src/components/L2/Window/HeaderPane.scss+13

This diff is too big to show here.

src/components/L2/Window/Window.scss+3−1

This diff is too big to show here.

src/components/L2/Window/Window.tsx+1−1

This diff is too big to show here.

src/components/LoadingBar.js → src/components/LoadingBar.jsxrenamed

The content is the same.

src/components/LoginButton.js → src/components/LoginButton.jsxrenamed

The content is the same.

src/components/MaybeSigil.js → src/components/MaybeSigil.jsxrenamed

The content is the same.

src/components/MiniBackButton.js → src/components/MiniBackButton.jsxrenamed

The content is the same.

src/components/NavHeader.js → src/components/NavHeader.jsxrenamed+4−1

This diff is too big to show here.

src/components/NeedFundsNotice.js → src/components/NeedFundsNotice.jsxrenamed

The content is the same.

src/components/NetworkKeys.jsxnew file+98

This diff is too big to show here.

src/components/NetworkingKeys.jsdeleted−123

This diff is too big to show here.

src/components/NoticeBox.js → src/components/NoticeBox.jsxrenamed

The content is the same.

src/components/PaperBuilder.js → src/components/PaperBuilder.jsxrenamed

The content is the same.

src/components/Passport.js → src/components/Passport.jsxrenamed+14−10

This diff is too big to show here.

src/components/ProgressButton.js → src/components/ProgressButton.jsxrenamed

The content is the same.

src/components/Router.js → src/components/Router.jsxrenamed

The content is the same.

src/components/Sigil.js → src/components/Sigil.jsxrenamed

The content is the same.

src/components/SigilMini.scss+6−1

This diff is too big to show here.

src/components/Steps.js → src/components/Steps.jsxrenamed

The content is the same.

src/components/Tabs.js → src/components/Tabs.jsxrenamed

The content is the same.

src/components/UploadButton.js → src/components/UploadButton.jsxrenamed

The content is the same.

src/components/View.js → src/components/View.tsxrenamed+28−12

This diff is too big to show here.

src/components/ViewHeader.js → src/components/ViewHeader.jsxrenamed

The content is the same.

src/components/WarningBox.js → src/components/WarningBox.jsxrenamed

The content is the same.

src/components/WithErrorBoundary.js → src/components/WithErrorBoundary.jsxrenamed

The content is the same.

src/components/alerts/L2VulnAlert.tsxnew file+49

This diff is too big to show here.

src/components/copiable/CopiableAddress.js → src/components/copiable/CopiableAddress.jsxrenamed+6−1

This diff is too big to show here.

src/components/copiable/CopiableAddressWrap.js → src/components/copiable/CopiableAddressWrap.jsxrenamed+1−1

This diff is too big to show here.

src/components/copiable/CopiableWithTooltip.js → src/components/copiable/CopiableWithTooltip.jsxrenamed

The content is the same.

src/components/copiable/CopyButton.js → src/components/copiable/CopyButton.jsxrenamed

The content is the same.

src/components/copiable/CopyButtonWide.tsx+11−1

This diff is too big to show here.

src/components/form/TicketInputAccessory.scssnew file+7

This diff is too big to show here.

src/components/form/TicketInputAccessory.tsxnew file+17

This diff is too big to show here.

src/form/BridgeForm.tsx+24−3

This diff is too big to show here.

src/form/ColorInput.js → src/form/ColorInput.jsxrenamed

The content is the same.

src/form/EmailChipInput.js → src/form/EmailChipInput.jsxrenamed+1−1

This diff is too big to show here.

src/form/FormError.js → src/form/FormError.jsxrenamed

The content is the same.

src/form/Inputs.tsx+49−12

This diff is too big to show here.

src/form/SubmitButton.js → src/form/SubmitButton.jsxrenamed

The content is the same.

src/form/UploadInput.js → src/form/UploadInput.jsxrenamed

The content is the same.

src/form/formatters.ts+19−13

This diff is too big to show here.

src/index.jsdeleted−10

This diff is too big to show here.

src/index.tsxnew file+7

This diff is too big to show here.

src/indigo-react/components/AccessoryIcon.js → src/indigo-react/components/AccessoryIcon.jsxrenamed

The content is the same.

src/indigo-react/components/Button.js → src/indigo-react/components/Button.jsxrenamed

The content is the same.

src/indigo-react/components/CheckboxInput.jsdeleted−72

This diff is too big to show here.

src/indigo-react/components/CheckboxInput.jsxnew file+54

This diff is too big to show here.

src/indigo-react/components/Flex.d.tsnew file+1

This diff is too big to show here.

src/indigo-react/components/Flex.js → src/indigo-react/components/Flex.jsxrenamed

The content is the same.

src/indigo-react/components/Grid.d.ts+1−8

This diff is too big to show here.

src/indigo-react/components/Grid.js → src/indigo-react/components/Grid.jsxrenamed+10−2

This diff is too big to show here.

src/indigo-react/components/IconButton.js → src/indigo-react/components/IconButton.jsxrenamed

The content is the same.

src/indigo-react/components/IndigoApp.js → src/indigo-react/components/IndigoApp.jsxrenamed

The content is the same.

src/indigo-react/components/Input.js → src/indigo-react/components/Input.jsxrenamed+1−12

This diff is too big to show here.

src/indigo-react/components/LinkButton.js → src/indigo-react/components/LinkButton.jsxrenamed

The content is the same.

src/indigo-react/components/SelectInput.js → src/indigo-react/components/SelectInput.jsxrenamed+1−1

This diff is too big to show here.

src/indigo-react/components/ToggleInput.js → src/indigo-react/components/ToggleInput.jsxrenamed

The content is the same.

src/indigo-react/components/Typography.js → src/indigo-react/components/Typography.jsxrenamed

The content is the same.

src/lib/LocalRouter.js → src/lib/LocalRouter.tsrenamed+2−1

This diff is too big to show here.

src/lib/MediaQuery.js → src/lib/MediaQuery.jsxrenamed

The content is the same.

src/lib/WalletConnect.ts+23−9

This diff is too big to show here.

src/lib/authToken.ts+33−41

This diff is too big to show here.

src/lib/constants.ts+91−10

This diff is too big to show here.

src/lib/contracts.js+5−5

This diff is too big to show here.

src/lib/expiredPlanetsWithInviteCodes.jsonnew file+1445

This diff is too big to show here.

src/lib/explorer.js+2−2

This diff is too big to show here.

src/lib/flags.js+10−4

This diff is too big to show here.

src/lib/flowCommand.ts+44−8

This diff is too big to show here.

src/lib/getSuggestedGasPrice.js+86−41

This diff is too big to show here.

src/lib/inviteMail.js+2−2

This diff is too big to show here.

src/lib/keys.js+31−6

This diff is too big to show here.

src/lib/ledger.jsdeleted−42

This diff is too big to show here.

src/lib/lib.js+4

This diff is too big to show here.

src/lib/maybeGetResult.tsnew file+12

This diff is too big to show here.

src/lib/metamask.ts+40−14

This diff is too big to show here.

src/lib/network.js+32−11

This diff is too big to show here.

src/lib/proxy.js+19−2

This diff is too big to show here.

src/lib/reticket.js+23−25

This diff is too big to show here.

src/lib/routeNames.jsdeleted−38

This diff is too big to show here.

src/lib/routeNames.tsnew file+39

This diff is too big to show here.

src/lib/router.js → src/lib/router.tsrenamed+9−9

This diff is too big to show here.

src/lib/tank.js+2−2

This diff is too big to show here.

src/lib/trezor.tsdeleted−55

This diff is too big to show here.

src/lib/txn.ts+125−133

This diff is too big to show here.

src/lib/types/BridgeWallet.ts+1

This diff is too big to show here.

src/lib/types/ITxData.tsnew file+9

This diff is too big to show here.

src/lib/types/Invite.ts+4

This diff is too big to show here.

src/lib/types/Keypair.tsnew file+7

This diff is too big to show here.

src/lib/types/L1Point.ts+2−1

This diff is too big to show here.

src/lib/types/L2Transaction.tsnew file+85

This diff is too big to show here.

src/lib/types/NetworkKeys.tsnew file+11

This diff is too big to show here.

src/lib/types/PendingL1Transaction.tsnew file+24

This diff is too big to show here.

src/lib/types/Point.tsnew file+255

This diff is too big to show here.

src/lib/types/ValueOf.tsnew file+1

This diff is too big to show here.

src/lib/useBreakpoints.jsdeleted−5

This diff is too big to show here.

src/lib/useBreakpoints.tsxnew file+6

This diff is too big to show here.

src/lib/useBrowser.tsnew file+32

This diff is too big to show here.

src/lib/useEthereumTransaction.js+12−16

This diff is too big to show here.

src/lib/useGasPrice.js+26−19

This diff is too big to show here.

src/lib/useHasNetworkKeysSet.tsx+2−2

This diff is too big to show here.

src/lib/useInviter.jsdeleted−222

This diff is too big to show here.

src/lib/useInvites.jsdeleted−7

This diff is too big to show here.

src/lib/useIsExpiredInvite.tsnew file+23

This diff is too big to show here.

src/lib/useKeyfileGenerator.jsdeleted−139

This diff is too big to show here.

src/lib/useKeyfileGenerator.tsnew file+256

This diff is too big to show here.

src/lib/useMailer.js+1−1

This diff is too big to show here.

src/lib/useOnClickOutside.tsnew file+34

This diff is too big to show here.

src/lib/usePointBirthday.jsdeleted−7

This diff is too big to show here.

src/lib/useReticketL2Spawn.tsnew file+136

This diff is too big to show here.

src/lib/useRoller.ts+617−445

This diff is too big to show here.

src/lib/useRollerOptions.tsnew file+59

This diff is too big to show here.

src/lib/useRollerPoller.tsnew file+44

This diff is too big to show here.

src/lib/useRouter.js → src/lib/useRouter.tsxrenamed+54−13

This diff is too big to show here.

src/lib/useWalletConnect.ts+191−114

This diff is too big to show here.

src/lib/utils/address.ts+16−21

This diff is too big to show here.

src/lib/utils/array.tsnew file+2

This diff is too big to show here.

src/lib/utils/date.tsnew file+19

This diff is too big to show here.

src/lib/utils/hex.tsnew file+11

This diff is too big to show here.

src/lib/utils/invite.ts+4−4

This diff is too big to show here.

src/lib/utils/notifications.tsnew file+5

This diff is too big to show here.

src/lib/utils/point.ts+33

This diff is too big to show here.

src/lib/utils/proxy.tsdeleted−49

This diff is too big to show here.

src/lib/utils/roller.ts+227−44

This diff is too big to show here.

src/lib/utils/wallet.tsnew file+7

This diff is too big to show here.

src/lib/validators.ts+45−27

This diff is too big to show here.

src/lib/wallet.ts+11−11

This diff is too big to show here.

src/lib/walletgen.js → src/lib/walletgen.tsrenamed+32−14

This diff is too big to show here.

src/nockjs/TODOdeleted−42

This diff is too big to show here.

src/nockjs/bits.jsdeleted−333

This diff is too big to show here.

src/nockjs/compiler.jsdeleted−726

This diff is too big to show here.

src/nockjs/hamt.jsdeleted−137

This diff is too big to show here.

src/nockjs/list.jsdeleted−40

This diff is too big to show here.

src/nockjs/noun.jsdeleted−367

This diff is too big to show here.

src/nockjs/serial.jsdeleted−167

This diff is too big to show here.

src/nockjs/test/ack.jsdeleted−51

This diff is too big to show here.

src/nockjs/test/add.jsdeleted−40

This diff is too big to show here.

src/nockjs/test/bits.jsdeleted−15

This diff is too big to show here.

src/nockjs/test/decrement.jsdeleted−37

This diff is too big to show here.

src/nockjs/test/hamt.jsdeleted−16

This diff is too big to show here.

src/nockjs/test/noun.jsdeleted−88

This diff is too big to show here.

src/nockjs/test/serial.jsdeleted−22

This diff is too big to show here.

src/react-app-env.d.ts+5

This diff is too big to show here.

src/store/history.js → src/store/history.tsxrenamed+23−6

This diff is too big to show here.

src/store/lib/useBirthdaysStore.jsdeleted−59

This diff is too big to show here.

src/store/lib/useControlledPointsStore.js+56−45

This diff is too big to show here.

src/store/lib/useDetailsStore.ts+25−37

This diff is too big to show here.

src/store/lib/useInvitesStore.jsdeleted−71

This diff is too big to show here.

src/store/lib/usePointStore.js+3−12

This diff is too big to show here.

src/store/lib/useResidentsStore.ts+13−3

This diff is too big to show here.

src/store/network.js → src/store/network.jsxrenamed+10−18

This diff is too big to show here.

src/store/online.js → src/store/online.jsxrenamed

The content is the same.

src/store/pointCache.jsdeleted−28

This diff is too big to show here.

src/store/pointCache.jsxnew file+53

This diff is too big to show here.

src/store/pointCursor.js → src/store/pointCursor.jsxrenamed+25−3

This diff is too big to show here.

src/store/roller.tsdeleted−62

This diff is too big to show here.

src/store/rollerStore.tsnew file+106

This diff is too big to show here.

src/store/starRelease.js → src/store/starRelease.jsxrenamed

The content is the same.

src/store/storage/roller.ts+27−3

This diff is too big to show here.

src/store/timerStore.tsnew file+16

This diff is too big to show here.

src/store/txnCursor.js → src/store/txnCursor.jsxrenamed

The content is the same.

src/store/wallet.js → src/store/wallet.jsxrenamed+67−3

This diff is too big to show here.

src/style/anim.css+8−10

This diff is too big to show here.

src/style/form-reset.scss+2−2

This diff is too big to show here.

src/style/master-key.scss+2

This diff is too big to show here.

src/style/shared/variables.scss+2−3

This diff is too big to show here.

src/urbit-key-generation.d.tsnew file+125

This diff is too big to show here.

src/urbit-ob.d.ts−1

This diff is too big to show here.

src/views/AcceptLockup.js → src/views/AcceptLockup.jsxrenamed

The content is the same.

src/views/AcceptTransfer.jsdeleted−115

This diff is too big to show here.

src/views/AcceptTransfer.tsxnew file+206

This diff is too big to show here.

src/views/Activate.js → src/views/Activate.jsxrenamed+1−1

This diff is too big to show here.

src/views/Activate/ActivateCode.tsx+68−20

This diff is too big to show here.

src/views/Activate/ActivateCodeForm.tsx+74−58

This diff is too big to show here.

src/views/Activate/ActivateMasterKey.tsx+5−9

This diff is too big to show here.

src/views/Activate/ActivateView.scssnew file+34

This diff is too big to show here.

src/views/Activate/ActivateView.tsx+59−31

This diff is too big to show here.

src/views/Activate/CodeExpired.scssnew file+3

This diff is too big to show here.

src/views/Activate/CodeExpired.tsxnew file+47

This diff is too big to show here.

src/views/Activate/DownloadPortButton.tsxdeleted−30

This diff is too big to show here.

src/views/Activate/MasterKeyConfirm.scss+1−2

This diff is too big to show here.

src/views/Activate/MasterKeyConfirm.tsx+9−20

This diff is too big to show here.

src/views/Activate/MasterKeyCopy.tsx+2−2

This diff is too big to show here.

src/views/Activate/MasterKeyDownload.tsx+25−22

This diff is too big to show here.

src/views/Activate/MasterKeyReveal.tsx+8−6

This diff is too big to show here.

src/views/Activate/MasterKeyTransfer.tsx+34−19

This diff is too big to show here.

src/views/Activate/ActivateFlow.js → src/views/Activate/useActivateFlow.jsrenamed

The content is the same.

src/views/Activate/useActivateFlowState.js+30−7

This diff is too big to show here.

src/views/Activate/useFadeIn.ts+2−2

This diff is too big to show here.

src/views/Activate/withFadeable.tsx+2−2

This diff is too big to show here.

src/views/Adopt.jsdeleted−88

This diff is too big to show here.

src/views/Bitcoin/Bitcoin.jsdeleted−44

This diff is too big to show here.

src/views/Bitcoin/Bitcoin.scssnew file+29

This diff is too big to show here.

src/views/Bitcoin/Bitcoin.tsxnew file+213

This diff is too big to show here.

src/views/Bitcoin/SignTransaction.jsdeleted−160

This diff is too big to show here.

src/views/Bitcoin/Xpub.jsdeleted−50

This diff is too big to show here.

src/views/CancelTransfer.jsdeleted−94

This diff is too big to show here.

src/views/CancelTransfer.tsxnew file+166

This diff is too big to show here.

src/views/CreateGalaxy.js → src/views/CreateGalaxy.jsxrenamed

The content is the same.

src/views/Disclaimer.jsdeleted−108

This diff is too big to show here.

src/views/Disclaimer.jsxnew file+143

This diff is too big to show here.

src/views/Invite/CSVButton.tsxnew file+54

This diff is too big to show here.

src/views/Invite/Cohort.scss+41−15

This diff is too big to show here.

src/views/Invite/Cohort.tsx+86−345

This diff is too big to show here.

src/views/Invite/Email.jsdeleted−225

This diff is too big to show here.

src/views/Invite/GenerateInvites.tsxnew file+152

This diff is too big to show here.

src/views/Invite/GeneratingModal.tsxnew file+88

This diff is too big to show here.

src/views/Invite/Inviter.jsdeleted−54

This diff is too big to show here.

src/views/Invite/Url.jsdeleted−108

This diff is too big to show here.

src/views/Invite/useInvites.tsnew file+383

This diff is too big to show here.

src/views/Login.scssnew file+3

This diff is too big to show here.

src/views/Login.tsx+21−7

This diff is too big to show here.

src/views/Login/Advanced.jsdeleted−37

This diff is too big to show here.

src/views/Login/Hardware.jsdeleted−52

This diff is too big to show here.

src/views/Login/Keystore.jsdeleted−93

This diff is too big to show here.

src/views/Login/Ledger.tsxdeleted−236

This diff is too big to show here.

src/views/Login/LoginSelector.scss+55−9

This diff is too big to show here.

src/views/Login/LoginSelector.tsx+219−82

This diff is too big to show here.

src/views/Login/Metamask.jsdeleted−92

This diff is too big to show here.

src/views/Login/Metamask.jsxnew file+128

This diff is too big to show here.

src/views/Login/Mnemonic.jsdeleted−130

This diff is too big to show here.

src/views/Login/Mnemonic.tsxnew file+153

This diff is too big to show here.

src/views/Login/Other.tsx+1−1

This diff is too big to show here.

src/views/Login/PrivateKey.jsdeleted−65

This diff is too big to show here.

src/views/Login/Ticket.jsdeleted−294

This diff is too big to show here.

src/views/Login/Ticket.tsxnew file+292

This diff is too big to show here.

src/views/Login/Trezor.tsxdeleted−163

This diff is too big to show here.

src/views/Login/WalletConnect.tsx+83−59

This diff is too big to show here.

src/views/Ops/Ops.scssnew file+14

This diff is too big to show here.

src/views/Ops/Ops.tsxnew file+126

This diff is too big to show here.

src/views/Ops/RequestRow.tsxnew file+47

This diff is too big to show here.

src/views/Ops/Requests.scssnew file+91

This diff is too big to show here.

src/views/Ops/Requests.tsxnew file+96

This diff is too big to show here.

src/views/Ops/ResidentRow.tsxnew file+64

This diff is too big to show here.

src/views/Ops/Residents.scssnew file+123

This diff is too big to show here.

src/views/Ops/Residents.tsxnew file+82

This diff is too big to show here.

src/views/Party/PartySetPoolSize.js → src/views/Party/PartySetPoolSize.jsxrenamed+2−2

This diff is too big to show here.

src/views/Point/InviteForm.tsxdeleted−92

This diff is too big to show here.

src/views/Point/IssueChild.jsdeleted−197

This diff is too big to show here.

src/views/Point/IssueChild.scssnew file+59

This diff is too big to show here.

src/views/Point/IssueChild.tsxnew file+349

This diff is too big to show here.

src/views/Point/MigrateL2.scss+5−4

This diff is too big to show here.

src/views/Point/MigrateL2.tsx+134−80

This diff is too big to show here.

src/views/Point/PatpBadge.tsxnew file+28

This diff is too big to show here.

src/views/Point/Point.scss+3−53

This diff is too big to show here.

src/views/Point/Point.tsx+90−156

This diff is too big to show here.

src/views/Point/Residents.jsdeleted−272

This diff is too big to show here.

src/views/Point/Senate.js → src/views/Point/Senate.jsxrenamed

The content is the same.

src/views/Point/UrbitID.js → src/views/Point/UrbitID.jsxrenamed+4−7

This diff is too big to show here.

src/views/Point/UrbitOS.js → src/views/Point/UrbitOS.jsxrenamed+3−3

This diff is too big to show here.

src/views/Points.scssnew file+28

This diff is too big to show here.

src/views/Points.js → src/views/Points.tsxrenamed+150−183

This diff is too big to show here.

src/views/Points/StarReleaseButton.scssnew file+27

This diff is too big to show here.

src/views/Points/StarReleaseButton.tsxnew file+31

This diff is too big to show here.

src/views/Release.jsdeleted−89

This diff is too big to show here.

src/views/Release/Active.jsdeleted−101

This diff is too big to show here.

src/views/Release/Locked.jsdeleted−178

This diff is too big to show here.

src/views/Release/StarRelease.scssnew file+65

This diff is too big to show here.

src/views/Release/StarRelease.tsxnew file+61

This diff is too big to show here.

src/views/Release/Transfer.js → src/views/Release/TransferForm.tsxrenamed+35−48

This diff is too big to show here.

src/views/Release/WithdrawForm.tsxnew file+137

This diff is too big to show here.

src/views/Release/useTransferLockup.tsnew file+24

This diff is too big to show here.

src/views/Release/useWithdrawStars.tsnew file+19

This diff is too big to show here.

src/views/Senate/Documents.js → src/views/Senate/Documents.jsxrenamed

The content is the same.

src/views/Senate/Upgrades.js → src/views/Senate/Upgrades.jsxrenamed

The content is the same.

src/views/Transactions/AddressRow.tsx+5−1

This diff is too big to show here.

src/views/Transactions/PatpRow.tsx+5−1

This diff is too big to show here.

src/views/Transactions/TransactionHistory.scss+191−162

This diff is too big to show here.

src/views/Transactions/TransactionHistory.tsx+14−12

This diff is too big to show here.

src/views/Transactions/TransactionRow.tsx+40−33

This diff is too big to show here.

src/views/UrbitID/DownloadKeys.js → src/views/UrbitID/DownloadKeys.jsxrenamed+2−2

This diff is too big to show here.

src/views/UrbitID/Home.tsx+76−54

This diff is too big to show here.

src/views/UrbitID/ResetKeys.js → src/views/UrbitID/ResetKeys.jsxrenamed

The content is the same.

src/views/UrbitID/ResetKeys/ResetConfirm.js → src/views/UrbitID/ResetKeys/ResetConfirm.jsxrenamed+1−1

This diff is too big to show here.

src/views/UrbitID/ResetKeys/ResetDownload.js → src/views/UrbitID/ResetKeys/ResetDownload.jsxrenamed+2−2

This diff is too big to show here.

src/views/UrbitID/ResetKeys/ResetExecute.js → src/views/UrbitID/ResetKeys/ResetExecute.tsxrenamed+146−79

This diff is too big to show here.

src/views/UrbitID/ResetKeys/ResetVerify.js → src/views/UrbitID/ResetKeys/ResetVerify.jsxrenamed+1−1

This diff is too big to show here.

src/views/UrbitID/SetProxy.js → src/views/UrbitID/SetProxy.jsxrenamed+71−30

This diff is too big to show here.

src/views/UrbitID/SetProxy.scss+2−50

This diff is too big to show here.

src/views/UrbitID/SigilGenerator.jsdeleted−123

This diff is too big to show here.

src/views/UrbitID/SigilGenerator.jsxnew file+131

This diff is too big to show here.

src/views/UrbitID/Transfer.js → src/views/UrbitID/Transfer.tsxrenamed+62−31

This diff is too big to show here.

src/views/UrbitID/UrbitID.scss+4

This diff is too big to show here.

src/views/UrbitOS/ChangeSponsor.jsdeleted−208

This diff is too big to show here.

src/views/UrbitOS/ChangeSponsor.tsxnew file+273

This diff is too big to show here.

src/views/UrbitOS/Home.tsx+63−42

This diff is too big to show here.

src/views/UrbitOS/NetworkKeys.scssnew file+56

This diff is too big to show here.

src/views/UrbitOS/NetworkKeys.tsxnew file+452

This diff is too big to show here.

src/views/UrbitOS/NetworkingKeys.jsdeleted−357

This diff is too big to show here.

src/views/UrbitOS/UrbitOS.scss+1−1

This diff is too big to show here.

src/worker/index.tsnew file+7

This diff is too big to show here.

src/worker/worker.tsnew file+9

This diff is too big to show here.

truffle-config.js+4−8

This diff is too big to show here.

tsconfig.json+10−13

This diff is too big to show here.

vite-env.d.tsnew file+2

This diff is too big to show here.

vite.config.tsnew file+104

This diff is too big to show here.

window.d.tsnew file+9

This diff is too big to show here.