From 80751a8a12c00c6780b77b3a0d0ce903988d5fdf Mon Sep 17 00:00:00 2001
From: Kyle Shanks
Date: Thu, 11 Apr 2024 02:01:51 -0400
Subject: [PATCH 01/23] [C-4226] Remove lossless toggle in upload flow and
download section on track (#8083)
---
.../web/src/components/track/DownloadRow.tsx | 4 +-
.../src/components/track/DownloadSection.tsx | 67 +++----------------
.../fields/StemsAndDownloadsMenuFields.tsx | 11 ---
3 files changed, 10 insertions(+), 72 deletions(-)
diff --git a/packages/web/src/components/track/DownloadRow.tsx b/packages/web/src/components/track/DownloadRow.tsx
index 1d0edc3cc26..d37ae991147 100644
--- a/packages/web/src/components/track/DownloadRow.tsx
+++ b/packages/web/src/components/track/DownloadRow.tsx
@@ -25,7 +25,6 @@ const messages = {
type DownloadRowProps = {
onDownload: (args: { trackIds: ID[]; parentTrackId?: ID }) => void
- isOriginal: boolean
trackId?: ID
parentTrackId?: ID
hideDownload?: boolean
@@ -38,7 +37,6 @@ type DownloadRowProps = {
export const DownloadRow = ({
onDownload,
- isOriginal,
trackId,
parentTrackId,
hideDownload,
@@ -109,7 +107,7 @@ export const DownloadRow = ({
>
{getDownloadFilename({
filename: filename ?? track?.orig_filename,
- isOriginal
+ isOriginal: true
})}
diff --git a/packages/web/src/components/track/DownloadSection.tsx b/packages/web/src/components/track/DownloadSection.tsx
index dd1d3671b74..2e49f88e5d8 100644
--- a/packages/web/src/components/track/DownloadSection.tsx
+++ b/packages/web/src/components/track/DownloadSection.tsx
@@ -30,8 +30,7 @@ import {
IconReceive,
Button,
IconCaretDown,
- IconLockUnlocked,
- SegmentedControl
+ IconLockUnlocked
} from '@audius/harmony'
import { shallowEqual, useDispatch, useSelector } from 'react-redux'
@@ -56,9 +55,6 @@ const STEM_INDEX_OFFSET_WITH_ORIGINAL_TRACK = 2
const messages = {
title: 'Stems & Downloads',
- choose: 'Choose File Quality',
- mp3: 'MP3',
- lossless: 'Lossless',
downloadAll: 'Download All',
unlockAll: (price: string) => `Unlock All $${price}`,
purchased: 'purchased',
@@ -94,6 +90,7 @@ export const DownloadSection = ({ trackId }: DownloadSectionProps) => {
(track?.is_downloadable ? 1 : 0) + stemTracks.length > 1 &&
hasDownloadAccess
+ const downloadQuality = DownloadQuality.ORIGINAL
const shouldHideDownload =
!track?.access.download && !shouldDisplayDownloadFollowGated
const formattedPrice = price
@@ -103,7 +100,6 @@ export const DownloadSection = ({ trackId }: DownloadSectionProps) => {
maximumFractionDigits: 2
})
: undefined
- const [quality, setQuality] = useState(DownloadQuality.MP3)
const [expanded, setExpanded] = useState(false)
const [lockedContentModalVisibility, setLockedContentModalVisibility] =
useModalState('LockedContent')
@@ -112,13 +108,13 @@ export const DownloadSection = ({ trackId }: DownloadSectionProps) => {
const fileSizes = useFileSizes({
audiusSdk,
trackIds: [trackId, ...stemTracks.map((s) => s.id)],
- downloadQuality: quality
+ downloadQuality
})
const { onOpen: openWaitForDownloadModal } = useWaitForDownloadModal()
const onToggleExpand = useCallback(() => setExpanded((val) => !val), [])
- const handlePurchaseClick = useAuthenticatedClickCallback((event) => {
+ const handlePurchaseClick = useAuthenticatedClickCallback((_event) => {
if (lockedContentModalVisibility) {
setLockedContentModalVisibility(false)
}
@@ -137,7 +133,7 @@ export const DownloadSection = ({ trackId }: DownloadSectionProps) => {
openWaitForDownloadModal({
parentTrackId,
trackIds,
- quality
+ quality: downloadQuality
})
// Track download attempt event
@@ -161,26 +157,15 @@ export const DownloadSection = ({ trackId }: DownloadSectionProps) => {
},
[
dispatch,
+ downloadQuality,
isMobile,
openWaitForDownloadModal,
record,
- quality,
shouldDisplayDownloadFollowGated,
track
]
)
- const options = [
- {
- key: DownloadQuality.MP3,
- text: messages.mp3
- },
- {
- key: DownloadQuality.ORIGINAL,
- text: messages.lossless
- }
- ]
-
const downloadAllButton = () => (
+
+
+[example-content-node]: https://dashboard.audius.org/#/services/content-node/85
+[example-dashboard]:
+ https://dashboard.audius.org/#/services/user/0xe4882D9A38A2A1fc652996719AF0fb15CB968d0a
+[example-discovery-node]: https://dashboard.audius.org/#/services/discovery-node/85
+[health-check]: https://audius-dn1.tikilabs.com/health_check
+[protocol-dashboard]: https://dashboard.audius.org
+[register-a-node]: /node-operator/setup/registration/registration.mdx
+[safe-url]: https://safe.global
+[service-reg-address]: https://etherscan.io/address/0xD17A9bc90c582249e211a4f4b16721e7f65156c8
+[service-registration-code-etherscan]:
+ https://etherscan.io/address/0xc30c04a773508f5cbe213ab3bc9f0d4ff3847f80#code
+[service-registration-code]:
+ https://github.com/AudiusProject/audius-protocol/blob/7b53f915cd2b5581e877ed66ef050825d47e17e1/packages/libs/src/eth-contracts/ABIs/ServiceProviderFactory.json
+[staking-proxy-address]: https://etherscan.io/address/0xe6d97b2099f142513be7a2a068be040656ae4591
+[tiki-labs-node]: https://audius-dn1.tikilabs.com
+[token-abi-etherscan]: https://etherscan.io/address/0x930c746a6e92ca8122682df48cd5020bc1771b32#code
+[token-address]:
+ https://etherscan.io/token/0x18aaa7115705e8be94bffebde57af9bfc265b998?a=0x44617f9dced9787c3b06a05b35b4c779a2aa1334
+[token-source]:
+ https://github.com/AudiusProject/audius-protocol/blob/7b53f915cd2b5581e877ed66ef050825d47e17e1/packages/libs/src/eth-contracts/ABIs/AudiusToken.json
+[unit-converter]: https://etherscan.io/unitconverter
diff --git a/docs/docs/node-operator/setup/registration/registration.mdx b/docs/docs/node-operator/setup/registration/registration.mdx
index 1f74a4b1596..7fd1a7ccdf6 100644
--- a/docs/docs/node-operator/setup/registration/registration.mdx
+++ b/docs/docs/node-operator/setup/registration/registration.mdx
@@ -1,36 +1,52 @@
---
id: registration
-title: Registration
-pagination_label: Registration
+title: Register a Node
+pagination_label: Register a Node
sidebar_label: Registration
description: Audius Protocol Documentation
---
-# Registering A Service
-
-**NOTE** - Registering a node requires a minimum of 200,000 AUDIO tokens per node. There is a grant
-system to support nodes on the network, reach out
-[here](https://docs.google.com/forms/d/e/1FAIpQLSf91KZdBdDlJrx6nLR3k6g4uL0PSg9QuR4FxMabEI6gGdlA6A/viewform)
-once you have a node running if you'd like to apply for a grant.
-
-Please join the node operator discord channel on the
-[Audius discord server](https://discord.com/invite/audius) for announcements & troubleshooting
-assistance.
-
-One your node is running and your tokens have been distributed, visit https://dashboard.audius.org
-with MetaMask configured with the wallet that stores your $AUDIO tokens.
-
-1. Click on `Services`
-2. Click the `Register New Service` button (If you don't see this button, make sure Metamask is
- configured with Eth Mainnet and you have connected it to the dashboard site). You will need to be
- connected to the dashboard with your Service Provider Owner Wallet Address (not a delegate
- address).
-3. Select whether you're trying to register a `Content Node` (formerly `Creator Node`) or
- `Discovery Node` (formerly `Discovery Provider`)
-4. Enter a `Staking Amount`
-5. Enter a fully qualified domain name in the url bar
-6. Enter a `Delegate Wallet Address`. This is different from the wallet containing your AUDIO
- tokens. By default, this field will be populated if you wish to use your Service Provider Owner
- Wallet Address for your Delegate Wallet, however it is strongly advised not to. That way your
- Service Provider Wallet stays isolated.
-7. Click the `Register ` button
+import useBaseUrl from '@docusaurus/useBaseUrl'
+
+:::info Join the Discord
+
+Join the [Audius discord server][discord] and message a moderator for access to the `node-operator`
+channel to say up to date with announcements and for troubleshooting assistance.
+
+:::
+
+## Register a Node
+
+1. Navigate to the [Audius Protocol Dashboard Nodes Tab][nodes-tab]
+2. Click the "Connect Wallet" button on the upper right
+
+
+
+ Wallet Connect Button
+
+
+3. Select your web3 wallet in the wallet selection modal and sign in
+
+
+
+
+ Be sure to connect with the `Service Provider Owner Wallet Address` wallet, not a delegate address wallet
+
+
+4. Click the "Register New Service" button and complete the form.
+
+
+
+
+ Select the Node Type to Register
+
+
+5. Select the Node Type, `Discovery Node` or `Content Node`
+6. Enter a fully qualified domain name in the url bar `Node Endpoint` field
+7. Enter a token amount in the `Stake` field
+8. Click the `Register Node` button
+
+
+[discord]: https://discord.com/invite/audius
+[protocol-dashboard]: https://dashboard.audius.org
+[nodes-tab]: https://dashboard.audius.org/#/nodes
diff --git a/docs/docs/node-operator/staking/delegate.mdx b/docs/docs/node-operator/staking/delegate.mdx
index d8f8d5e0fa2..188ab3ccb67 100644
--- a/docs/docs/node-operator/staking/delegate.mdx
+++ b/docs/docs/node-operator/staking/delegate.mdx
@@ -1,46 +1,76 @@
---
id: delegate
-title: Delegating to a Node Operator
+title: Delegating to an Audius Node Operator
pagination_label: Delegating
sidebar_label: Delegating
description: Audius Protocol Documentation
---
-## What is Delegating?
+import useBaseUrl from '@docusaurus/useBaseUrl'
-For users that either do not hold enough $AUDIO to self stake a Node, do not want to operate a Node,
-or are just looking to get started, Delegation is a great place to get involved.
+Delegation is a great place to get involved for users that either do not hold enough $AUDIO to self
+[stake a Node][staking], do not want to [become a Node Operator][node-operators], or are just
+looking to get started.
-Delegating tokens earns rewards, and increases your ownership of the protocol while supporting Node
-Operators, assisting in keeping them up and running, which in turns keeps the Audius protocol
-healthy.
+Delegating increases your ownership of the Protocol and earns token rewards in exchange for keeping
+the Protocol healthy by supporting Node Operators.
+
+A list of all active Node Operators can be found under the [Nodes tab][nodes-tab] on the [Audius
+Protocol Dashboard][protocol-dashboard].
---
-## Delegating on Audius
+## How to Delegate
-To stake on Audius, Node Operators can set up content and/or discovery nodes using
-[these resources](https://github.com/AudiusProject/audius-protocol/wiki/Staking-Resources).
+$AUDIO holders can delegate a minimum of 100 tokens to any Node Operator by connecting their wallet
+on the [Audius Protocol Dashboard][protocol-dashboard] using Wallet Connect.
-:::info Active Node Operators
+:::tip
-A list of all active Node Operators can be found under the
-[Services tab](https://dashboard.audius.org/services) in the
-[Audius Protocol Dashboard](https://dashboard.audius.org/).
+Each Node Operator is also able to set a higher minimum delegation, keep that in mind when
+evaluating Node Operators to delegate towards.
:::
-$AUDIO holders can delegate a minimum of 100 tokens to any Node Operator by connecting to either
-MetaMask or using a Gnosis Safe. Each Node Operator is also able to set a higher minimum delegation,
-keep that in mind when evaluating which Node Operator you chose to delegate towards.
+### Delegate with Wallet Connect
+
+1. Navigate to the Audius Protocol Dashboard at [https://dashboard.audius.org][protocol-dashboard]
+2. Click the "Connect Wallet" button on the upper right
+
+
+
+
+ Wallet Connect Button
+
+
+3. Select your web3 wallet in the wallet selection modal and sign in.
+
+
+
+
+ Wallet Selection Modal
+
-### Delegate with MetaMask
+4. On the [Node Operator tab][node-operators], select a Node Operator you would like to delegate
+ toward and click the "Delegate" button. Take note of the minimum Delegation set by the Node
+ Operator.
-1. First sign in to your MetaMask account and connect to the
- [Audius Protocol Dashboard](https://dashboard.audius.org).
-1. Select a Node Operator you would like to delegate toward and click the "Delegate" button.
-1. Select the amount of $AUDIO to delegate and click the "Delegate" button.
-1. Sign the transaction in MetaMask to complete the process.
+
+
+
+ Note this Node Operator has a minimum delegation of 200 $AUDIO.
+
+
+5. Review the Node Operator information and enter the amount of $AUDIO to delegate, and click the
+ "Delegate" button.
+
+
+
+
+ Enter the amount to Delegate and click the "Delegate" button to proceed.
+
+
+6. Sign the transaction in your wallet to complete the process.
---
@@ -48,3 +78,9 @@ keep that in mind when evaluating which Node Operator you chose to delegate towa
Audius features a 7 day cooldown period to undelegate in order to provide adequate time for Nodes to
be slashed in the event of malicious behavior.
+
+
+[node-operators]: https://dashboard.audius.org/#/nodes
+[protocol-dashboard]: https://dashboard.audius.org/
+[nodes-tab]: https://dashboard.audius.org/#/nodes
+[staking]: /node-operator/staking/stake
diff --git a/docs/docs/node-operator/staking/stake.mdx b/docs/docs/node-operator/staking/stake.mdx
index c19c0cc2283..260aabe1208 100644
--- a/docs/docs/node-operator/staking/stake.mdx
+++ b/docs/docs/node-operator/staking/stake.mdx
@@ -6,15 +6,15 @@ sidebar_label: Staking
description: Audius Protocol Documentation
---
-## What is Staking?
+> Built as a decentralized protocol on Ethereum, all the content, information and data on Audius is
+> stored and indexed by a growing network of third-party [Node Operators][node-operators].
-Built as a decentralized protocol on Ethereum, all the content, information and data on Audius is
-stored and indexed by a growing network of third-party Node Operators.
+## What is Staking?
-To ensure this content can be trusted and maintained, Node Operators are required to provide
-collateral or ‘stake’ as a bond to service the protocol. This stake, denominated in $AUDIO, ensures
-that Node Operators have tokens at risk that can be slashed, or taken, in the event of malicious or
-poor behavior.
+To ensure that content on Audius can be trusted and maintained, Node Operators are required to
+provide collateral or ‘stake’ as a bond to service the protocol. This stake, denominated in $AUDIO,
+ensures that Node Operators have tokens at risk that can be slashed, or taken, in the event of
+malicious or poor behavior.
By using $AUDIO tokens as collateral, anyone with the proper hardware requirements can join as a
Node Operator in a completely permissionless fashion. The more $AUDIO staked to the protocol, the
@@ -32,29 +32,29 @@ network.
-To stake on Audius, Node Operators can set up content and/or discovery nodes using
-[these resources](https://github.com/AudiusProject/audius-protocol/wiki/Staking-Resources).
+To stake on Audius, Node Operators can set up [Content Nodes][content-node] and [Discovery
+Nodes][discovery-node] using [these resources][resources].
:::note Permissionless Staking
-Learn more about
-[staking with Figment](https://figment.io/insights/audius-guide-staking-delegating-audio-tokens/) if
-you are not ready to run your own Node.
+Learn more about [staking with Figment][figment-staking-guide] if you are not ready to run your own
+Node.
:::
-A list of all active Node Operators can be found under the
-[Services tab](https://dashboard.audius.org/services) in the
-[Audius Protocol Dashboard](https://dashboard.audius.org/).
+A list of all active Node Operators can be found under the [Services tab][dashboard-services] in the
+[Audius Protocol Dashboard][protocol-dashboard].
-$AUDIO holders can delegate a minimum of 100 tokens to any of these Node Operators by connecting to
-either MetaMask or using a Gnosis Safe. More details on delegation will be released soon!
+$AUDIO holders can delegate a minimum of 100 tokens to any of these Node Operators by connecting a
+wallet to the [Audius Protocol Dashboard][protocol-dashboard] using Wallet Connect. More details on
+delegation will be released soon!
-Node Operators can choose to run either a Content Node, a Discovery Node or a combination of both.
-The amount of $AUDIO staked to a given Node Operator can be thought of as their economic bandwidth
-to run one or a combination of services on the network.
+Node Operators can choose to run either a [Content Node][content-node], a [Discovery
+Node][discovery-node] or a combination of both. The amount of $AUDIO staked to a given Node Operator
+can be thought of as their economic bandwidth to run one or a combination of services on the
+network.
All Node Operators are required to post a **minimum self-bond of 200,000 $AUDIO tokens per node**.
While both Content and Discovery Nodes utilize the same machine, Content Nodes require more storage
@@ -81,10 +81,9 @@ votes, and the different nodes they maintain. Other key parameters include:
| Services | The number of unique nodes run by a given operator. |
| Delegators | The total number of unique addresses delegating tokens to the Operator. |
-Node Operators can also populate their information by
-[linking an Audius account](/reference/protocol-dashboard/link-profile), displaying a profile image
-and Audius profile link to allow delegates to more easily distinguish themselves from others on the
-network.
+Node Operators can also populate their information by [linking an Audius account][link-profile],
+displaying a profile image and Audius profile link to allow delegates to more easily distinguish
+themselves from others on the network.
Audius features a 7 day cooldown period to undelegate or unstake in order to provide adequate time
for nodes to be slashed in the event of malicious behavior. During the genesis staking period, nodes
@@ -108,3 +107,13 @@ Moving forward, anyone in the network can call the reward function, with tokens
a weekly cadence and claimable at any time.
The rate, duration and parameters of $AUDIO staking are controlled entirely by governance.
+
+
+[content-node]: /learn/architecture/content-node
+[dashboard-services]: https://dashboard.audius.org/services
+[discovery-node]: /learn/architecture/discovery-node
+[figment-staking-guide]: https://figment.io/insights/audius-guide-staking-delegating-audio-tokens/
+[link-profile]: /reference/protocol-dashboard/link-profile
+[node-operators]: https://dashboard.audius.org/#/nodes
+[protocol-dashboard]: https://dashboard.audius.org/
+[resources]: https://github.com/AudiusProject/audius-protocol/wiki/Staking-Resources
diff --git a/docs/docs/reference/protocol-dashboard/link-profile.mdx b/docs/docs/reference/protocol-dashboard/link-profile.mdx
index 84413804eb6..e319ce9c1d9 100644
--- a/docs/docs/reference/protocol-dashboard/link-profile.mdx
+++ b/docs/docs/reference/protocol-dashboard/link-profile.mdx
@@ -8,58 +8,70 @@ description: Audius Protocol Documentation
import useBaseUrl from '@docusaurus/useBaseUrl'
-> Help other users identify you by connecting your [Audius](https://audius.co/) account.
->
-> Once you've linked your Audius account, your Profile Picture and Display Name will be visible to
-> users throughout the protocol dashboard.
+> Help other users identify you by connecting your [Audius][audius-co] account to the [Audius
+> Protocol Dashboard][protocol-dashboard].
-## Connect with MetaMask
+Once you've linked your Audius account, your Profile Picture and Display Name will be visible to
+users throughout the protocol dashboard.
-To get started, open the [Audius Protocol Dashboard](https://dashboard.audius.org/) in a web browser
-with the MetaMask extension installed and click the "Connect MetaMask" button in the upper right
-hand corner of the Dashboard.
+## Connect to Protocol Dashboard
+1. Navigate to the [Audius Protocol Dashboard][protocol-dashboard]
+2. Click the "Connect Wallet" button on the upper right
+
+
-
- Connect MetaMask button.
+
+ Wallet Connect Button
-A MetaMask window will open and if there are multiple accounts associated to the MetaMask wallet, an
-account picker will be shown.
-
-Be sure to select the Wallet and Account used when registering services or making delegations to the
-Audius Protocol.
+3. Select your web3 wallet in the wallet selection modal and sign in.
+
-
- MetaMask account picker
+
+ Wallet Selection Modal
-By default, a Gravatar style icon will be used to represent the wallet across the Dashboard.
+4. By default, a Gravatar style icon will be used to represent the wallet across the Dashboard.
-{/* prettier-ignore */}
+
-
- Account icon when a MetaMask account is connected to the Protocol Dashboard.
+
+ Protocol Dashboard default profile icon
+---
+
## Connect to Audius Profile
-To connect your Audius profile to the Dashboard, click the "Connect Audius Profile" button and then
-"Connect Profile".
+To connect your Audius profile to the Dashboard,
+1. Click the "Connect Audius Profile" button in the upper right corner.
+
+
-
- Connect Audius Profile button.
+
+ Protocol Dashboard "Connect Audius Profile" button
-{/* prettier-ignore */}
+2. In the modal, confirm your understanding and proceed by clicking the "Connect Profile" button.
+
+
Review and confirm the next step by clicking "Connect Profile" in the modal.
-A popup form will appear, click the "Authorize App" button to connect the accounts.
+3. In the pop over, enter the credentials of the Audius account you want to connect to your Protocol
+ Dashboard account and click "Sign In & Authorize App"
+
+
+
+ Sign in with your Audius account to continue
+
+
+:::tip Already signed in?
If you are already signed in to an Audius account it will be chosen as the default. If you would
like to use a different Audius account, be sure to sign out and sign in with the correct account
@@ -67,21 +79,25 @@ before clicking "Authorize App".
If you are not currently signed in to an Audius account, you will be prompted to do so.
-
-
-
+:::
-Finally, MetaMask will present a signature request to confirm the account connection. Sign this
-message to complete the link.
+4. Your wallet app will present a signature request to confirm the account connection. Sign this
+ message to complete the link.
+
+ Using MetaMask as an example, sign the request.
-Complete! Now your Audius account profile image will be shown on the Audius Protocol Dashboard!
+5. Complete! Now your Audius account profile image will be shown on the Audius Protocol Dashboard!
-{/* prettier-ignore */}
+
Account icon when an Audius account is connected to the Protocol Dashboard.
+
+
+[audius-co]: https://audius.co/
+[protocol-dashboard]: https://dashboard.audius.org/
diff --git a/docs/static/img/dashboard-account/audius-profile-linked.png b/docs/static/img/dashboard-account/audius-profile-linked.png
index c3802a3eb50aaa71f6c0e91683c0286da29372df..9c771482740dac0b40b1f08a289631d13aee5fee 100644
GIT binary patch
literal 106762
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