From cbbee278360e194bc2acc19fc564fc85b43bbaf9 Mon Sep 17 00:00:00 2001 From: Dhruv Chauhan Date: Mon, 17 Jun 2024 18:20:59 +0530 Subject: [PATCH] add karak subgraph --- deployment/deployment.json | 86 ++ subgraphs/karak/.gitignore | 4 + subgraphs/karak/README.md | 34 + subgraphs/karak/abis/Prices/AaveOracle.json | 159 +++ .../karak/abis/Prices/Calculations/Curve.json | 143 +++ .../abis/Prices/Calculations/SushiSwap.json | 137 +++ subgraphs/karak/abis/Prices/ChainLink.json | 530 ++++++++++ subgraphs/karak/abis/Prices/Curve/Pool.json | 916 ++++++++++++++++++ .../karak/abis/Prices/Curve/Registry.json | 337 +++++++ subgraphs/karak/abis/Prices/ERC20.json | 828 ++++++++++++++++ .../karak/abis/Prices/Uniswap/Factory.json | 125 +++ subgraphs/karak/abis/Prices/Uniswap/Pair.json | 461 +++++++++ .../karak/abis/Prices/Uniswap/Router.json | 398 ++++++++ subgraphs/karak/abis/Prices/YearnLens.json | 174 ++++ subgraphs/karak/abis/Tokens/ERC20.json | 222 +++++ .../karak/abis/Tokens/ERC20NameBytes.json | 17 + .../karak/abis/Tokens/ERC20SymbolBytes.json | 17 + .../abis/karak/DelegationSupervisor.json | 639 ++++++++++++ subgraphs/karak/abis/karak/Vault.json | 646 ++++++++++++ .../karak/abis/karak/VaultSupervisor.json | 679 +++++++++++++ .../configurations/configurations.ts | 28 + .../configurations/configurations/deploy.ts | 5 + .../configurations/interface.ts | 6 + .../karak/configurations/configure.mustache | 6 + subgraphs/karak/image.png | Bin 0 -> 1895534 bytes subgraphs/karak/package.json | 14 + .../karak-arbitrum/configurations.json | 16 + .../karak-arbitrum/configurations.ts | 21 + .../deployments/karak-bsc/configurations.json | 16 + .../deployments/karak-bsc/configurations.ts | 21 + .../karak-ethereum/configurations.json | 16 + .../karak-ethereum/configurations.ts | 21 + .../config/templates/karak.template.yaml | 225 +++++ subgraphs/karak/schema.graphql | 552 +++++++++++ subgraphs/karak/src/common/constants.ts | 6 + subgraphs/karak/src/mappings/handlers.ts | 165 ++++ subgraphs/karak/src/prices/README.md | 295 ++++++ .../prices/calculations/CalculationsCurve.ts | 47 + .../calculations/CalculationsSushiswap.ts | 47 + .../karak/src/prices/common/constants.ts | 43 + subgraphs/karak/src/prices/common/types.ts | 147 +++ subgraphs/karak/src/prices/common/utils.ts | 181 ++++ subgraphs/karak/src/prices/config/arbitrum.ts | 146 +++ subgraphs/karak/src/prices/config/aurora.ts | 133 +++ .../karak/src/prices/config/avalanche.ts | 140 +++ subgraphs/karak/src/prices/config/bsc.ts | 130 +++ subgraphs/karak/src/prices/config/celo.ts | 132 +++ subgraphs/karak/src/prices/config/cronos.ts | 131 +++ subgraphs/karak/src/prices/config/fantom.ts | 145 +++ subgraphs/karak/src/prices/config/fuse.ts | 132 +++ subgraphs/karak/src/prices/config/gnosis.ts | 134 +++ subgraphs/karak/src/prices/config/harmony.ts | 136 +++ subgraphs/karak/src/prices/config/mainnet.ts | 293 ++++++ subgraphs/karak/src/prices/config/moonbeam.ts | 133 +++ subgraphs/karak/src/prices/config/optimism.ts | 145 +++ subgraphs/karak/src/prices/config/polygon.ts | 139 +++ subgraphs/karak/src/prices/config/template.ts | 142 +++ subgraphs/karak/src/prices/index.ts | 151 +++ .../karak/src/prices/oracles/AaveOracle.ts | 44 + .../karak/src/prices/oracles/ChainLinkFeed.ts | 53 + .../src/prices/oracles/YearnLensOracle.ts | 44 + .../karak/src/prices/routers/CurveRouter.ts | 368 +++++++ .../src/prices/routers/UniswapForksRouter.ts | 293 ++++++ subgraphs/karak/src/sdk/README.md | 25 + subgraphs/karak/src/sdk/protocols/config.ts | 45 + .../src/sdk/protocols/generic/account.ts | 93 ++ .../karak/src/sdk/protocols/generic/index.ts | 71 ++ .../karak/src/sdk/protocols/generic/pool.ts | 437 +++++++++ .../src/sdk/protocols/generic/poolSnapshot.ts | 154 +++ .../src/sdk/protocols/generic/protocol.ts | 259 +++++ .../sdk/protocols/generic/protocolSnapshot.ts | 215 ++++ .../karak/src/sdk/protocols/generic/tokens.ts | 81 ++ subgraphs/karak/src/sdk/util/arrays.ts | 103 ++ subgraphs/karak/src/sdk/util/constants.ts | 235 +++++ subgraphs/karak/src/sdk/util/events.ts | 70 ++ subgraphs/karak/src/sdk/util/numbers.ts | 61 ++ subgraphs/karak/src/sdk/util/rewards.ts | 295 ++++++ subgraphs/karak/tsconfig.json | 4 + 78 files changed, 13742 insertions(+) create mode 100644 subgraphs/karak/.gitignore create mode 100644 subgraphs/karak/README.md create mode 100644 subgraphs/karak/abis/Prices/AaveOracle.json create mode 100644 subgraphs/karak/abis/Prices/Calculations/Curve.json create mode 100644 subgraphs/karak/abis/Prices/Calculations/SushiSwap.json create mode 100644 subgraphs/karak/abis/Prices/ChainLink.json create mode 100644 subgraphs/karak/abis/Prices/Curve/Pool.json create mode 100644 subgraphs/karak/abis/Prices/Curve/Registry.json create mode 100644 subgraphs/karak/abis/Prices/ERC20.json create mode 100644 subgraphs/karak/abis/Prices/Uniswap/Factory.json create mode 100644 subgraphs/karak/abis/Prices/Uniswap/Pair.json create mode 100644 subgraphs/karak/abis/Prices/Uniswap/Router.json create mode 100644 subgraphs/karak/abis/Prices/YearnLens.json create mode 100644 subgraphs/karak/abis/Tokens/ERC20.json create mode 100644 subgraphs/karak/abis/Tokens/ERC20NameBytes.json create mode 100644 subgraphs/karak/abis/Tokens/ERC20SymbolBytes.json create mode 100644 subgraphs/karak/abis/karak/DelegationSupervisor.json create mode 100644 subgraphs/karak/abis/karak/Vault.json create mode 100644 subgraphs/karak/abis/karak/VaultSupervisor.json create mode 100644 subgraphs/karak/configurations/configurations/configurations.ts create mode 100644 subgraphs/karak/configurations/configurations/deploy.ts create mode 100644 subgraphs/karak/configurations/configurations/interface.ts create mode 100644 subgraphs/karak/configurations/configure.mustache create mode 100644 subgraphs/karak/image.png create mode 100644 subgraphs/karak/package.json create mode 100644 subgraphs/karak/protocols/karak/config/deployments/karak-arbitrum/configurations.json create mode 100644 subgraphs/karak/protocols/karak/config/deployments/karak-arbitrum/configurations.ts create mode 100644 subgraphs/karak/protocols/karak/config/deployments/karak-bsc/configurations.json create mode 100644 subgraphs/karak/protocols/karak/config/deployments/karak-bsc/configurations.ts create mode 100644 subgraphs/karak/protocols/karak/config/deployments/karak-ethereum/configurations.json create mode 100644 subgraphs/karak/protocols/karak/config/deployments/karak-ethereum/configurations.ts create mode 100644 subgraphs/karak/protocols/karak/config/templates/karak.template.yaml create mode 100644 subgraphs/karak/schema.graphql create mode 100644 subgraphs/karak/src/common/constants.ts create mode 100644 subgraphs/karak/src/mappings/handlers.ts create mode 100644 subgraphs/karak/src/prices/README.md create mode 100644 subgraphs/karak/src/prices/calculations/CalculationsCurve.ts create mode 100644 subgraphs/karak/src/prices/calculations/CalculationsSushiswap.ts create mode 100644 subgraphs/karak/src/prices/common/constants.ts create mode 100644 subgraphs/karak/src/prices/common/types.ts create mode 100644 subgraphs/karak/src/prices/common/utils.ts create mode 100644 subgraphs/karak/src/prices/config/arbitrum.ts create mode 100644 subgraphs/karak/src/prices/config/aurora.ts create mode 100644 subgraphs/karak/src/prices/config/avalanche.ts create mode 100644 subgraphs/karak/src/prices/config/bsc.ts create mode 100644 subgraphs/karak/src/prices/config/celo.ts create mode 100644 subgraphs/karak/src/prices/config/cronos.ts create mode 100644 subgraphs/karak/src/prices/config/fantom.ts create mode 100644 subgraphs/karak/src/prices/config/fuse.ts create mode 100644 subgraphs/karak/src/prices/config/gnosis.ts create mode 100644 subgraphs/karak/src/prices/config/harmony.ts create mode 100644 subgraphs/karak/src/prices/config/mainnet.ts create mode 100644 subgraphs/karak/src/prices/config/moonbeam.ts create mode 100644 subgraphs/karak/src/prices/config/optimism.ts create mode 100644 subgraphs/karak/src/prices/config/polygon.ts create mode 100644 subgraphs/karak/src/prices/config/template.ts create mode 100644 subgraphs/karak/src/prices/index.ts create mode 100644 subgraphs/karak/src/prices/oracles/AaveOracle.ts create mode 100644 subgraphs/karak/src/prices/oracles/ChainLinkFeed.ts create mode 100644 subgraphs/karak/src/prices/oracles/YearnLensOracle.ts create mode 100644 subgraphs/karak/src/prices/routers/CurveRouter.ts create mode 100644 subgraphs/karak/src/prices/routers/UniswapForksRouter.ts create mode 100644 subgraphs/karak/src/sdk/README.md create mode 100644 subgraphs/karak/src/sdk/protocols/config.ts create mode 100644 subgraphs/karak/src/sdk/protocols/generic/account.ts create mode 100644 subgraphs/karak/src/sdk/protocols/generic/index.ts create mode 100644 subgraphs/karak/src/sdk/protocols/generic/pool.ts create mode 100644 subgraphs/karak/src/sdk/protocols/generic/poolSnapshot.ts create mode 100644 subgraphs/karak/src/sdk/protocols/generic/protocol.ts create mode 100644 subgraphs/karak/src/sdk/protocols/generic/protocolSnapshot.ts create mode 100644 subgraphs/karak/src/sdk/protocols/generic/tokens.ts create mode 100644 subgraphs/karak/src/sdk/util/arrays.ts create mode 100644 subgraphs/karak/src/sdk/util/constants.ts create mode 100644 subgraphs/karak/src/sdk/util/events.ts create mode 100644 subgraphs/karak/src/sdk/util/numbers.ts create mode 100644 subgraphs/karak/src/sdk/util/rewards.ts create mode 100644 subgraphs/karak/tsconfig.json diff --git a/deployment/deployment.json b/deployment/deployment.json index 5eccc15432..7d49f7b32f 100644 --- a/deployment/deployment.json +++ b/deployment/deployment.json @@ -10790,5 +10790,91 @@ } } } + }, + "karak": { + "schema": "generic", + "base": "karak", + "protocol": "karak", + "project": "karak", + "deployments": { + "karak-ethereum": { + "network": "ethereum", + "status": "prod", + "versions": { + "schema": "2.1.1", + "subgraph": "1.0.0", + "methodology": "1.0.0" + }, + "files": { + "template": "karak.template.yaml" + }, + "options": { + "prepare:yaml": true, + "prepare:constants": true + }, + "services": { + "hosted-service": { + "slug": "karak-ethereum", + "query-id": "karak-ethereum" + }, + "decentralized-network": { + "slug": "karak-ethereum", + "query-id": "todo" + } + } + }, + "karak-arbitrum": { + "network": "arbitrum", + "status": "prod", + "versions": { + "schema": "2.1.1", + "subgraph": "1.0.0", + "methodology": "1.0.0" + }, + "files": { + "template": "karak.template.yaml" + }, + "options": { + "prepare:yaml": true, + "prepare:constants": true + }, + "services": { + "hosted-service": { + "slug": "karak-arbitrum", + "query-id": "karak-arbitrum" + }, + "decentralized-network": { + "slug": "karak-arbitrum", + "query-id": "todo" + } + } + }, + "karak-bsc": { + "network": "bsc", + "status": "prod", + "versions": { + "schema": "2.1.1", + "subgraph": "1.0.0", + "methodology": "1.0.0" + }, + "files": { + "template": "karak.template.yaml" + }, + "options": { + "prepare:yaml": true, + "prepare:constants": true + }, + "services": { + "hosted-service": { + "slug": "karak-bsc", + "query-id": "karak-bsc" + }, + "decentralized-network": { + "slug": "karak-bsc", + "query-id": "todo" + } + } + } + } } } diff --git a/subgraphs/karak/.gitignore b/subgraphs/karak/.gitignore new file mode 100644 index 0000000000..09140957fa --- /dev/null +++ b/subgraphs/karak/.gitignore @@ -0,0 +1,4 @@ +.DS_Store +configure.ts +docs/ +package-lock.json diff --git a/subgraphs/karak/README.md b/subgraphs/karak/README.md new file mode 100644 index 0000000000..2fc01df2ee --- /dev/null +++ b/subgraphs/karak/README.md @@ -0,0 +1,34 @@ +# Karak Subgraph + +## Methodology v1.0.0 + +Karak operates as a marketplace where, + +- users repurpose their staked assets to extend Ethereum as well as other trust networks' security to other applications +- developers get to incentivize validators to allocate their restaked assets to secure their secured services instead of issuing their own highly inflationary tokens as rewards for validators and having to establish a new trust network from the ground up + +Karak introduces multiasset restaking, a new primitive in cryptoeconomic security allowing users to restake assets such as ethereum, liquid staking tokens, stablecoins, and more preventing a single asset's failure and to earn rewards. + +![overview](image.png) + +## Metrics + +### Usage and Transactions + +- Deposits into ERC4626 vault to restake +- Withdrawals from the vault to unstake (there is a delay of 7 days since requesting withdrawal to receiving) + +### TVL + +Total assets in all of Karak's vaults. + +### Fees and Revenue + +The protocol does not charge a fee or generate any revenue at the moment. + +## Useful Links + +- Landing Page: https://karak.network/ +- Staking App: https://app.karak.network/ +- Docs: https://docs.karak.network/karak +- Contracts: https://docs.karak.network/karak/developers/contract-addresses diff --git a/subgraphs/karak/abis/Prices/AaveOracle.json b/subgraphs/karak/abis/Prices/AaveOracle.json new file mode 100644 index 0000000000..3149642bb9 --- /dev/null +++ b/subgraphs/karak/abis/Prices/AaveOracle.json @@ -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" + } +] diff --git a/subgraphs/karak/abis/Prices/Calculations/Curve.json b/subgraphs/karak/abis/Prices/Calculations/Curve.json new file mode 100644 index 0000000000..b1f6da3de4 --- /dev/null +++ b/subgraphs/karak/abis/Prices/Calculations/Curve.json @@ -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" + } +] diff --git a/subgraphs/karak/abis/Prices/Calculations/SushiSwap.json b/subgraphs/karak/abis/Prices/Calculations/SushiSwap.json new file mode 100644 index 0000000000..8b9718ae78 --- /dev/null +++ b/subgraphs/karak/abis/Prices/Calculations/SushiSwap.json @@ -0,0 +1,137 @@ +[ + { + "inputs": [ + { + "internalType": "address", + "name": "_primaryRouterAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_primaryFactoryAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_secondaryRouterAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_secondaryFactoryAddress", + "type": "address" + }, + { "internalType": "address", "name": "_usdcAddress", "type": "address" } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { "internalType": "address", "name": "tokenAddress", "type": "address" } + ], + "name": "getLpTokenPriceUsdc", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "tokenAddress", "type": "address" } + ], + "name": "getLpTokenTotalLiquidityUsdc", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "token0Address", "type": "address" }, + { "internalType": "address", "name": "token1Address", "type": "address" } + ], + "name": "getPriceFromRouter", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "tokenAddress", "type": "address" } + ], + "name": "getPriceFromRouterUsdc", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "tokenAddress", "type": "address" } + ], + "name": "getPriceUsdc", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "tokenAddress", "type": "address" } + ], + "name": "getRouterForLpToken", + "outputs": [ + { "internalType": "contract PriceRouter", "name": "", "type": "address" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "tokenAddress", "type": "address" } + ], + "name": "isLpToken", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "primaryFactoryAddress", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "primaryRouterAddress", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "secondaryFactoryAddress", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "secondaryRouterAddress", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "usdcAddress", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "wethAddress", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + } +] diff --git a/subgraphs/karak/abis/Prices/ChainLink.json b/subgraphs/karak/abis/Prices/ChainLink.json new file mode 100644 index 0000000000..55882931c3 --- /dev/null +++ b/subgraphs/karak/abis/Prices/ChainLink.json @@ -0,0 +1,530 @@ +[ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "accessController", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "AccessControllerSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "denomination", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "latestAggregator", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "previousAggregator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint16", + "name": "nextPhaseId", + "type": "uint16" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "FeedConfirmed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "denomination", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "proposedAggregator", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "currentAggregator", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "FeedProposed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "OwnershipTransferRequested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" }, + { "internalType": "address", "name": "aggregator", "type": "address" } + ], + "name": "confirmFeed", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" } + ], + "name": "decimals", + "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" } + ], + "name": "description", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAccessController", + "outputs": [ + { + "internalType": "contract AccessControllerInterface", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" }, + { "internalType": "uint256", "name": "roundId", "type": "uint256" } + ], + "name": "getAnswer", + "outputs": [ + { "internalType": "int256", "name": "answer", "type": "int256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" } + ], + "name": "getCurrentPhaseId", + "outputs": [ + { "internalType": "uint16", "name": "currentPhaseId", "type": "uint16" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" } + ], + "name": "getFeed", + "outputs": [ + { + "internalType": "contract AggregatorV2V3Interface", + "name": "aggregator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" }, + { "internalType": "uint80", "name": "roundId", "type": "uint80" } + ], + "name": "getNextRoundId", + "outputs": [ + { "internalType": "uint80", "name": "nextRoundId", "type": "uint80" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" }, + { "internalType": "uint16", "name": "phaseId", "type": "uint16" } + ], + "name": "getPhase", + "outputs": [ + { + "components": [ + { "internalType": "uint16", "name": "phaseId", "type": "uint16" }, + { + "internalType": "uint80", + "name": "startingAggregatorRoundId", + "type": "uint80" + }, + { + "internalType": "uint80", + "name": "endingAggregatorRoundId", + "type": "uint80" + } + ], + "internalType": "struct FeedRegistryInterface.Phase", + "name": "phase", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" }, + { "internalType": "uint16", "name": "phaseId", "type": "uint16" } + ], + "name": "getPhaseFeed", + "outputs": [ + { + "internalType": "contract AggregatorV2V3Interface", + "name": "aggregator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" }, + { "internalType": "uint16", "name": "phaseId", "type": "uint16" } + ], + "name": "getPhaseRange", + "outputs": [ + { "internalType": "uint80", "name": "startingRoundId", "type": "uint80" }, + { "internalType": "uint80", "name": "endingRoundId", "type": "uint80" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" }, + { "internalType": "uint80", "name": "roundId", "type": "uint80" } + ], + "name": "getPreviousRoundId", + "outputs": [ + { "internalType": "uint80", "name": "previousRoundId", "type": "uint80" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" } + ], + "name": "getProposedFeed", + "outputs": [ + { + "internalType": "contract AggregatorV2V3Interface", + "name": "proposedAggregator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" }, + { "internalType": "uint80", "name": "_roundId", "type": "uint80" } + ], + "name": "getRoundData", + "outputs": [ + { "internalType": "uint80", "name": "roundId", "type": "uint80" }, + { "internalType": "int256", "name": "answer", "type": "int256" }, + { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, + { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, + { "internalType": "uint80", "name": "answeredInRound", "type": "uint80" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" }, + { "internalType": "uint80", "name": "roundId", "type": "uint80" } + ], + "name": "getRoundFeed", + "outputs": [ + { + "internalType": "contract AggregatorV2V3Interface", + "name": "aggregator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" }, + { "internalType": "uint256", "name": "roundId", "type": "uint256" } + ], + "name": "getTimestamp", + "outputs": [ + { "internalType": "uint256", "name": "timestamp", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "aggregator", "type": "address" } + ], + "name": "isFeedEnabled", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" } + ], + "name": "latestAnswer", + "outputs": [ + { "internalType": "int256", "name": "answer", "type": "int256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" } + ], + "name": "latestRound", + "outputs": [ + { "internalType": "uint256", "name": "roundId", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" } + ], + "name": "latestRoundData", + "outputs": [ + { "internalType": "uint80", "name": "roundId", "type": "uint80" }, + { "internalType": "int256", "name": "answer", "type": "int256" }, + { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, + { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, + { "internalType": "uint80", "name": "answeredInRound", "type": "uint80" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" } + ], + "name": "latestTimestamp", + "outputs": [ + { "internalType": "uint256", "name": "timestamp", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" }, + { "internalType": "address", "name": "aggregator", "type": "address" } + ], + "name": "proposeFeed", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" }, + { "internalType": "uint80", "name": "roundId", "type": "uint80" } + ], + "name": "proposedGetRoundData", + "outputs": [ + { "internalType": "uint80", "name": "id", "type": "uint80" }, + { "internalType": "int256", "name": "answer", "type": "int256" }, + { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, + { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, + { "internalType": "uint80", "name": "answeredInRound", "type": "uint80" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" } + ], + "name": "proposedLatestRoundData", + "outputs": [ + { "internalType": "uint80", "name": "id", "type": "uint80" }, + { "internalType": "int256", "name": "answer", "type": "int256" }, + { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, + { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, + { "internalType": "uint80", "name": "answeredInRound", "type": "uint80" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract AccessControllerInterface", + "name": "_accessController", + "type": "address" + } + ], + "name": "setAccessController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "address", "name": "to", "type": "address" }], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "typeAndVersion", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "base", "type": "address" }, + { "internalType": "address", "name": "quote", "type": "address" } + ], + "name": "version", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + } +] diff --git a/subgraphs/karak/abis/Prices/Curve/Pool.json b/subgraphs/karak/abis/Prices/Curve/Pool.json new file mode 100644 index 0000000000..d4843cae7d --- /dev/null +++ b/subgraphs/karak/abis/Prices/Curve/Pool.json @@ -0,0 +1,916 @@ +[ + { + "name": "TokenExchange", + "inputs": [ + { "type": "address", "name": "buyer", "indexed": true }, + { "type": "int128", "name": "sold_id", "indexed": false }, + { "type": "uint256", "name": "tokens_sold", "indexed": false }, + { "type": "int128", "name": "bought_id", "indexed": false }, + { "type": "uint256", "name": "tokens_bought", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "TokenExchange", + "inputs": [ + { "name": "buyer", "type": "address", "indexed": true }, + { "name": "sold_id", "type": "uint256", "indexed": false }, + { "name": "tokens_sold", "type": "uint256", "indexed": false }, + { "name": "bought_id", "type": "uint256", "indexed": false }, + { "name": "tokens_bought", "type": "uint256", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "TokenExchangeUnderlying", + "inputs": [ + { "name": "buyer", "type": "address", "indexed": true }, + { "name": "sold_id", "type": "int128", "indexed": false }, + { "name": "tokens_sold", "type": "uint256", "indexed": false }, + { "name": "bought_id", "type": "int128", "indexed": false }, + { "name": "tokens_bought", "type": "uint256", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "AddLiquidity", + "inputs": [ + { "name": "provider", "type": "address", "indexed": true }, + { "name": "token_amounts", "type": "uint256[2]", "indexed": false }, + { "name": "fee", "type": "uint256", "indexed": false }, + { "name": "token_supply", "type": "uint256", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "AddLiquidity", + "inputs": [ + { "name": "provider", "type": "address", "indexed": true }, + { "name": "token_amounts", "type": "uint256[3]", "indexed": false }, + { "name": "fee", "type": "uint256", "indexed": false }, + { "name": "token_supply", "type": "uint256", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "AddLiquidity", + "inputs": [ + { "name": "provider", "type": "address", "indexed": true }, + { "name": "token_amounts", "type": "uint256[2]", "indexed": false }, + { "name": "fees", "type": "uint256[2]", "indexed": false }, + { "name": "invariant", "type": "uint256", "indexed": false }, + { "name": "token_supply", "type": "uint256", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "AddLiquidity", + "inputs": [ + { "type": "address", "name": "provider", "indexed": true }, + { "type": "uint256[3]", "name": "token_amounts", "indexed": false }, + { "type": "uint256[3]", "name": "fees", "indexed": false }, + { "type": "uint256", "name": "invariant", "indexed": false }, + { "type": "uint256", "name": "token_supply", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "AddLiquidity", + "inputs": [ + { "type": "address", "name": "provider", "indexed": true }, + { "type": "uint256[4]", "name": "token_amounts", "indexed": false }, + { "type": "uint256[4]", "name": "fees", "indexed": false }, + { "type": "uint256", "name": "invariant", "indexed": false }, + { "type": "uint256", "name": "token_supply", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "RemoveLiquidity", + "inputs": [ + { "name": "provider", "type": "address", "indexed": true }, + { "name": "token_amounts", "type": "uint256[2]", "indexed": false }, + { "name": "token_supply", "type": "uint256", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "RemoveLiquidity", + "inputs": [ + { "name": "provider", "type": "address", "indexed": true }, + { "name": "token_amounts", "type": "uint256[3]", "indexed": false }, + { "name": "token_supply", "type": "uint256", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "RemoveLiquidity", + "inputs": [ + { "name": "provider", "type": "address", "indexed": true }, + { "name": "token_amounts", "type": "uint256[2]", "indexed": false }, + { "name": "fees", "type": "uint256[2]", "indexed": false }, + { "name": "token_supply", "type": "uint256", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "RemoveLiquidity", + "inputs": [ + { "type": "address", "name": "provider", "indexed": true }, + { "type": "uint256[3]", "name": "token_amounts", "indexed": false }, + { "type": "uint256[3]", "name": "fees", "indexed": false }, + { "type": "uint256", "name": "token_supply", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "RemoveLiquidity", + "inputs": [ + { "type": "address", "name": "provider", "indexed": true }, + { "type": "uint256[4]", "name": "token_amounts", "indexed": false }, + { "type": "uint256[4]", "name": "fees", "indexed": false }, + { "type": "uint256", "name": "token_supply", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "RemoveLiquidityOne", + "inputs": [ + { "type": "address", "name": "provider", "indexed": true }, + { "type": "uint256", "name": "token_amount", "indexed": false }, + { "type": "uint256", "name": "coin_amount", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "RemoveLiquidityOne", + "inputs": [ + { "name": "provider", "type": "address", "indexed": true }, + { "name": "token_amount", "type": "uint256", "indexed": false }, + { "name": "coin_amount", "type": "uint256", "indexed": false }, + { "name": "token_supply", "type": "uint256", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "RemoveLiquidityImbalance", + "inputs": [ + { "type": "address", "name": "provider", "indexed": true }, + { "type": "uint256[2]", "name": "token_amounts", "indexed": false }, + { "type": "uint256[2]", "name": "fees", "indexed": false }, + { "type": "uint256", "name": "invariant", "indexed": false }, + { "type": "uint256", "name": "token_supply", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "RemoveLiquidityImbalance", + "inputs": [ + { "type": "address", "name": "provider", "indexed": true }, + { "type": "uint256[3]", "name": "token_amounts", "indexed": false }, + { "type": "uint256[3]", "name": "fees", "indexed": false }, + { "type": "uint256", "name": "invariant", "indexed": false }, + { "type": "uint256", "name": "token_supply", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "RemoveLiquidityImbalance", + "inputs": [ + { "type": "address", "name": "provider", "indexed": true }, + { "type": "uint256[4]", "name": "token_amounts", "indexed": false }, + { "type": "uint256[4]", "name": "fees", "indexed": false }, + { "type": "uint256", "name": "invariant", "indexed": false }, + { "type": "uint256", "name": "token_supply", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "NewFee", + "inputs": [ + { "type": "uint256", "name": "fee", "indexed": false }, + { "type": "uint256", "name": "admin_fee", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "NewFee", + "inputs": [ + { "type": "uint256", "name": "fee", "indexed": false }, + { "type": "uint256", "name": "admin_fee", "indexed": false }, + { "type": "uint256", "name": "offpeg_fee_multiplier", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + + { + "name": "CommitNewAdmin", + "inputs": [ + { "name": "deadline", "type": "uint256", "indexed": true }, + { "name": "admin", "type": "address", "indexed": true } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "NewAdmin", + "inputs": [{ "name": "admin", "type": "address", "indexed": true }], + "anonymous": false, + "type": "event" + }, + { + "name": "CommitNewParameters", + "inputs": [ + { "name": "deadline", "type": "uint256", "indexed": true }, + { "name": "admin_fee", "type": "uint256", "indexed": false }, + { "name": "mid_fee", "type": "uint256", "indexed": false }, + { "name": "out_fee", "type": "uint256", "indexed": false }, + { "name": "fee_gamma", "type": "uint256", "indexed": false }, + { "name": "allowed_extra_profit", "type": "uint256", "indexed": false }, + { "name": "adjustment_step", "type": "uint256", "indexed": false }, + { "name": "ma_half_time", "type": "uint256", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "NewParameters", + "inputs": [ + { "name": "admin_fee", "type": "uint256", "indexed": false }, + { "name": "mid_fee", "type": "uint256", "indexed": false }, + { "name": "out_fee", "type": "uint256", "indexed": false }, + { "name": "fee_gamma", "type": "uint256", "indexed": false }, + { "name": "allowed_extra_profit", "type": "uint256", "indexed": false }, + { "name": "adjustment_step", "type": "uint256", "indexed": false }, + { "name": "ma_half_time", "type": "uint256", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "RampAgamma", + "inputs": [ + { "name": "initial_A", "type": "uint256", "indexed": false }, + { "name": "future_A", "type": "uint256", "indexed": false }, + { "name": "initial_gamma", "type": "uint256", "indexed": false }, + { "name": "future_gamma", "type": "uint256", "indexed": false }, + { "name": "initial_time", "type": "uint256", "indexed": false }, + { "name": "future_time", "type": "uint256", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "StopRampA", + "inputs": [ + { "name": "current_A", "type": "uint256", "indexed": false }, + { "name": "current_gamma", "type": "uint256", "indexed": false }, + { "name": "time", "type": "uint256", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "ClaimAdminFee", + "inputs": [ + { "name": "admin", "type": "address", "indexed": true }, + { "name": "tokens", "type": "uint256", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "stateMutability": "nonpayable", + "type": "constructor", + "inputs": [ + { "name": "owner", "type": "address" }, + { "name": "admin_fee_receiver", "type": "address" }, + { "name": "A", "type": "uint256" }, + { "name": "gamma", "type": "uint256" }, + { "name": "mid_fee", "type": "uint256" }, + { "name": "out_fee", "type": "uint256" }, + { "name": "allowed_extra_profit", "type": "uint256" }, + { "name": "fee_gamma", "type": "uint256" }, + { "name": "adjustment_step", "type": "uint256" }, + { "name": "admin_fee", "type": "uint256" }, + { "name": "ma_half_time", "type": "uint256" }, + { "name": "initial_price", "type": "uint256" } + ], + "outputs": [] + }, + { "stateMutability": "payable", "type": "fallback" }, + { + "stateMutability": "view", + "type": "function", + "name": "token", + "inputs": [], + "outputs": [{ "name": "", "type": "address" }], + "gas": 516 + }, + { + "stateMutability": "view", + "type": "function", + "name": "coins", + "inputs": [{ "name": "i", "type": "uint256" }], + "outputs": [{ "name": "", "type": "address" }], + "gas": 648 + }, + { + "stateMutability": "view", + "type": "function", + "name": "A", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 685 + }, + { + "stateMutability": "view", + "type": "function", + "name": "gamma", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 11789 + }, + { + "stateMutability": "view", + "type": "function", + "name": "fee", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 17633 + }, + { + "stateMutability": "view", + "type": "function", + "name": "get_virtual_price", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 364797 + }, + { + "stateMutability": "payable", + "type": "function", + "name": "exchange", + "inputs": [ + { "name": "i", "type": "uint256" }, + { "name": "j", "type": "uint256" }, + { "name": "dx", "type": "uint256" }, + { "name": "min_dy", "type": "uint256" } + ], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 16775598 + }, + { + "stateMutability": "payable", + "type": "function", + "name": "exchange", + "inputs": [ + { "name": "i", "type": "uint256" }, + { "name": "j", "type": "uint256" }, + { "name": "dx", "type": "uint256" }, + { "name": "min_dy", "type": "uint256" }, + { "name": "use_eth", "type": "bool" } + ], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 16775598 + }, + { + "stateMutability": "payable", + "type": "function", + "name": "exchange_underlying", + "inputs": [ + { "name": "i", "type": "uint256" }, + { "name": "j", "type": "uint256" }, + { "name": "dx", "type": "uint256" }, + { "name": "min_dy", "type": "uint256" } + ], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 16775396 + }, + { + "stateMutability": "view", + "type": "function", + "name": "get_dy", + "inputs": [ + { "name": "i", "type": "uint256" }, + { "name": "j", "type": "uint256" }, + { "name": "dx", "type": "uint256" } + ], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 4577515 + }, + { + "stateMutability": "payable", + "type": "function", + "name": "add_liquidity", + "inputs": [ + { "name": "amounts", "type": "uint256[2]" }, + { "name": "min_mint_amount", "type": "uint256" } + ], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 17694821 + }, + { + "stateMutability": "payable", + "type": "function", + "name": "add_liquidity", + "inputs": [ + { "name": "amounts", "type": "uint256[2]" }, + { "name": "min_mint_amount", "type": "uint256" }, + { "name": "use_eth", "type": "bool" } + ], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 17694821 + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "remove_liquidity", + "inputs": [ + { "name": "_amount", "type": "uint256" }, + { "name": "min_amounts", "type": "uint256[2]" } + ], + "outputs": [], + "gas": 263729 + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "remove_liquidity", + "inputs": [ + { "name": "_amount", "type": "uint256" }, + { "name": "min_amounts", "type": "uint256[2]" }, + { "name": "use_eth", "type": "bool" } + ], + "outputs": [], + "gas": 263729 + }, + { + "stateMutability": "view", + "type": "function", + "name": "calc_token_amount", + "inputs": [{ "name": "amounts", "type": "uint256[2]" }], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 5200947 + }, + { + "stateMutability": "view", + "type": "function", + "name": "calc_withdraw_one_coin", + "inputs": [ + { "name": "token_amount", "type": "uint256" }, + { "name": "i", "type": "uint256" } + ], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 12584 + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "remove_liquidity_one_coin", + "inputs": [ + { "name": "token_amount", "type": "uint256" }, + { "name": "i", "type": "uint256" }, + { "name": "min_amount", "type": "uint256" } + ], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 16702178 + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "remove_liquidity_one_coin", + "inputs": [ + { "name": "token_amount", "type": "uint256" }, + { "name": "i", "type": "uint256" }, + { "name": "min_amount", "type": "uint256" }, + { "name": "use_eth", "type": "bool" } + ], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 16702178 + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "claim_admin_fees", + "inputs": [], + "outputs": [], + "gas": 3250985 + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "ramp_A_gamma", + "inputs": [ + { "name": "future_A", "type": "uint256" }, + { "name": "future_gamma", "type": "uint256" }, + { "name": "future_time", "type": "uint256" } + ], + "outputs": [], + "gas": 161698 + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "stop_ramp_A_gamma", + "inputs": [], + "outputs": [], + "gas": 156743 + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "commit_new_parameters", + "inputs": [ + { "name": "_new_mid_fee", "type": "uint256" }, + { "name": "_new_out_fee", "type": "uint256" }, + { "name": "_new_admin_fee", "type": "uint256" }, + { "name": "_new_fee_gamma", "type": "uint256" }, + { "name": "_new_allowed_extra_profit", "type": "uint256" }, + { "name": "_new_adjustment_step", "type": "uint256" }, + { "name": "_new_ma_half_time", "type": "uint256" } + ], + "outputs": [], + "gas": 305084 + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "apply_new_parameters", + "inputs": [], + "outputs": [], + "gas": 3543175 + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "revert_new_parameters", + "inputs": [], + "outputs": [], + "gas": 23142 + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "commit_transfer_ownership", + "inputs": [{ "name": "_owner", "type": "address" }], + "outputs": [], + "gas": 78827 + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "apply_transfer_ownership", + "inputs": [], + "outputs": [], + "gas": 67042 + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "revert_transfer_ownership", + "inputs": [], + "outputs": [], + "gas": 23232 + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "kill_me", + "inputs": [], + "outputs": [], + "gas": 40455 + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "unkill_me", + "inputs": [], + "outputs": [], + "gas": 23292 + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "set_admin_fee_receiver", + "inputs": [{ "name": "_admin_fee_receiver", "type": "address" }], + "outputs": [], + "gas": 38482 + }, + { + "stateMutability": "view", + "type": "function", + "name": "lp_price", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 217046 + }, + { + "stateMutability": "view", + "type": "function", + "name": "price_scale", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3426 + }, + { + "stateMutability": "view", + "type": "function", + "name": "price_oracle", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3456 + }, + { + "stateMutability": "view", + "type": "function", + "name": "price_oracle", + "inputs": [{ "name": "", "type": "uint256" }], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3456 + }, + { + "stateMutability": "view", + "type": "function", + "name": "last_prices", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3486 + }, + { + "stateMutability": "view", + "type": "function", + "name": "last_prices_timestamp", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3516 + }, + { + "stateMutability": "view", + "type": "function", + "name": "initial_A_gamma", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3546 + }, + { + "stateMutability": "view", + "type": "function", + "name": "future_A_gamma", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3576 + }, + { + "stateMutability": "view", + "type": "function", + "name": "initial_A_gamma_time", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3606 + }, + { + "stateMutability": "view", + "type": "function", + "name": "future_A_gamma_time", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3636 + }, + { + "stateMutability": "view", + "type": "function", + "name": "allowed_extra_profit", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3666 + }, + { + "stateMutability": "view", + "type": "function", + "name": "future_allowed_extra_profit", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3696 + }, + { + "stateMutability": "view", + "type": "function", + "name": "fee_gamma", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3726 + }, + { + "stateMutability": "view", + "type": "function", + "name": "future_fee_gamma", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3756 + }, + { + "stateMutability": "view", + "type": "function", + "name": "adjustment_step", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3786 + }, + { + "stateMutability": "view", + "type": "function", + "name": "future_adjustment_step", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3816 + }, + { + "stateMutability": "view", + "type": "function", + "name": "ma_half_time", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3846 + }, + { + "stateMutability": "view", + "type": "function", + "name": "future_ma_half_time", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3876 + }, + { + "stateMutability": "view", + "type": "function", + "name": "mid_fee", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3906 + }, + { + "stateMutability": "view", + "type": "function", + "name": "out_fee", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3936 + }, + { + "stateMutability": "view", + "type": "function", + "name": "admin_fee", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3966 + }, + { + "stateMutability": "view", + "type": "function", + "name": "future_mid_fee", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 3996 + }, + { + "stateMutability": "view", + "type": "function", + "name": "future_out_fee", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 4026 + }, + { + "stateMutability": "view", + "type": "function", + "name": "future_admin_fee", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 4056 + }, + { + "stateMutability": "view", + "type": "function", + "name": "balances", + "inputs": [{ "name": "arg0", "type": "uint256" }], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 4131 + }, + { + "stateMutability": "view", + "type": "function", + "name": "D", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 4116 + }, + { + "stateMutability": "view", + "type": "function", + "name": "owner", + "inputs": [], + "outputs": [{ "name": "", "type": "address" }], + "gas": 4146 + }, + { + "stateMutability": "view", + "type": "function", + "name": "future_owner", + "inputs": [], + "outputs": [{ "name": "", "type": "address" }], + "gas": 4176 + }, + { + "stateMutability": "view", + "type": "function", + "name": "xcp_profit", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 4206 + }, + { + "stateMutability": "view", + "type": "function", + "name": "xcp_profit_a", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 4236 + }, + { + "stateMutability": "view", + "type": "function", + "name": "virtual_price", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 4266 + }, + { + "stateMutability": "view", + "type": "function", + "name": "is_killed", + "inputs": [], + "outputs": [{ "name": "", "type": "bool" }], + "gas": 4296 + }, + { + "stateMutability": "view", + "type": "function", + "name": "kill_deadline", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 4326 + }, + { + "stateMutability": "view", + "type": "function", + "name": "transfer_ownership_deadline", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 4356 + }, + { + "stateMutability": "view", + "type": "function", + "name": "admin_actions_deadline", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256" }], + "gas": 4386 + }, + { + "stateMutability": "view", + "type": "function", + "name": "admin_fee_receiver", + "inputs": [], + "outputs": [{ "name": "", "type": "address" }], + "gas": 4416 + }, + { + "name": "lp_token", + "outputs": [{ "type": "address", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 2291 + } +] diff --git a/subgraphs/karak/abis/Prices/Curve/Registry.json b/subgraphs/karak/abis/Prices/Curve/Registry.json new file mode 100644 index 0000000000..9747624cc9 --- /dev/null +++ b/subgraphs/karak/abis/Prices/Curve/Registry.json @@ -0,0 +1,337 @@ +[ + { + "name": "PoolAdded", + "inputs": [ + { "type": "address", "name": "pool", "indexed": true }, + { "type": "bytes", "name": "rate_method_id", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "PoolRemoved", + "inputs": [{ "type": "address", "name": "pool", "indexed": true }], + "anonymous": false, + "type": "event" + }, + { + "outputs": [], + "inputs": [ + { "type": "address", "name": "_address_provider" }, + { "type": "address", "name": "_gauge_controller" } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "name": "find_pool_for_coins", + "outputs": [{ "type": "address", "name": "" }], + "inputs": [ + { "type": "address", "name": "_from" }, + { "type": "address", "name": "_to" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "name": "find_pool_for_coins", + "outputs": [{ "type": "address", "name": "" }], + "inputs": [ + { "type": "address", "name": "_from" }, + { "type": "address", "name": "_to" }, + { "type": "uint256", "name": "i" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "name": "get_n_coins", + "outputs": [{ "type": "uint256[2]", "name": "" }], + "inputs": [{ "type": "address", "name": "_pool" }], + "stateMutability": "view", + "type": "function", + "gas": 1704 + }, + { + "name": "get_coins", + "outputs": [{ "type": "address[8]", "name": "" }], + "inputs": [{ "type": "address", "name": "_pool" }], + "stateMutability": "view", + "type": "function", + "gas": 12285 + }, + { + "name": "get_underlying_coins", + "outputs": [{ "type": "address[8]", "name": "" }], + "inputs": [{ "type": "address", "name": "_pool" }], + "stateMutability": "view", + "type": "function", + "gas": 12347 + }, + { + "name": "get_decimals", + "outputs": [{ "type": "uint256[8]", "name": "" }], + "inputs": [{ "type": "address", "name": "_pool" }], + "stateMutability": "view", + "type": "function", + "gas": 8199 + }, + { + "name": "get_underlying_decimals", + "outputs": [{ "type": "uint256[8]", "name": "" }], + "inputs": [{ "type": "address", "name": "_pool" }], + "stateMutability": "view", + "type": "function", + "gas": 8261 + }, + { + "name": "get_rates", + "outputs": [{ "type": "uint256[8]", "name": "" }], + "inputs": [{ "type": "address", "name": "_pool" }], + "stateMutability": "view", + "type": "function", + "gas": 34780 + }, + { + "name": "get_gauges", + "outputs": [ + { "type": "address[10]", "name": "" }, + { "type": "int128[10]", "name": "" } + ], + "inputs": [{ "type": "address", "name": "_pool" }], + "stateMutability": "view", + "type": "function", + "gas": 20310 + }, + { + "name": "get_balances", + "outputs": [{ "type": "uint256[8]", "name": "" }], + "inputs": [{ "type": "address", "name": "_pool" }], + "stateMutability": "view", + "type": "function", + "gas": 16818 + }, + { + "name": "get_underlying_balances", + "outputs": [{ "type": "uint256[8]", "name": "" }], + "inputs": [{ "type": "address", "name": "_pool" }], + "stateMutability": "view", + "type": "function", + "gas": 158953 + }, + { + "name": "get_virtual_price_from_lp_token", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [{ "type": "address", "name": "_token" }], + "stateMutability": "view", + "type": "function", + "gas": 2080 + }, + { + "name": "get_A", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [{ "type": "address", "name": "_pool" }], + "stateMutability": "view", + "type": "function", + "gas": 1198 + }, + { + "name": "get_parameters", + "outputs": [ + { "type": "uint256", "name": "A" }, + { "type": "uint256", "name": "future_A" }, + { "type": "uint256", "name": "fee" }, + { "type": "uint256", "name": "admin_fee" }, + { "type": "uint256", "name": "future_fee" }, + { "type": "uint256", "name": "future_admin_fee" }, + { "type": "address", "name": "future_owner" }, + { "type": "uint256", "name": "initial_A" }, + { "type": "uint256", "name": "initial_A_time" }, + { "type": "uint256", "name": "future_A_time" } + ], + "inputs": [{ "type": "address", "name": "_pool" }], + "stateMutability": "view", + "type": "function", + "gas": 6458 + }, + { + "name": "get_fees", + "outputs": [{ "type": "uint256[2]", "name": "" }], + "inputs": [{ "type": "address", "name": "_pool" }], + "stateMutability": "view", + "type": "function", + "gas": 1603 + }, + { + "name": "get_admin_balances", + "outputs": [{ "type": "uint256[8]", "name": "" }], + "inputs": [{ "type": "address", "name": "_pool" }], + "stateMutability": "view", + "type": "function", + "gas": 36719 + }, + { + "name": "get_coin_indices", + "outputs": [ + { "type": "int128", "name": "" }, + { "type": "int128", "name": "" }, + { "type": "bool", "name": "" } + ], + "inputs": [ + { "type": "address", "name": "_pool" }, + { "type": "address", "name": "_from" }, + { "type": "address", "name": "_to" } + ], + "stateMutability": "view", + "type": "function", + "gas": 27456 + }, + { + "name": "estimate_gas_used", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [ + { "type": "address", "name": "_pool" }, + { "type": "address", "name": "_from" }, + { "type": "address", "name": "_to" } + ], + "stateMutability": "view", + "type": "function", + "gas": 32329 + }, + { + "name": "add_pool", + "outputs": [], + "inputs": [ + { "type": "address", "name": "_pool" }, + { "type": "uint256", "name": "_n_coins" }, + { "type": "address", "name": "_lp_token" }, + { "type": "bytes32", "name": "_rate_method_id" }, + { "type": "uint256", "name": "_decimals" }, + { "type": "uint256", "name": "_underlying_decimals" }, + { "type": "bool", "name": "_has_initial_A" }, + { "type": "bool", "name": "_is_v1" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 10196577 + }, + { + "name": "add_pool_without_underlying", + "outputs": [], + "inputs": [ + { "type": "address", "name": "_pool" }, + { "type": "uint256", "name": "_n_coins" }, + { "type": "address", "name": "_lp_token" }, + { "type": "bytes32", "name": "_rate_method_id" }, + { "type": "uint256", "name": "_decimals" }, + { "type": "uint256", "name": "_use_rates" }, + { "type": "bool", "name": "_has_initial_A" }, + { "type": "bool", "name": "_is_v1" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 5590664 + }, + { + "name": "add_metapool", + "outputs": [], + "inputs": [ + { "type": "address", "name": "_pool" }, + { "type": "uint256", "name": "_n_coins" }, + { "type": "address", "name": "_lp_token" }, + { "type": "uint256", "name": "_decimals" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 10226976 + }, + { + "name": "remove_pool", + "outputs": [], + "inputs": [{ "type": "address", "name": "_pool" }], + "stateMutability": "nonpayable", + "type": "function", + "gas": 779646579509 + }, + { + "name": "set_coin_gas_estimates", + "outputs": [], + "inputs": [ + { "type": "address[10]", "name": "_addr" }, + { "type": "uint256[10]", "name": "_amount" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 357165 + }, + { + "name": "set_gas_estimate_contract", + "outputs": [], + "inputs": [ + { "type": "address", "name": "_pool" }, + { "type": "address", "name": "_estimator" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 37747 + }, + { + "name": "set_liquidity_gauges", + "outputs": [], + "inputs": [ + { "type": "address", "name": "_pool" }, + { "type": "address[10]", "name": "_liquidity_gauges" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 365793 + }, + { + "name": "address_provider", + "outputs": [{ "type": "address", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 2111 + }, + { + "name": "gauge_controller", + "outputs": [{ "type": "address", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 2141 + }, + { + "name": "pool_list", + "outputs": [{ "type": "address", "name": "" }], + "inputs": [{ "type": "uint256", "name": "arg0" }], + "stateMutability": "view", + "type": "function", + "gas": 2280 + }, + { + "name": "pool_count", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 2201 + }, + { + "name": "get_pool_from_lp_token", + "outputs": [{ "type": "address", "name": "" }], + "inputs": [{ "type": "address", "name": "arg0" }], + "stateMutability": "view", + "type": "function", + "gas": 2446 + }, + { + "name": "get_lp_token", + "outputs": [{ "type": "address", "name": "" }], + "inputs": [{ "type": "address", "name": "arg0" }], + "stateMutability": "view", + "type": "function", + "gas": 2476 + } +] diff --git a/subgraphs/karak/abis/Prices/ERC20.json b/subgraphs/karak/abis/Prices/ERC20.json new file mode 100644 index 0000000000..5c47f76a53 --- /dev/null +++ b/subgraphs/karak/abis/Prices/ERC20.json @@ -0,0 +1,828 @@ +[ + { + "name": "Transfer", + "inputs": [ + { "type": "address", "name": "sender", "indexed": true }, + { "type": "address", "name": "receiver", "indexed": true }, + { "type": "uint256", "name": "value", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "Approval", + "inputs": [ + { "type": "address", "name": "owner", "indexed": true }, + { "type": "address", "name": "spender", "indexed": true }, + { "type": "uint256", "name": "value", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "StrategyAdded", + "inputs": [ + { "type": "address", "name": "strategy", "indexed": true }, + { "type": "uint256", "name": "debtRatio", "indexed": false }, + { "type": "uint256", "name": "rateLimit", "indexed": false }, + { "type": "uint256", "name": "performanceFee", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "StrategyReported", + "inputs": [ + { "type": "address", "name": "strategy", "indexed": true }, + { "type": "uint256", "name": "gain", "indexed": false }, + { "type": "uint256", "name": "loss", "indexed": false }, + { "type": "uint256", "name": "totalGain", "indexed": false }, + { "type": "uint256", "name": "totalLoss", "indexed": false }, + { "type": "uint256", "name": "totalDebt", "indexed": false }, + { "type": "uint256", "name": "debtAdded", "indexed": false }, + { "type": "uint256", "name": "debtRatio", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "UpdateGovernance", + "inputs": [{ "type": "address", "name": "governance", "indexed": false }], + "anonymous": false, + "type": "event" + }, + { + "name": "UpdateManagement", + "inputs": [{ "type": "address", "name": "management", "indexed": false }], + "anonymous": false, + "type": "event" + }, + { + "name": "UpdateGuestList", + "inputs": [{ "type": "address", "name": "guestList", "indexed": false }], + "anonymous": false, + "type": "event" + }, + { + "name": "UpdateRewards", + "inputs": [{ "type": "address", "name": "rewards", "indexed": false }], + "anonymous": false, + "type": "event" + }, + { + "name": "UpdateDepositLimit", + "inputs": [{ "type": "uint256", "name": "depositLimit", "indexed": false }], + "anonymous": false, + "type": "event" + }, + { + "name": "UpdatePerformanceFee", + "inputs": [ + { "type": "uint256", "name": "performanceFee", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "UpdateManagementFee", + "inputs": [ + { "type": "uint256", "name": "managementFee", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "UpdateGuardian", + "inputs": [{ "type": "address", "name": "guardian", "indexed": false }], + "anonymous": false, + "type": "event" + }, + { + "name": "EmergencyShutdown", + "inputs": [{ "type": "bool", "name": "active", "indexed": false }], + "anonymous": false, + "type": "event" + }, + { + "name": "UpdateWithdrawalQueue", + "inputs": [{ "type": "address[20]", "name": "queue", "indexed": false }], + "anonymous": false, + "type": "event" + }, + { + "name": "StrategyUpdateDebtRatio", + "inputs": [ + { "type": "address", "name": "strategy", "indexed": true }, + { "type": "uint256", "name": "debtRatio", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "StrategyUpdateRateLimit", + "inputs": [ + { "type": "address", "name": "strategy", "indexed": true }, + { "type": "uint256", "name": "rateLimit", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "StrategyUpdatePerformanceFee", + "inputs": [ + { "type": "address", "name": "strategy", "indexed": true }, + { "type": "uint256", "name": "performanceFee", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "StrategyMigrated", + "inputs": [ + { "type": "address", "name": "oldVersion", "indexed": true }, + { "type": "address", "name": "newVersion", "indexed": true } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "StrategyRevoked", + "inputs": [{ "type": "address", "name": "strategy", "indexed": true }], + "anonymous": false, + "type": "event" + }, + { + "name": "StrategyRemovedFromQueue", + "inputs": [{ "type": "address", "name": "strategy", "indexed": true }], + "anonymous": false, + "type": "event" + }, + { + "name": "StrategyAddedToQueue", + "inputs": [{ "type": "address", "name": "strategy", "indexed": true }], + "anonymous": false, + "type": "event" + }, + { + "name": "initialize", + "outputs": [], + "inputs": [ + { "type": "address", "name": "token" }, + { "type": "address", "name": "governance" }, + { "type": "address", "name": "rewards" }, + { "type": "string", "name": "nameOverride" }, + { "type": "string", "name": "symbolOverride" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "initialize", + "outputs": [], + "inputs": [ + { "type": "address", "name": "token" }, + { "type": "address", "name": "governance" }, + { "type": "address", "name": "rewards" }, + { "type": "string", "name": "nameOverride" }, + { "type": "string", "name": "symbolOverride" }, + { "type": "address", "name": "guardian" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "apiVersion", + "outputs": [{ "type": "string", "name": "" }], + "inputs": [], + "stateMutability": "pure", + "type": "function", + "gas": 4519 + }, + { + "name": "setName", + "outputs": [], + "inputs": [{ "type": "string", "name": "name" }], + "stateMutability": "nonpayable", + "type": "function", + "gas": 107017 + }, + { + "name": "setSymbol", + "outputs": [], + "inputs": [{ "type": "string", "name": "symbol" }], + "stateMutability": "nonpayable", + "type": "function", + "gas": 71867 + }, + { + "name": "setGovernance", + "outputs": [], + "inputs": [{ "type": "address", "name": "governance" }], + "stateMutability": "nonpayable", + "type": "function", + "gas": 36338 + }, + { + "name": "acceptGovernance", + "outputs": [], + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "gas": 37610 + }, + { + "name": "setManagement", + "outputs": [], + "inputs": [{ "type": "address", "name": "management" }], + "stateMutability": "nonpayable", + "type": "function", + "gas": 37748 + }, + { + "name": "setGuestList", + "outputs": [], + "inputs": [{ "type": "address", "name": "guestList" }], + "stateMutability": "nonpayable", + "type": "function", + "gas": 37778 + }, + { + "name": "setRewards", + "outputs": [], + "inputs": [{ "type": "address", "name": "rewards" }], + "stateMutability": "nonpayable", + "type": "function", + "gas": 37808 + }, + { + "name": "setDepositLimit", + "outputs": [], + "inputs": [{ "type": "uint256", "name": "limit" }], + "stateMutability": "nonpayable", + "type": "function", + "gas": 37738 + }, + { + "name": "setPerformanceFee", + "outputs": [], + "inputs": [{ "type": "uint256", "name": "fee" }], + "stateMutability": "nonpayable", + "type": "function", + "gas": 37872 + }, + { + "name": "setManagementFee", + "outputs": [], + "inputs": [{ "type": "uint256", "name": "fee" }], + "stateMutability": "nonpayable", + "type": "function", + "gas": 37902 + }, + { + "name": "setGuardian", + "outputs": [], + "inputs": [{ "type": "address", "name": "guardian" }], + "stateMutability": "nonpayable", + "type": "function", + "gas": 39146 + }, + { + "name": "setEmergencyShutdown", + "outputs": [], + "inputs": [{ "type": "bool", "name": "active" }], + "stateMutability": "nonpayable", + "type": "function", + "gas": 39217 + }, + { + "name": "setWithdrawalQueue", + "outputs": [], + "inputs": [{ "type": "address[20]", "name": "queue" }], + "stateMutability": "nonpayable", + "type": "function", + "gas": 763893 + }, + { + "name": "transfer", + "outputs": [{ "type": "bool", "name": "" }], + "inputs": [ + { "type": "address", "name": "receiver" }, + { "type": "uint256", "name": "amount" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 76733 + }, + { + "name": "transferFrom", + "outputs": [{ "type": "bool", "name": "" }], + "inputs": [ + { "type": "address", "name": "sender" }, + { "type": "address", "name": "receiver" }, + { "type": "uint256", "name": "amount" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 116496 + }, + { + "name": "approve", + "outputs": [{ "type": "bool", "name": "" }], + "inputs": [ + { "type": "address", "name": "spender" }, + { "type": "uint256", "name": "amount" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 38244 + }, + { + "name": "increaseAllowance", + "outputs": [{ "type": "bool", "name": "" }], + "inputs": [ + { "type": "address", "name": "spender" }, + { "type": "uint256", "name": "amount" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 40285 + }, + { + "name": "decreaseAllowance", + "outputs": [{ "type": "bool", "name": "" }], + "inputs": [ + { "type": "address", "name": "spender" }, + { "type": "uint256", "name": "amount" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 40309 + }, + { + "name": "permit", + "outputs": [{ "type": "bool", "name": "" }], + "inputs": [ + { "type": "address", "name": "owner" }, + { "type": "address", "name": "spender" }, + { "type": "uint256", "name": "amount" }, + { "type": "uint256", "name": "expiry" }, + { "type": "bytes", "name": "signature" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 81237 + }, + { + "name": "totalAssets", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 4123 + }, + { + "name": "deposit", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "deposit", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [{ "type": "uint256", "name": "_amount" }], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "deposit", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [ + { "type": "uint256", "name": "_amount" }, + { "type": "address", "name": "recipient" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "maxAvailableShares", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 364171 + }, + { + "name": "withdraw", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "withdraw", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [{ "type": "uint256", "name": "maxShares" }], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "withdraw", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [ + { "type": "uint256", "name": "maxShares" }, + { "type": "address", "name": "recipient" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "withdraw", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [ + { "type": "uint256", "name": "maxShares" }, + { "type": "address", "name": "recipient" }, + { "type": "uint256", "name": "maxLoss" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "pricePerShare", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 12412 + }, + { + "name": "addStrategy", + "outputs": [], + "inputs": [ + { "type": "address", "name": "strategy" }, + { "type": "uint256", "name": "debtRatio" }, + { "type": "uint256", "name": "rateLimit" }, + { "type": "uint256", "name": "performanceFee" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 1450351 + }, + { + "name": "updateStrategyDebtRatio", + "outputs": [], + "inputs": [ + { "type": "address", "name": "strategy" }, + { "type": "uint256", "name": "debtRatio" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 115316 + }, + { + "name": "updateStrategyRateLimit", + "outputs": [], + "inputs": [ + { "type": "address", "name": "strategy" }, + { "type": "uint256", "name": "rateLimit" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 41467 + }, + { + "name": "updateStrategyPerformanceFee", + "outputs": [], + "inputs": [ + { "type": "address", "name": "strategy" }, + { "type": "uint256", "name": "performanceFee" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 41344 + }, + { + "name": "migrateStrategy", + "outputs": [], + "inputs": [ + { "type": "address", "name": "oldVersion" }, + { "type": "address", "name": "newVersion" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 1105801 + }, + { + "name": "revokeStrategy", + "outputs": [], + "inputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "revokeStrategy", + "outputs": [], + "inputs": [{ "type": "address", "name": "strategy" }], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "addStrategyToQueue", + "outputs": [], + "inputs": [{ "type": "address", "name": "strategy" }], + "stateMutability": "nonpayable", + "type": "function", + "gas": 1196920 + }, + { + "name": "removeStrategyFromQueue", + "outputs": [], + "inputs": [{ "type": "address", "name": "strategy" }], + "stateMutability": "nonpayable", + "type": "function", + "gas": 23091666 + }, + { + "name": "debtOutstanding", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "name": "debtOutstanding", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [{ "type": "address", "name": "strategy" }], + "stateMutability": "view", + "type": "function" + }, + { + "name": "creditAvailable", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "name": "creditAvailable", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [{ "type": "address", "name": "strategy" }], + "stateMutability": "view", + "type": "function" + }, + { + "name": "availableDepositLimit", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 9808 + }, + { + "name": "expectedReturn", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "name": "expectedReturn", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [{ "type": "address", "name": "strategy" }], + "stateMutability": "view", + "type": "function" + }, + { + "name": "report", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [ + { "type": "uint256", "name": "gain" }, + { "type": "uint256", "name": "loss" }, + { "type": "uint256", "name": "_debtPayment" } + ], + "stateMutability": "nonpayable", + "type": "function", + "gas": 937520 + }, + { + "name": "sweep", + "outputs": [], + "inputs": [{ "type": "address", "name": "token" }], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "sweep", + "outputs": [], + "inputs": [ + { "type": "address", "name": "token" }, + { "type": "uint256", "name": "amount" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "name", + "outputs": [{ "type": "string", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 9053 + }, + { + "name": "symbol", + "outputs": [{ "type": "string", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 8106 + }, + { + "name": "decimals", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 2711 + }, + { + "name": "balanceOf", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [{ "type": "address", "name": "arg0" }], + "stateMutability": "view", + "type": "function", + "gas": 2956 + }, + { + "name": "allowance", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [ + { "type": "address", "name": "arg0" }, + { "type": "address", "name": "arg1" } + ], + "stateMutability": "view", + "type": "function", + "gas": 3201 + }, + { + "name": "totalSupply", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 2801 + }, + { + "name": "token", + "outputs": [{ "type": "address", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 2831 + }, + { + "name": "governance", + "outputs": [{ "type": "address", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 2861 + }, + { + "name": "management", + "outputs": [{ "type": "address", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 2891 + }, + { + "name": "guardian", + "outputs": [{ "type": "address", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 2921 + }, + { + "name": "guestList", + "outputs": [{ "type": "address", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 2951 + }, + { + "name": "strategies", + "outputs": [ + { "type": "uint256", "name": "performanceFee" }, + { "type": "uint256", "name": "activation" }, + { "type": "uint256", "name": "debtRatio" }, + { "type": "uint256", "name": "rateLimit" }, + { "type": "uint256", "name": "lastReport" }, + { "type": "uint256", "name": "totalDebt" }, + { "type": "uint256", "name": "totalGain" }, + { "type": "uint256", "name": "totalLoss" } + ], + "inputs": [{ "type": "address", "name": "arg0" }], + "stateMutability": "view", + "type": "function", + "gas": 10322 + }, + { + "name": "withdrawalQueue", + "outputs": [{ "type": "address", "name": "" }], + "inputs": [{ "type": "uint256", "name": "arg0" }], + "stateMutability": "view", + "type": "function", + "gas": 3120 + }, + { + "name": "emergencyShutdown", + "outputs": [{ "type": "bool", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 3041 + }, + { + "name": "depositLimit", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 3071 + }, + { + "name": "debtRatio", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 3101 + }, + { + "name": "totalDebt", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 3131 + }, + { + "name": "lastReport", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 3161 + }, + { + "name": "activation", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 3191 + }, + { + "name": "rewards", + "outputs": [{ "type": "address", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 3221 + }, + { + "name": "managementFee", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 3251 + }, + { + "name": "performanceFee", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 3281 + }, + { + "name": "nonces", + "outputs": [{ "type": "uint256", "name": "" }], + "inputs": [{ "type": "address", "name": "arg0" }], + "stateMutability": "view", + "type": "function", + "gas": 3526 + }, + { + "name": "DOMAIN_SEPARATOR", + "outputs": [{ "type": "bytes32", "name": "" }], + "inputs": [], + "stateMutability": "view", + "type": "function", + "gas": 3341 + } +] diff --git a/subgraphs/karak/abis/Prices/Uniswap/Factory.json b/subgraphs/karak/abis/Prices/Uniswap/Factory.json new file mode 100644 index 0000000000..1b14599d5d --- /dev/null +++ b/subgraphs/karak/abis/Prices/Uniswap/Factory.json @@ -0,0 +1,125 @@ +[ + { + "inputs": [ + { "internalType": "address", "name": "_feeToSetter", "type": "address" } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "token0", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "token1", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "pair", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "PairCreated", + "type": "event" + }, + { + "constant": true, + "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "name": "allPairs", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "allPairsLength", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { "internalType": "address", "name": "tokenA", "type": "address" }, + { "internalType": "address", "name": "tokenB", "type": "address" } + ], + "name": "createPair", + "outputs": [ + { "internalType": "address", "name": "pair", "type": "address" } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "feeTo", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "feeToSetter", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { "internalType": "address", "name": "", "type": "address" }, + { "internalType": "address", "name": "", "type": "address" } + ], + "name": "getPair", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { "internalType": "address", "name": "_feeTo", "type": "address" } + ], + "name": "setFeeTo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { "internalType": "address", "name": "_feeToSetter", "type": "address" } + ], + "name": "setFeeToSetter", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } +] diff --git a/subgraphs/karak/abis/Prices/Uniswap/Pair.json b/subgraphs/karak/abis/Prices/Uniswap/Pair.json new file mode 100644 index 0000000000..e5efebf418 --- /dev/null +++ b/subgraphs/karak/abis/Prices/Uniswap/Pair.json @@ -0,0 +1,461 @@ +[ + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "Burn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount0In", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount1In", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount0Out", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount1Out", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "Swap", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint112", + "name": "reserve0", + "type": "uint112" + }, + { + "indexed": false, + "internalType": "uint112", + "name": "reserve1", + "type": "uint112" + } + ], + "name": "Sync", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MINIMUM_LIQUIDITY", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "PERMIT_TYPEHASH", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { "internalType": "address", "name": "", "type": "address" }, + { "internalType": "address", "name": "", "type": "address" } + ], + "name": "allowance", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { "internalType": "address", "name": "spender", "type": "address" }, + { "internalType": "uint256", "name": "value", "type": "uint256" } + ], + "name": "approve", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [{ "internalType": "address", "name": "", "type": "address" }], + "name": "balanceOf", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [{ "internalType": "address", "name": "to", "type": "address" }], + "name": "burn", + "outputs": [ + { "internalType": "uint256", "name": "amount0", "type": "uint256" }, + { "internalType": "uint256", "name": "amount1", "type": "uint256" } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "factory", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getReserves", + "outputs": [ + { "internalType": "uint112", "name": "_reserve0", "type": "uint112" }, + { "internalType": "uint112", "name": "_reserve1", "type": "uint112" }, + { + "internalType": "uint32", + "name": "_blockTimestampLast", + "type": "uint32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { "internalType": "address", "name": "_token0", "type": "address" }, + { "internalType": "address", "name": "_token1", "type": "address" } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "kLast", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [{ "internalType": "address", "name": "to", "type": "address" }], + "name": "mint", + "outputs": [ + { "internalType": "uint256", "name": "liquidity", "type": "uint256" } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [{ "internalType": "address", "name": "", "type": "address" }], + "name": "nonces", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { "internalType": "address", "name": "owner", "type": "address" }, + { "internalType": "address", "name": "spender", "type": "address" }, + { "internalType": "uint256", "name": "value", "type": "uint256" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" }, + { "internalType": "uint8", "name": "v", "type": "uint8" }, + { "internalType": "bytes32", "name": "r", "type": "bytes32" }, + { "internalType": "bytes32", "name": "s", "type": "bytes32" } + ], + "name": "permit", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "price0CumulativeLast", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "price1CumulativeLast", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [{ "internalType": "address", "name": "to", "type": "address" }], + "name": "skim", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { "internalType": "uint256", "name": "amount0Out", "type": "uint256" }, + { "internalType": "uint256", "name": "amount1Out", "type": "uint256" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "name": "swap", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "sync", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "token0", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "token1", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "value", "type": "uint256" } + ], + "name": "transfer", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { "internalType": "address", "name": "from", "type": "address" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "value", "type": "uint256" } + ], + "name": "transferFrom", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } +] diff --git a/subgraphs/karak/abis/Prices/Uniswap/Router.json b/subgraphs/karak/abis/Prices/Uniswap/Router.json new file mode 100644 index 0000000000..efc7f31728 --- /dev/null +++ b/subgraphs/karak/abis/Prices/Uniswap/Router.json @@ -0,0 +1,398 @@ +[ + { + "inputs": [ + { "internalType": "address", "name": "_factory", "type": "address" }, + { "internalType": "address", "name": "_WETH", "type": "address" } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "WETH", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "tokenA", "type": "address" }, + { "internalType": "address", "name": "tokenB", "type": "address" }, + { + "internalType": "uint256", + "name": "amountADesired", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountBDesired", + "type": "uint256" + }, + { "internalType": "uint256", "name": "amountAMin", "type": "uint256" }, + { "internalType": "uint256", "name": "amountBMin", "type": "uint256" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" } + ], + "name": "addLiquidity", + "outputs": [ + { "internalType": "uint256", "name": "amountA", "type": "uint256" }, + { "internalType": "uint256", "name": "amountB", "type": "uint256" }, + { "internalType": "uint256", "name": "liquidity", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "token", "type": "address" }, + { + "internalType": "uint256", + "name": "amountTokenDesired", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountTokenMin", + "type": "uint256" + }, + { "internalType": "uint256", "name": "amountETHMin", "type": "uint256" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" } + ], + "name": "addLiquidityETH", + "outputs": [ + { "internalType": "uint256", "name": "amountToken", "type": "uint256" }, + { "internalType": "uint256", "name": "amountETH", "type": "uint256" }, + { "internalType": "uint256", "name": "liquidity", "type": "uint256" } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "factory", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "amountOut", "type": "uint256" }, + { "internalType": "uint256", "name": "reserveIn", "type": "uint256" }, + { "internalType": "uint256", "name": "reserveOut", "type": "uint256" } + ], + "name": "getAmountIn", + "outputs": [ + { "internalType": "uint256", "name": "amountIn", "type": "uint256" } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "amountIn", "type": "uint256" }, + { "internalType": "uint256", "name": "reserveIn", "type": "uint256" }, + { "internalType": "uint256", "name": "reserveOut", "type": "uint256" } + ], + "name": "getAmountOut", + "outputs": [ + { "internalType": "uint256", "name": "amountOut", "type": "uint256" } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "amountOut", "type": "uint256" }, + { "internalType": "address[]", "name": "path", "type": "address[]" } + ], + "name": "getAmountsIn", + "outputs": [ + { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "amountIn", "type": "uint256" }, + { "internalType": "address[]", "name": "path", "type": "address[]" } + ], + "name": "getAmountsOut", + "outputs": [ + { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "amountA", "type": "uint256" }, + { "internalType": "uint256", "name": "reserveA", "type": "uint256" }, + { "internalType": "uint256", "name": "reserveB", "type": "uint256" } + ], + "name": "quote", + "outputs": [ + { "internalType": "uint256", "name": "amountB", "type": "uint256" } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "tokenA", "type": "address" }, + { "internalType": "address", "name": "tokenB", "type": "address" }, + { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, + { "internalType": "uint256", "name": "amountAMin", "type": "uint256" }, + { "internalType": "uint256", "name": "amountBMin", "type": "uint256" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" } + ], + "name": "removeLiquidity", + "outputs": [ + { "internalType": "uint256", "name": "amountA", "type": "uint256" }, + { "internalType": "uint256", "name": "amountB", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "token", "type": "address" }, + { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, + { + "internalType": "uint256", + "name": "amountTokenMin", + "type": "uint256" + }, + { "internalType": "uint256", "name": "amountETHMin", "type": "uint256" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" } + ], + "name": "removeLiquidityETH", + "outputs": [ + { "internalType": "uint256", "name": "amountToken", "type": "uint256" }, + { "internalType": "uint256", "name": "amountETH", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "token", "type": "address" }, + { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, + { + "internalType": "uint256", + "name": "amountTokenMin", + "type": "uint256" + }, + { "internalType": "uint256", "name": "amountETHMin", "type": "uint256" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" } + ], + "name": "removeLiquidityETHSupportingFeeOnTransferTokens", + "outputs": [ + { "internalType": "uint256", "name": "amountETH", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "token", "type": "address" }, + { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, + { + "internalType": "uint256", + "name": "amountTokenMin", + "type": "uint256" + }, + { "internalType": "uint256", "name": "amountETHMin", "type": "uint256" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" }, + { "internalType": "bool", "name": "approveMax", "type": "bool" }, + { "internalType": "uint8", "name": "v", "type": "uint8" }, + { "internalType": "bytes32", "name": "r", "type": "bytes32" }, + { "internalType": "bytes32", "name": "s", "type": "bytes32" } + ], + "name": "removeLiquidityETHWithPermit", + "outputs": [ + { "internalType": "uint256", "name": "amountToken", "type": "uint256" }, + { "internalType": "uint256", "name": "amountETH", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "token", "type": "address" }, + { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, + { + "internalType": "uint256", + "name": "amountTokenMin", + "type": "uint256" + }, + { "internalType": "uint256", "name": "amountETHMin", "type": "uint256" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" }, + { "internalType": "bool", "name": "approveMax", "type": "bool" }, + { "internalType": "uint8", "name": "v", "type": "uint8" }, + { "internalType": "bytes32", "name": "r", "type": "bytes32" }, + { "internalType": "bytes32", "name": "s", "type": "bytes32" } + ], + "name": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", + "outputs": [ + { "internalType": "uint256", "name": "amountETH", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "tokenA", "type": "address" }, + { "internalType": "address", "name": "tokenB", "type": "address" }, + { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, + { "internalType": "uint256", "name": "amountAMin", "type": "uint256" }, + { "internalType": "uint256", "name": "amountBMin", "type": "uint256" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" }, + { "internalType": "bool", "name": "approveMax", "type": "bool" }, + { "internalType": "uint8", "name": "v", "type": "uint8" }, + { "internalType": "bytes32", "name": "r", "type": "bytes32" }, + { "internalType": "bytes32", "name": "s", "type": "bytes32" } + ], + "name": "removeLiquidityWithPermit", + "outputs": [ + { "internalType": "uint256", "name": "amountA", "type": "uint256" }, + { "internalType": "uint256", "name": "amountB", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "amountOut", "type": "uint256" }, + { "internalType": "address[]", "name": "path", "type": "address[]" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" } + ], + "name": "swapETHForExactTokens", + "outputs": [ + { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "amountOutMin", "type": "uint256" }, + { "internalType": "address[]", "name": "path", "type": "address[]" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" } + ], + "name": "swapExactETHForTokens", + "outputs": [ + { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "amountOutMin", "type": "uint256" }, + { "internalType": "address[]", "name": "path", "type": "address[]" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" } + ], + "name": "swapExactETHForTokensSupportingFeeOnTransferTokens", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "amountIn", "type": "uint256" }, + { "internalType": "uint256", "name": "amountOutMin", "type": "uint256" }, + { "internalType": "address[]", "name": "path", "type": "address[]" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" } + ], + "name": "swapExactTokensForETH", + "outputs": [ + { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "amountIn", "type": "uint256" }, + { "internalType": "uint256", "name": "amountOutMin", "type": "uint256" }, + { "internalType": "address[]", "name": "path", "type": "address[]" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" } + ], + "name": "swapExactTokensForETHSupportingFeeOnTransferTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "amountIn", "type": "uint256" }, + { "internalType": "uint256", "name": "amountOutMin", "type": "uint256" }, + { "internalType": "address[]", "name": "path", "type": "address[]" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" } + ], + "name": "swapExactTokensForTokens", + "outputs": [ + { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "amountIn", "type": "uint256" }, + { "internalType": "uint256", "name": "amountOutMin", "type": "uint256" }, + { "internalType": "address[]", "name": "path", "type": "address[]" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" } + ], + "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "amountOut", "type": "uint256" }, + { "internalType": "uint256", "name": "amountInMax", "type": "uint256" }, + { "internalType": "address[]", "name": "path", "type": "address[]" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" } + ], + "name": "swapTokensForExactETH", + "outputs": [ + { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "amountOut", "type": "uint256" }, + { "internalType": "uint256", "name": "amountInMax", "type": "uint256" }, + { "internalType": "address[]", "name": "path", "type": "address[]" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" } + ], + "name": "swapTokensForExactTokens", + "outputs": [ + { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { "stateMutability": "payable", "type": "receive" } +] diff --git a/subgraphs/karak/abis/Prices/YearnLens.json b/subgraphs/karak/abis/Prices/YearnLens.json new file mode 100644 index 0000000000..60a45cc87c --- /dev/null +++ b/subgraphs/karak/abis/Prices/YearnLens.json @@ -0,0 +1,174 @@ +[ + { + "inputs": [ + { + "internalType": "address", + "name": "_managementListAddress", + "type": "address" + }, + { "internalType": "address", "name": "_usdcAddress", "type": "address" } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "tokenAliasAddress", + "type": "address" + } + ], + "name": "TokenAliasAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "TokenAliasRemoved", + "type": "event" + }, + { "stateMutability": "nonpayable", "type": "fallback" }, + { + "inputs": [ + { "internalType": "address", "name": "tokenAddress", "type": "address" }, + { + "internalType": "address", + "name": "tokenAliasAddress", + "type": "address" + } + ], + "name": "addTokenAlias", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenAliasAddress", + "type": "address" + } + ], + "internalType": "struct Oracle.TokenAlias[]", + "name": "_tokenAliases", + "type": "tuple[]" + } + ], + "name": "addTokenAliases", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "calculations", + "outputs": [ + { "internalType": "address[]", "name": "", "type": "address[]" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "tokenAddress", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" } + ], + "name": "getNormalizedValueUsdc", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "tokenAddress", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { "internalType": "uint256", "name": "priceUsdc", "type": "uint256" } + ], + "name": "getNormalizedValueUsdc", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "tokenAddress", "type": "address" } + ], + "name": "getPriceUsdcRecommended", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "managementList", + "outputs": [ + { + "internalType": "contract ManagementList", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "tokenAddress", "type": "address" } + ], + "name": "removeTokenAlias", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "calculationAddresses", + "type": "address[]" + } + ], + "name": "setCalculations", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "address", "name": "", "type": "address" }], + "name": "tokenAliases", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "usdcAddress", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + } +] diff --git a/subgraphs/karak/abis/Tokens/ERC20.json b/subgraphs/karak/abis/Tokens/ERC20.json new file mode 100644 index 0000000000..405d6b3648 --- /dev/null +++ b/subgraphs/karak/abis/Tokens/ERC20.json @@ -0,0 +1,222 @@ +[ + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + } +] diff --git a/subgraphs/karak/abis/Tokens/ERC20NameBytes.json b/subgraphs/karak/abis/Tokens/ERC20NameBytes.json new file mode 100644 index 0000000000..2d3c877a8c --- /dev/null +++ b/subgraphs/karak/abis/Tokens/ERC20NameBytes.json @@ -0,0 +1,17 @@ +[ + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } +] diff --git a/subgraphs/karak/abis/Tokens/ERC20SymbolBytes.json b/subgraphs/karak/abis/Tokens/ERC20SymbolBytes.json new file mode 100644 index 0000000000..a76d616366 --- /dev/null +++ b/subgraphs/karak/abis/Tokens/ERC20SymbolBytes.json @@ -0,0 +1,17 @@ +[ + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } +] diff --git a/subgraphs/karak/abis/karak/DelegationSupervisor.json b/subgraphs/karak/abis/karak/DelegationSupervisor.json new file mode 100644 index 0000000000..777bae1025 --- /dev/null +++ b/subgraphs/karak/abis/karak/DelegationSupervisor.json @@ -0,0 +1,639 @@ +[ + { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, + { "inputs": [], "name": "AlreadyInitialized", "type": "error" }, + { "inputs": [], "name": "ArrayLengthsNotEqual", "type": "error" }, + { "inputs": [], "name": "EnforcedPause", "type": "error" }, + { "inputs": [], "name": "ExpectedPause", "type": "error" }, + { "inputs": [], "name": "InvalidInitialization", "type": "error" }, + { "inputs": [], "name": "InvalidInput", "type": "error" }, + { "inputs": [], "name": "InvalidWithdrawalDelay", "type": "error" }, + { "inputs": [], "name": "MinWithdrawDelayNotPassed", "type": "error" }, + { "inputs": [], "name": "NewOwnerIsZeroAddress", "type": "error" }, + { "inputs": [], "name": "NoElementsInArray", "type": "error" }, + { "inputs": [], "name": "NoHandoverRequest", "type": "error" }, + { "inputs": [], "name": "NotInitializing", "type": "error" }, + { "inputs": [], "name": "NotStaker", "type": "error" }, + { "inputs": [], "name": "Reentrancy", "type": "error" }, + { "inputs": [], "name": "Unauthorized", "type": "error" }, + { "inputs": [], "name": "UnauthorizedCallContext", "type": "error" }, + { "inputs": [], "name": "UpgradeFailed", "type": "error" }, + { "inputs": [], "name": "WithdrawAlreadyCompleted", "type": "error" }, + { "inputs": [], "name": "WithdrawerNotCaller", "type": "error" }, + { "inputs": [], "name": "ZeroShares", "type": "error" }, + { + "anonymous": false, + "inputs": [], + "name": "EIP712DomainChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "vault", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "staker", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "withdrawer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "withdrawRoot", + "type": "bytes32" + } + ], + "name": "FinishedWithdrawal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint64", + "name": "version", + "type": "uint64" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pendingOwner", + "type": "address" + } + ], + "name": "OwnershipHandoverCanceled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pendingOwner", + "type": "address" + } + ], + "name": "OwnershipHandoverRequested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "roles", + "type": "uint256" + } + ], + "name": "RolesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "vault", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "staker", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "withdrawer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "StartedWithdrawal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "cancelOwnershipHandover", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "pendingOwner", "type": "address" } + ], + "name": "completeOwnershipHandover", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "eip712Domain", + "outputs": [ + { "internalType": "bytes1", "name": "fields", "type": "bytes1" }, + { "internalType": "string", "name": "name", "type": "string" }, + { "internalType": "string", "name": "version", "type": "string" }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { + "internalType": "address", + "name": "verifyingContract", + "type": "address" + }, + { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, + { "internalType": "uint256[]", "name": "extensions", "type": "uint256[]" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "staker", "type": "address" } + ], + "name": "fetchQueuedWithdrawals", + "outputs": [ + { + "components": [ + { "internalType": "address", "name": "staker", "type": "address" }, + { + "internalType": "address", + "name": "delegatedTo", + "type": "address" + }, + { "internalType": "uint256", "name": "nonce", "type": "uint256" }, + { "internalType": "uint256", "name": "start", "type": "uint256" }, + { + "components": [ + { + "internalType": "contract IVault[]", + "name": "vaults", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "shares", + "type": "uint256[]" + }, + { + "internalType": "address", + "name": "withdrawer", + "type": "address" + } + ], + "internalType": "struct Withdraw.WithdrawRequest", + "name": "request", + "type": "tuple" + } + ], + "internalType": "struct Withdraw.QueuedWithdrawal[]", + "name": "queuedWithdrawals", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "address", "name": "staker", "type": "address" }, + { + "internalType": "address", + "name": "delegatedTo", + "type": "address" + }, + { "internalType": "uint256", "name": "nonce", "type": "uint256" }, + { "internalType": "uint256", "name": "start", "type": "uint256" }, + { + "components": [ + { + "internalType": "contract IVault[]", + "name": "vaults", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "shares", + "type": "uint256[]" + }, + { + "internalType": "address", + "name": "withdrawer", + "type": "address" + } + ], + "internalType": "struct Withdraw.WithdrawRequest", + "name": "request", + "type": "tuple" + } + ], + "internalType": "struct Withdraw.QueuedWithdrawal[]", + "name": "startedWithdrawals", + "type": "tuple[]" + } + ], + "name": "finishWithdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "user", "type": "address" }, + { "internalType": "uint256", "name": "roles", "type": "uint256" } + ], + "name": "grantRoles", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "user", "type": "address" }, + { "internalType": "uint256", "name": "roles", "type": "uint256" } + ], + "name": "hasAllRoles", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "user", "type": "address" }, + { "internalType": "uint256", "name": "roles", "type": "uint256" } + ], + "name": "hasAnyRole", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "vaultSupervisor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minWithdrawDelay", + "type": "uint256" + }, + { "internalType": "address", "name": "manager", "type": "address" } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { "internalType": "address", "name": "staker", "type": "address" }, + { + "internalType": "address", + "name": "delegatedTo", + "type": "address" + }, + { "internalType": "uint256", "name": "nonce", "type": "uint256" }, + { "internalType": "uint256", "name": "start", "type": "uint256" }, + { + "components": [ + { + "internalType": "contract IVault[]", + "name": "vaults", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "shares", + "type": "uint256[]" + }, + { + "internalType": "address", + "name": "withdrawer", + "type": "address" + } + ], + "internalType": "struct Withdraw.WithdrawRequest", + "name": "request", + "type": "tuple" + } + ], + "internalType": "struct Withdraw.QueuedWithdrawal", + "name": "withdrawal", + "type": "tuple" + } + ], + "name": "isWithdrawPending", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { "internalType": "address", "name": "result", "type": "address" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "pendingOwner", "type": "address" } + ], + "name": "ownershipHandoverExpiresAt", + "outputs": [ + { "internalType": "uint256", "name": "result", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "toPause", "type": "bool" }], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "roles", "type": "uint256" } + ], + "name": "renounceRoles", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "requestOwnershipHandover", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "user", "type": "address" }, + { "internalType": "uint256", "name": "roles", "type": "uint256" } + ], + "name": "revokeRoles", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "user", "type": "address" } + ], + "name": "rolesOf", + "outputs": [ + { "internalType": "uint256", "name": "roles", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "contract IVault[]", + "name": "vaults", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "shares", + "type": "uint256[]" + }, + { "internalType": "address", "name": "withdrawer", "type": "address" } + ], + "internalType": "struct Withdraw.WithdrawRequest[]", + "name": "withdrawalRequests", + "type": "tuple[]" + } + ], + "name": "startWithdraw", + "outputs": [ + { + "internalType": "bytes32[]", + "name": "withdrawalRoots", + "type": "bytes32[]" + }, + { + "components": [ + { "internalType": "address", "name": "staker", "type": "address" }, + { + "internalType": "address", + "name": "delegatedTo", + "type": "address" + }, + { "internalType": "uint256", "name": "nonce", "type": "uint256" }, + { "internalType": "uint256", "name": "start", "type": "uint256" }, + { + "components": [ + { + "internalType": "contract IVault[]", + "name": "vaults", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "shares", + "type": "uint256[]" + }, + { + "internalType": "address", + "name": "withdrawer", + "type": "address" + } + ], + "internalType": "struct Withdraw.WithdrawRequest", + "name": "request", + "type": "tuple" + } + ], + "internalType": "struct Withdraw.QueuedWithdrawal[]", + "name": "withdrawConfigs", + "type": "tuple[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "newOwner", "type": "address" } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "delay", "type": "uint256" } + ], + "name": "updateMinWithdrawDelay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawalDelay", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + } +] diff --git a/subgraphs/karak/abis/karak/Vault.json b/subgraphs/karak/abis/karak/Vault.json new file mode 100644 index 0000000000..89145df42a --- /dev/null +++ b/subgraphs/karak/abis/karak/Vault.json @@ -0,0 +1,646 @@ +[ + { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, + { "inputs": [], "name": "AllowanceOverflow", "type": "error" }, + { "inputs": [], "name": "AllowanceUnderflow", "type": "error" }, + { "inputs": [], "name": "AlreadyInitialized", "type": "error" }, + { "inputs": [], "name": "DepositMoreThanMax", "type": "error" }, + { "inputs": [], "name": "EnforcedPause", "type": "error" }, + { "inputs": [], "name": "ExpectedPause", "type": "error" }, + { "inputs": [], "name": "InsufficientAllowance", "type": "error" }, + { "inputs": [], "name": "InsufficientBalance", "type": "error" }, + { "inputs": [], "name": "InvalidInitialization", "type": "error" }, + { "inputs": [], "name": "InvalidPermit", "type": "error" }, + { "inputs": [], "name": "MintMoreThanMax", "type": "error" }, + { "inputs": [], "name": "NewOwnerIsZeroAddress", "type": "error" }, + { "inputs": [], "name": "NoHandoverRequest", "type": "error" }, + { "inputs": [], "name": "NotInitializing", "type": "error" }, + { "inputs": [], "name": "PermitExpired", "type": "error" }, + { "inputs": [], "name": "RedeemMoreThanMax", "type": "error" }, + { "inputs": [], "name": "Reentrancy", "type": "error" }, + { "inputs": [], "name": "TokenNotEnabled", "type": "error" }, + { "inputs": [], "name": "TotalSupplyOverflow", "type": "error" }, + { "inputs": [], "name": "Unauthorized", "type": "error" }, + { "inputs": [], "name": "WithdrawMoreThanMax", "type": "error" }, + { "inputs": [], "name": "ZeroAmount", "type": "error" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "by", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint64", + "name": "version", + "type": "uint64" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pendingOwner", + "type": "address" + } + ], + "name": "OwnershipHandoverCanceled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pendingOwner", + "type": "address" + } + ], + "name": "OwnershipHandoverRequested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "by", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [ + { "internalType": "bytes32", "name": "result", "type": "bytes32" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "owner", "type": "address" }, + { "internalType": "address", "name": "spender", "type": "address" } + ], + "name": "allowance", + "outputs": [ + { "internalType": "uint256", "name": "result", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "spender", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" } + ], + "name": "approve", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "asset", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "assetLimit", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "assetType", + "outputs": [ + { "internalType": "enum IVault.AssetType", "name": "", "type": "uint8" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "owner", "type": "address" } + ], + "name": "balanceOf", + "outputs": [ + { "internalType": "uint256", "name": "result", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "cancelOwnershipHandover", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "pendingOwner", "type": "address" } + ], + "name": "completeOwnershipHandover", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "shares", "type": "uint256" } + ], + "name": "convertToAssets", + "outputs": [ + { "internalType": "uint256", "name": "assets", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "assets", "type": "uint256" } + ], + "name": "convertToShares", + "outputs": [ + { "internalType": "uint256", "name": "shares", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "assets", "type": "uint256" }, + { "internalType": "address", "name": "depositor", "type": "address" } + ], + "name": "deposit", + "outputs": [ + { "internalType": "uint256", "name": "shares", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "depositToken", + "outputs": [ + { "internalType": "contract IERC20", "name": "", "type": "address" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_owner", "type": "address" }, + { + "internalType": "contract IERC20", + "name": "_depositToken", + "type": "address" + }, + { "internalType": "string", "name": "_name", "type": "string" }, + { "internalType": "string", "name": "_symbol", "type": "string" }, + { + "internalType": "enum IVault.AssetType", + "name": "_assetType", + "type": "uint8" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [{ "internalType": "address", "name": "to", "type": "address" }], + "name": "maxDeposit", + "outputs": [ + { "internalType": "uint256", "name": "maxAssets", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "address", "name": "to", "type": "address" }], + "name": "maxMint", + "outputs": [ + { "internalType": "uint256", "name": "maxShares", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "owner", "type": "address" } + ], + "name": "maxRedeem", + "outputs": [ + { "internalType": "uint256", "name": "maxShares", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "owner", "type": "address" } + ], + "name": "maxWithdraw", + "outputs": [ + { "internalType": "uint256", "name": "maxAssets", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "shares", "type": "uint256" }, + { "internalType": "address", "name": "to", "type": "address" } + ], + "name": "mint", + "outputs": [ + { "internalType": "uint256", "name": "assets", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "owner", "type": "address" } + ], + "name": "nonces", + "outputs": [ + { "internalType": "uint256", "name": "result", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { "internalType": "address", "name": "result", "type": "address" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "pendingOwner", "type": "address" } + ], + "name": "ownershipHandoverExpiresAt", + "outputs": [ + { "internalType": "uint256", "name": "result", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "toPause", "type": "bool" }], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "owner", "type": "address" }, + { "internalType": "address", "name": "spender", "type": "address" }, + { "internalType": "uint256", "name": "value", "type": "uint256" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" }, + { "internalType": "uint8", "name": "v", "type": "uint8" }, + { "internalType": "bytes32", "name": "r", "type": "bytes32" }, + { "internalType": "bytes32", "name": "s", "type": "bytes32" } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "assets", "type": "uint256" } + ], + "name": "previewDeposit", + "outputs": [ + { "internalType": "uint256", "name": "shares", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "shares", "type": "uint256" } + ], + "name": "previewMint", + "outputs": [ + { "internalType": "uint256", "name": "assets", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "shares", "type": "uint256" } + ], + "name": "previewRedeem", + "outputs": [ + { "internalType": "uint256", "name": "assets", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "assets", "type": "uint256" } + ], + "name": "previewWithdraw", + "outputs": [ + { "internalType": "uint256", "name": "shares", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "shares", "type": "uint256" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "address", "name": "owner", "type": "address" } + ], + "name": "redeem", + "outputs": [ + { "internalType": "uint256", "name": "assets", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "requestOwnershipHandover", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "newLimit", "type": "uint256" } + ], + "name": "setLimit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalAssets", + "outputs": [ + { "internalType": "uint256", "name": "assets", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { "internalType": "uint256", "name": "result", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" } + ], + "name": "transfer", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "from", "type": "address" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" } + ], + "name": "transferFrom", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "newOwner", "type": "address" } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "assets", "type": "uint256" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "address", "name": "owner", "type": "address" } + ], + "name": "withdraw", + "outputs": [ + { "internalType": "uint256", "name": "shares", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function" + } +] diff --git a/subgraphs/karak/abis/karak/VaultSupervisor.json b/subgraphs/karak/abis/karak/VaultSupervisor.json new file mode 100644 index 0000000000..97553d50d6 --- /dev/null +++ b/subgraphs/karak/abis/karak/VaultSupervisor.json @@ -0,0 +1,679 @@ +[ + { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, + { "inputs": [], "name": "AlreadyInitialized", "type": "error" }, + { "inputs": [], "name": "CrossedDepositLimit", "type": "error" }, + { "inputs": [], "name": "ECDSAInvalidSignature", "type": "error" }, + { + "inputs": [ + { "internalType": "uint256", "name": "length", "type": "uint256" } + ], + "name": "ECDSAInvalidSignatureLength", + "type": "error" + }, + { + "inputs": [{ "internalType": "bytes32", "name": "s", "type": "bytes32" }], + "name": "ECDSAInvalidSignatureS", + "type": "error" + }, + { "inputs": [], "name": "EnforcedPause", "type": "error" }, + { "inputs": [], "name": "ExpectedPause", "type": "error" }, + { "inputs": [], "name": "ExpiredSign", "type": "error" }, + { "inputs": [], "name": "InvalidInitialization", "type": "error" }, + { "inputs": [], "name": "InvalidSignature", "type": "error" }, + { "inputs": [], "name": "InvalidVaultAdminFunction", "type": "error" }, + { "inputs": [], "name": "MaxStakerVault", "type": "error" }, + { "inputs": [], "name": "NewOwnerIsZeroAddress", "type": "error" }, + { "inputs": [], "name": "NoHandoverRequest", "type": "error" }, + { "inputs": [], "name": "NotDelegationSupervisor", "type": "error" }, + { "inputs": [], "name": "NotEnoughShares", "type": "error" }, + { "inputs": [], "name": "NotInitializing", "type": "error" }, + { "inputs": [], "name": "PermitFailed", "type": "error" }, + { "inputs": [], "name": "Reentrancy", "type": "error" }, + { "inputs": [], "name": "Unauthorized", "type": "error" }, + { "inputs": [], "name": "UnauthorizedCallContext", "type": "error" }, + { "inputs": [], "name": "UpgradeFailed", "type": "error" }, + { "inputs": [], "name": "VaultNotAChildVault", "type": "error" }, + { "inputs": [], "name": "VaultNotFound", "type": "error" }, + { "inputs": [], "name": "ZeroAddress", "type": "error" }, + { "inputs": [], "name": "ZeroShares", "type": "error" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "staker", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "vault", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "shareToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "GaveShares", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint64", + "name": "version", + "type": "uint64" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "vault", + "type": "address" + } + ], + "name": "NewVault", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pendingOwner", + "type": "address" + } + ], + "name": "OwnershipHandoverCanceled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pendingOwner", + "type": "address" + } + ], + "name": "OwnershipHandoverRequested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "staker", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "vault", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "shareToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "ReturnedShares", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "roles", + "type": "uint256" + } + ], + "name": "RolesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "UpgradedAllVaults", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "vault", + "type": "address" + } + ], + "name": "UpgradedVault", + "type": "event" + }, + { + "inputs": [], + "name": "SIGNED_DEPOSIT_TYPEHASH", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "cancelOwnershipHandover", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "newVaultImpl", "type": "address" } + ], + "name": "changeImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "vault", "type": "address" }, + { "internalType": "address", "name": "newVaultImpl", "type": "address" } + ], + "name": "changeImplementationForVault", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "pendingOwner", "type": "address" } + ], + "name": "completeOwnershipHandover", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "delegationSupervisor", + "outputs": [ + { + "internalType": "contract IDelegationSupervisor", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IERC20", + "name": "depositToken", + "type": "address" + }, + { "internalType": "string", "name": "name", "type": "string" }, + { "internalType": "string", "name": "symbol", "type": "string" }, + { + "internalType": "enum IVault.AssetType", + "name": "assetType", + "type": "uint8" + } + ], + "name": "deployVault", + "outputs": [ + { "internalType": "contract IVault", "name": "", "type": "address" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "contract IVault", "name": "vault", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { "internalType": "uint256", "name": "minSharesOut", "type": "uint256" } + ], + "name": "deposit", + "outputs": [ + { "internalType": "uint256", "name": "shares", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "contract IVault", "name": "vault", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { "internalType": "uint256", "name": "minSharesOut", "type": "uint256" } + ], + "name": "depositAndGimmie", + "outputs": [ + { "internalType": "uint256", "name": "shares", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "contract IVault", "name": "vault", "type": "address" }, + { "internalType": "address", "name": "user", "type": "address" }, + { "internalType": "uint256", "name": "value", "type": "uint256" }, + { "internalType": "uint256", "name": "minSharesOut", "type": "uint256" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" }, + { + "components": [ + { "internalType": "uint8", "name": "v", "type": "uint8" }, + { "internalType": "bytes32", "name": "r", "type": "bytes32" }, + { "internalType": "bytes32", "name": "s", "type": "bytes32" } + ], + "internalType": "struct IVaultSupervisor.Signature", + "name": "permit", + "type": "tuple" + }, + { + "components": [ + { "internalType": "uint8", "name": "v", "type": "uint8" }, + { "internalType": "bytes32", "name": "r", "type": "bytes32" }, + { "internalType": "bytes32", "name": "s", "type": "bytes32" } + ], + "internalType": "struct IVaultSupervisor.Signature", + "name": "vaultAllowance", + "type": "tuple" + } + ], + "name": "depositWithSignature", + "outputs": [ + { "internalType": "uint256", "name": "shares", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "staker", "type": "address" } + ], + "name": "getDeposits", + "outputs": [ + { + "internalType": "contract IVault[]", + "name": "vaults", + "type": "address[]" + }, + { + "internalType": "contract IERC20[]", + "name": "tokens", + "type": "address[]" + }, + { "internalType": "uint256[]", "name": "assets", "type": "uint256[]" }, + { "internalType": "uint256[]", "name": "shares", "type": "uint256[]" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "user", "type": "address" } + ], + "name": "getUserNonce", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVaults", + "outputs": [ + { "internalType": "contract IVault[]", "name": "", "type": "address[]" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "contract IVault", "name": "vault", "type": "address" }, + { "internalType": "uint256", "name": "shares", "type": "uint256" } + ], + "name": "gimmieShares", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "user", "type": "address" }, + { "internalType": "uint256", "name": "roles", "type": "uint256" } + ], + "name": "grantRoles", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "user", "type": "address" }, + { "internalType": "uint256", "name": "roles", "type": "uint256" } + ], + "name": "hasAllRoles", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "user", "type": "address" }, + { "internalType": "uint256", "name": "roles", "type": "uint256" } + ], + "name": "hasAnyRole", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "vault", "type": "address" } + ], + "name": "implementation", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_delegationSupervisor", + "type": "address" + }, + { "internalType": "address", "name": "_vaultImpl", "type": "address" }, + { + "internalType": "contract ILimiter", + "name": "_limiter", + "type": "address" + }, + { "internalType": "address", "name": "_manager", "type": "address" } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { "internalType": "address", "name": "result", "type": "address" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "pendingOwner", "type": "address" } + ], + "name": "ownershipHandoverExpiresAt", + "outputs": [ + { "internalType": "uint256", "name": "result", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "bool", "name": "toPause", "type": "bool" }], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "staker", "type": "address" }, + { "internalType": "contract IVault", "name": "vault", "type": "address" }, + { "internalType": "uint256", "name": "shares", "type": "uint256" } + ], + "name": "redeemShares", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "staker", "type": "address" }, + { "internalType": "contract IVault", "name": "vault", "type": "address" }, + { "internalType": "uint256", "name": "shares", "type": "uint256" } + ], + "name": "removeShares", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "roles", "type": "uint256" } + ], + "name": "renounceRoles", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "requestOwnershipHandover", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "contract IVault", "name": "vault", "type": "address" }, + { "internalType": "uint256", "name": "shares", "type": "uint256" } + ], + "name": "returnShares", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "user", "type": "address" }, + { "internalType": "uint256", "name": "roles", "type": "uint256" } + ], + "name": "revokeRoles", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "user", "type": "address" } + ], + "name": "rolesOf", + "outputs": [ + { "internalType": "uint256", "name": "roles", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "contract IVault", "name": "vault", "type": "address" }, + { "internalType": "bytes", "name": "fn", "type": "bytes" } + ], + "name": "runAdminOperation", + "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ILimiter", + "name": "limiter", + "type": "address" + } + ], + "name": "setLimiter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "newOwner", "type": "address" } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } +] diff --git a/subgraphs/karak/configurations/configurations/configurations.ts b/subgraphs/karak/configurations/configurations/configurations.ts new file mode 100644 index 0000000000..ace1014f04 --- /dev/null +++ b/subgraphs/karak/configurations/configurations/configurations.ts @@ -0,0 +1,28 @@ +import { log } from "@graphprotocol/graph-ts"; + +import { Configurations } from "./interface"; +import { Deploy } from "./deploy"; +import { KarakMainnetConfigurations } from "../../protocols/karak/config/deployments/karak-ethereum/configurations"; +import { KarakArbitrumConfigurations } from "../../protocols/karak/config/deployments/karak-arbitrum/configurations"; +import { KarakBscConfigurations } from "../../protocols/karak/config/deployments/karak-bsc/configurations"; + +export function getNetworkConfigurations(deploy: i32): Configurations { + switch (deploy) { + case Deploy.KARAK_ETHEREUM: { + return new KarakMainnetConfigurations(); + } + case Deploy.KARAK_ARBITRUM: { + return new KarakArbitrumConfigurations(); + } + case Deploy.KARAK_BSC: { + return new KarakBscConfigurations(); + } + default: { + log.critical( + "No configurations found for deployment protocol/network", + [] + ); + return new KarakMainnetConfigurations(); + } + } +} diff --git a/subgraphs/karak/configurations/configurations/deploy.ts b/subgraphs/karak/configurations/configurations/deploy.ts new file mode 100644 index 0000000000..05b0b5cd32 --- /dev/null +++ b/subgraphs/karak/configurations/configurations/deploy.ts @@ -0,0 +1,5 @@ +export namespace Deploy { + export const KARAK_ETHEREUM = 0; + export const KARAK_ARBITRUM = 1; + export const KARAK_BSC = 2; +} diff --git a/subgraphs/karak/configurations/configurations/interface.ts b/subgraphs/karak/configurations/configurations/interface.ts new file mode 100644 index 0000000000..42853be02d --- /dev/null +++ b/subgraphs/karak/configurations/configurations/interface.ts @@ -0,0 +1,6 @@ +export interface Configurations { + getNetwork(): string; + getProtocolId(): string; + getProtocolName(): string; + getProtocolSlug(): string; +} diff --git a/subgraphs/karak/configurations/configure.mustache b/subgraphs/karak/configurations/configure.mustache new file mode 100644 index 0000000000..971ba89573 --- /dev/null +++ b/subgraphs/karak/configurations/configure.mustache @@ -0,0 +1,6 @@ +import { getNetworkConfigurations } from "./configurations/configurations"; +import { Deploy } from "./configurations/deploy"; + +let deployment = Deploy.{{ deployment }}; + +export const NetworkConfigs = getNetworkConfigurations(deployment); diff --git a/subgraphs/karak/image.png b/subgraphs/karak/image.png new file mode 100644 index 0000000000000000000000000000000000000000..5b6f7002ba37da1f60046a9bcba36416601b7fd2 GIT binary patch literal 1895534 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[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 i&{#iW}7a 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 dwQ`^0g7{6Eb6KqFkz9Kld;@PJTxw;xp$D~_R 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