on master help sign in
Merge branch 'master' of https://github.com/urbit/urbit.org into mp/footer-component
commit74d6eb90581a6213f6126aced3dc314454adc215 authorGordon <gordon@hey.com> dateFri 1 Jul 2022, 11:31 (4 years ago) parentb7f7f3df51001b
19 files changed+93−25
content/grants/app-openbsd.md+1 content/grants/app-uv-native-notificatons.md+2−2 content/grants/apprenticeship-extending-bitcoin.md+1 content/grants/apprenticeship-studio-collections.md+1 content/grants/apprenticeship-studio-email.md+1 content/grants/azimuth-cli.md+2−2 content/grants/books.md+1−1 content/grants/communal-computing.md+1−1 content/grants/digital-editor-MROB.md+1−1 content/grants/feed-aggregator.md+1−1 content/grants/filesharer.md+1−1 content/grants/native-planet-2.md+1 content/grants/port-maintenance.md+1−1 content/grants/regex-library.md+1 content/grants/slam.md+1−1 content/grants/uturn.md+1−1 content/ids/mastyr-bottec.md+10 urbitswap.md+57 vercel.json+8−13
content/grants/app-openbsd.md+1
@@ -12,6 +12,7 @@ description = "Get the project to the point where it works on OpenBSD"
1212reward = "1 star"
1313mentor = "~silsyn-wathep"
1414assignee = "~tidsut-radryd"
15+grant_id = "A0124"
1516completed = false
1617work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=A0124&prefill_Grant+Name=Resurrect%20OpenBSD%20Build"
1718+++
content/grants/app-uv-native-notificatons.md+2−2
@@ -10,9 +10,9 @@ grant_category = ["App Dev: Other"]
1010[extra]
1111image = ""
1212description = "Build native notifications into Urbit Visor"
13−reward = "$8000 in WSTR"
13+reward = "1 star"
1414assignee = "~toclec-baldeg"
15−mentor = "~mocrux-nomdep"
15+mentor = "~haddef-sigwen"
1616grant_id = "A0145"
1717completed = false
1818canceled = false
content/grants/apprenticeship-extending-bitcoin.md+1
@@ -12,6 +12,7 @@ description = ""
1212reward = "1 star"
1313mentor = "~dasrun-fadben"
1414assignee = "~sipned-nistug"
15+grant_id = "A0138"
1516completed = false
1617work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=A0138&prefill_Grant+Name=Extending%20the%20Bitcoin%20Provider%20API"
1718+++
content/grants/apprenticeship-studio-collections.md+1
@@ -12,6 +12,7 @@ description = "Extend ~tirrel's studio app content offering to include groups co
1212reward = "1 star"
1313mentor = "~novlud-padtyv"
1414assignee = "~dachus-tiprel"
15+grant_id = "A0174"
1516completed = false
1617canceled = false
1718work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=A0174&prefill_Grant+Name=Studio%20Collections"
content/grants/apprenticeship-studio-email.md+1
@@ -12,6 +12,7 @@ description = "Build out email capabilities of ~tirrel's Studio app"
1212reward = "1 star"
1313mentor = "~novlud-padtyv"
1414assignee = "~rivmud-fabwen"
15+grant_id = "A0139"
1516completed = false
1617work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=A0139&prefill_Grant+Name=~tirrel%20studio%20email%20capabilities"
1718+++
content/grants/azimuth-cli.md+2−2
@@ -7,10 +7,10 @@ grant_category = ["App Dev: Other"]
77[extra]
88image = ""
99description = "Bridge for the command line"
10−reward = "6 stars"
10+reward = "5 stars"
1111assignee = "~lavlyn-litmeg"
1212grant_id = "P0080"
13−completed = false
13+completed = true
1414canceled = false
1515link = ""
1616+++
content/grants/books.md+1−1
@@ -11,7 +11,7 @@ image = ""
1111description = "Books is an application for managing your crypto wallets, transactions, and counterparties. It allows you to add your wallet and others' wallets, track balances and transactions, and add private annotations to all of the above."
1212reward = "5-7 stars"
1313assignee = "Quartus"
14−id = ""
14+grant_id = "B0134"
1515completed = false
1616work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0134&prefill_Grant+Name=Books%3A%20address%20and%20transaction%20manager"
1717+++
content/grants/communal-computing.md+1−1
@@ -10,7 +10,7 @@ description = "User research, domain research/synthesis, white paper creation an
1010reward = "4.6 stars"
1111assignee = "~pilwyc-fastec"
1212mentor = "~simfur-ritwed"
13−id = ""
13+grant_id = "P0113"
1414completed = false
1515link = ""
1616+++
content/grants/digital-editor-MROB.md+1−1
@@ -12,7 +12,7 @@ description = "Digital Editor for the Mars Review of Books"
1212reward = "$4,500 in WSTR"
1313assignee = "~randem-wishes"
1414champion = "~librex-dozryc"
15−id = "B0140"
15+grant_id = "B0140"
1616completed = false
1717work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0140&prefill_Grant+Name=Digital%20Editor%2C%20Mars%20Review%20of%20Books"
1818+++
content/grants/feed-aggregator.md+1−1
@@ -13,7 +13,7 @@ reward = "5 stars"
1313assignee = "~mirtyl-wacdec"
1414grant_id = "P0043"
1515completed = false
16−canceled = false
16+canceled = true
1717link = ""
1818+++
1919
content/grants/filesharer.md+1−1
@@ -11,7 +11,7 @@ image = ""
1111description = "Simple file sharing on Urbit"
1212reward = "2 stars"
1313assignee = "~tinden-pontev"
14−id = ""
14+grant_id = "P0123"
1515completed = false
1616link = ""
1717+++
content/grants/native-planet-2.md+1
@@ -12,6 +12,7 @@ description = "Native Planet - A domestic hosting solution for Urbit"
1212reward = "6 stars"
1313assignee = "~dalhec-banler"
1414champion = "~poldec-tonteg"
15+grant_id = "P0152"
1516completed = false
1617canceled = false
1718+++
content/grants/port-maintenance.md+1−1
@@ -10,7 +10,7 @@ description = "Maintain the Port application"
1010reward = "2 stars"
1111champion = "~nocsyx-lassul"
1212assignee = "~latter-bolden"
13−id = "B0137"
13+grant_id = "B0137"
1414completed = false
1515work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0137&prefill_Grant+Name=Port%20Maintenance"
1616+++
content/grants/regex-library.md+1
@@ -12,6 +12,7 @@ description = "Implement a regular expressions library in Hoon"
1212reward = "3 stars"
1313mentor = "~lagrev-nocfep"
1414assignee = "~macrep-racdec"
15+grant_id = "B0177"
1516completed = false
1617canceled = false
1718work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0177&prefill_Grant+Name=Regular%20Expressions%20Library"
content/grants/slam.md+1−1
@@ -10,7 +10,7 @@ description = "Slam Action Game"
1010reward = "3 stars"
1111assignee = "~hanfel-dovned"
1212champion = "~rabsef-bicrym"
13−id = ""
13+grant_id = "P0122"
1414completed = false
1515link = ""
1616+++
content/grants/uturn.md+1−1
@@ -9,7 +9,7 @@ image = ""
99description = "TURN server support for WebRTC"
1010reward = "1 star"
1111assignee = "~martyr-binbex"
12−id = ""
12+grant_id = "P0108"
1313completed = false
1414link = ""
1515+++
content/ids/mastyr-bottec.mdnew file+10
@@ -0,0 +1,10 @@
1++++
2+ship = "~mastyr-bottec"
3+nickname = "Matthew LeVan"
4+bgColor = "#000000"
5+image = "https://mastyr-bottec.nyc3.digitaloceanspaces.com/mastyr-bottec/2022.6.29..20.13.08-mastyr-bottec.svg"
6++++
7+
8+Working on core infrastructure at [Wexpert Systems](https://wexpert.systems) for more dependable and scalable bare-metal Urbit hosting.
9+
10+https://wexpert.systems
urbitswap.mdnew file+57
@@ -0,0 +1,57 @@
1++++
2+title = "Self-hosted Uniswap"
3+date = "2022-06-22"
4+
5+[taxonomies]
6+grant_type = [ "Bounty" ]
7+grant_category = [ "App Dev" ]
8+
9+[extra]
10+image = ""
11+description = "Host a Uniswap frontend trading UI on your urbit"
12+reward = "1 star"
13+assignee = ""
14+grant_id = "B0186"
15+completed = false
16+work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0186&prefill_Grant+Name=Uniswap"
17++++
18+
19+# Overview
20+
21+Self-host Uniswap on your Urbit
22+
23+# Rationale
24+
25+Uniswap is a decentralized exchange with no order books, that simply facilitates peer to peer trades between its users through an efficient automated market making algorithm. Uniswap Labs is the main developer of Uniswap, but has no control over how tokens are traded or which tokens are listed. Since the entire Uniswap protocol runs on Ethereum and is open source, any development team can build on top of the protocol.
26+
27+The SEC launched an investigation into Uniswap at the end of 2021, with Gary Gensler the Chairman of the SEC stating that there can be some sort of “protocol control” from DeFi developers, and that DEXs could be violating banking laws (in addition to securities laws) by hosting securities and making them available to trade for their users.
28+
29+The operative word here is hosting, because Uniswap, while it is a decentralized exchange with no order books that simply facilitates P2P trades, still uses centralized servers to host its frontend trading UI. This SEC statement has broad ranging implications for all of crypto, going beyond the specific example of Uniswap.
30+
31+Binance comes to mind as another example, for it is the largest crypto exchange worldwide in terms of volume and the fastest progressing one, shipping new features and products that push forward the limits of what is possible within a financial system. They have been able to innovate so quickly because from the start they did a macro hedge, moving their servers out of China and now use a network of servers distributed across the world in mostly unknown locations in favorable jurisdictions.
32+
33+As more regulatory crackdown occurs within crypto, Urbit emerges as a useful tool for regulatory arbitrage and progressing further decentralization within the DeFi space. With a native, self-hosted, Uniswap app, Urbit can sustain the financial freedom of its crypto users, set a precedent of collaboration and extend its self-sovereign reach for other web3 platforms.
34+
35+Also, Urbit can extend the possibilities of DeFi by adding a cohesive identity and a social layer to the trading experience. Most crypto traders have private group chats where they discuss their positions, then separately they go and trade on DEXs. Other traders use WallStreetBets or similar forums to do research from their peers into what they should invest in. UrbitSwap could provide a unified experience for chatting with fellow traders while taking new financial positions.
36+
37+# Scope / Implementation
38+
39+Develop an Urbit application that serves the [open-source Uniswap UI](https://github.com/Uniswap/interface). The app should only be served if the user is logged in to the Urbit ship running it– it should not be publicly accessible for anyone to access. Distribute the application on Urbit so that anyone on Urbit can install it. See [this guide](https://urbit.org/docs/userspace/dist/guide) for a walk-through example of developing and distributing an app or “desk” on Urbit. A great submission will maximize user choice i.e. using or not using Uniswap’s [unsupported token list](https://github.com/Uniswap/uniswap-interface/blob/main/src/constants/tokenLists/unsupported.tokenlist.json). A stellar submission will creatively integrate Urbit’s native ID and network (i.e. groups and/or the “Pals” app) into the Uniswap experience.
40+
41+# Compensation
42+
43+1 Star upon successful distribution of the app to the network
44+
45+# Future Work
46+
47+- By integrating Urbit ID with Uniswap, traders (who often work with many wallets for different purposes) can operate under a unified identity system.
48+
49+- Once a clear identity is established, new features can be unlocked:
50+
51+- Set yourself to public, to be discoverable (either by anyone or just by your Pals) so they can see your trading performance
52+
53+- Follow top traders and learn from their positions, with potential to follow on
54+
55+- Add a social layer to trading: spin up a chat with the traders you follow to discuss trades as you take on positions, or even create a group for a broader discussion about investing
56+
57+- Create a leaderboard of best traders to promote discovery and foster a competitive spirit
vercel.json+8−13
@@ -62,11 +62,6 @@
6262 "destination": "/reset",
6363 "permanent": true
6464 },
65− {
66− "source": "/landscape",
67− "destination": "/docs/development/develop",
68− "permanent": true
69− },
7065 {
7166 "source": "/install",
7267 "destination": "/getting-started",
@@ -97,11 +92,6 @@
9792 "destination": "/getting-started/planet",
9893 "permanent": true
9994 },
100− {
101− "source": "/using/develop",
102− "destination": "/docs/development/develop",
103− "permanent": true
104− },
10595 {
10696 "source": "/using/integrating-api",
10797 "destination": "/docs/arvo/eyre/using-eyre",
@@ -154,7 +144,7 @@
154144 },
155145 {
156146 "source": "/docs/development/:path*",
157− "destination": "https://developers.urbit.org/guides/additional/development/:path",
147+ "destination": "https://developers.urbit.org/guides/core/environment",
158148 "permanent": true
159149 },
160150 {
@@ -164,7 +154,7 @@
164154 },
165155 {
166156 "source": "/docs/hoon/guides/:path*",
167− "destination": "https://developers.urbit.org/guides/additional/hoon/:path",
157+ "destination": "https://developers.urbit.org/guides/additional/:path",
168158 "permanent": true
169159 },
170160 {
@@ -217,6 +207,11 @@
217207 "destination": "https://developers.urbit.org/overview/vere",
218208 "permanent": true
219209 },
210+ {
211+ "source": "/docs/userspace/dist/:path*",
212+ "destination": "https://developers.urbit.org/guides/additional/software-distribution",
213+ "permanent": true
214+ },
220215 {
221216 "source": "/docs/userspace/full-stack/:path*",
222217 "destination": "https://developers.urbit.org/guides/core/app-school-full-stack/:path",
@@ -229,7 +224,7 @@
229224 },
230225 {
231226 "source": "/docs/userspace/threads/:path*",
232− "destination": "https://developers.urbit.org/guides/additional/threads/:path*",
227+ "destination": "https://developers.urbit.org/reference/arvo/threads/:path*",
233228 "permanent": true
234229 },
235230 {