#
tokens: 36395/50000 2/103 files (page 3/4)
lines: off (toggle) GitHub
raw markdown copy
This is page 3 of 4. Use http://codebase.md/crazyrabbitltc/mpc-tally-api-server?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
  }
}

```
Page 3/4FirstPrevNextLast