Skip to content

Instantly share code, notes, and snippets.

@ydm
Last active May 29, 2024 23:31
Show Gist options
  • Select an option

  • Save ydm/b2058b292c1df4ebd0f506e5f15b2ac3 to your computer and use it in GitHub Desktop.

Select an option

Save ydm/b2058b292c1df4ebd0f506e5f15b2ac3 to your computer and use it in GitHub Desktop.

Mainnet Contracts

Multisig Admin Wallet

Oracles

Operators

The Graph

| Name                      | Indexed      | Deployment                                     | UI                                                                               | URL                                                                         |
|---------------------------+--------------+------------------------------------------------+----------------------------------------------------------------------------------+-----------------------------------------------------------------------------|
| ethereum-mainnet          | index_node_0 | QmWEymF8GcHqxZ1DkTqBNyEXSzSvL5u82My7c3UjpMc3J4 | https://thegraph.com/hosted-service/subgraph/stakewise/ethereum-mainnet          | https://api.thegraph.com/subgraphs/name/stakewise/ethereum-mainnet          |
| stakewise-mainnet         | index_node_0 | QmdpEX6oV4YTUer8tJH9rBTL7QucvT6bc7EBfyhP5QCtRR | https://thegraph.com/hosted-service/subgraph/stakewise/stakewise-mainnet         | https://api.thegraph.com/subgraphs/name/stakewise/stakewise-mainnet         |
| stakewise-harbour-mainnet | index_node_0 | QmVo8wHKLXAEgATVvMnFWcYwZBKtqQmqifovJj9mAjTfdy | https://thegraph.com/hosted-service/subgraph/stakewise/stakewise-harbour-mainnet | https://api.thegraph.com/subgraphs/name/stakewise/stakewise-harbour-mainnet |
| uniswap-v3-mainnet        | index_node_0 | QmfPoBW9AsjyLk3j2TMSH99Kr2cV3SyxA2MJa4D33kQdKP | https://thegraph.com/hosted-service/subgraph/stakewise/uniswap-v3-mainnet        | https://api.thegraph.com/subgraphs/name/stakewise/uniswap-v3-mainnet        |

ethereum

type ValidatorRegistration @entity {
    id: ID!
    publicKey: Bytes!
    withdrawalCredentials: Bytes!
    validatorsDepositRoot: Bytes!
    createdAtBlock: BigInt!
    createdAtTimestamp: BigInt!
}

type Block @entity {
    id: ID!
    timestamp: BigInt!
}

stakewise

type Pool @entity {
    id: ID!
    minActivatingDeposit: BigInt!
    pendingValidatorsLimit: BigInt!
    pendingValidators: BigInt!
    activatedValidators: BigInt!
    totalStaked: BigInt!
    balance: BigInt!
}

type Network @entity {
    id: ID!
    poolPaused: Boolean!
    poolValidatorsPaused: Boolean!
    merkleDistributorPaused: Boolean!
    vestingEscrowFactoryPaused: Boolean!
    oraclesPaused: Boolean!
    rolesPaused: Boolean!
    stakeWiseTokenPaused: Boolean!
    stakedEthTokenPaused: Boolean!
    rewardEthTokenPaused: Boolean!
    oraclesRewardsNonce: BigInt!
    oraclesValidatorsNonce: BigInt!
}

type DepositActivation @entity {
    id: ID!
    account: Bytes!
    validatorIndex: BigInt!
    amount: BigInt!
    createdAtBlock: BigInt!
    createdAtTimestamp: BigInt!
}

type OperatorAllocation @entity {
    id: ID!
    operator: Operator!
    validatorsCount: BigInt!
}

type Operator @entity {
    id: ID!
    depositDataMerkleRoot: Bytes!
    depositDataMerkleProofs: String!
    committed: Boolean!
    depositDataIndex: BigInt!
    validatorsCount: BigInt!
    revenueShare: BigInt!
    distributorPoints: BigInt!
    updatedAtBlock: BigInt!
    updatedAtTimestamp: BigInt!
    allocationsCount: BigInt!
    validators: [Validator!]! @derivedFrom(field: "operator")
    allocations: [OperatorAllocation!]! @derivedFrom(field: "operator")
}

type Oracle @entity {
    id: ID!
}

type Validator @entity {
    id: ID!
    operator: Operator!
    createdAtBlock: BigInt!
    createdAtTimestamp: BigInt!
}

type MerkleDistributor @entity {
    id: ID!
    merkleRoot: Bytes!
    merkleProofs: String!
    rewardsUpdatedAtBlock: BigInt!
    updatedAtBlock: BigInt!
    updatedAtTimestamp: BigInt!
}

type RewardEthToken @entity {
    id: ID!
    rewardPerStakedEthToken: BigInt!
    distributorPeriodReward: BigInt!
    protocolPeriodReward: BigInt!
    totalRewards: BigInt!
    totalFees: BigInt!
    updatedAtBlock: BigInt!
    updatedAtTimestamp: BigInt!
    updatesCount: BigInt!
}

type MerkleRootSnapshot @entity {
    id: ID!
    merkleRoot: Bytes!
    merkleProofs: String!
    rewardsUpdateAtBlock: BigInt!
    createdAtBlock: BigInt!
    createdAtTimestamp: BigInt!
}

type StakingRewardsSnapshot @entity {
    id: ID!
    periodTotalRewards: BigInt!
    periodProtocolRewards: BigInt!
    periodDuration: BigInt!
    totalStaked: BigInt!
    createdAtBlock: BigInt!
    createdAtTimestamp: BigInt!
}

type PeriodicDistribution @entity {
    id: ID!
    token: Bytes!
    beneficiary: Bytes!
    amount: BigInt!
    startedAtBlock: BigInt!
    startedAtTimestamp: BigInt!
    endedAtBlock: BigInt!
}

type OneTimeDistribution @entity {
    id: ID!
    token: Bytes!
    origin: Bytes!
    amount: BigInt!
    rewardsLink: String!
    distributedAtBlock: BigInt!
    distributedAtTimestamp: BigInt!
}

type MerkleDistributorClaim @entity {
    id: ID!
    account: Bytes!
    merkleRoot: Bytes!
    merkleProofs: String!
}

type VestingEscrow @entity {
    id: ID!
    admin: Bytes!
    token: Bytes!
    claimer: Bytes!
    beneficiary: Bytes!
    totalAmount: BigInt!
    totalClaimed: BigInt!
    startTimestamp: BigInt!
    endTimestamp: BigInt!
    cliffLength: BigInt!
    isPaused: Boolean!
}

type StakeWiseTokenHolder @entity {
    id: ID!
    isContract: Boolean!
    balance: BigInt!
    distributorPoints: BigInt!
    updatedAtBlock: BigInt!
    updatedAtTimestamp: BigInt!
}

type Staker @entity {
    id: ID!
    rewardsDisabled: Boolean!
    isContract: Boolean!
    principalBalance: BigInt!
    rewardBalance: BigInt!
    rewardPerStakedEthToken: BigInt!
}

type Partner @entity {
    id: ID!
    contributedAmount: BigInt!
    revenueShare: BigInt!
    distributorPoints: BigInt!
    updatedAtBlock: BigInt!
    updatedAtTimestamp: BigInt!
}

type Referral @entity {
    id: ID!
    referrer: Bytes!
    amount: BigInt!
    createdAtBlock: BigInt!
    createdAtTimestamp: BigInt!
}

type DistributorRedirect @entity {
    id: ID!
    token: DistributorToken!
}

type DistributorToken @entity {
    id: ID!
    redirectedFrom: [DistributorRedirect!]! @derivedFrom(field: "token")
}

type DistributorTokenHolder @entity {
    id: ID!
    token: Bytes!
    account: Bytes!
    amount: BigInt!
    distributorPoints: BigInt!
    updatedAtBlock: BigInt!
    updatedAtTimestamp: BigInt!
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment