Skip to content

Commit

Permalink
add subgraph
Browse files Browse the repository at this point in the history
  • Loading branch information
dhruv-chauhan committed Jul 11, 2024
1 parent 693e464 commit 6656309
Show file tree
Hide file tree
Showing 82 changed files with 15,460 additions and 0 deletions.
34 changes: 34 additions & 0 deletions deployment/deployment.json
Original file line number Diff line number Diff line change
Expand Up @@ -11442,5 +11442,39 @@
}
}
}
},
"zircuit-staking": {
"schema": "generic",
"base": "zircuit-staking",
"protocol": "zircuit-staking",
"project": "zircuit-staking",
"deployments": {
"zircuit-staking-ethereum": {
"network": "ethereum",
"status": "prod",
"versions": {
"schema": "2.1.1",
"subgraph": "1.0.0",
"methodology": "1.0.0"
},
"files": {
"template": "zircuit.staking.template.yaml"
},
"options": {
"prepare:yaml": true,
"prepare:constants": true
},
"services": {
"hosted-service": {
"slug": "zircuit-staking-ethereum",
"query-id": "zircuit-staking-ethereum"
},
"decentralized-network": {
"slug": "zircuit-staking-ethereum",
"query-id": "todo"
}
}
}
}
}
}
4 changes: 4 additions & 0 deletions subgraphs/zircuit-staking/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.DS_Store
configure.ts
docs/
package-lock.json
30 changes: 30 additions & 0 deletions subgraphs/zircuit-staking/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Zircuit Staking Subgraph

## Methodology v1.0.0

LST and LRT protocols have successfully attracted users and significant Total Value Locked (TVL) as they were able to strike a balance between their relatively high yields, convenience and safety. Zircuit has partnered with leading LST and LRT protocols to provide users with boosted Zircuit rewards on top of native LST/LRT yields. Users stake a compatible asset into the Zircuit staking contract (on Ethereum mainnet) and immediately start earning Zircuit rewards, in addition to the underlying LST/LRT yields, while also helping to bootstrap Zircuit’s liquidity.

Once the Zircuit L2 mainnet is live, there will be an opt-in migration process where depositors will be incentivized to move their assets staked on Ethereum mainnet onto the Zircuit L2 rollup.

## Metrics

### Usage and Transactions

- Deposits into the Zircuit staking contract
- Withdrawals from the Zircuit staking contract

### TVL

Total assets in the Zircuit staking contract

### Fees and Revenue

The protocol does not charge a fee or generate any revenue at the moment.

## Useful Links

- Landing Page: https://www.zircuit.com/
- Restaking App: https://stake.zircuit.com/
- Docs: https://docs.zircuit.com/
- Contracts:
- ZtakingPool: https://etherscan.io/address/0xf047ab4c75cebf0eb9ed34ae2c186f3611aeafa6
159 changes: 159 additions & 0 deletions subgraphs/zircuit-staking/abis/Prices/AaveOracle.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
[
{
"inputs": [
{
"internalType": "contract IPoolAddressesProvider",
"name": "provider",
"type": "address"
},
{ "internalType": "address[]", "name": "assets", "type": "address[]" },
{ "internalType": "address[]", "name": "sources", "type": "address[]" },
{
"internalType": "address",
"name": "fallbackOracle",
"type": "address"
},
{ "internalType": "address", "name": "baseCurrency", "type": "address" },
{
"internalType": "uint256",
"name": "baseCurrencyUnit",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "asset",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "source",
"type": "address"
}
],
"name": "AssetSourceUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "baseCurrency",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "baseCurrencyUnit",
"type": "uint256"
}
],
"name": "BaseCurrencySet",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "fallbackOracle",
"type": "address"
}
],
"name": "FallbackOracleUpdated",
"type": "event"
},
{
"inputs": [],
"name": "ADDRESSES_PROVIDER",
"outputs": [
{
"internalType": "contract IPoolAddressesProvider",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "BASE_CURRENCY",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "BASE_CURRENCY_UNIT",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "asset", "type": "address" }
],
"name": "getAssetPrice",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address[]", "name": "assets", "type": "address[]" }
],
"name": "getAssetsPrices",
"outputs": [
{ "internalType": "uint256[]", "name": "", "type": "uint256[]" }
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getFallbackOracle",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "asset", "type": "address" }
],
"name": "getSourceOfAsset",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address[]", "name": "assets", "type": "address[]" },
{ "internalType": "address[]", "name": "sources", "type": "address[]" }
],
"name": "setAssetSources",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "fallbackOracle", "type": "address" }
],
"name": "setFallbackOracle",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
143 changes: 143 additions & 0 deletions subgraphs/zircuit-staking/abis/Prices/Calculations/Curve.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
[
{
"inputs": [
{
"internalType": "address",
"name": "_curveAddressProviderAddress",
"type": "address"
},
{ "internalType": "address", "name": "_oracleAddress", "type": "address" }
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "curveAddressProviderAddress",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "curveMetapoolFactoryAddress",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "curveRegistryAddress",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "curveLpTokenAddress",
"type": "address"
}
],
"name": "getBasePrice",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "curveLpTokenAddress",
"type": "address"
}
],
"name": "getCurvePriceUsdc",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "tokenAddress", "type": "address" }
],
"name": "getPool",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "assetAddress", "type": "address" }
],
"name": "getPriceUsdc",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "poolAddress", "type": "address" }
],
"name": "getUnderlyingCoinFromPool",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "curveLpTokenAddress",
"type": "address"
}
],
"name": "getVirtualPrice",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "tokenAddress", "type": "address" }
],
"name": "isBasicToken",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "tokenAddress", "type": "address" }
],
"name": "isCurveLpToken",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "oracleAddress",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "ownerAddress",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "bytes32", "name": "slot", "type": "bytes32" },
{ "internalType": "bytes32", "name": "value", "type": "bytes32" }
],
"name": "updateSlot",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
Loading

0 comments on commit 6656309

Please sign in to comment.