Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions components/link.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,19 @@ const EXTERNAL = /^(?:https?:)?\/\//i;
const PROTOCOLS = /^(?:mailto|tel):/i;

export function Link(props: AnchorHTMLAttributes<HTMLAnchorElement>) {
const { href = "", children, ...rest } = props;
const { href = "", children, className, ...rest } = props;
const cls = ["prose-link", className].filter(Boolean).join(" ");

if (EXTERNAL.test(href) || PROTOCOLS.test(href)) {
return (
<a href={href} target="_blank" rel="noopener noreferrer" {...rest}>
<a href={href} target="_blank" rel="noopener noreferrer" className={cls} {...rest}>
{children}
</a>
);
}

return (
<NextLink href={href} {...rest}>
<NextLink href={href} className={cls} {...rest}>
{children}
</NextLink>
);
Expand Down
1 change: 1 addition & 0 deletions pages/_app.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import type { AppProps } from "next/app";
import "../styles/globals.css";

export default function App({ Component, pageProps }: AppProps) {
return <Component {...pageProps} />;
Expand Down
31 changes: 9 additions & 22 deletions pages/_meta.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,60 +5,47 @@ export default {
"type": "separator",
"title": "Token sales"
},
"token-sales": "Token sales",
"token-sales": { "title": "Token sales", "display": "children" },
"-- sep-1": {
"type": "separator",
"title": "On-chain operations"
},
"on-chain-operations": "On-chain operations",
"on-chain-operations": { "title": "On-chain operations", "display": "children" },
"-- sep-2": {
"type": "separator",
"title": "How to Use Tally"
},
"how-to-use-tally": "How to Use Tally",
"tally-features": "Tally Features",
"how-to-use-tally": { "title": "How to Use Tally", "display": "children" },
"-- sep-3": {
"type": "separator",
"title": "Set up & Technical Documentation"
},
"set-up-and-technical-documentation": "Set up & Technical Documentation",
"set-up-and-technical-documentation": { "title": "Set up & Technical Documentation", "display": "children" },
"-- sep-4": {
"type": "separator",
"title": "Education"
},
"user-guides": "Education",
"user-guides": { "title": "Education", "display": "children" },
"-- sep-5": {
"type": "separator",
"title": "Resources"
},
"-- ext-use-tally-6": {
"title": "Use Tally",
"-- ext-use-platform-6": {
"title": "Use Platform",
"type": "page",
"href": "https://www.tally.xyz",
"newWindow": true
},
"-- ext-blog-7": {
"title": "Blog",
"type": "page",
"href": "https://blog.tally.xyz",
"newWindow": true
},
"-- ext-the-tally-podcast-8": {
"title": "The Tally podcast",
"type": "page",
"href": "https://t.co/rOkH3FYeYA",
"newWindow": true
},
"-- ext-newsletter-9": {
"title": "Newsletter",
"type": "page",
"href": "https://newsletter.tally.xyz",
"href": "https://scopelift.co/blog",
"newWindow": true
},
"-- ext-twitter-x-10": {
"title": "Twitter / X",
"type": "page",
"href": "https://x.com/tallyxyz",
"href": "https://x.com/scopelift",
"newWindow": true
},
"-- hr-11": {
Expand Down
1 change: 1 addition & 0 deletions pages/how-to-use-tally/_meta.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ export default {
"stake-on-tally": "Stake on Tally",
"participate-in-security-council-elections": "Participate in Security Council Elections",
"use-tally-as-a-safe-multisig": "Use Tally as a Safe multisig",
"get-notifications-on-tally": "Get notifications on Tally",
"using-ledger-with-solana": "Using Ledger with Solana",
"creating-proposals": "Creating Proposals",
"proposals": "Proposals"
Expand Down
1 change: 0 additions & 1 deletion pages/how-to-use-tally/delegate-on-tally/_meta.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
"index": "Delegate on Tally",
"delegates-page": "Delegates Page",
"delegate-voting-power": "Delegate Voting Power",
"create-a-delegate-statement": "Create a Delegate Statement",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: >-
# Delegates Page

\
To navigate to the Delegates page, click Community in the [organization homepage.](../navigate-the-tally-homepage)
To navigate to the Delegates page, click Community in the [organization homepage.](/how-to-use-tally/navigate-the-tally-homepage)



Expand Down
2 changes: 1 addition & 1 deletion pages/how-to-use-tally/navigate-the-tally-homepage.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Below, the Gnosis Safes section displays information on any linked Gnosis Safes.

![](/images/dao-homepage-screenshot-5-1.png)

The Admins section at the bottom shows the [organization admins](../set-up-and-technical-documentation/managing-a-dao/dao-admins) - users who are able to update settings on the organization's homepage.
The Admins section at the bottom shows the [organization admins](/set-up-and-technical-documentation/managing-a-dao/dao-admins) - users who are able to update settings on the organization's homepage.

### More

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ To submit an on-chain proposal, you must have sufficient voting power to meet th

### Create a Proposal

Visit the [organization page](../../navigate-the-tally-homepage) of the organization you'd like to create a proposal for, then click the **Create new proposal** button at the top of the page.
Visit the [organization page](/how-to-use-tally/navigate-the-tally-homepage) of the organization you'd like to create a proposal for, then click the **Create new proposal** button at the top of the page.

![](/images/screenshot-2023-08-25-at-2-10-18-pm.png)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
"index": "Create proposals",
"custom-actions": "Custom actions",
"swaps": "Swaps",
"draft-proposals": "Draft proposals"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ Custom Actions on Tally provide a versatile way to create and manage organizatio

Tally has recipe books for the following custom actions:

* [Deploying protocols like Uniswap v3 on new chains](chain-deployment-of-uniswap-v3)
* [Implementing token vesting schemes](token-vesting-with-hedgey)
* [Setting up token grants](token-grants-with-hedgey)
* [Managing streaming payments](streaming-payments-with-sablier)
* [Deploying protocols like Uniswap v3 on new chains](/how-to-use-tally/proposals/creating-proposals/custom-actions/chain-deployment-of-uniswap-v3)
* [Implementing token vesting schemes](/how-to-use-tally/proposals/creating-proposals/custom-actions/token-vesting-with-hedgey)
* [Setting up token grants](/how-to-use-tally/proposals/creating-proposals/custom-actions/token-grants-with-hedgey)
* [Managing streaming payments](/how-to-use-tally/proposals/creating-proposals/custom-actions/streaming-payments-with-sablier)

Each action involves targeting specific contract addresses, selecting appropriate contract methods, and setting calldata according to the needs of the specific operation being proposed. This flexibility allows for a wide range of governance activities to be conducted seamlessly.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
"index": "Custom actions",
"chain-deployment-of-uniswap-v3": "Chain Deployment of Uniswap v3",
"token-vesting-with-hedgey": "Token vesting with Hedgey",
"token-grants-with-hedgey": "Token grants with Hedgey",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ Empower your organization by creating an on-chain proposal on Tally using the Sw

### Swap Proposal in 5 Steps

1. A organization member formulates a swap proposal, specifying the assets to trade and the amount to sell. The UI provides an [estimated quote](./#where-do-the-quotes-come-from) for the trade.
2. After running validations, the recipe prepares [executable](./#what-is-in-the-swap-recipe-executable) code – including a call to [Milkman](./#what-is-milkman) – for execution upon proposal execution.
1. A organization member formulates a swap proposal, specifying the assets to trade and the amount to sell. The UI provides an [estimated quote](/how-to-use-tally/proposals/creating-proposals/swaps/#where-do-the-quotes-come-from) for the trade.
2. After running validations, the recipe prepares [executable](/how-to-use-tally/proposals/creating-proposals/swaps/#what-is-in-the-swap-recipe-executable) code – including a call to [Milkman](/how-to-use-tally/proposals/creating-proposals/swaps/#what-is-milkman) – for execution upon proposal execution.
3. Upon proposal passage and execution, the proposal puts the Milkman market order on-chain.
4. An offchain [Milkman bot](https://github.com/charlesndalton/milkman-bot) listens for the swap request and forwards it to the CoW protocol.
5. CoW solvers compete to fill the order at the best price.

### _More questions? See_ [swaps-faqs.md](swaps-faqs.md "mention")_._
### _More questions? See_ [swaps-faqs.md](/how-to-use-tally/proposals/creating-proposals/swaps/swaps-faqs.md "mention")_._
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
export default {
"index": "Swaps",
"swaps-faqs": "Swaps: FAQs"
};
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ The default price checker on Tally uses Uniswap v3 as a price oracle and sets a

### What happens if the price checker doesn't see a good price?

If the price checker rejects fills with unfavorable prices, the assets to sell remain in the Milkman order contract. To return those funds to the organization's treasury, the Milkman order needs to be canceled with another on-chain proposal. See [How do I cancel an order?](swaps-faqs#how-do-i-cancel-an-order).
If the price checker rejects fills with unfavorable prices, the assets to sell remain in the Milkman order contract. To return those funds to the organization's treasury, the Milkman order needs to be canceled with another on-chain proposal. See [How do I cancel an order?](/how-to-use-tally/proposals/creating-proposals/swaps/swaps-faqs#how-do-i-cancel-an-order).

***

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
export default {
"index": "Execute Proposals",
"advanced-execution": "Advanced Execution"
};
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ description: Stake tokens on Tally.

# Stake on Tally

Staking is the easiest way to earn rewards and participate in governance. To learn more about why protocols are using Tally Staking to accrue value, visit [Incentives & staking](../../on-chain-operations/incentives-and-staking/).
Staking is the easiest way to earn rewards and participate in governance. To learn more about why protocols are using Tally Staking to accrue value, visit [Incentives & staking](/on-chain-operations/incentives-and-staking/).

### Protocols with Active Staking

Token holders can now stake OBOL and RARI on Tally and earn rewards. To learn more, read the full announcements for [stOBOL](https://x.com/tallyxyz/status/1928152996099088727) and [stRARI](https://x.com/rarifoundation/status/1935322769509822969).

[How To Stake Obol](how-to-stake-obol)
[How To Stake Obol](/how-to-use-tally/stake-on-tally/how-to-stake-obol)

[How To Stake Obol](how-to-stake-obol)
[How To Stake Obol](/how-to-use-tally/stake-on-tally/how-to-stake-obol)

### ZKsync staking

Expand Down
1 change: 0 additions & 1 deletion pages/how-to-use-tally/stake-on-tally/_meta.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
"index": "Stake on Tally",
"how-to-stake-obol": "How to Stake OBOL",
"how-to-stake-rari": "How to Stake RARI"
};
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
"index": "Use Tally as a Safe multisig",
"vote-with-a-gnosis-safe": "Vote with a Gnosis Safe",
"zodiac-governor-module-for-subdaos-and-grants-programs": "Zodiac Governor Module for SubDAOs and Grants Programs",
"upgrade-gnosis-safe-to-governor-with-zodiac": "Upgrade Gnosis Safe to Governor with Zodiac"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Next, select the Safe you want to sign in as from the menu:

![](/images/cleanshot-2023-05-02-at-12-35-46-2x.png)

Now you can update your Safe's profile and make onchain transactions. To learn more about making onchain transactions using your Safe, see [.](./ "mention").
Now you can update your Safe's profile and make onchain transactions. To learn more about making onchain transactions using your Safe, see [.](/how-to-use-tally/use-tally-as-a-safe-multisig/ "mention").

To switch back to your personal profile, simply select **Switch to...** from the profile drop-down menu.

Expand Down
1 change: 0 additions & 1 deletion pages/how-to-use-tally/voting-on-proposals/_meta.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
"index": "Vote on Tally",
"advanced-voting": "Advanced voting",
"relay": "Gasless voting and delegation (Relay)"
};
10 changes: 10 additions & 0 deletions pages/how-to-use-tally/voting-on-proposals/advanced-voting.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

# Advanced voting

Tally supports a variety of on-chain voting mechanisms.

[Flexible Voting Extension](/how-to-use-tally/voting-on-proposals/advanced-voting/flexible-voting-extension)

[signal-voting](/how-to-use-tally/voting-on-proposals/advanced-voting/signal-voting/)

[Private Voting](/how-to-use-tally/voting-on-proposals/advanced-voting/private-voting)
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
"index": "Advanced voting",
"flexible-voting-extension": "Flexible voting extension",
"signal-voting": "Signal voting",
"private-voting": "Private voting"
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

# Signal voting

[Multisig governance](../../../use-tally-as-a-safe-multisig/) is typically paired with a signal voting mechanism to maintain legitimacy. As an example, Yearn, Synthetix, and Sushiswap all use the Snapshot voting tool to let token holders make key decisions and delegate authority.
[Multisig governance](/how-to-use-tally/use-tally-as-a-safe-multisig/) is typically paired with a signal voting mechanism to maintain legitimacy. As an example, Yearn, Synthetix, and Sushiswap all use the Snapshot voting tool to let token holders make key decisions and delegate authority.

After considering a proposal in the community's discussion venue, a signal vote will be held to assess support. While this typically involves voting with Snapshot, in some cases communities may use on-chain signal voting (eg. early Yearn [ygov.finance voting tool](https://ygov.finance/vote)) or off chain voting which is weighted by user accounts instead of token holdings (eg. polls in Discourse forums or Discord).

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
export default {
"index": "Signal voting",
"diff-checker": "Snapshot"
};
1 change: 0 additions & 1 deletion pages/how-to-use-tally/voting-on-proposals/relay/_meta.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
"index": "Gasless voting and delegation (Relay)",
"gasless-voting": "Gasless voting",
"free-delegation": "Gasless delegation"
};
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: Gasless voting enables free voting for tokenholder on Tally

Voting has [become unaffordable](https://x.com/LefterisJP/status/1766881140713935136?s=20) for many delegates on Ethereum L1. Tally provides the infrastructure for organizations to fund a budget for gasless voting and execute voting transactions via a relayer service. The mechanism operates seamlessly as the allocated budget is submitted to Tally for the facilitation of these transactions.

To learn more about how relay works & why it's important read the [Relay section.](./)
To learn more about how relay works & why it's important read the [Relay section.](/how-to-use-tally/voting-on-proposals/relay/)



Expand Down
2 changes: 1 addition & 1 deletion pages/on-chain-operations/_meta.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
export default {
"token-launch": "Airdops",
"token-launch": "Token launch",
"incentives-and-staking": "Incentives & staking",
"governance": "Governance",
"tally-partner-benefits": "Tally partner benefits",
Expand Down
35 changes: 35 additions & 0 deletions pages/on-chain-operations/governance.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
description: Govern protocol upgrades and treasuries securely and efficiently
---

# Governance

Deploy production-ready governance that scales with your protocol without requiring vendor migrations or custom integration work. As your governance matures, add advanced features like MultiGov, optimistic governance, or security council elections to meet the evolving needs of your community.

Protocols use Tally's governance solutions to enable decentralized decision-making, distribute funds, coordinate communities, streamline proposals, and ensure community oversight through transparent voting.

#### **Key features of Tally's governance solutions:**

* [Voting and proposal management](/on-chain-operations/governance/features)**:** Secure, transparent voting mechanisms with collaborative proposal creation tools and no-code fund transfers. Approved proposals execute automatically with support for arbitrary executable actions.
* [Delegation](/on-chain-operations/governance/features)**:** Enable token holders to delegate voting power to trusted representatives without transferring token ownership. Supports full delegation, partial delegation across multiple delegates, and integrations with staking and token launch.
* [Security council elections](/on-chain-operations/governance/security-council-elections/arbitrum-dao-security-council-elections-guide)**:** Establish democratic elections for security councils that safeguard protocol interests. Tally's custom-built council elections ensure the highest standards of integrity in selecting leadership.
* [Optimstic governance:](/on-chain-operations/governance/optimistic-governance) Streamline decision-making by assuming proposals pass unless explicitly vetoed by delegates, enabling faster execution while maintaining community oversight for critical decisions.
* [Delegate compensation](/on-chain-operations/incentives-and-staking/delegate-compensation)**:** Reward active governance participants for their time, expertise, and contributions. Systems ensure only engaged and accountable delegates are rewarded through minimum reputation scores or participation thresholds.
* [Multichain support](/on-chain-operations/governance/multigov)**:** Enable cross-chain governance with MultiGov to meet token holders where they are. Organization members can govern from any chain, with support for Solana, Ethereum, and EVM-compatible L2s.
* [Gasless voting and delegation](/on-chain-operations/governance/features#gasless-voting-and-delegation-relay)**:** Remove financial barriers to governance participation by eliminating gas fees for voting and delegation. Organizations cover transaction costs for members' governance activities.

## Get started

[Optimistic Governance](/on-chain-operations/governance/optimistic-governance)

[security-council-elections](/on-chain-operations/governance/security-council-elections/)

[Multigov](/on-chain-operations/governance/multigov)

[Staking Customizations](/on-chain-operations/incentives-and-staking/staking-customizations)

[integrations](/on-chain-operations/governance/integrations/)

[intro-to-governance](/user-guides/intro-to-governance/)

Ready to launch governance? [Talk to our team to get started](http://tally.xyz/contact).
1 change: 0 additions & 1 deletion pages/on-chain-operations/governance/_meta.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export default {
"index": "Governance",
"security-council-elections": "Security Council elections",
"optimistic-governance": "Optimistic governance",
"multigov": "MultiGov",
Expand Down
Loading
Loading