This is page 3 of 4. Use http://codebase.md/crazyrabbitltc/mpc-tally-api-server?lines=false&page={x} to view the full context.
# Directory Structure
```
├── .env.example
├── .gitignore
├── bun.lockb
├── docs
│ ├── issues
│ │ └── address-votes-api-schema.md
│ └── rate-limiting-notes.md
├── jest.config.js
├── LICENSE
├── list of tools
├── LLM-API-GUIDE-2 copy.txt
├── LLM-API-GUIDE-2.txt
├── LLM-API-GUIDE.txt
├── package-lock.json
├── package.json
├── proposals_response.json
├── README.md
├── repomix-output.txt
├── src
│ ├── index.ts
│ ├── repomix-output.txt
│ ├── server.ts
│ ├── services
│ │ ├── __tests__
│ │ │ ├── client
│ │ │ │ ├── setup.ts
│ │ │ │ ├── tallyServer.test.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── mcpClientTests
│ │ │ │ └── mcpServer.test.ts
│ │ │ ├── tally.service.address-created-proposals.test.ts
│ │ │ ├── tally.service.address-dao-proposals.test.ts
│ │ │ ├── tally.service.address-daos.test.ts
│ │ │ ├── tally.service.address-governances.test.ts
│ │ │ ├── tally.service.address-metadata.test.ts
│ │ │ ├── tally.service.address-received-delegations.test.ts
│ │ │ ├── tally.service.address-safes.test.ts
│ │ │ ├── tally.service.address-votes.test.ts
│ │ │ ├── tally.service.addresses.test.ts
│ │ │ ├── tally.service.dao.test.ts
│ │ │ ├── tally.service.daos.test.ts
│ │ │ ├── tally.service.delegate-statement.test.ts
│ │ │ ├── tally.service.delegates.test.ts
│ │ │ ├── tally.service.delegators.test.ts
│ │ │ ├── tally.service.errors.test.ts
│ │ │ ├── tally.service.governance-proposals-stats.test.ts
│ │ │ ├── tally.service.list-delegates.test.ts
│ │ │ ├── tally.service.proposal-security-analysis.test.ts
│ │ │ ├── tally.service.proposal-timeline.test.ts
│ │ │ ├── tally.service.proposal-voters.test.ts
│ │ │ ├── tally.service.proposal-votes-cast-list.test.ts
│ │ │ ├── tally.service.proposal-votes-cast.test.ts
│ │ │ ├── tally.service.proposals.test.ts
│ │ │ ├── tally.service.test.ts
│ │ │ └── tsconfig.json
│ │ ├── addresses
│ │ │ ├── addresses.queries.ts
│ │ │ ├── addresses.types.ts
│ │ │ ├── getAddressCreatedProposals.ts
│ │ │ ├── getAddressDAOProposals.ts
│ │ │ ├── getAddressGovernances.ts
│ │ │ ├── getAddressMetadata.ts
│ │ │ ├── getAddressProposals.ts
│ │ │ ├── getAddressReceivedDelegations.ts
│ │ │ ├── getAddressSafes.ts
│ │ │ ├── getAddressVotes.ts
│ │ │ └── index.ts
│ │ ├── delegates
│ │ │ ├── delegates.queries.ts
│ │ │ ├── delegates.types.ts
│ │ │ ├── getDelegateStatement.ts
│ │ │ ├── index.ts
│ │ │ └── listDelegates.ts
│ │ ├── delegators
│ │ │ ├── delegators.queries.ts
│ │ │ ├── delegators.types.ts
│ │ │ ├── getDelegators.ts
│ │ │ └── index.ts
│ │ ├── errors
│ │ │ └── apiErrors.ts
│ │ ├── index.ts
│ │ ├── organizations
│ │ │ ├── __tests__
│ │ │ │ ├── organizations.queries.test.ts
│ │ │ │ ├── organizations.service.test.ts
│ │ │ │ └── tally.service.test.ts
│ │ │ ├── getDAO.ts
│ │ │ ├── index.ts
│ │ │ ├── listDAOs.ts
│ │ │ ├── organizations.queries.ts
│ │ │ ├── organizations.service.ts
│ │ │ └── organizations.types.ts
│ │ ├── proposals
│ │ │ ├── getGovernanceProposalsStats.ts
│ │ │ ├── getProposal.ts
│ │ │ ├── getProposal.types.ts
│ │ │ ├── getProposalSecurityAnalysis.ts
│ │ │ ├── getProposalSecurityAnalysis.types.ts
│ │ │ ├── getProposalTimeline.ts
│ │ │ ├── getProposalTimeline.types.ts
│ │ │ ├── getProposalVoters.ts
│ │ │ ├── getProposalVoters.types.ts
│ │ │ ├── getProposalVotesCast.ts
│ │ │ ├── getProposalVotesCast.types.ts
│ │ │ ├── getProposalVotesCastList.ts
│ │ │ ├── getProposalVotesCastList.types.ts
│ │ │ ├── index.ts
│ │ │ ├── listProposals.ts
│ │ │ ├── listProposals.types.ts
│ │ │ ├── proposals.queries.ts
│ │ │ └── proposals.types.ts
│ │ ├── tally.service.ts
│ │ └── utils
│ │ └── rateLimiter.ts
│ ├── tools.ts
│ ├── types.ts
│ └── utils
│ ├── __tests__
│ │ └── formatTokenAmount.test.ts
│ ├── formatTokenAmount.ts
│ └── index.ts
├── Tally API Docs RAW.txt
├── Tally API Sample Queries from Site.txt
├── Tally-API-Docs-Types.txt
└── tsconfig.json
```
# Files
--------------------------------------------------------------------------------
/Tally API Docs RAW.txt:
--------------------------------------------------------------------------------
```
Introduction
Welcome
Getting started
Graphql Playgound
Quickstart Example
Rate limits
Operations
Queries
Types
Account
AccountID
AccountType
Address
Allocation
Any
AssetID
Block
BlockID
BlockOrTimestamp
BlocklessTimestamp
Boolean
Bytes
Chain
ChainID
CompetencyFieldDescriptor
Contracts
Contributor
DataDecoded
Date
DecodedCalldata
DecodedParameter
Delegate
DelegateInput
DelegateStatement
DelegatesFiltersInput
DelegatesInput
DelegatesSortBy
DelegatesSortInput
Delegation
DelegationInput
DelegationsFiltersInput
DelegationsInput
DelegationsSortBy
DelegationsSortInput
Eligibility
EligibilityStatus
EndorsementService
ExecutableCall
ExecutableCallType
Float
Governor
GovernorContract
GovernorInput
GovernorKind
GovernorMetadata
GovernorParameters
GovernorType
GovernorsFiltersInput
GovernorsInput
GovernorsSortBy
GovernorsSortInput
Hash
HashID
ID
Int
IntID
Issue
Member
NativeCurrency
Node
Organization
OrganizationInput
OrganizationMetadata
OrganizationsFiltersInput
OrganizationsInput
OrganizationsSortBy
OrganizationsSortInput
PageInfo
PageInput
PaginatedOutput
Parameter
Proposal
ProposalEvent
ProposalEventType
ProposalInput
ProposalMetadata
ProposalStats
ProposalStatus
ProposalsCreatedCountInput
ProposalsFiltersInput
ProposalsInput
ProposalsSortBy
ProposalsSortInput
Role
StakeEarning
StakeEvent
StakeEventType
String
Timestamp
Token
TokenContract
TokenInput
TokenType
Uint256
UserBio
ValueDecoded
Vote
VoteStats
VoteType
VotesFiltersInput
VotesInput
VotesSortBy
VotesSortInput
Tally API Reference
Welcome to Tally's public API docs. These API endpoints make it easy to pull data about Governor contracts, their proposals, and accounts that participate in on-chain DAOs.
Contact
API Support
[email protected]
https://discord.com/invite/sCGnpWH3m4
License
An Apache 2.0 covers these API docs
https://www.apache.org/licenses/LICENSE-2.0.html
Terms of Service
https://static.tally.xyz/terms.html
API Endpoints
https://api.tally.xyz/query
Headers
# A Tally API token
Api-Key: YOUR_KEY_HERE
Getting started
To get started, you'll need an API key. Create by signing in to Tally and requesting on your user settings page. You'll need to include the API key as an HTTP header with every request.
Graphql Playgound
Once you have an API key, you can test out these endpoints with the Graphql API Playground. Add your API key under the "Request Headers" section, like this {"Api-Key":"YOUR_KEY_HERE"} Note that the playground also includes undocumented endpoints. Using them is not recommended for production apps, because they are subject to change without notice.
Quickstart Example
To see an example app that uses the API, clone this quickstart example. This React app uses the Tally API to list Governors and their Proposals.
Rate limits
Because the API is free, we have a fairly low rate limit to keep costs down. If you're interested in increasing your rate limit, reach out to us at [email protected].
Queries
accounts
Response
Returns [Account!]!
Arguments
Name Description
ids - [AccountID!]
addresses - [Address!]
Example
Query
query Accounts(
$ids: [AccountID!],
$addresses: [Address!]
) {
accounts(
ids: $ids,
addresses: $addresses
) {
id
address
ens
twitter
name
bio
picture
safes
type
votes
proposalsCreatedCount
}
}
Variables
{
"ids": [
"eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
],
"addresses": [
"0x1234567800000000000000000000000000000abc"
]
}
Response
{
"data": {
"accounts": [
{
"id": "4",
"address": "0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"ens": "tallyxyz.eth",
"twitter": "@tallyxyz",
"name": "Tally",
"bio": "Now accepting delegations!",
"picture": "https://static.tally.xyz/logo.png",
"safes": [
"eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
],
"type": "EOA",
"votes": 10987654321,
"proposalsCreatedCount": 123
}
]
}
}
Queries
chains
Response
Returns [Chain]!
Example
Query
query Chains {
chains {
id
layer1Id
name
mediumName
shortName
blockTime
isTestnet
nativeCurrency {
name
symbol
decimals
}
chain
useLayer1VotingPeriod
}
}
Response
{
"data": {
"chains": [
{
"id": "eip155:1",
"layer1Id": "eip155:1",
"name": "Ethereum Mainnet",
"mediumName": "Ethereum",
"shortName": "eth",
"blockTime": 12,
"isTestnet": false,
"nativeCurrency": "ETH",
"chain": "ETH",
"useLayer1VotingPeriod": false
}
]
}
}
Queries
delegate
Description
Returns delegate information by an address for an organization or governor.
Response
Returns a Delegate
Arguments
Name Description
input - DelegateInput!
Example
Query
query Delegate($input: DelegateInput!) {
delegate(input: $input) {
id
account {
id
address
ens
twitter
name
bio
picture
safes
type
votes
proposalsCreatedCount
}
chainId
delegatorsCount
governor {
id
chainId
contracts {
...ContractsFragment
}
isIndexing
isBehind
isPrimary
kind
name
organization {
...OrganizationFragment
}
proposalStats {
...ProposalStatsFragment
}
parameters {
...GovernorParametersFragment
}
quorum
slug
timelockId
tokenId
token {
...TokenFragment
}
type
delegatesCount
delegatesVotesCount
tokenOwnersCount
metadata {
...GovernorMetadataFragment
}
}
organization {
id
slug
name
chainIds
tokenIds
governorIds
metadata {
...OrganizationMetadataFragment
}
creator {
...AccountFragment
}
hasActiveProposals
proposalsCount
delegatesCount
delegatesVotesCount
tokenOwnersCount
endorsementService {
...EndorsementServiceFragment
}
}
statement {
id
address
organizationID
statement
statementSummary
isSeekingDelegation
issues {
...IssueFragment
}
}
token {
id
type
name
symbol
supply
decimals
eligibility {
...EligibilityFragment
}
isIndexing
isBehind
}
votesCount
}
}
Variables
{"input": DelegateInput}
Response
{
"data": {
"delegate": {
"id": 2207450143689540900,
"account": Account,
"chainId": "eip155:1",
"delegatorsCount": 987,
"governor": Governor,
"organization": Organization,
"statement": DelegateStatement,
"token": Token,
"votesCount": 10987654321
}
}
}
Queries
delegatee
Description
Returns a delegatee of a user, to whom this user has delegated, for a governor
Response
Returns a Delegation
Arguments
Name Description
input - DelegationInput!
Example
Query
query Delegatee($input: DelegationInput!) {
delegatee(input: $input) {
id
blockNumber
blockTimestamp
chainId
delegator {
id
address
ens
twitter
name
bio
picture
safes
type
votes
proposalsCreatedCount
}
delegate {
id
address
ens
twitter
name
bio
picture
safes
type
votes
proposalsCreatedCount
}
organization {
id
slug
name
chainIds
tokenIds
governorIds
metadata {
...OrganizationMetadataFragment
}
creator {
...AccountFragment
}
hasActiveProposals
proposalsCount
delegatesCount
delegatesVotesCount
tokenOwnersCount
endorsementService {
...EndorsementServiceFragment
}
}
token {
id
type
name
symbol
supply
decimals
eligibility {
...EligibilityFragment
}
isIndexing
isBehind
}
votes
}
}
Variables
{"input": DelegationInput}
Response
{
"data": {
"delegatee": {
"id": 2207450143689540900,
"blockNumber": 987,
"blockTimestamp": 1663224162,
"chainId": "eip155:1",
"delegator": Account,
"delegate": Account,
"organization": Organization,
"token": Token,
"votes": 10987654321
}
}
}
Queries
delegatees
Description
Returns a paginated list of delegatees of a user, to whom this user has delegated, that match the provided filters.
Response
Returns a PaginatedOutput!
Arguments
Name Description
input - DelegationsInput!
Example
Query
query Delegatees($input: DelegationsInput!) {
delegatees(input: $input) {
nodes {
... on Delegate {
...DelegateFragment
}
... on Organization {
...OrganizationFragment
}
... on Member {
...MemberFragment
}
... on Delegation {
...DelegationFragment
}
... on Governor {
...GovernorFragment
}
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
... on StakeEvent {
...StakeEventFragment
}
... on StakeEarning {
...StakeEarningFragment
}
... on Contributor {
...ContributorFragment
}
... on Allocation {
...AllocationFragment
}
}
pageInfo {
firstCursor
lastCursor
count
}
}
}
Variables
{"input": DelegationsInput}
Response
{
"data": {
"delegatees": {
"nodes": [Delegate],
"pageInfo": PageInfo
}
}
}
Queries
delegates
Description
Returns a paginated list of delegates that match the provided filters.
Response
Returns a PaginatedOutput!
Arguments
Name Description
input - DelegatesInput!
Example
Query
query Delegates($input: DelegatesInput!) {
delegates(input: $input) {
nodes {
... on Delegate {
...DelegateFragment
}
... on Organization {
...OrganizationFragment
}
... on Member {
...MemberFragment
}
... on Delegation {
...DelegationFragment
}
... on Governor {
...GovernorFragment
}
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
... on StakeEvent {
...StakeEventFragment
}
... on StakeEarning {
...StakeEarningFragment
}
... on Contributor {
...ContributorFragment
}
... on Allocation {
...AllocationFragment
}
}
pageInfo {
firstCursor
lastCursor
count
}
}
}
Variables
{"input": DelegatesInput}
Response
{
"data": {
"delegates": {
"nodes": [Delegate],
"pageInfo": PageInfo
}
}
}
Queries
delegators
Description
Returns a paginated list of delegators of a delegate that match the provided filters.
Response
Returns a PaginatedOutput!
Arguments
Name Description
input - DelegationsInput!
Example
Query
query Delegators($input: DelegationsInput!) {
delegators(input: $input) {
nodes {
... on Delegate {
...DelegateFragment
}
... on Organization {
...OrganizationFragment
}
... on Member {
...MemberFragment
}
... on Delegation {
...DelegationFragment
}
... on Governor {
...GovernorFragment
}
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
... on StakeEvent {
...StakeEventFragment
}
... on StakeEarning {
...StakeEarningFragment
}
... on Contributor {
...ContributorFragment
}
... on Allocation {
...AllocationFragment
}
}
pageInfo {
firstCursor
lastCursor
count
}
}
}
Variables
{"input": DelegationsInput}
Response
{
"data": {
"delegators": {
"nodes": [Delegate],
"pageInfo": PageInfo
}
}
}
Queries
governor
Description
Returns governor by ID or slug.
Response
Returns a Governor!
Arguments
Name Description
input - GovernorInput!
Example
Query
query Governor($input: GovernorInput!) {
governor(input: $input) {
id
chainId
contracts {
governor {
...GovernorContractFragment
}
tokens {
...TokenContractFragment
}
}
isIndexing
isBehind
isPrimary
kind
name
organization {
id
slug
name
chainIds
tokenIds
governorIds
metadata {
...OrganizationMetadataFragment
}
creator {
...AccountFragment
}
hasActiveProposals
proposalsCount
delegatesCount
delegatesVotesCount
tokenOwnersCount
endorsementService {
...EndorsementServiceFragment
}
}
proposalStats {
total
active
failed
passed
}
parameters {
quorumVotes
proposalThreshold
votingDelay
votingPeriod
gracePeriod
quorumNumerator
quorumDenominator
clockMode
nomineeVettingDuration
fullWeightDuration
}
quorum
slug
timelockId
tokenId
token {
id
type
name
symbol
supply
decimals
eligibility {
...EligibilityFragment
}
isIndexing
isBehind
}
type
delegatesCount
delegatesVotesCount
tokenOwnersCount
metadata {
description
}
}
}
Variables
{"input": GovernorInput}
Response
{
"data": {
"governor": {
"id": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"chainId": "eip155:1",
"contracts": Contracts,
"isIndexing": true,
"isBehind": false,
"isPrimary": false,
"kind": "single",
"name": "Uniswap",
"organization": Organization,
"proposalStats": ProposalStats,
"parameters": GovernorParameters,
"quorum": 10987654321,
"slug": "uniswap",
"timelockId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"tokenId": "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f",
"token": Token,
"type": "governoralpha",
"delegatesCount": 123,
"delegatesVotesCount": 10987654321,
"tokenOwnersCount": 123,
"metadata": GovernorMetadata
}
}
}
Queries
governors
Description
Returns a paginated list of governors that match the provided filters. Note: Tally may deactivate governors from time to time. If you wish to include those set includeInactive to true.
Response
Returns a PaginatedOutput!
Arguments
Name Description
input - GovernorsInput!
Example
Query
query Governors($input: GovernorsInput!) {
governors(input: $input) {
nodes {
... on Delegate {
...DelegateFragment
}
... on Organization {
...OrganizationFragment
}
... on Member {
...MemberFragment
}
... on Delegation {
...DelegationFragment
}
... on Governor {
...GovernorFragment
}
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
... on StakeEvent {
...StakeEventFragment
}
... on StakeEarning {
...StakeEarningFragment
}
... on Contributor {
...ContributorFragment
}
... on Allocation {
...AllocationFragment
}
}
pageInfo {
firstCursor
lastCursor
count
}
}
}
Variables
{"input": GovernorsInput}
Response
{
"data": {
"governors": {
"nodes": [Delegate],
"pageInfo": PageInfo
}
}
}
Queries
organization
Description
Returns organization by ID or slug.
Response
Returns an Organization!
Arguments
Name Description
input - OrganizationInput!
Example
Query
query Organization($input: OrganizationInput!) {
organization(input: $input) {
id
slug
name
chainIds
tokenIds
governorIds
metadata {
color
description
icon
}
creator {
id
address
ens
twitter
name
bio
picture
safes
type
votes
proposalsCreatedCount
}
hasActiveProposals
proposalsCount
delegatesCount
delegatesVotesCount
tokenOwnersCount
endorsementService {
id
competencyFields {
...CompetencyFieldDescriptorFragment
}
}
}
}
Variables
{"input": OrganizationInput}
Response
{
"data": {
"organization": {
"id": 2207450143689540900,
"slug": "abc123",
"name": "xyz789",
"chainIds": ["eip155:1"],
"tokenIds": [
"eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f"
],
"governorIds": [
"eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
],
"metadata": OrganizationMetadata,
"creator": Account,
"hasActiveProposals": true,
"proposalsCount": 123,
"delegatesCount": 123,
"delegatesVotesCount": 10987654321,
"tokenOwnersCount": 123,
"endorsementService": EndorsementService
}
}
}
Queries
organizations
Description
Returns a paginated list of organizations that match the provided filters.
Response
Returns a PaginatedOutput!
Arguments
Name Description
input - OrganizationsInput
Example
Query
query Organizations($input: OrganizationsInput) {
organizations(input: $input) {
nodes {
... on Delegate {
...DelegateFragment
}
... on Organization {
...OrganizationFragment
}
... on Member {
...MemberFragment
}
... on Delegation {
...DelegationFragment
}
... on Governor {
...GovernorFragment
}
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
... on StakeEvent {
...StakeEventFragment
}
... on StakeEarning {
...StakeEarningFragment
}
... on Contributor {
...ContributorFragment
}
... on Allocation {
...AllocationFragment
}
}
pageInfo {
firstCursor
lastCursor
count
}
}
}
Variables
{"input": OrganizationsInput}
Response
{
"data": {
"organizations": {
"nodes": [Delegate],
"pageInfo": PageInfo
}
}
}
Queries
proposal
Description
Returns a proposal by ID or onchainId + governorId. Also retruns latest draft version by ID.
Response
Returns a Proposal!
Arguments
Name Description
input - ProposalInput!
Example
Query
query Proposal($input: ProposalInput!) {
proposal(input: $input) {
id
onchainId
block {
id
number
timestamp
ts
}
chainId
creator {
id
address
ens
twitter
name
bio
picture
safes
type
votes
proposalsCreatedCount
}
end {
... on Block {
...BlockFragment
}
... on BlocklessTimestamp {
...BlocklessTimestampFragment
}
}
events {
block {
...BlockFragment
}
chainId
createdAt
type
txHash
}
executableCalls {
calldata
chainId
index
signature
target
type
value
decodedCalldata {
...DecodedCalldataFragment
}
}
governor {
id
chainId
contracts {
...ContractsFragment
}
isIndexing
isBehind
isPrimary
kind
name
organization {
...OrganizationFragment
}
proposalStats {
...ProposalStatsFragment
}
parameters {
...GovernorParametersFragment
}
quorum
slug
timelockId
tokenId
token {
...TokenFragment
}
type
delegatesCount
delegatesVotesCount
tokenOwnersCount
metadata {
...GovernorMetadataFragment
}
}
metadata {
title
description
eta
ipfsHash
previousEnd
timelockId
txHash
discourseURL
snapshotURL
}
organization {
id
slug
name
chainIds
tokenIds
governorIds
metadata {
...OrganizationMetadataFragment
}
creator {
...AccountFragment
}
hasActiveProposals
proposalsCount
delegatesCount
delegatesVotesCount
tokenOwnersCount
endorsementService {
...EndorsementServiceFragment
}
}
proposer {
id
address
ens
twitter
name
bio
picture
safes
type
votes
proposalsCreatedCount
}
quorum
status
start {
... on Block {
...BlockFragment
}
... on BlocklessTimestamp {
...BlocklessTimestampFragment
}
}
voteStats {
type
votesCount
votersCount
percent
}
}
}
Variables
{"input": ProposalInput}
Response
{
"data": {
"proposal": {
"id": 2207450143689540900,
"onchainId": "xyz789",
"block": Block,
"chainId": "eip155:1",
"creator": Account,
"end": Block,
"events": [ProposalEvent],
"executableCalls": [ExecutableCall],
"governor": Governor,
"metadata": ProposalMetadata,
"organization": Organization,
"proposer": Account,
"quorum": 10987654321,
"status": "active",
"start": Block,
"voteStats": [VoteStats]
}
}
}
Queries
proposals
Description
Returns a paginated list of proposals that match the provided filters.
Response
Returns a PaginatedOutput!
Arguments
Name Description
input - ProposalsInput!
Example
Query
query Proposals($input: ProposalsInput!) {
proposals(input: $input) {
nodes {
... on Delegate {
...DelegateFragment
}
... on Organization {
...OrganizationFragment
}
... on Member {
...MemberFragment
}
... on Delegation {
...DelegationFragment
}
... on Governor {
...GovernorFragment
}
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
... on StakeEvent {
...StakeEventFragment
}
... on StakeEarning {
...StakeEarningFragment
}
... on Contributor {
...ContributorFragment
}
... on Allocation {
...AllocationFragment
}
}
pageInfo {
firstCursor
lastCursor
count
}
}
}
Variables
{"input": ProposalsInput}
Response
{
"data": {
"proposals": {
"nodes": [Delegate],
"pageInfo": PageInfo
}
}
}
Queries
token
Response
Returns a Token!
Arguments
Name Description
input - TokenInput!
Example
Query
query Token($input: TokenInput!) {
token(input: $input) {
id
type
name
symbol
supply
decimals
eligibility {
status
proof
amount
tx
}
isIndexing
isBehind
}
}
Variables
{"input": TokenInput}
Response
{
"data": {
"token": {
"id": "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f",
"type": "ERC20",
"name": "xyz789",
"symbol": "abc123",
"supply": 10987654321,
"decimals": 123,
"eligibility": Eligibility,
"isIndexing": false,
"isBehind": false
}
}
}
Queries
votes
Description
Returns a paginated list of votes that match the provided filters.
Response
Returns a PaginatedOutput!
Arguments
Name Description
input - VotesInput!
Example
Query
query Votes($input: VotesInput!) {
votes(input: $input) {
nodes {
... on Delegate {
...DelegateFragment
}
... on Organization {
...OrganizationFragment
}
... on Member {
...MemberFragment
}
... on Delegation {
...DelegationFragment
}
... on Governor {
...GovernorFragment
}
... on Proposal {
...ProposalFragment
}
... on Vote {
...VoteFragment
}
... on StakeEvent {
...StakeEventFragment
}
... on StakeEarning {
...StakeEarningFragment
}
... on Contributor {
...ContributorFragment
}
... on Allocation {
...AllocationFragment
}
}
pageInfo {
firstCursor
lastCursor
count
}
}
}
Variables
{"input": VotesInput}
Response
{
"data": {
"votes": {
"nodes": [Delegate],
"pageInfo": PageInfo
}
}
}
Types
Account
Fields
Field Name Description
id - ID!
address - Address!
ens - String
twitter - String
name - String!
bio - String!
picture - String
safes - [AccountID!]
type - AccountType!
votes - Uint256!
Arguments
governorId - AccountID!
proposalsCreatedCount - Int!
Arguments
input - ProposalsCreatedCountInput!
Example
{
"id": 4,
"address": "0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"ens": "tallyxyz.eth",
"twitter": "@tallyxyz",
"name": "Tally",
"bio": "Now accepting delegations!",
"picture": "https://static.tally.xyz/logo.png",
"safes": [
"eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
],
"type": "EOA",
"votes": 10987654321,
"proposalsCreatedCount": 123
}
Types
AccountID
Description
AccountID is a CAIP-10 compliant account id.
Example
"eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
Types
AccountType
Values
Enum Value Description
EOA
SAFE
Example
"EOA"
Types
Address
Description
Address is a 20 byte Ethereum address, represented as 0x-prefixed hexadecimal.
Example
"0x1234567800000000000000000000000000000abc"
Types
Allocation
Fields
Field Name Description
account - Account!
amount - Uint256!
percent - Float!
Example
{
"account": Account,
"amount": 10987654321,
"percent": 987.65
}
Types
Any
Example
Any
Types
AssetID
Description
AssetID is a CAIP-19 compliant asset id.
Example
"eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f"
Types
Block
Fields
Field Name Description
id - BlockID!
number - Int!
timestamp - Timestamp!
ts - Timestamp!
Example
{
"id": BlockID,
"number": 1553735115537351,
"timestamp": 1663224162,
"ts": 1663224162
}
Types
BlockID
Description
BlockID is a ChainID scoped identifier for identifying blocks across chains. Ex: eip155:1:15672.
Example
BlockID
Types
BlockOrTimestamp
Types
Union Types
Block
BlocklessTimestamp
Example
Block
Types
BlocklessTimestamp
Fields
Field Name Description
timestamp - Timestamp!
Example
{"timestamp": 1663224162}
Types
Boolean
Description
The Boolean scalar type represents true or false.
Types
Bytes
Description
Bytes is an arbitrary length binary string, represented as 0x-prefixed hexadecimal.
Example
"0x4321abcd"
Types
Chain
Description
Chain data in the models are only loaded on server startup. If changed please restart the api servers.
Fields
Field Name Description
id - ChainID! The id in eip155:chain_id
layer1Id - ChainID If chain is an L2, the L1 id in format eip155:chain_id
name - String! Chain name as found in eip lists. e.g.: Ethereum Testnet Rinkeby
mediumName - String! Chain name with removed redundancy and unnecessary words. e.g.: Ethereum Rinkeby
shortName - String! Chain short name as found in eip lists. The Acronym of it. e.g.: rin
blockTime - Float! Average block time in seconds.
isTestnet - Boolean! Boolean true if it is a testnet, false if it's not.
nativeCurrency - NativeCurrency! Data from chain native currency.
chain - String! Chain as parameter found in the eip.
useLayer1VotingPeriod - Boolean! Boolean true if L2 depends on L1 for voting period, false if it doesn't.
Example
{
"id": "eip155:1",
"layer1Id": "eip155:1",
"name": "Ethereum Mainnet",
"mediumName": "Ethereum",
"shortName": "eth",
"blockTime": 12,
"isTestnet": false,
"nativeCurrency": "ETH",
"chain": "ETH",
"useLayer1VotingPeriod": true
}
Types
ChainID
Description
ChainID is a CAIP-2 compliant chain id.
Example
"eip155:1"
Types
CompetencyFieldDescriptor
Fields
Field Name Description
id - IntID!
name - String!
description - String!
Example
{
"id": 2207450143689540900,
"name": "xyz789",
"description": "xyz789"
}
Types
Contracts
Fields
Field Name Description
governor - GovernorContract!
tokens - [TokenContract!]!
Example
{
"governor": GovernorContract,
"tokens": [TokenContract]
}
Types
Contributor
Fields
Field Name Description
id - IntID!
account - Account!
isCurator - Boolean!
isApplyingForCouncil - Boolean!
competencyFieldDescriptors - [CompetencyFieldDescriptor!]!
bio - UserBio!
Example
{
"id": 2207450143689540900,
"account": Account,
"isCurator": false,
"isApplyingForCouncil": true,
"competencyFieldDescriptors": [
CompetencyFieldDescriptor
],
"bio": UserBio
}
Types
DataDecoded
Fields
Field Name Description
method - String!
parameters - [Parameter!]!
Example
{
"method": "abc123",
"parameters": [Parameter]
}
Types
Date
Description
Date is a date in the format ISO 8601 format, e.g. YYYY-MM-DD.
Example
"2022-09-22"
Types
DecodedCalldata
Fields
Field Name Description
signature - String! The function signature/name
parameters - [DecodedParameter!]! The decoded parameters
Example
{
"signature": "xyz789",
"parameters": [DecodedParameter]
}
Types
DecodedParameter
Fields
Field Name Description
name - String! Parameter name
type - String! Parameter type (e.g., 'address', 'uint256')
value - String! Parameter value as a string
Example
{
"name": "xyz789",
"type": "abc123",
"value": "abc123"
}
Types
Delegate
Fields
Field Name Description
id - IntID!
account - Account!
chainId - ChainID
delegatorsCount - Int!
governor - Governor
organization - Organization
statement - DelegateStatement
token - Token
votesCount - Uint256!
Arguments
blockNumber - Int
Example
{
"id": 2207450143689540900,
"account": Account,
"chainId": "eip155:1",
"delegatorsCount": 123,
"governor": Governor,
"organization": Organization,
"statement": DelegateStatement,
"token": Token,
"votesCount": 10987654321
}
Types
DelegateInput
Fields
Input Field Description
address - Address!
governorId - AccountID
organizationId - IntID
Example
{
"address": "0x1234567800000000000000000000000000000abc",
"governorId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"organizationId": 2207450143689540900
}
Types
DelegateStatement
Fields
Field Name Description
id - IntID!
address - Address!
organizationID - IntID!
statement - String!
statementSummary - String
isSeekingDelegation - Boolean
issues - [Issue!]
Example
{
"id": 2207450143689540900,
"address": "0x1234567800000000000000000000000000000abc",
"organizationID": 2207450143689540900,
"statement": "abc123",
"statementSummary": "xyz789",
"isSeekingDelegation": false,
"issues": [Issue]
}
Types
DelegatesFiltersInput
Fields
Input Field Description
address - Address address filter in combination with organizationId allows fetching delegate info of this address from each chain
governorId - AccountID
hasVotes - Boolean
hasDelegators - Boolean
issueIds - [IntID!]
isSeekingDelegation - Boolean
organizationId - IntID
Example
{
"address": "0x1234567800000000000000000000000000000abc",
"governorId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"hasVotes": true,
"hasDelegators": false,
"issueIds": [2207450143689540900],
"isSeekingDelegation": false,
"organizationId": 2207450143689540900
}
Types
DelegatesInput
Fields
Input Field Description
filters - DelegatesFiltersInput!
page - PageInput
sort - DelegatesSortInput
Example
{
"filters": DelegatesFiltersInput,
"page": PageInput,
"sort": DelegatesSortInput
}
Types
DelegatesSortBy
Values
Enum Value Description
id
The default sorting method. It sorts by date.
votes
Sorts by voting power.
delegators
Sorts by total delegators.
prioritized
Sorts by DAO prioritization.
Example
"id"
Types
DelegatesSortInput
Fields
Input Field Description
isDescending - Boolean!
sortBy - DelegatesSortBy!
Example
{"isDescending": true, "sortBy": "id"}
Types
Delegation
Fields
Field Name Description
id - IntID!
blockNumber - Int!
blockTimestamp - Timestamp!
chainId - ChainID!
delegator - Account!
delegate - Account!
organization - Organization!
token - Token!
votes - Uint256!
Example
{
"id": 2207450143689540900,
"blockNumber": 987,
"blockTimestamp": 1663224162,
"chainId": "eip155:1",
"delegator": Account,
"delegate": Account,
"organization": Organization,
"token": Token,
"votes": 10987654321
}
Types
DelegationInput
Fields
Input Field Description
address - Address!
tokenId - AssetID!
Example
{
"address": "0x1234567800000000000000000000000000000abc",
"tokenId": "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f"
}
Types
DelegationsFiltersInput
Fields
Input Field Description
address - Address!
governorId - AccountID
organizationId - IntID
Example
{
"address": "0x1234567800000000000000000000000000000abc",
"governorId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"organizationId": 2207450143689540900
}
Types
DelegationsInput
Fields
Input Field Description
filters - DelegationsFiltersInput!
page - PageInput
sort - DelegationsSortInput
Example
{
"filters": DelegationsFiltersInput,
"page": PageInput,
"sort": DelegationsSortInput
}
Types
DelegationsSortBy
Values
Enum Value Description
id
The default sorting method. It sorts by date.
votes
Sorts by voting power.
Example
"id"
Types
DelegationsSortInput
Fields
Input Field Description
isDescending - Boolean!
sortBy - DelegationsSortBy!
Example
{"isDescending": true, "sortBy": "id"}
Types
Eligibility
Fields
Field Name Description
status - EligibilityStatus! Whether the account is eligible to claim
proof - [String!]
amount - Uint256 Amount the account can claim from this token
tx - HashID
Example
{
"status": "NOTELIGIBLE",
"proof": ["abc123"],
"amount": 10987654321,
"tx": "eip155:1:0xcd31cf5dbd3281442d80ceaa529eba678d55be86b7a342f5ed9cc8e49dadc855"
}
Types
EligibilityStatus
Values
Enum Value Description
NOTELIGIBLE
ELIGIBLE
CLAIMED
Example
"NOTELIGIBLE"
Types
EndorsementService
Fields
Field Name Description
id - IntID!
competencyFields - [CompetencyFieldDescriptor!]!
Example
{
"id": 2207450143689540900,
"competencyFields": [CompetencyFieldDescriptor]
}
Types
ExecutableCall
Fields
Field Name Description
calldata - Bytes!
chainId - ChainID!
index - Int!
signature - String Target contract's function signature.
target - Address!
type - ExecutableCallType
value - Uint256!
decodedCalldata - DecodedCalldata Decoded representation of the calldata
Example
{
"calldata": "0x4321abcd",
"chainId": "eip155:1",
"index": 123,
"signature": "abc123",
"target": "0x1234567800000000000000000000000000000abc",
"type": "custom",
"value": 10987654321,
"decodedCalldata": DecodedCalldata
}
Types
ExecutableCallType
Values
Enum Value Description
custom
erc20transfer
erc20transferarbitrum
empty
nativetransfer
orcamanagepod
other
reward
swap
Example
"custom"
Types
Float
Description
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
123.45
Types
Governor
Fields
Field Name Description
id - AccountID!
chainId - ChainID!
contracts - Contracts!
isIndexing - Boolean!
isBehind - Boolean!
isPrimary - Boolean!
kind - GovernorKind!
name - String! Tally name of the governor contract
organization - Organization!
proposalStats - ProposalStats!
parameters - GovernorParameters!
quorum - Uint256! The minumum amount of votes (total or for depending on type) that are currently required to pass a proposal.
slug - String! Tally slug used for this goverance: tally.xyz/gov/[slug]
timelockId - AccountID Chain scoped address of the timelock contract for this governor if it exists.
tokenId - AssetID!
token - Token!
type - GovernorType!
delegatesCount - Int!
delegatesVotesCount - Uint256!
tokenOwnersCount - Int!
metadata - GovernorMetadata
Example
{
"id": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"chainId": "eip155:1",
"contracts": Contracts,
"isIndexing": true,
"isBehind": false,
"isPrimary": true,
"kind": "single",
"name": "Uniswap",
"organization": Organization,
"proposalStats": ProposalStats,
"parameters": GovernorParameters,
"quorum": 10987654321,
"slug": "uniswap",
"timelockId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"tokenId": "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f",
"token": Token,
"type": "governoralpha",
"delegatesCount": 123,
"delegatesVotesCount": 10987654321,
"tokenOwnersCount": 123,
"metadata": GovernorMetadata
}
Types
GovernorContract
Fields
Field Name Description
address - Address!
type - GovernorType!
Example
{
"address": "0x1234567800000000000000000000000000000abc",
"type": "governoralpha"
}
Types
GovernorInput
Fields
Input Field Description
id - AccountID
slug - String
Example
{
"id": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"slug": "abc123"
}
Types
GovernorKind
Values
Enum Value Description
single
multiprimary
multisecondary
multiother
hub
spoke
Example
"single"
Types
GovernorMetadata
Fields
Field Name Description
description - String
Example
{"description": "abc123"}
Types
GovernorParameters
Fields
Field Name Description
quorumVotes - Uint256
proposalThreshold - Uint256
votingDelay - Uint256
votingPeriod - Uint256
gracePeriod - Uint256
quorumNumerator - Uint256
quorumDenominator - Uint256
clockMode - String
nomineeVettingDuration - Uint256
fullWeightDuration - Uint256
Example
{
"quorumVotes": 10987654321,
"proposalThreshold": 10987654321,
"votingDelay": 10987654321,
"votingPeriod": 10987654321,
"gracePeriod": 10987654321,
"quorumNumerator": 10987654321,
"quorumDenominator": 10987654321,
"clockMode": "abc123",
"nomineeVettingDuration": 10987654321,
"fullWeightDuration": 10987654321
}
Types
GovernorType
Values
Enum Value Description
governoralpha
governorbravo
openzeppelingovernor
aave
nounsfork
nomineeelection
memberelection
hub
spoke
Example
"governoralpha"
Types
GovernorsFiltersInput
Fields
Input Field Description
organizationId - IntID!
includeInactive - Boolean
excludeSecondary - Boolean
Example
{
"organizationId": 2207450143689540900,
"includeInactive": false,
"excludeSecondary": false
}
Types
GovernorsInput
Fields
Input Field Description
filters - GovernorsFiltersInput!
page - PageInput
sort - GovernorsSortInput
Example
{
"filters": GovernorsFiltersInput,
"page": PageInput,
"sort": GovernorsSortInput
}
Types
GovernorsSortBy
Values
Enum Value Description
id
The default sorting method. It sorts by date.
Example
"id"
Types
GovernorsSortInput
Fields
Input Field Description
isDescending - Boolean!
sortBy - GovernorsSortBy!
Example
{"isDescending": true, "sortBy": "id"}
Types
Hash
Description
Hash is for identifying transactions on a chain. Ex: 0xDEAD.
Example
"0xcd31cf5dbd3281442d80ceaa529eba678d55be86b7a342f5ed9cc8e49dadc855"
Types
HashID
Description
HashID is a ChainID scoped identifier for identifying transactions across chains. Ex: eip155:1:0xDEAD.
Example
"eip155:1:0xcd31cf5dbd3281442d80ceaa529eba678d55be86b7a342f5ed9cc8e49dadc855"
Types
ID
Description
The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
Example
4
Types
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
987
Types
IntID
Description
IntID is a 64bit integer as a string - this is larger than Javascript's number.
Example
2207450143689540900
Types
Issue
Fields
Field Name Description
id - IntID!
organizationId - IntID
name - String
description - String
Example
{
"id": 2207450143689540900,
"organizationId": 2207450143689540900,
"name": "abc123",
"description": "xyz789"
}
Types
Member
Fields
Field Name Description
id - ID!
account - Account!
organization - Organization!
Example
{
"id": 4,
"account": Account,
"organization": Organization
}
Types
NativeCurrency
Fields
Field Name Description
name - String! Name of the Currency. e.g.: Ether
symbol - String! Symbol of the Currency. e.g.: ETH
decimals - Int! Decimals of the Currency. e.g.: 18
Example
{
"name": "abc123",
"symbol": "xyz789",
"decimals": 123
}
Types
Node
Description
Union of all node types that are paginated.
Types
Union Types
Delegate
Organization
Member
Delegation
Governor
Proposal
Vote
StakeEvent
StakeEarning
Contributor
Allocation
Example
Delegate
Types
Organization
Fields
Field Name Description
id - IntID!
slug - String!
name - String!
chainIds - [ChainID!]!
tokenIds - [AssetID!]!
governorIds - [AccountID!]!
metadata - OrganizationMetadata
creator - Account
hasActiveProposals - Boolean!
proposalsCount - Int!
delegatesCount - Int!
delegatesVotesCount - Uint256!
tokenOwnersCount - Int!
endorsementService - EndorsementService
Example
{
"id": 2207450143689540900,
"slug": "xyz789",
"name": "abc123",
"chainIds": ["eip155:1"],
"tokenIds": [
"eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f"
],
"governorIds": [
"eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc"
],
"metadata": OrganizationMetadata,
"creator": Account,
"hasActiveProposals": true,
"proposalsCount": 987,
"delegatesCount": 123,
"delegatesVotesCount": 10987654321,
"tokenOwnersCount": 987,
"endorsementService": EndorsementService
}
Types
OrganizationInput
Fields
Input Field Description
id - IntID
slug - String
Example
{
"id": 2207450143689540900,
"slug": "abc123"
}
Types
OrganizationMetadata
Fields
Field Name Description
color - String
description - String
icon - String
Example
{
"color": "abc123",
"description": "abc123",
"icon": "abc123"
}
Types
OrganizationsFiltersInput
Fields
Input Field Description
address - Address
chainId - ChainID
hasLogo - Boolean
isMember - Boolean Indicates whether the user holds any of the governance tokens associated with the organization.
Example
{
"address": "0x1234567800000000000000000000000000000abc",
"chainId": "eip155:1",
"hasLogo": true,
"isMember": true
}
Types
OrganizationsInput
Fields
Input Field Description
filters - OrganizationsFiltersInput
page - PageInput
sort - OrganizationsSortInput
Example
{
"filters": OrganizationsFiltersInput,
"page": PageInput,
"sort": OrganizationsSortInput
}
Types
OrganizationsSortBy
Values
Enum Value Description
id
The default sorting method. It sorts by date.
name
explore
Sorts by live proposals and voters as on the Tally explore page.
popular
Same as explore but does not prioritize live proposals.
Example
"id"
Types
OrganizationsSortInput
Fields
Input Field Description
isDescending - Boolean!
sortBy - OrganizationsSortBy!
Example
{"isDescending": true, "sortBy": "id"}
Types
PageInfo
Description
Page metadata including pagination cursors and total count
Fields
Field Name Description
firstCursor - String Cursor of the first item in the page
lastCursor - String Cursor of the last item in the page
count - Int Total number of items across all pages. FYI, this is not yet implemented so the value will always be 0
Example
{
"firstCursor": "xyz789",
"lastCursor": "xyz789",
"count": 123
}
Types
PageInput
Description
Input to specify cursor based pagination parameters. Depending on which page is being fetched, between afterCursor & beforeCursor, only one's value needs to be provided
Fields
Input Field Description
afterCursor - String Cursor to start pagination after to fetch the next page
beforeCursor - String Cursor to start pagination before to fetch the previous page
limit - Int Maximum number of items per page 20 is the hard limit set on the backend
Example
{
"afterCursor": "abc123",
"beforeCursor": "abc123",
"limit": 123
}
Types
PaginatedOutput
Description
Wraps a list of nodes and the pagination info
Fields
Field Name Description
nodes - [Node!]! List of nodes for the page
pageInfo - PageInfo! Pagination information
Example
{
"nodes": [Delegate],
"pageInfo": PageInfo
}
Types
Parameter
Fields
Field Name Description
name - String!
type - String!
value - Any!
valueDecoded - [ValueDecoded!]
Example
{
"name": "xyz789",
"type": "xyz789",
"value": Any,
"valueDecoded": [ValueDecoded]
}
Types
Proposal
Fields
Field Name Description
id - IntID! Tally ID
onchainId - String ID onchain
block - Block
chainId - ChainID!
creator - Account Account that submitted this proposal onchain
end - BlockOrTimestamp! Last block or timestamp when you can cast a vote
events - [ProposalEvent!]! List of state transitions for this proposal. The last ProposalEvent is the current state.
executableCalls - [ExecutableCall!]
governor - Governor!
metadata - ProposalMetadata!
organization - Organization!
proposer - Account Account that created this proposal offchain
quorum - Uint256
status - ProposalStatus!
start - BlockOrTimestamp! First block when you can cast a vote, also the time when quorum is established
voteStats - [VoteStats!]
Example
{
"id": 2207450143689540900,
"onchainId": "abc123",
"block": Block,
"chainId": "eip155:1",
"creator": Account,
"end": Block,
"events": [ProposalEvent],
"executableCalls": [ExecutableCall],
"governor": Governor,
"metadata": ProposalMetadata,
"organization": Organization,
"proposer": Account,
"quorum": 10987654321,
"status": "active",
"start": Block,
"voteStats": [VoteStats]
}
Types
ProposalEvent
Fields
Field Name Description
block - Block
chainId - ChainID!
createdAt - Timestamp!
type - ProposalEventType!
txHash - Hash
Example
{
"block": Block,
"chainId": "eip155:1",
"createdAt": 1663224162,
"type": "activated",
"txHash": "0xcd31cf5dbd3281442d80ceaa529eba678d55be86b7a342f5ed9cc8e49dadc855"
}
Types
ProposalEventType
Values
Enum Value Description
activated
canceled
created
defeated
drafted
executed
expired
extended
pendingexecution
queued
succeeded
callexecuted
crosschainexecuted
Example
"activated"
Types
ProposalInput
Fields
Input Field Description
id - IntID
onchainId - String this is not unique across governors; so must be used in combination with governorId
governorId - AccountID
includeArchived - Boolean
isLatest - Boolean
Example
{
"id": 2207450143689540900,
"onchainId": "xyz789",
"governorId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"includeArchived": true,
"isLatest": true
}
Types
ProposalMetadata
Fields
Field Name Description
title - String! Proposal title: usually first line of description
description - String! Proposal description onchain
eta - Int Time at which a proposal can be executed
ipfsHash - String
previousEnd - Int
timelockId - AccountID
txHash - Hash
discourseURL - String
snapshotURL - String
Example
{
"title": "Fund the Grants Program",
"description": "Here's why it's a good idea to fund the Grants Program",
"eta": 1675437793,
"ipfsHash": "xyz789",
"previousEnd": 123,
"timelockId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"txHash": "0xcd31cf5dbd3281442d80ceaa529eba678d55be86b7a342f5ed9cc8e49dadc855",
"discourseURL": "xyz789",
"snapshotURL": "abc123"
}
Types
ProposalStats
Fields
Field Name Description
total - Int! Total count of proposals
active - Int! Total count of active proposals
failed - Int! Total count of failed proposals including quorum not reached
passed - Int! Total count of passed proposals
Example
{"total": 123, "active": 987, "failed": 123, "passed": 987}
Types
ProposalStatus
Values
Enum Value Description
active
archived
canceled
callexecuted
defeated
draft
executed
expired
extended
pending
queued
pendingexecution
submitted
succeeded
crosschainexecuted
Example
"active"
Types
ProposalsCreatedCountInput
Fields
Input Field Description
governorId - AccountID
organizationId - IntID
Example
{
"governorId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"organizationId": 2207450143689540900
}
Types
ProposalsFiltersInput
Fields
Input Field Description
governorId - AccountID
includeArchived - Boolean Only drafts can be archived; so, this works ONLY with isDraft: true
isDraft - Boolean
organizationId - IntID
proposer - Address Address that created the proposal offchain; in other words, created the draft
Example
{
"governorId": "eip155:1:0x7e90e03654732abedf89Faf87f05BcD03ACEeFdc",
"includeArchived": false,
"isDraft": true,
"organizationId": 2207450143689540900,
"proposer": "0x1234567800000000000000000000000000000abc"
}
Types
ProposalsInput
Fields
Input Field Description
filters - ProposalsFiltersInput!
page - PageInput
sort - ProposalsSortInput
Example
{
"filters": ProposalsFiltersInput,
"page": PageInput,
"sort": ProposalsSortInput
}
Types
ProposalsSortBy
Values
Enum Value Description
id
The default sorting method. It sorts by date.
Example
"id"
Types
ProposalsSortInput
Fields
Input Field Description
isDescending - Boolean!
sortBy - ProposalsSortBy!
Example
{"isDescending": true, "sortBy": "id"}
Types
Role
Values
Enum Value Description
ADMIN
USER
Example
"ADMIN"
Types
StakeEarning
Fields
Field Name Description
amount - Uint256!
date - Date!
Example
{
"amount": 10987654321,
"date": "2022-09-22"
}
Types
StakeEvent
Fields
Field Name Description
amount - Uint256!
block - Block!
type - StakeEventType!
Example
{"amount": 10987654321, "block": Block, "type": "deposit"}
Types
StakeEventType
Values
Enum Value Description
deposit
withdraw
Example
"deposit"
Types
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"abc123"
Types
Timestamp
Description
Timestamp is a RFC3339 string.
Example
1663224162
Types
Token
Description
Core type that describes an onchain Token contract
Fields
Field Name Description
id - AssetID!
type - TokenType! Token contract type
name - String! Onchain name
symbol - String! Onchain symbol
supply - Uint256! supply derived from Transfer events
decimals - Int! Number of decimal places included in Uint256 values
eligibility - Eligibility! Eligibility of an account to claim this token
Arguments
id - AccountID!
isIndexing - Boolean!
isBehind - Boolean!
Example
{
"id": "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f",
"type": "ERC20",
"name": "xyz789",
"symbol": "xyz789",
"supply": 10987654321,
"decimals": 987,
"eligibility": Eligibility,
"isIndexing": false,
"isBehind": true
}
Types
TokenContract
Fields
Field Name Description
address - Address!
type - TokenType!
Example
{
"address": "0x1234567800000000000000000000000000000abc",
"type": "ERC20"
}
Types
TokenInput
Fields
Input Field Description
id - AssetID!
Example
{
"id": "eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f"
}
Types
TokenType
Values
Enum Value Description
ERC20
ERC721
ERC20AAVE
SOLANASPOKETOKEN
Example
"ERC20"
Types
Uint256
Description
Uint256 is a large unsigned integer represented as a string.
Example
10987654321
Types
UserBio
Fields
Field Name Description
value - String!
summary - String!
Example
{
"value": "abc123",
"summary": "xyz789"
}
Types
ValueDecoded
Fields
Field Name Description
operation - Int!
to - String!
value - String!
data - String!
dataDecoded - DataDecoded
Example
{
"operation": 987,
"to": "xyz789",
"value": "abc123",
"data": "xyz789",
"dataDecoded": DataDecoded
}
Types
Vote
Fields
Field Name Description
id - IntID!
amount - Uint256!
block - Block!
chainId - ChainID!
isBridged - Boolean
proposal - Proposal!
reason - String
type - VoteType!
txHash - Hash!
voter - Account!
Example
{
"id": 2207450143689540900,
"amount": 10987654321,
"block": Block,
"chainId": "eip155:1",
"isBridged": true,
"proposal": Proposal,
"reason": "abc123",
"type": "abstain",
"txHash": "0xcd31cf5dbd3281442d80ceaa529eba678d55be86b7a342f5ed9cc8e49dadc855",
"voter": Account
}
Types
VoteStats
Description
Voting Summary per Choice
Fields
Field Name Description
type - VoteType!
votesCount - Uint256! Total votes casted for this Choice/VoteType
votersCount - Int! Total number of distinct voters for this Choice/VoteType
percent - Float! Percent of votes casted for this Choice/`Votetype'
Example
{
"type": "abstain",
"votesCount": 10987654321,
"votersCount": 123,
"percent": 987.65
}
Types
VoteType
Values
Enum Value Description
abstain
against
for
pendingabstain
pendingagainst
pendingfor
Example
"abstain"
Types
VotesFiltersInput
Fields
Input Field Description
proposalId - IntID
proposalIds - [IntID!]
voter - Address
includePendingVotes - Boolean
type - VoteType
Example
{
"proposalId": 2207450143689540900,
"proposalIds": [2207450143689540900],
"voter": "0x1234567800000000000000000000000000000abc",
"includePendingVotes": true,
"type": "abstain"
}
Types
VotesInput
Fields
Input Field Description
filters - VotesFiltersInput!
page - PageInput
sort - VotesSortInput
Example
{
"filters": VotesFiltersInput,
"page": PageInput,
"sort": VotesSortInput
}
Types
VotesSortBy
Values
Enum Value Description
id
The default sorting method. It sorts by date.
amount
Example
"id"
Types
VotesSortInput
Fields
Input Field Description
isDescending - Boolean!
sortBy - VotesSortBy!
Example
{"isDescending": true, "sortBy": "id"}
Documentation by Anvil SpectaQL
```
--------------------------------------------------------------------------------
/Tally API Sample Queries from Site.txt:
--------------------------------------------------------------------------------
```
This file is a merged representation of the entire codebase, combining all repository files into a single document.
Generated by Repomix on: 2025-01-01T15:05:31.006Z
================================================================
File Summary
================================================================
Purpose:
--------
This file contains a packed representation of the entire repository's contents.
It is designed to be easily consumable by AI systems for analysis, code review,
or other automated processes.
File Format:
------------
The content is organized as follows:
1. This summary section
2. Repository information
3. Directory structure
4. Multiple file entries, each consisting of:
a. A separator line (================)
b. The file path (File: path/to/file)
c. Another separator line
d. The full contents of the file
e. A blank line
Usage Guidelines:
-----------------
- This file should be treated as read-only. Any changes should be made to the
original repository files, not this packed version.
- When processing this file, use the file path to distinguish
between different files in the repository.
- Be aware that this file may contain sensitive information. Handle it with
the same level of security as you would the original repository.
Notes:
------
- Some files may have been excluded based on .gitignore rules and Repomix's
configuration.
- Binary files are not included in this packed representation. Please refer to
the Repository Structure section for a complete list of file paths, including
binary files.
Additional Info:
----------------
For more information about Repomix, visit: https://github.com/yamadashy/repomix
================================================================
Directory Structure
================================================================
src/
address/
components/
AddressCreatedProposals.graphql
AddressDAOSProposals.graphql
AddressGovernances.graphql
AddressHeader.graphql
AddressReceivedDelegationsGovernance.graphql
AddressTabPanels.graphql
hooks/
useAccountByEns.graphql
useAddressMetadata.graphql
useAddressSafes.graphql
useDelegateStatement.graphql
collaborative/
hooks/
useAccountsComments.graphql
common/
components/
SearchDaos.graphql
hooks/
balances.graphql
useLogin.graphql
useMe.graphql
useUploadFile.graphql
council/
components/
ContenderLayoutQuery.graphql
CouncilCurrentMembersList.graphql
CouncilElections.graphql
CouncilMembers.graphql
ElectionLayoutQuery.graphql
GovernanceCouncilBanner.graphql
GovernanceCouncils.graphql
NomineeHeader.graphql
NomineeSupporters.graphql
UpdateCandidateProfile.graphql
hooks/
useContenderByAddressOrEns.graphql
useContenderElectionMeta.graphql
useElectionMemberRound.graphql
useElectionMemberRoundNominees.graphql
useElectionNominationRound.graphql
useElectionNominationRoundContenders.graphql
useMemberRoundDecayVotes.graphql
useNomineeByAddressOrEns.graphql
useRegisterAttempt.graphql
common.graphql
createProposal/
components/
actions/
ManageOrcaPodRecipe.graphql
RecipientAddressQuery.graphql
SwapPools.uniswap.graphql
SwapRecipe.graphql
TransferTokensRecipe.graphql
receipts/
TransferTokensReceipt.graphql
ActionsSecurityCheck.graphql
CreateProposalGovernanceSelector.graphql
EditTallyProposal.graphql
hooks/
useCreateTallyProposal.graphql
useProposalThresholdRequirements.graphql
delegation/
components/
DelegateModal.graphql
SecurityCouncilActionBanner.graphql
helpers/
GovernanceGovernorType.graphql
GovernanceSponsorDelegationById.graphql
hooks/
useAddresDelegationsOut.graphql
useCreateDelegationAttempt.graphql
governance/
components/
claim/
GovernanceClaimAndDelegateAttempt.graphql
GovernanceClaimConfirm.graphql
guardians/
GuardiansAccounts.graphql
DelegateButton.graphql
GovernanceClaimAirdrop.graphql
GovernanceDelegateProfileEdit.graphql
GovernanceDelegates.graphql
GovernanceDelegatesLayout.graphql
GovernanceDelegatesSummary.graphql
GovernanceHeader.graphql
GovernanceIdtoToOrgId.graphql
GovernanceIncomingDelegations.graphql
GovernanceMetaInformation.graphql
GovernanceModuleInformation.graphql
GovernanceMyVotingPower.graphql
GovernanceMyVotingPowerDelegatingTo.graphql
GovernanceProposals.graphql
GovernanceProposalStats.graphql
GovernanceTopAdvocates.graphql
GovernanceTreasuryInformation.graphql
GovernorsByOrganization.graphql
OrganizationIssues.graphql
hooks/
useAccountById.graphql
useClaimAirdropEligible.graphql
useCreateClaimAndDelegateAttempt.graphql
useCreateUnistakerTransaction.graphql
useGetUnistakerTransactions.graphql
useGovernorClaimFlow.graphql
useResumeSync.graphql
useUpdateUnistakerTransaction.graphql
useUpsertDelegateProfile.graphql
common.graphql
meta-transaction/
mutations/
CreateCastVoteMetaTransaction.graphql
CreateDelegateMetaTransaction.graphql
queries/
MetaTransactions.graphql
organization/
components/
OrganizationAddAdminForm.graphql
OrganizationAdminList.graphql
OrganizationBasicSettings.graphql
OrganizationBySlug.graphql
OrganizationEditLogo.graphql
OrganizationHeader.graphql
OrganizationHomeDelegatesMobile.graphql
OrganizationHomeProposalsMobile.graphql
OrganizationLatestForumActivities.graphql
OrganizationMyVotingPower.graphql
OrganizationRisingDelegates.graphql
OrganizationSafeList.graphql
OrganizationSlugToId.graphql
ValidateNewGovernor.graphql
hooks/
useCreateDAO.graphql
useJoinOrganization.graphql
useOrganizationDelegatesSummary.graphql
useRemoveSuperAdmin.graphql
useToken.graphql
useUnlinkGnosisSafe.graphql
useUpdateOrganization.graphql
useUpdateOrganizationAdmins.graphql
useUpdateOrganizationPassword.graphql
useUploadOrganizationLogo.graphql
providers/
OrganizationProvider.graphql
common.graphql
proposal/
components/
ctas/
ProposalActionAttempt.graphql
ProposalActiveCTA.graphql
ProposalDefeatedCTA.graphql
ProposalExecutedCTA.graphql
ProposalPendingCTA.graphql
ProposalQueuedCTA.graphql
ProposalSuccededCTA.graphql
receipts/
SwapReceipt.uniswap.graphql
TransferTokensReceipt.graphql
OrganizationTable.graphql
ProposalAccountVote.graphql
ProposalBubbleChart.graphql
ProposalDetails.graphql
ProposalHeader.graphql
ProposalMetadata.graphql
ProposalMobileButtons.graphql
ProposalPendingVotes.graphql
ProposalProgressBars.graphql
ProposalStatusHistory.graphql
ProposalTimelineChart.graphql
ProposalVoteModal.graphql
ProposalVotesCast.graphql
ProposalVotesCastList.graphql
VoteListHeader.graphql
VoteListTable.graphql
hooks/
useBlockMetadata.graphql
useCreateProposalActionAttempt.graphql
register/
components/
useContractAbi.graphql
useCreateSafe.graphql
safe/
components/
SafeHeader.graphql
SafeOwners.graphql
useUpdatesafe.graphql
session/
hooks/
useLoginAsSafe.graphql
tallyProposal/
components/
ctas/
TallyProposalDraftCTA.graphql
TallyProposalSubmittedCTA.graphql
TallyProposalDetails.graphql
TallyProposalHeader.graphql
TallyProposalImpactOverviewSummary.graphql
TallyProposalMobileButtons.graphql
TallyProposalStatusHistory.graphql
TallyProposalVersionHistory.graphql
hooks/
useArchiveProposal.graphql
useRestorePreviousProposalDraf.graphql
useTallyProposal.graphql
useTallyProposalMetadata.graphql
useUpdateTallyProposal.graphql
user/
components/
UserConnect.graphql
UserCreateAPIKey.graphql
UserGovernances.graphql
UserOrganizations.graphql
UserProfileUpdate.graphql
hooks/
useRemoveTwitter.graphql
useUpdateAccount.graphql
useUpdateAccountEmail.graphql
useUpdateIdentities.graphql
useUpdateProfile.graphql
useUpdateProfileImage.graphql
voting/
hooks/
useAccountVotingPower.graphql
useCreateVoteAttempt.graphql
web3/
components/
useNonce.graphql
hooks/
useTransactionAttempts.graphql
================================================================
Files
================================================================
================
File: src/address/components/AddressCreatedProposals.graphql
================
query CreatedProposals($input: ProposalsInput!) {
proposals(input: $input) {
nodes {
... on Proposal {
id
onchainId
originalId
governor {
id
}
metadata {
description
}
status
createdAt
block {
timestamp
}
voteStats {
votesCount
votersCount
type
percent
}
}
}
pageInfo {
firstCursor
lastCursor
}
}
}
================
File: src/address/components/AddressDAOSProposals.graphql
================
query AddressDAOSProposals($input: ProposalsInput!, $address: Address!) {
proposals(input: $input) {
nodes {
... on Proposal {
id
createdAt
onchainId
originalId
metadata {
description
}
governor {
id
}
block {
timestamp
}
proposer {
address
}
creator {
address
}
start {
... on Block {
timestamp
}
... on BlocklessTimestamp {
timestamp
}
}
status
voteStats {
votesCount
votersCount
type
percent
}
participationType(address: $address)
}
}
pageInfo {
firstCursor
lastCursor
}
}
}
================
File: src/address/components/AddressGovernances.graphql
================
query AddressGovernancesDelegators($input: DelegatesInput!) {
delegates(input: $input) {
nodes {
... on Delegate {
id
delegatorsCount
votesCount
account {
name
address
ens
picture
}
organization {
id
name
tokenOwnersCount
delegatesVotesCount
slug
metadata {
icon
}
}
}
}
pageInfo {
firstCursor
lastCursor
}
}
}
query AddressGovernancesDelegatees($input: DelegationsInput!) {
delegatees(input: $input) {
nodes {
... on Delegation {
# this is the address receiving the delegation
delegate {
name
address
ens
picture
}
# this is the address delegating
delegator {
name
address
ens
picture
}
organization {
id
name
slug
delegatesVotesCount
metadata {
icon
}
}
token {
decimals
supply
}
votes
}
}
pageInfo {
firstCursor
lastCursor
}
}
}
================
File: src/address/components/AddressHeader.graphql
================
query AddressHeader($accountId: AccountID!) {
account(id: $accountId) {
address
bio
name
picture
twitter
}
}
query AddressDelegatingTo($delegateeInput: DelegationInput!) {
delegatee(input: $delegateeInput) {
delegate {
name
address
ens
picture
}
votes
token {
id
name
symbol
decimals
}
}
}
================
File: src/address/components/AddressReceivedDelegationsGovernance.graphql
================
query DelegateInformation($tokenBalancesInput: TokenBalancesInput!) {
tokenBalances(input: $tokenBalancesInput) {
balance
}
}
query ReceivedDelegationsGovernance($input: DelegationsInput!) {
delegators(input: $input) {
nodes {
... on Delegation {
chainId
delegator {
address
name
picture
twitter
ens
}
blockNumber
blockTimestamp
votes
}
}
pageInfo {
firstCursor
lastCursor
}
}
}
================
File: src/address/components/AddressTabPanels.graphql
================
query AddressTabPanelsStats(
$input: DelegateInput!
$proposalsCreatedCountInput: ProposalsCreatedCountInput!
$accountId: AccountID!
) {
account(id: $accountId) {
proposalsCreatedCount(input: $proposalsCreatedCountInput)
}
delegate(input: $input) {
delegatorsCount
votesCount
}
}
================
File: src/address/hooks/useAccountByEns.graphql
================
query AccountByEns($ens: String!) {
accountByEns(ens: $ens) {
id
address
ens
name
bio
picture
twitter
}
}
================
File: src/address/hooks/useAddressMetadata.graphql
================
query AddressMetadata($address: Address!) {
address(address: $address) {
address
accounts {
id
address
ens
name
bio
picture
}
}
}
================
File: src/address/hooks/useAddressSafes.graphql
================
query AddressSafes($accountId: AccountID!) {
account(id: $accountId) {
safes
}
}
================
File: src/address/hooks/useDelegateStatement.graphql
================
query DelegateStatement($input: DelegateInput!) {
delegate(input: $input) {
statement {
id
address
organizationID
issues {
id
name
organizationId
description
}
statement
statementSummary
dataSource
dataSourceURL
discourseUsername
discourseProfileLink
isSeekingDelegation
isMember
hideDisclaimer
}
}
}
================
File: src/collaborative/hooks/useAccountsComments.graphql
================
query AccountsComments($ids: [AccountID!]) {
accounts(ids: $ids) {
id
address
name
picture
}
}
================
File: src/common/components/SearchDaos.graphql
================
query SearchOrgs($input: SearchOrganizationInput!) {
searchOrganization(input: $input) {
id
slug
name
governorIds
metadata {
icon
}
tokenOwnersCount
tokenIds
chainIds
}
}
================
File: src/common/hooks/balances.graphql
================
query TokenBalances($input: AccountID!) {
balances(accountID: $input) {
name
symbol
address
logo
nativeToken
type
decimals
balance
balance24H
quoteRate
quoteRate24H
quote
quote24H
}
}
================
File: src/common/hooks/useLogin.graphql
================
mutation Login(
$message: String!
$signature: String!
$signInType: SignInType!
) {
login(message: $message, signature: $signature, signInType: $signInType)
}
================
File: src/common/hooks/useMe.graphql
================
query Me {
me {
id
bio
name
type
address
email
picture
apiKeys {
name
lastFour
}
ens
twitter
}
}
================
File: src/common/hooks/useUploadFile.graphql
================
mutation UploadFile($file: Upload!) {
upload(file: {id: 1, upload: $file}) {
url
id
metadata {
thumbnail
url
}
}
}
================
File: src/council/components/ContenderLayoutQuery.graphql
================
query ContenderLayout(
$electionNumber: Int!
$councilSlug: String!
$address: String!
$pagination: Pagination
) {
contender(
electionNumber: $electionNumber
councilSlug: $councilSlug
address: $address
) {
id
account {
id
address
picture
ens
twitter
name
}
totalVotes
nominated
rejected
accountElectionMeta {
hasRegistered
isContender
title
statement
}
votes(pagination: $pagination) {
voter {
id
address
ens
twitter
name
email
bio
picture
}
weight
}
}
}
================
File: src/council/components/CouncilCurrentMembersList.graphql
================
query CouncilCurrentMembersList($slug: String!) {
council(slug: $slug) {
members {
firstCohort {
address
name
picture
id
bio
ens
}
secondCohort {
address
name
picture
id
bio
ens
}
}
}
}
================
File: src/council/components/CouncilElections.graphql
================
query CouncilElections($slug: String!) {
council(slug: $slug) {
elections {
status
number
nominationRound {
start {
ts
}
end {
ts
}
status
}
memberRound {
end {
ts
}
}
}
}
}
================
File: src/council/components/CouncilMembers.graphql
================
query CouncilMembers($slug: String!) {
council(slug: $slug) {
members {
firstCohort {
address
name
picture
id
bio
ens
}
secondCohort {
address
name
picture
id
bio
ens
}
}
}
}
================
File: src/council/components/ElectionLayoutQuery.graphql
================
query ElectionLayout($electionNumber: Int!, $councilSlug: String!) {
election(councilSlug: $councilSlug, number: $electionNumber) {
number
status
nominationRound {
id
status
endNomineeVotingPeriod {
ts
}
start {
ts
}
end {
ts
}
vettingDuration
threshold
contenderRegistrationStart {
ts
}
}
memberRound {
status
start {
ts
}
end {
ts
}
}
}
}
================
File: src/council/components/GovernanceCouncilBanner.graphql
================
query GovernanceCouncilBanner($tokenId: AssetID!) {
councils(tokenId: $tokenId) {
slug
name
elections {
number
status
nominationRound {
end {
ts
}
endNomineeVotingPeriod {
ts
}
start {
ts
}
status
vettingDuration
}
memberRound {
fullWeightDuration
start {
ts
}
end {
ts
}
}
}
}
}
================
File: src/council/components/GovernanceCouncils.graphql
================
query GovernanceCouncils($tokenId: AssetID!) {
councils(tokenId: $tokenId) {
id
name
slug
elections {
status
}
}
}
================
File: src/council/components/NomineeHeader.graphql
================
query NomineeHeader($electionNumber: Int!, $councilSlug: String!, $address: String!, $limit: Int!, $includeAddressData: Boolean!) {
election(number: $electionNumber, councilSlug: $councilSlug) {
memberRound {
id
status
start {
ts
}
end {
ts
}
availableVotes(address: $address) @include(if: $includeAddressData)
nominees(pagination: { offset: 0, limit: $limit }) {
id
account {
address
}
totalVotes
}
}
}
}
================
File: src/council/components/NomineeSupporters.graphql
================
query NomineeSupporters(
$electionNumber: Int!
$councilSlug: String!
$address: String!
$pagination: Pagination
) {
nominee(
electionNumber: $electionNumber
councilSlug: $councilSlug
address: $address
) {
totalVotes
totalVoters
votes(pagination: $pagination) {
voter {
id
address
ens
twitter
name
email
bio
picture
}
weight
}
}
}
================
File: src/council/components/UpdateCandidateProfile.graphql
================
mutation UpdateCandidateProfile(
$councilSlug: String!
$electionNumber: Int!
$address: String!
$title: String
$statement: String
$email: String
) {
updateCandidateProfile(
councilSlug: $councilSlug
electionNumber: $electionNumber
address: $address
title: $title
statement: $statement
email: $email
)
}
================
File: src/council/hooks/useContenderByAddressOrEns.graphql
================
query ContenderByAddressOrEns($electionNumber: Int!, $councilSlug: String!, $address: String, $ens: String, $isAddress: Boolean!) {
contender(electionNumber: $electionNumber, councilSlug: $councilSlug, address: $address) @include (if: $isAddress) {
id
account {
id
address
picture
ens
twitter
name
}
totalVotes
nominated
rejected
accountElectionMeta{
title
statement
isContender
hasRegistered
}
}
contenderByEns: contender(electionNumber: $electionNumber, councilSlug: $councilSlug, ens: $ens) @skip (if: $isAddress) {
id
account {
id
address
picture
ens
twitter
name
}
totalVotes
nominated
rejected
accountElectionMeta{
title
statement
isContender
hasRegistered
}
}
}
================
File: src/council/hooks/useContenderElectionMeta.graphql
================
query ContenderElectionMeta($electionNumber: Int!, $councilSlug: String!, $address: String!) {
contender(electionNumber: $electionNumber, councilSlug: $councilSlug, address: $address) {
accountElectionMeta {
title
statement
hasRegistered
isContender
}
}
}
================
File: src/council/hooks/useElectionMemberRound.graphql
================
query ElectionMemberRound(
$electionNumber: Int!
$councilSlug: String!
$address: String!
$includeAddressData: Boolean!
$input: GovernorInput!
) {
election(number: $electionNumber, councilSlug: $councilSlug) {
memberRound {
id
status
fullWeightDuration
start {
ts
}
end {
ts
}
availableVotes(address: $address) @include(if: $includeAddressData)
}
accountElectionMeta(address: $address) @include(if: $includeAddressData) {
hasRegistered
isContender
}
}
governor(input: $input) {
id
chainId
contracts {
governor {
address
type
}
}
token {
decimals
}
}
}
================
File: src/council/hooks/useElectionMemberRoundNominees.graphql
================
query ElectionMemberRoundNominees(
$electionNumber: Int!
$councilSlug: String!
$pagination: Pagination
$sort: CandidateSort
) {
election(number: $electionNumber, councilSlug: $councilSlug) {
memberRound {
nominees(pagination: $pagination, sort: $sort) {
id
account {
address
name
bio
picture
}
totalVotes
accountElectionMeta {
title
}
}
}
}
}
================
File: src/council/hooks/useElectionNominationRound.graphql
================
query ElectionNominationRound(
$electionNumber: Int!
$councilSlug: String!
$address: String!
$includeAddressData: Boolean!
$input: GovernorInput!
) {
election(number: $electionNumber, councilSlug: $councilSlug) {
number
status
nominationRound {
id
status
start {
ts
}
end {
ts
}
endNomineeVotingPeriod {
ts
}
vettingDuration
threshold
availableVotes(address: $address) @include(if: $includeAddressData)
}
memberRound {
id
status
fullWeightDuration
start {
ts
}
end {
ts
}
}
accountElectionMeta(address: $address) @include(if: $includeAddressData) {
hasRegistered
isContender
}
}
governor(input: $input) {
id
chainId
contracts {
governor {
address
type
}
}
token {
decimals
}
}
}
================
File: src/council/hooks/useElectionNominationRoundContenders.graphql
================
query ElectionNominationRoundContenders($electionNumber: Int!, $councilSlug: String!, $pagination: Pagination, $sort: CandidateSort, $filter: ContenderFilter) {
nominationRound(electionNumber: $electionNumber, councilSlug: $councilSlug) {
contenders(pagination: $pagination, sort: $sort, filter: $filter) {
id
account {
address
name
bio
picture
}
totalVotes
nominated
rejected
accountElectionMeta {
title
}
}
}
}
================
File: src/council/hooks/useMemberRoundDecayVotes.graphql
================
query MemberRoundDecayVotes(
$councilSlug: String!
$electionNumber: Int!
$votes: Uint256!
) {
election(councilSlug: $councilSlug, number: $electionNumber) {
memberRound {
votesToWeight(votes: $votes)
}
}
}
================
File: src/council/hooks/useNomineeByAddressOrEns.graphql
================
query NomineeByAddressOrEns($electionNumber: Int!, $councilSlug: String!, $address: String, $ens: String, $isAddress: Boolean!) {
nominee(electionNumber: $electionNumber, councilSlug: $councilSlug, address: $address) @include (if: $isAddress) {
id
account {
id
address
picture
ens
twitter
name
}
totalVotes
accountElectionMeta{
title
statement
isContender
hasRegistered
}
}
nomineeByEns: nominee(electionNumber: $electionNumber, councilSlug: $councilSlug, ens: $ens) @skip (if: $isAddress) {
id
account {
id
address
picture
ens
twitter
name
}
totalVotes
accountElectionMeta{
title
statement
isContender
hasRegistered
}
}
}
================
File: src/council/hooks/useRegisterAttempt.graphql
================
mutation RegisterAttempt(
$councilSlug: String!
$electionNumber: Int!
$address: String!
$txHash: String!
$title: String
$statement: String
$email: String
) {
registerAsContenderAttempt(
councilSlug: $councilSlug
electionNumber: $electionNumber
address: $address
hash: $txHash
title: $title
statement: $statement
email: $email
)
}
================
File: src/council/common.graphql
================
query Council($slug: String!) {
council(slug: $slug) {
id
slug
name
cohortSize
description
}
}
query Election($electionNumber: Int!, $councilSlug: String!) {
election(councilSlug: $councilSlug, number: $electionNumber) {
number
status
nominationRound {
id
status
}
memberRound {
id
status
}
}
}
query NominationRound($electionNumber: Int!, $councilSlug: String!) {
nominationRound(electionNumber: $electionNumber, councilSlug: $councilSlug) {
status
}
}
query MemberRound($electionNumber: Int!, $councilSlug: String!) {
memberRound(electionNumber: $electionNumber, councilSlug: $councilSlug) {
status
}
}
query AccountElectionMeta($electionNumber: Int!, $councilSlug: String!, $address: String!) {
election(number: $electionNumber, councilSlug: $councilSlug) {
accountElectionMeta(address: $address){
hasRegistered
isContender
}
}
}
query Contender($electionNumber: Int!, $councilSlug: String!, $address: String!) {
contender(electionNumber: $electionNumber, councilSlug: $councilSlug, address: $address) {
id
account {
id
address
picture
ens
twitter
name
}
totalVoters
totalVotes
nominated
rejected
accountElectionMeta{
title
statement
isContender
hasRegistered
}
}
}
query Nominee($electionNumber: Int!, $councilSlug: String!, $address: String!) {
nominee(electionNumber: $electionNumber, councilSlug: $councilSlug, address: $address) {
id
account {
id
address
picture
ens
twitter
name
}
totalVotes
totalVoters
accountElectionMeta{
title
statement
isContender
hasRegistered
}
}
}
================
File: src/createProposal/components/actions/ManageOrcaPodRecipe.graphql
================
query ManageOrcaPodRecipe($accountIds: [AccountID!]) {
accounts(ids: $accountIds) {
name
address
picture
ens
twitter
}
}
================
File: src/createProposal/components/actions/RecipientAddressQuery.graphql
================
query RecipientAddress($address: Address!) {
address(address: $address) {
ethAccount {
address
bio
ens
picture
name
twitter
}
}
}
================
File: src/createProposal/components/actions/SwapPools.uniswap.graphql
================
query SwapPools($where: Pool_filter!) {
pools(where: $where) {
id
feeTier
liquidity
token0 {
id
symbol
}
token1 {
id
symbol
}
}
}
================
File: src/createProposal/components/actions/SwapRecipe.graphql
================
query AvailableSwaps($governorId: AccountID!) {
availableSwaps(governorID: $governorId) {
buy {
id
name
symbol
logo
decimals
}
sell {
address
balance
decimals
logo
name
quoteRate
symbol
}
}
}
query QuoteSwap($governorID: AccountID!, $buy: AccountID!, $sell: AccountID!, $sellAmount: Uint256!) {
quoteSwap(governorID: $governorID, buy: $buy, sell: $sell, sellAmount: $sellAmount) {
buyAmount
buyTokenQuoteRate
sellAmount
feeAmount
}
}
================
File: src/createProposal/components/actions/TransferTokensRecipe.graphql
================
query TransferTokensRecipe($accountIds: [AccountID!]) {
accounts(ids: $accountIds) {
name
address
picture
twitter
}
}
================
File: src/createProposal/components/receipts/TransferTokensReceipt.graphql
================
query TransferTokensReceipt($accountIds: [AccountID!]) {
accounts(ids: $accountIds) {
name
address
picture
twitter
}
}
================
File: src/createProposal/components/ActionsSecurityCheck.graphql
================
query ActionsSecurityCheck($input: ProposalSecurityCheckInput!) {
actionsSecurityCheck(input: $input) {
metadata {
threatAnalysis {
actionsData {
events {
eventType
severity
description
}
result
}
proposerRisk
}
}
simulations {
publicURI
result
}
}
}
================
File: src/createProposal/components/CreateProposalGovernanceSelector.graphql
================
query CreateProposalGovernanceSelector($input: GovernorsInput!) {
governors(input: $input) {
nodes {
... on Governor {
id
chainId
name
quorum
kind
token {
id
decimals
}
parameters {
proposalThreshold
votingPeriod
votingDelay
}
contracts {
governor {
address
type
}
tokens {
address
type
}
}
}
}
}
chains {
id
blockTime
layer1Id
useLayer1VotingPeriod
}
}
================
File: src/createProposal/components/EditTallyProposal.graphql
================
query EditTallyProposal($input: ProposalInput!) {
proposal(input: $input) {
id
status
createdAt
proposer {
address
name
}
metadata {
description
title
snapshotURL
}
governor {
id
}
executableCalls {
value
target
calldata
signature
type
decodedCalldata {
signature
parameters {
name
type
value
}
}
offchaindata {
... on ExecutableCallSwap {
amountIn
buyToken {
id
data {
decimals
name
symbol
logo
price
}
}
sellToken {
id
data {
decimals
name
symbol
logo
price
}
}
to
priceChecker {
slippage
tokenPath
feePath
uniPoolPath
}
quote {
buyAmount
buyTokenQuoteRate
sellAmount
feeAmount
validTo
}
order {
status
address
id
buyAmount
}
}
... on ExecutableCallRewards {
contributorFee
tallyFee
recipients
}
}
}
}
}
================
File: src/createProposal/hooks/useCreateTallyProposal.graphql
================
query CreateProposalContent($input: GovernorInput!) {
governor(input: $input) {
id
chainId
name
timelockId
contracts {
governor {
address
type
}
tokens {
address
}
}
organization {
name
metadata {
icon
}
governorIds
}
token {
decimals
}
kind
parameters {
proposalThreshold
}
}
}
mutation CreateTallyProposal($input: CreateProposalInput!) {
createProposal(input: $input) {
id
metadata {
txHash
}
}
}
================
File: src/createProposal/hooks/useProposalThresholdRequirements.graphql
================
query ProposalThresholdRequirement($governorId: AccountID!, $address: Address!) {
delegate(input: {
address: $address
governorId: $governorId
}) {
votesCount
}
}
================
File: src/delegation/components/DelegateModal.graphql
================
query DelegateTokenBalances($input: TokenBalancesInput!) {
tokenBalances(input: $input) {
balance
token {
id
symbol
decimals
}
}
}
================
File: src/delegation/components/SecurityCouncilActionBanner.graphql
================
query SecurityCouncilActionBanner(
$gnosisSafeId: AccountID!
$allTransactions: Boolean
$pagination: Pagination
) {
gnosisSafeTransactions(
gnosisSafeId: $gnosisSafeId
allTransactions: $allTransactions
pagination: $pagination
) {
id
safeID
block {
timestamp
ts
}
dataDecoded {
method
}
}
}
================
File: src/delegation/helpers/GovernanceGovernorType.graphql
================
query GovernanceGovernorType($input: GovernorInput!) {
governor(input: $input) {
contracts {
governor {
type
}
}
}
}
================
File: src/delegation/helpers/GovernanceSponsorDelegationById.graphql
================
query GovernanceSponsorDelegationById($input: GovernorInput!) {
governor(input: $input) {
id
chainId
contracts {
tokens {
type
address
}
}
}
}
================
File: src/delegation/hooks/useAddresDelegationsOut.graphql
================
query AddressDelegatee($input: DelegationInput!) {
delegatee(input: $input) {
delegate {
address
}
}
}
================
File: src/delegation/hooks/useCreateDelegationAttempt.graphql
================
mutation CreateDelegationAttempt(
$delegatorId: AccountID!
$delegateeId: AccountID!
$tokenId: AssetID
$txID: Bytes32!
) {
createDelegationAttempt(
delegatorId: $delegatorId
delegateeId: $delegateeId
tokenId: $tokenId
txID: $txID
)
}
================
File: src/governance/components/claim/GovernanceClaimAndDelegateAttempt.graphql
================
query GovernanceClaimAndDelegateAttempt($delegatorId: AccountID!, $tokenId: AssetID!) {
claimAndDelegateAttempt(
delegatorId: $delegatorId
tokenId: $tokenId
) {
createdAt
txID
}
chains {
id
blockTime
}
}
================
File: src/governance/components/claim/GovernanceClaimConfirm.graphql
================
query GovernanceClaimConfirm($input: GovernorInput!) {
governor(input: $input) {
id
chainId
contracts {
tokens {
address
type
}
governor {
type
}
}
token {
id
}
}
}
================
File: src/governance/components/guardians/GuardiansAccounts.graphql
================
query GuardiansAccounts($accountIds: [AccountID!]) {
accounts(ids: $accountIds) {
name
address
picture
ens
twitter
}
}
================
File: src/governance/components/DelegateButton.graphql
================
query DelegateButton($input: GovernorInput!) {
governor(input: $input) {
id
chainId
name
organization {
name
}
contracts {
tokens {
type
address
}
governor {
type
}
}
}
}
================
File: src/governance/components/GovernanceClaimAirdrop.graphql
================
query GovernanceClaimAirdrop($input: GovernorInput!) {
governor(input: $input) {
name
token {
id
name
symbol
decimals
}
}
}
================
File: src/governance/components/GovernanceDelegateProfileEdit.graphql
================
query GovernanceDelegateProfileEdit($input: GovernorInput!) {
governor(input: $input) {
id
chainId
name
organization {
name
}
contracts {
tokens {
address
type
}
}
}
}
================
File: src/governance/components/GovernanceDelegates.graphql
================
query Delegates($input: DelegatesInput!) {
delegates(input: $input) {
nodes {
...on Delegate {
id
account {
address
bio
name
picture
twitter
}
votesCount
delegatorsCount
statement {
statementSummary
}
token {
symbol
decimals
}
}
}
pageInfo {
firstCursor
lastCursor
}
}
}
================
File: src/governance/components/GovernanceDelegatesLayout.graphql
================
query SearchByEns($searchString: String!) {
accountByEns(ens: $searchString) {
address
bio
picture
name
twitter
}
}
================
File: src/governance/components/GovernanceDelegatesSummary.graphql
================
query GovernanceDelegatesSummary($input: GovernorInput!) {
governor(input: $input) {
id
name
chainId
contracts {
tokens {
type
address
}
governor {
type
}
}
quorum
parameters {
proposalThreshold
}
token {
supply
symbol
decimals
}
}
}
================
File: src/governance/components/GovernanceHeader.graphql
================
query GovernanceHeader($input: GovernorInput!) {
governor(input: $input) {
id
name
chainId
delegatesVotesCount
token {
type
supply
decimals
symbol
}
contracts {
governor {
type
}
tokens {
address
type
address
}
}
organization {
id
metadata {
description
icon
socials {
discord
telegram
twitter
others {
label
value
}
website
}
}
name
slug
}
isBehind
}
}
================
File: src/governance/components/GovernanceIdtoToOrgId.graphql
================
query GovernanceIdtoOrgId($input: GovernorInput!) {
governor(input: $input) {
organization {
id
name
slug
metadata {
description
icon
socials {
discord
telegram
twitter
others {
label
value
}
website
}
}
}
}
}
================
File: src/governance/components/GovernanceIncomingDelegations.graphql
================
query OrganizationDelegateInformation($input: DelegateInput!) {
delegate(input: $input) {
id
delegatorsCount
votesCount
token {
decimals
symbol
}
}
}
query OrganizationDelegateChains($input: DelegationsInput!) {
delegatees(input: $input) {
nodes {
... on Delegation {
chainId
token {
decimals
symbol
}
votes
}
}
}
}
query OrganizationReceivedDelegations($input: DelegationsInput!) {
delegators(input: $input) {
nodes {
... on Delegation {
chainId
delegator {
address
name
picture
twitter
ens
}
blockNumber
blockTimestamp
votes
}
}
pageInfo {
firstCursor
lastCursor
}
}
}
================
File: src/governance/components/GovernanceMetaInformation.graphql
================
query GovernanceMetaInformation($input: GovernorsInput!) {
governors(input: $input) {
nodes {
... on Governor {
id
organization {
metadata {
icon
}
}
contracts {
tokens {
address
}
}
token {
supply
}
proposalStats {
total
}
delegatesCount
tokenOwnersCount
}
}
}
}
================
File: src/governance/components/GovernanceModuleInformation.graphql
================
query GovernanceModuleInformation($input: GovernorInput!) {
governor(input: $input) {
id
chainId
name
quorum
timelockId
kind
type
token {
id
decimals
}
parameters {
proposalThreshold
votingPeriod
votingDelay
clockMode
}
contracts {
governor {
address
type
}
tokens {
address
type
}
}
metadata {
description
}
}
chains {
id
blockTime
layer1Id
useLayer1VotingPeriod
}
}
================
File: src/governance/components/GovernanceMyVotingPower.graphql
================
query GovernanceMyVotingPower($input: GovernorInput!) {
governor(input: $input) {
id
token {
symbol
decimals
}
}
}
================
File: src/governance/components/GovernanceMyVotingPowerDelegatingTo.graphql
================
query OrganizationMyVotingPowerDelegatingTo($input: DelegationsInput!) {
delegatees(input: $input) {
nodes {
... on Delegation {
chainId
delegate {
name
address
ens
picture
}
votes
token {
id
name
symbol
decimals
}
}
}
pageInfo {
firstCursor
lastCursor
}
}
}
query OrganizationTokenBalances($input: TokenBalancesInput!) {
tokenBalances(input: $input) {
token {
id
name
symbol
decimals
}
balance
}
}
================
File: src/governance/components/GovernanceProposals.graphql
================
query GovernanceProposals($input: ProposalsInput!) {
proposals(input: $input) {
nodes {
... on Proposal {
id
onchainId
status
originalId
createdAt
quorum
voteStats {
votesCount
percent
type
votersCount
}
metadata {
description
}
start {
... on Block {
timestamp
}
... on BlocklessTimestamp {
timestamp
}
}
block {
timestamp
}
governor {
id
quorum
name
timelockId
token {
decimals
}
}
}
}
pageInfo {
firstCursor
lastCursor
count
}
}
}
query GovernanceProposalsVotes($input: VotesInput!) {
votes(input: $input) {
nodes {
... on Vote {
proposal {
id
governor {
id
}
}
type
voter {
picture
address
twitter
}
}
}
}
}
query GovernanceTallyProposals($input: ProposalsInput!) {
proposals(input: $input) {
nodes {
... on Proposal {
id
createdAt
originalId
metadata {
description
title
}
status
executableCalls {
calldata
}
governor {
id
quorum
name
organization {
slug
metadata {
icon
}
}
}
}
}
pageInfo {
firstCursor
lastCursor
}
}
}
================
File: src/governance/components/GovernanceProposalStats.graphql
================
query GovernanceProposalsStats($input: GovernorsInput!) {
governors(input: $input) {
nodes {
... on Governor {
proposalStats {
passed
failed
}
}
}
}
}
================
File: src/governance/components/GovernanceTopAdvocates.graphql
================
query GovernanceTopAdvocates(
$input: GovernorInput!
$delegatesInput: DelegatesInput!
) {
governor(input: $input) {
id
chainId
token {
decimals
supply
}
delegatesVotesCount
}
delegates(input: $delegatesInput) {
nodes {
... on Delegate {
id
account {
address
picture
name
}
votesCount
voteChanges {
newBalance
timestamp
}
}
}
pageInfo {
firstCursor
lastCursor
}
}
}
================
File: src/governance/components/GovernanceTreasuryInformation.graphql
================
query GovernanceTreasuryInformation($input: GovernorsInput!) {
governors(input: $input) {
nodes {
... on Governor {
id
timelockId
name
kind
contracts {
governor {
address
}
tokens {
address
}
}
}
}
}
}
================
File: src/governance/components/GovernorsByOrganization.graphql
================
query GovernorsByOrganization($input: GovernorsInput!) {
governors(input: $input) {
nodes {
... on Governor {
id
name
kind
quorum
isPrimary
chainId
type
contracts {
governor {
address
type
}
tokens {
address
type
}
}
token {
id
decimals
name
symbol
type
}
}
}
}
}
================
File: src/governance/components/OrganizationIssues.graphql
================
query OrganizationIssues($input: IssuesInput) {
issues(input: $input) {
id
name
organizationId
}
}
================
File: src/governance/hooks/useAccountById.graphql
================
query AccountById($id: AccountID!) {
account(id: $id) {
address
picture
name
}
}
================
File: src/governance/hooks/useClaimAirdropEligible.graphql
================
query ClaimAirdropEligible($input: GovernorInput!, $addressId: AccountID!) {
governor(input: $input) {
token {
symbol
decimals
eligibility(id: $addressId) {
amount
status
proof
tx
}
}
}
}
================
File: src/governance/hooks/useCreateClaimAndDelegateAttempt.graphql
================
mutation CreateClaimAndDelegateAttempt(
$delegatorId: AccountID!
$tokenId: AssetID!
$delegateeId: AccountID!
$txID: HashID!
$proof: [String!]
$expiry: Uint256!
$parameterV: Uint256!
$parameterR: Bytes32!
$parameterS: Bytes32!
) {
createClaimAndDelegateAttempt(
delegatorId: $delegatorId
tokenId: $tokenId
delegateeId: $delegateeId
txID: $txID
proof: $proof
expiry: $expiry
parameterV: $parameterV
parameterR: $parameterR
parameterS: $parameterS
)
}
================
File: src/governance/hooks/useCreateUnistakerTransaction.graphql
================
mutation CreateUnistakerTransaction($input: CreateUnistakerTransactionInput!) {
createUnistakerTransaction(input: $input)
}
================
File: src/governance/hooks/useGetUnistakerTransactions.graphql
================
query GetUnistakerTransactions(
$accnt: AccountID!
$status: UnistakerTransactionStatus
) {
unistakerTransactions(input: { accountId: $accnt, status: $status }) {
id
type
delegatee
beneficiary
previousAmount
newAmount
createdAt
depositId
}
}
================
File: src/governance/hooks/useGovernorClaimFlow.graphql
================
query GovernorClaimFlow($input: GovernorInput!) {
governor(input: $input) {
token {
symbol
decimals
}
}
}
================
File: src/governance/hooks/useResumeSync.graphql
================
mutation ResumeSync(
$id: AccountID!
) {
resumeSync(id: $id)
}
================
File: src/governance/hooks/useUpdateUnistakerTransaction.graphql
================
mutation UpdateUnistakerTransaction($input: UpdateUnistakerTransactionInput!) {
updateUnistakerTransaction(input: $input)
}
================
File: src/governance/hooks/useUpsertDelegateProfile.graphql
================
mutation UpsertDelegateProfile($input: UpsertDelegateProfileInput!) {
upsertDelegateProfile(input: $input) {
id
}
}
================
File: src/governance/common.graphql
================
query GovernorMetadata($input: GovernorInput!) {
governor(input: $input) {
id
kind
chainId
quorum
contracts {
tokens {
address
type
}
}
token {
decimals
}
timelockId
organization {
id
name
slug
metadata {
description
icon
socials {
discord
telegram
twitter
others {
label
value
}
website
}
}
governorIds
}
}
}
query GovernanceFeatures($input: GovernorInput!) {
governor(input: $input) {
slug
features {
name
enabled
}
}
}
================
File: src/meta-transaction/mutations/CreateCastVoteMetaTransaction.graphql
================
mutation CreateCastVoteMetaTransaction($governorId: AccountID!, $address: Address!, $transactionId: String!,
$validUntil: Timestamp!, $gasPrice: Uint256!, $proposalId: ID!, $support: SupportType!) {
createCastVoteMetaTransaction(
governorId: $governorId
address: $address
transactionId: $transactionId
validUntil: $validUntil
gasPrice: $gasPrice
proposalId: $proposalId
support: $support
) {
id
}
}
================
File: src/meta-transaction/mutations/CreateDelegateMetaTransaction.graphql
================
mutation CreateDelegateMetaTransaction($governorId: AccountID!, $address: Address!, $tokenContractId: AssetID!,
$from: Address!, $delegatee: Address!, $transactionId: String!, $validUntil: Timestamp!, $gasPrice: Uint256!) {
createDelegateMetaTransaction(
governorId: $governorId
address: $address
tokenContractId: $tokenContractId
from: $from
delegatee: $delegatee
transactionId: $transactionId
validUntil: $validUntil
gasPrice: $gasPrice
) {
id
}
}
================
File: src/meta-transaction/queries/MetaTransactions.graphql
================
query MetaTransactions(
$action: MetaTransactionAction!
$governorId: AccountID
$address: Address
$pagination: Pagination
) {
metaTransactions(
action: $action
governorId: $governorId
address: $address
pagination: $pagination
) {
id
governorId
address
action
createdAt
metadata {
... on CastVoteActionMetadata {
proposalId
}
}
}
}
================
File: src/organization/components/OrganizationAddAdminForm.graphql
================
query OrganizationAddAdminForm($input: OrganizationMembersInput!) {
organizationMembers(input: $input) {
nodes {
... on Member {
account {
address
}
}
}
}
}
================
File: src/organization/components/OrganizationAdminList.graphql
================
query OrganizationAdminList($input: OrganizationMembersInput!) {
organizationMembers(input: $input) {
nodes {
... on Member {
id
account {
id
address
name
picture
ens
twitter
}
role
}
}
}
}
================
File: src/organization/components/OrganizationBasicSettings.graphql
================
query OrganizationBasicsSettings($input: OrganizationInput!) {
organization(input: $input) {
id
name
slug
metadata {
description
socials {
discord
telegram
twitter
others {
label
value
}
website
}
karmaName
}
adminData {
contact {
name
email
twitter
discord
}
}
}
}
query GovernanceBasicsSettings($input: GovernorInput!) {
governor(input: $input) {
name
slug
}
}
================
File: src/organization/components/OrganizationBySlug.graphql
================
query OrganizationBySlug($input: OrganizationInput!) {
organization(input: $input) {
id
name
slug
chainIds
governorIds
tokenIds
metadata {
description
icon
socials {
website
discord
telegram
twitter
discourse
others {
label
value
}
}
karmaName
}
features {
name
enabled
}
}
}
================
File: src/organization/components/OrganizationEditLogo.graphql
================
query OrganizationEditLogo($input: OrganizationInput!) {
organization(input: $input) {
id
slug
metadata {
icon
}
}
}
================
File: src/organization/components/OrganizationHeader.graphql
================
query OrganizationHeader($input: OrganizationInput!) {
organization(input: $input) {
id
metadata {
description
icon
socials {
discord
telegram
twitter
others {
label
value
}
website
}
karmaName
}
name
slug
governorIds
}
}
================
File: src/organization/components/OrganizationHomeDelegatesMobile.graphql
================
query OrganizationHomeDelegatesMobile($input: OrganizationInput!) {
organization(input: $input) {
delegatesCount
tokenOwnersCount
}
}
================
File: src/organization/components/OrganizationHomeProposalsMobile.graphql
================
query OrganizationHomeProposalsMobile($input: OrganizationInput!) {
organization(input: $input) {
proposalsCount
hasActiveProposals
}
}
================
File: src/organization/components/OrganizationLatestForumActivities.graphql
================
query OrganizationLatestForumActivities($input: OrganizationInput!) {
latestForumActivity(input: $input) {
topics {
title
slug
replyCount
lastPostedAt
views
pinned
originalPosterName
}
}
}
================
File: src/organization/components/OrganizationMyVotingPower.graphql
================
query OrganizationMyVotingPower(
$delegateeInput: DelegationInput!
$delegateInput: DelegateInput!
$tokenBalancesInput: TokenBalancesInput!
) {
delegatee(input: $delegateeInput) {
delegate {
name
address
ens
picture
}
votes
token {
id
name
symbol
decimals
}
}
delegate(input: $delegateInput) {
delegatorsCount
votesCount
token {
id
name
symbol
decimals
}
}
tokenBalances(input: $tokenBalancesInput) {
token {
id
name
symbol
decimals
}
balance
}
}
query OrganizationMyVotingPowerMultiChain($input: DelegatesInput!) {
delegates(input: $input) {
nodes {
... on Delegate {
id
votesCount
delegatorsCount
token {
symbol
decimals
}
}
}
}
}
================
File: src/organization/components/OrganizationRisingDelegates.graphql
================
query OrganizationRisingDelegates($input: GovernorInput!) {
governor(input: $input) {
token {
symbol
decimals
}
}
}
================
File: src/organization/components/OrganizationSafeList.graphql
================
query OrganizationSafeList($input: GnosisSafesInput) {
gnosisSafesV2(input: $input) {
id
nonce
name
threshold
owners {
id
address
name
bio
picture
}
version
}
}
================
File: src/organization/components/OrganizationSlugToId.graphql
================
query OrganizationSlugToId($slug: String!) {
organizationSlugToId(slug: $slug)
}
================
File: src/organization/components/ValidateNewGovernor.graphql
================
query ValidateNewGovernor($input: ValidateNewGovernorInput!) {
validateNewGovernor(input: $input) {
type
startBlock
tokenId
tokenStartBlock
}
}
================
File: src/organization/hooks/useCreateDAO.graphql
================
mutation CreateDAO($input: CreateOrganizationInput!) {
createOrganization(input: $input) {
id
slug
}
}
================
File: src/organization/hooks/useJoinOrganization.graphql
================
mutation JoinOrganization($input: JoinOrganizationInput!) {
joinOrganization(input: $input)
}
================
File: src/organization/hooks/useOrganizationDelegatesSummary.graphql
================
query OrganizationDelegatesSummary($input: OrganizationInput!) {
organization(input: $input) {
delegatesVotesCount
tokenIds
}
}
================
File: src/organization/hooks/useRemoveSuperAdmin.graphql
================
mutation RemoveSuperAdmin($input: RemoveSuperAdminInput!) {
removeSuperAdmin(input: $input)
}
================
File: src/organization/hooks/useToken.graphql
================
query Token($input: TokenInput!) {
token(input: $input) {
id
type
name
symbol
supply
decimals
}
}
================
File: src/organization/hooks/useUnlinkGnosisSafe.graphql
================
mutation UnlinkGnosisSafe($id: AccountID!) {
unlinkGnosisSafe(id: $id)
}
================
File: src/organization/hooks/useUpdateOrganization.graphql
================
mutation UpdateOrganization($input: UpdateOrganizationInput!) {
updateOrganization(input: $input) {
name
id
slug
}
}
================
File: src/organization/hooks/useUpdateOrganizationAdmins.graphql
================
mutation UpdateOrganizationAdmins($input: OrganizationAdminsInput!) {
updateOrganizationAdmins(input: $input)
}
================
File: src/organization/hooks/useUpdateOrganizationPassword.graphql
================
mutation UpdateOrganizationPassword($input: OrganizationPasswordInput!) {
updateOrganizationPassword(input: $input)
}
================
File: src/organization/hooks/useUploadOrganizationLogo.graphql
================
mutation UpdateOrganizationLogo($input: UpdateOrganizationInput!) {
updateOrganization(input: $input) {
id
}
}
================
File: src/organization/providers/OrganizationProvider.graphql
================
query OrganizationMetadata($input: OrganizationInput!) {
organization(input: $input) {
id
name
metadata {
description
icon
}
slug
}
}
query OrganizationContext($input: OrganizationInput!) {
organization(input: $input) {
id
name
slug
myRole
chainIds
features {
name
enabled
}
}
}
================
File: src/organization/common.graphql
================
query OrganizationFeatures($input: OrganizationInput!) {
organization(input: $input) {
features {
name
enabled
}
}
}
================
File: src/proposal/components/ctas/ProposalActionAttempt.graphql
================
query ProposalActionAttempt($input: ProposalActionAttemptInput!) {
proposalActionAttempt(input: $input) {
txHash
chainId
type
proposal {
createdAt
}
}
}
================
File: src/proposal/components/ctas/ProposalActiveCTA.graphql
================
query ProposalActiveCTA($input: ProposalInput!, $votersInput: VotesInput!) {
proposal(input: $input) {
id
onchainId
metadata {
description
}
executableCalls {
calldata
target
value
}
status
events {
type
txHash
}
governor {
id
chainId
timelockId
contracts {
governor {
type
address
}
}
}
}
votes(input: $votersInput) {
nodes {
... on Vote {
type
chainId
}
}
}
}
query ProposalVoteAttempt($input: VoteAttemptInput!) {
voteAttempt(input: $input) {
txHash
chainId
createdAt
type
}
}
================
File: src/proposal/components/ctas/ProposalDefeatedCTA.graphql
================
query ProposalDefeatedCTA($input: ProposalInput!) {
proposal(input: $input) {
id
onchainId
metadata {
description
}
voteStats {
votesCount
votersCount
type
}
quorum
governor {
id
quorum
token {
type
supply
decimals
}
type
}
}
}
================
File: src/proposal/components/ctas/ProposalExecutedCTA.graphql
================
query ProposalExecutedCTA($input: ProposalInput!) {
proposal(input: $input) {
id
onchainId
metadata {
description
}
events {
type
txHash
}
status
governor {
id
chainId
}
}
}
================
File: src/proposal/components/ctas/ProposalPendingCTA.graphql
================
query ProposalPendingCTA($input: ProposalInput!) {
proposal(input: $input) {
id
onchainId
metadata {
description
}
start {
... on Block {
timestamp
}
... on BlocklessTimestamp {
timestamp
}
}
executableCalls {
calldata
target
value
}
status
events {
type
txHash
}
governor {
id
chainId
}
governor {
id
chainId
timelockId
contracts {
governor {
type
address
}
}
}
}
}
================
File: src/proposal/components/ctas/ProposalQueuedCTA.graphql
================
query ProposalQueuedCTA($input: ProposalInput!) {
proposal(input: $input) {
id
onchainId
metadata {
description
}
executableCalls {
calldata
target
value
}
status
events {
type
txHash
}
governor {
id
chainId
timelockId
contracts {
governor {
type
address
}
}
}
}
}
================
File: src/proposal/components/ctas/ProposalSuccededCTA.graphql
================
query ProposalSuccededCTA($input: ProposalInput!) {
proposal(input: $input) {
id
onchainId
metadata {
description
}
executableCalls {
calldata
target
value
}
status
events {
type
}
governor {
id
chainId
timelockId
contracts {
governor {
type
address
}
}
}
}
}
================
File: src/proposal/components/receipts/SwapReceipt.uniswap.graphql
================
query SwapReceiptPools($where: Pool_filter!) {
pools(where: $where) {
id
token0 {
symbol
}
token1 {
symbol
}
}
}
================
File: src/proposal/components/receipts/TransferTokensReceipt.graphql
================
query ProposalTransferTokensReceipt($accountIds: [AccountID!]) {
accounts(ids: $accountIds) {
name
address
picture
twitter
}
}
================
File: src/proposal/components/OrganizationTable.graphql
================
query ExploreOrgs($input: OrganizationsInput!) {
organizations(input: $input) {
nodes {
... on Organization {
id
slug
name
chainIds
proposalsCount
hasActiveProposals
tokenOwnersCount
delegatesCount
governorIds
metadata {
icon
}
tokenIds
}
}
pageInfo {
firstCursor
lastCursor
}
}
}
query ExploreSearchOrgs($input: SearchOrganizationInput!) {
searchOrganization(input: $input) {
id
slug
name
chainIds
proposalsCount
hasActiveProposals
tokenOwnersCount
delegatesCount
governorIds
tokenIds
metadata {
icon
}
governorIds
}
}
================
File: src/proposal/components/ProposalAccountVote.graphql
================
query ProposalAccountVote($input: VotesInput!) {
votes(input: $input) {
nodes {
... on Vote {
type
}
}
}
}
================
File: src/proposal/components/ProposalBubbleChart.graphql
================
query ProposalBubbleChart($input: ProposalInput!, $votesInput: VotesInput!) {
proposal(input: $input) {
createdAt
status
governor {
id
delegatesVotesCount
token {
supply
decimals
supply
}
}
voteStats {
votersCount
votesCount
type
percent
}
}
votes(input: $votesInput) {
nodes {
... on Vote {
voter {
name
address
}
amount
type
}
}
}
}
================
File: src/proposal/components/ProposalDetails.graphql
================
query ProposalDetails($input: ProposalInput!, $votesInput: VotesInput!) {
proposal(input: $input) {
id
onchainId
metadata {
description
discourseURL
snapshotURL
}
executableCalls {
value
target
calldata
signature
type
decodedCalldata {
signature
parameters {
name
type
value
}
}
offchaindata {
... on ExecutableCallSwap {
amountIn
fee
buyToken {
data {
price
decimals
name
symbol
}
}
sellToken {
data {
price
decimals
name
symbol
}
}
to
quote {
buyAmount
feeAmount
}
order {
id
status
buyAmount
address
}
priceChecker {
tokenPath
feePath
uniPoolPath
slippage
}
}
... on ExecutableCallRewards {
contributorFee
tallyFee
recipients
}
}
}
governor {
id
chainId
slug
organization {
metadata {
description
}
}
contracts {
governor {
address
type
}
}
timelockId
}
}
votes(input: $votesInput) {
nodes {
... on Vote {
isBridged
voter {
name
picture
address
twitter
}
reason
type
block {
timestamp
}
}
}
}
}
================
File: src/proposal/components/ProposalHeader.graphql
================
query ProposalHeader($input: ProposalInput!) {
proposal(input: $input) {
id
onchainId
metadata {
description
}
createdAt
quorum
governor {
id
name
quorum
timelockId
token {
decimals
}
type
}
status
voteStats {
votesCount
type
votersCount
}
proposer {
name
picture
address
}
creator {
name
picture
address
}
events {
type
}
}
}
================
File: src/proposal/components/ProposalMetadata.graphql
================
query ProposalMetadata($input: ProposalInput!) {
proposal(input: $input) {
id
onchainId
metadata {
title
description
snapshotURL
discourseURL
}
status
events {
block {
number
}
type
}
governor {
id
organization {
name
metadata {
icon
}
}
}
}
}
================
File: src/proposal/components/ProposalMobileButtons.graphql
================
query ProposalMobileButtons($input: ProposalInput!) {
proposal(input: $input) {
id
metadata {
description
}
createdAt
governor {
id
}
status
}
}
================
File: src/proposal/components/ProposalPendingVotes.graphql
================
query ProposalPendingVotes($input: VotesInput!) {
votes(input: $input) {
nodes {
... on Vote {
isBridged
}
}
}
}
================
File: src/proposal/components/ProposalProgressBars.graphql
================
query ProposalProgressBars($input: ProposalInput!) {
proposal(input: $input) {
voteStats {
votersCount
type
percent
}
governor {
token {
decimals
}
}
}
}
================
File: src/proposal/components/ProposalStatusHistory.graphql
================
query ProposalStatusHistory($input: ProposalInput!) {
proposal(input: $input) {
end {
... on Block {
id
timestamp
}
... on BlocklessTimestamp {
timestamp
}
}
start {
... on Block {
id
timestamp
}
... on BlocklessTimestamp {
timestamp
}
}
creator {
name
address
picture
}
governor {
timelockId
quorum
token {
decimals
}
type
}
voteStats {
votesCount
type
votersCount
}
proposer {
name
address
picture
}
createdAt
quorum
block {
id
}
events {
type
txHash
chainId
createdAt
block {
id
timestamp
}
}
status
}
}
================
File: src/proposal/components/ProposalTimelineChart.graphql
================
query ProposalTimelineChart($input: ProposalInput!, $votesInput: VotesInput!) {
proposal(input: $input) {
createdAt
organization {
slug
}
governor {
quorum
token {
decimals
}
}
quorum
voteStats {
votesCount
votersCount
type
percent
}
}
votes(input: $votesInput) {
nodes {
... on Vote {
voter {
name
picture
address
}
amount
type
id
block {
id
timestamp
}
}
}
pageInfo {
count
lastCursor
}
}
}
================
File: src/proposal/components/ProposalVoteModal.graphql
================
query ProposalVoteModal($input: ProposalInput!, $address: Address!) {
proposal(input: $input) {
id
onchainId
metadata {
title
description
}
delegateVotesCount(address: $address)
governor {
id
token {
decimals
supply
}
contracts {
governor {
type
address
}
}
organization {
id
name
metadata {
icon
}
tokenIds
}
}
}
accountV2(id: $address) {
address
name
picture
twitter
}
}
query ProposalVotingPower($input: DelegationsInput!) {
delegatees(input: $input) {
nodes {
... on Delegation {
id
votes
chainId
}
}
}
}
query ProposalCastVotes($input: VotesInput!) {
votes(input: $input) {
nodes {
... on Vote {
id
chainId
txHash
type
}
}
}
}
query ProposalParticipations($input: ProposalInput!, $address: Address!) {
proposal(input: $input) {
id
chainId
participationType(address: $address)
}
}
================
File: src/proposal/components/ProposalVotesCast.graphql
================
query ProposalVotesCast($input: ProposalInput!) {
proposal(input: $input) {
onchainId
status
quorum
voteStats {
votesCount
votersCount
type
percent
}
governor {
quorum
token {
decimals
}
type
id
}
}
}
================
File: src/proposal/components/ProposalVotesCastList.graphql
================
query ProposalVotesCastList($forInput: VotesInput!, $againstInput: VotesInput!, $abstainInput: VotesInput!) {
forVotes: votes(input: $forInput) {
nodes {
... on Vote {
isBridged
voter {
name
picture
address
twitter
}
amount
type
chainId
}
}
}
againstVotes: votes(input: $againstInput) {
nodes {
... on Vote {
isBridged
voter {
name
picture
address
twitter
}
amount
type
chainId
}
}
}
abstainVotes: votes(input: $abstainInput) {
nodes {
... on Vote {
isBridged
voter {
name
picture
address
twitter
}
amount
type
chainId
}
}
}
}
query ProposalVoterVotesCastList($input: VotesInput!) {
votes(input: $input) {
nodes {
... on Vote {
isBridged
voter {
name
picture
address
twitter
}
amount
type
chainId
}
}
}
}
================
File: src/proposal/components/VoteListHeader.graphql
================
query VoteListHeader($input: ProposalInput!) {
proposal(input: $input) {
id
metadata {
description
}
governor {
organization {
name
metadata {
icon
}
}
}
}
}
================
File: src/proposal/components/VoteListTable.graphql
================
query VoteListTable($input: VotesInput!) {
votes(input: $input) {
nodes {
... on Vote {
isBridged
amount
type
voter {
name
picture
address
twitter
}
chainId
}
}
pageInfo {
firstCursor
lastCursor
}
}
}
query VoteListTableGovernance($input: GovernorInput!) {
governor(input: $input) {
token {
decimals
supply
}
}
}
================
File: src/proposal/hooks/useBlockMetadata.graphql
================
query BlockMetadata($chain: ChainID!, $blockNumber: Int!) {
block(id: {chain: $chain, blockNumber: $blockNumber}) {
id
number
timestamp
}
}
================
File: src/proposal/hooks/useCreateProposalActionAttempt.graphql
================
mutation CreateProposalActionAttempt(
$input: CreateProposalActionAttemptInput!
) {
createProposalActionAttempt(input: $input)
}
================
File: src/register/components/useContractAbi.graphql
================
query ContractABI($id: AccountID!) {
contractAbi(id: $id) {
type
name
}
}
================
File: src/register/components/useCreateSafe.graphql
================
mutation CreateSafe($input: CreateSafeInput!) {
createSafeV2(input: $input)
}
================
File: src/safe/components/SafeHeader.graphql
================
query SafeHeader($id: AccountID!) {
account(id: $id) {
address
name
}
gnosisSafe(id: $id) {
id
name
}
}
================
File: src/safe/components/SafeOwners.graphql
================
query SafeOwners($id: AccountID!) {
gnosisSafe(id: $id) {
threshold
owners {
id
address
name
ens
twitter
picture
}
}
}
================
File: src/safe/components/useUpdatesafe.graphql
================
mutation UpdateSafe($id: AccountID!, $name: String!) {
updateSafe(id: $id, name: $name)
}
================
File: src/session/hooks/useLoginAsSafe.graphql
================
mutation LoginAsSafe($accountId: AccountID!) {
loginAsSafe(id: $accountId)
}
================
File: src/tallyProposal/components/ctas/TallyProposalDraftCTA.graphql
================
query TallyProposalDraftCTA($input: ProposalInput!) {
proposal(input: $input) {
id
status
createdAt
originalId
executableCalls {
value
target
calldata
signature
}
proposer {
address
name
}
metadata {
description
title
}
events {
txHash
type
}
governor {
id
chainId
contracts {
governor {
address
type
}
}
token {
decimals
}
parameters {
proposalThreshold
}
}
}
}
================
File: src/tallyProposal/components/ctas/TallyProposalSubmittedCTA.graphql
================
query TallyProposalSubmittedCTA($input: ProposalInput!) {
proposal(input: $input) {
id
governor {
chainId
}
events {
type
txHash
}
}
}
================
File: src/tallyProposal/components/TallyProposalDetails.graphql
================
query TallyProposalDetails($input: ProposalInput!) {
proposal(input: $input) {
id
metadata {
title
description
snapshotURL
}
status
executableCalls {
value
target
calldata
signature
type
decodedCalldata {
signature
parameters {
name
type
value
}
}
offchaindata {
... on ExecutableCallSwap {
amountIn
fee
buyToken {
data {
price
decimals
name
symbol
}
}
sellToken {
data {
price
decimals
name
symbol
}
}
to
quote {
buyAmount
feeAmount
}
order {
id
status
buyAmount
address
}
priceChecker {
tokenPath
feePath
uniPoolPath
slippage
}
}
... on ExecutableCallRewards {
contributorFee
tallyFee
recipients
}
}
}
governor {
id
chainId
slug
organization {
metadata {
description
}
}
contracts {
governor {
address
type
}
tokens {
address
}
}
timelockId
}
}
}
================
File: src/tallyProposal/components/TallyProposalHeader.graphql
================
query TallyProposalHeader($input: ProposalInput!) {
proposal(input: $input) {
id
metadata {
description
title
}
status
governor {
quorum
name
chainId
}
proposer {
name
picture
address
}
executableCalls {
calldata
}
originalId
}
}
================
File: src/tallyProposal/components/TallyProposalImpactOverviewSummary.graphql
================
query ProposalSecurityCheck($proposalId: ID!) {
proposalSecurityCheck(proposalId: $proposalId) {
metadata {
metadata {
threatAnalysis {
actionsData {
events {
eventType
severity
description
}
result
}
proposerRisk
}
}
simulations {
publicURI
result
}
}
createdAt
}
}
================
File: src/tallyProposal/components/TallyProposalMobileButtons.graphql
================
query TallyProposalMobileButtons($input: ProposalInput!) {
proposal(input: $input) {
id
status
originalId
governor {
id
}
}
}
================
File: src/tallyProposal/components/TallyProposalStatusHistory.graphql
================
query TallyProposalStatusHistory($input: ProposalInput!) {
proposal(input: $input) {
id
createdAt
governor {
id
timelockId
}
proposer {
name
address
picture
}
executableCalls {
target
}
}
}
================
File: src/tallyProposal/components/TallyProposalVersionHistory.graphql
================
query TallyProposalVersionHistory($input: ProposalInput!) {
proposalWithVersions(input: $input) {
id
createdAt
proposer {
name
address
}
}
}
================
File: src/tallyProposal/hooks/useArchiveProposal.graphql
================
mutation ArchiveProposal($originalId: IntID!) {
archiveProposal(originalId: $originalId)
}
================
File: src/tallyProposal/hooks/useRestorePreviousProposalDraf.graphql
================
mutation RestorePreviousProposalDraft($id: IntID!) {
restoreProposalDraft(id: $id)
}
================
File: src/tallyProposal/hooks/useTallyProposal.graphql
================
query TallyProposal($input: ProposalInput!) {
proposal(input: $input) {
onchainId
status
proposer {
address
}
governor {
id
organization {
governorIds
}
}
}
}
================
File: src/tallyProposal/hooks/useTallyProposalMetadata.graphql
================
query TallyProposalMetadata($input: ProposalInput!) {
proposal(input: $input) {
id
originalId
onchainId
metadata {
title
description
snapshotURL
}
status
proposer {
address
}
governor {
id
kind
organization {
id
name
metadata {
icon
}
}
}
}
}
================
File: src/tallyProposal/hooks/useUpdateTallyProposal.graphql
================
mutation UpdateTallyProposal($input: UpdateProposalInput!) {
updateProposal(input: $input) {
id
}
}
================
File: src/user/components/UserConnect.graphql
================
query UserConnectAddress($address: Address!) {
address(address: $address) {
address
ethAccount {
email
}
}
}
================
File: src/user/components/UserCreateAPIKey.graphql
================
mutation UserCreateAPIKEY($name: String!) {
createAPIKey(name: $name)
}
================
File: src/user/components/UserGovernances.graphql
================
query UserOrganizationsMemberOf($input: OrganizationsInput) {
organizations(input: $input) {
nodes {
... on Organization {
id
name
chainIds
slug
metadata {
icon
}
hasActiveProposals
}
}
}
}
================
File: src/user/components/UserOrganizations.graphql
================
query UserOrganizations($input: OrganizationsInput) {
organizations(input: $input) {
nodes {
... on Organization {
id
metadata {
description
socials {
website
}
icon
}
name
slug
myRole
governorIds
}
}
}
}
================
File: src/user/components/UserProfileUpdate.graphql
================
mutation UserProfileUpdate($bio: String, $name: String, $picture: String) {
updateAccount(bio: $bio, name: $name, picture: $picture)
}
================
File: src/user/hooks/useRemoveTwitter.graphql
================
mutation RemoveTwitter {
removeTwitter
}
================
File: src/user/hooks/useUpdateAccount.graphql
================
mutation UpdateAccount($bio: String, $name: String) {
updateAccount(bio: $bio, name: $name)
}
================
File: src/user/hooks/useUpdateAccountEmail.graphql
================
mutation UpdateAccountEmail($email: String) {
updateAccount(email: $email)
}
================
File: src/user/hooks/useUpdateIdentities.graphql
================
mutation UpdateIdentities($identities: IdentitiesInput) {
updateAccount(identities: $identities)
}
================
File: src/user/hooks/useUpdateProfile.graphql
================
mutation UpdateProfile($name: String, $bio: String) {
updateAccount(name: $name, bio: $bio)
}
================
File: src/user/hooks/useUpdateProfileImage.graphql
================
mutation UpdateProfileImage($picture: String) {
updateAccount(picture: $picture)
}
================
File: src/voting/hooks/useAccountVotingPower.graphql
================
query GovernorAccountVotingPower($input: DelegateInput!, $blockNumber: Int) {
delegate(input: $input) {
votesCount(blockNumber: $blockNumber)
}
}
================
File: src/voting/hooks/useCreateVoteAttempt.graphql
================
mutation CreateVoteAttempt($input: CreateVoteAttemptInput!) {
createVoteAttempt(input: $input)
}
================
File: src/web3/components/useNonce.graphql
================
query Nonce {
nonce {
expirationTime
issuedAt
nonce
nonceToken
}
}
================
File: src/web3/hooks/useTransactionAttempts.graphql
================
query TransactionAttempts($input: TransactionAttemptsInput!) {
transactionAttempts(input: $input) {
id
tokenId
transactionType
createdAt
}
}
```