From 14744e642a1213e03092fc75a44791c59dd080de Mon Sep 17 00:00:00 2001 From: William Poulin Date: Mon, 8 Jan 2024 18:11:28 -0500 Subject: [PATCH] fix(app-tokens): Migration to ATI (#3176) * fix(app-tokens): Migration to ATI * more migrations * chore(studio): Deleted Furocombo - funds have been deprecated for a long time * chore(studio): Migration to ATI * chore(studio): Migrated Tempus to ATI * chore(unipilot): Migration to ATI --- src/apps/across/across.module.ts | 3 +- .../common/across.pool-v2.token-fetcher.ts | 67 - .../contracts/abis/across-hub-pool-v-2.json | 588 ------- .../contracts/abis/across-pool-v-2.json | 259 ---- .../across/contracts/viem.contract-factory.ts | 8 +- .../across/contracts/viem/AcrossHubPoolV2.ts | 1368 ---------------- .../across/contracts/viem/AcrossPoolV2.ts | 592 ------- src/apps/across/contracts/viem/index.ts | 4 - .../ethereum/across.pool-v2.token-fetcher.ts | 44 - src/apps/angle/angle.module.ts | 2 - .../angle/contracts/abis/angle-san-token.json | 218 --- .../angle/contracts/viem.contract-factory.ts | 4 - .../angle/contracts/viem/AngleSanToken.ts | 500 ------ src/apps/angle/contracts/viem/index.ts | 2 - .../ethereum/angle.san-token.token-fetcher.ts | 81 - src/apps/beanstalk/beanstalk.module.ts | 2 - .../beanstalk.unripe-assets.token-fetcher.ts | 74 - src/apps/clearpool/assets/logo.png | Bin 25391 -> 0 bytes src/apps/clearpool/clearpool.module.ts | 20 - .../clearpool.pool-definition-resolver.ts | 37 - .../common/clearpool.pool.token-fetcher.ts | 57 - .../contracts/abis/clearpool-pool.json | 1195 -------------- src/apps/clearpool/contracts/index.ts | 4 - .../contracts/viem.contract-factory.ts | 17 - .../clearpool/contracts/viem/ClearpoolPool.ts | 1209 --------------- src/apps/clearpool/contracts/viem/index.ts | 7 - .../ethereum/clearpool.pool.token-fetcher.ts | 8 - .../polygon/clearpool.pool.token-fetcher.ts | 8 - src/apps/dystopia/dystopia.module.ts | 2 - ...dystopia.farm.contract-position-fetcher.ts | 21 +- .../polygon/dystopia.pool.token-fetcher.ts | 97 -- src/apps/furucombo/assets/logo.png | Bin 18102 -> 0 bytes .../abis/furucombo-fund-share-token.json | 567 ------- src/apps/furucombo/contracts/index.ts | 4 - .../contracts/viem.contract-factory.ts | 17 - .../contracts/viem/FurucomboFundShareToken.ts | 581 ------- src/apps/furucombo/contracts/viem/index.ts | 7 - src/apps/furucombo/furucombo.module.ts | 11 - .../polygon/furucombo.fund.token-fetcher.ts | 145 -- .../jones-dao.strategy.token-fetcher.ts | 57 - .../arbitrum/jones-dao.vault.token-fetcher.ts | 73 - .../contracts/abis/jones-strategy-token.json | 583 ------- .../contracts/abis/jones-strategy-vault.json | 587 ------- .../jones-dao/contracts/abis/jones-vault.json | 266 ---- .../contracts/viem.contract-factory.ts | 12 - .../contracts/viem/JonesStrategyToken.ts | 1309 ---------------- .../contracts/viem/JonesStrategyVault.ts | 1371 ----------------- .../jones-dao/contracts/viem/JonesVault.ts | 599 ------- src/apps/jones-dao/contracts/viem/index.ts | 6 - src/apps/jones-dao/jones-dao.module.ts | 4 - .../arbitrum/plutus.vault.token-fetcher.ts | 68 - src/apps/plutus/plutus.module.ts | 2 - src/apps/tempus/assets/logo.png | Bin 25600 -> 0 bytes .../tempus/common/tempus.amm.token-fetcher.ts | 67 - src/apps/tempus/common/tempus.datasource.ts | 25 - .../common/tempus.pool.token-fetcher.ts | 56 - .../tempus/contracts/abis/tempus-amm.json | 1146 -------------- .../tempus/contracts/abis/tempus-pool.json | 867 ----------- .../contracts/abis/tempus-py-token.json | 412 ----- src/apps/tempus/contracts/index.ts | 4 - .../tempus/contracts/viem.contract-factory.ts | 23 - src/apps/tempus/contracts/viem/TempusAmm.ts | 1160 -------------- src/apps/tempus/contracts/viem/TempusPool.ts | 881 ----------- .../tempus/contracts/viem/TempusPyToken.ts | 426 ----- src/apps/tempus/contracts/viem/index.ts | 11 - .../ethereum/tempus.amm.token-fetcher.ts | 8 - .../ethereum/tempus.pool.token-fetcher.ts | 8 - .../tempus/fantom/tempus.amm.token-fetcher.ts | 8 - .../fantom/tempus.pool.token-fetcher.ts | 8 - src/apps/tempus/tempus.module.ts | 22 - src/apps/unipilot/assets/logo.png | Bin 12377 -> 0 bytes .../unipilot.vault-definition-resolver.ts | 53 - .../common/unipilot.vault.token-fetcher.ts | 117 -- .../abis/unipilot-ethereum-factory.json | 104 -- .../abis/unipilot-polygon-factory.json | 107 -- .../contracts/abis/unipilot-vault.json | 303 ---- src/apps/unipilot/contracts/index.ts | 4 - .../contracts/viem.contract-factory.ts | 23 - .../contracts/viem/UnipilotEthereumFactory.ts | 276 ---- .../contracts/viem/UnipilotPolygonFactory.ts | 292 ---- .../unipilot/contracts/viem/UnipilotVault.ts | 763 --------- src/apps/unipilot/contracts/viem/index.ts | 11 - .../ethereum/unipilot.pool.token-fetcher.ts | 8 - src/apps/unipilot/graphql/queries.ts | 59 - .../polygon/unipilot.pool.token-fetcher.ts | 8 - src/apps/unipilot/unipilot.module.ts | 20 - src/apps/unipilot/utils/constants.ts | 10 - src/apps/unipilot/utils/generalTypes.ts | 39 - 88 files changed, 22 insertions(+), 20074 deletions(-) delete mode 100644 src/apps/across/common/across.pool-v2.token-fetcher.ts delete mode 100644 src/apps/across/contracts/abis/across-hub-pool-v-2.json delete mode 100644 src/apps/across/contracts/abis/across-pool-v-2.json delete mode 100644 src/apps/across/contracts/viem/AcrossHubPoolV2.ts delete mode 100644 src/apps/across/contracts/viem/AcrossPoolV2.ts delete mode 100644 src/apps/across/ethereum/across.pool-v2.token-fetcher.ts delete mode 100644 src/apps/angle/contracts/abis/angle-san-token.json delete mode 100644 src/apps/angle/contracts/viem/AngleSanToken.ts delete mode 100644 src/apps/angle/ethereum/angle.san-token.token-fetcher.ts delete mode 100644 src/apps/beanstalk/ethereum/beanstalk.unripe-assets.token-fetcher.ts delete mode 100644 src/apps/clearpool/assets/logo.png delete mode 100644 src/apps/clearpool/clearpool.module.ts delete mode 100644 src/apps/clearpool/common/clearpool.pool-definition-resolver.ts delete mode 100644 src/apps/clearpool/common/clearpool.pool.token-fetcher.ts delete mode 100644 src/apps/clearpool/contracts/abis/clearpool-pool.json delete mode 100644 src/apps/clearpool/contracts/index.ts delete mode 100644 src/apps/clearpool/contracts/viem.contract-factory.ts delete mode 100644 src/apps/clearpool/contracts/viem/ClearpoolPool.ts delete mode 100644 src/apps/clearpool/contracts/viem/index.ts delete mode 100644 src/apps/clearpool/ethereum/clearpool.pool.token-fetcher.ts delete mode 100644 src/apps/clearpool/polygon/clearpool.pool.token-fetcher.ts delete mode 100644 src/apps/dystopia/polygon/dystopia.pool.token-fetcher.ts delete mode 100644 src/apps/furucombo/assets/logo.png delete mode 100644 src/apps/furucombo/contracts/abis/furucombo-fund-share-token.json delete mode 100644 src/apps/furucombo/contracts/index.ts delete mode 100644 src/apps/furucombo/contracts/viem.contract-factory.ts delete mode 100644 src/apps/furucombo/contracts/viem/FurucomboFundShareToken.ts delete mode 100644 src/apps/furucombo/contracts/viem/index.ts delete mode 100644 src/apps/furucombo/furucombo.module.ts delete mode 100644 src/apps/furucombo/polygon/furucombo.fund.token-fetcher.ts delete mode 100644 src/apps/jones-dao/arbitrum/jones-dao.strategy.token-fetcher.ts delete mode 100644 src/apps/jones-dao/arbitrum/jones-dao.vault.token-fetcher.ts delete mode 100644 src/apps/jones-dao/contracts/abis/jones-strategy-token.json delete mode 100644 src/apps/jones-dao/contracts/abis/jones-strategy-vault.json delete mode 100644 src/apps/jones-dao/contracts/abis/jones-vault.json delete mode 100644 src/apps/jones-dao/contracts/viem/JonesStrategyToken.ts delete mode 100644 src/apps/jones-dao/contracts/viem/JonesStrategyVault.ts delete mode 100644 src/apps/jones-dao/contracts/viem/JonesVault.ts delete mode 100644 src/apps/plutus/arbitrum/plutus.vault.token-fetcher.ts delete mode 100644 src/apps/tempus/assets/logo.png delete mode 100644 src/apps/tempus/common/tempus.amm.token-fetcher.ts delete mode 100644 src/apps/tempus/common/tempus.datasource.ts delete mode 100644 src/apps/tempus/common/tempus.pool.token-fetcher.ts delete mode 100644 src/apps/tempus/contracts/abis/tempus-amm.json delete mode 100644 src/apps/tempus/contracts/abis/tempus-pool.json delete mode 100644 src/apps/tempus/contracts/abis/tempus-py-token.json delete mode 100644 src/apps/tempus/contracts/index.ts delete mode 100644 src/apps/tempus/contracts/viem.contract-factory.ts delete mode 100644 src/apps/tempus/contracts/viem/TempusAmm.ts delete mode 100644 src/apps/tempus/contracts/viem/TempusPool.ts delete mode 100644 src/apps/tempus/contracts/viem/TempusPyToken.ts delete mode 100644 src/apps/tempus/contracts/viem/index.ts delete mode 100644 src/apps/tempus/ethereum/tempus.amm.token-fetcher.ts delete mode 100644 src/apps/tempus/ethereum/tempus.pool.token-fetcher.ts delete mode 100644 src/apps/tempus/fantom/tempus.amm.token-fetcher.ts delete mode 100644 src/apps/tempus/fantom/tempus.pool.token-fetcher.ts delete mode 100644 src/apps/tempus/tempus.module.ts delete mode 100644 src/apps/unipilot/assets/logo.png delete mode 100644 src/apps/unipilot/common/unipilot.vault-definition-resolver.ts delete mode 100644 src/apps/unipilot/common/unipilot.vault.token-fetcher.ts delete mode 100644 src/apps/unipilot/contracts/abis/unipilot-ethereum-factory.json delete mode 100644 src/apps/unipilot/contracts/abis/unipilot-polygon-factory.json delete mode 100644 src/apps/unipilot/contracts/abis/unipilot-vault.json delete mode 100644 src/apps/unipilot/contracts/index.ts delete mode 100644 src/apps/unipilot/contracts/viem.contract-factory.ts delete mode 100644 src/apps/unipilot/contracts/viem/UnipilotEthereumFactory.ts delete mode 100644 src/apps/unipilot/contracts/viem/UnipilotPolygonFactory.ts delete mode 100644 src/apps/unipilot/contracts/viem/UnipilotVault.ts delete mode 100644 src/apps/unipilot/contracts/viem/index.ts delete mode 100644 src/apps/unipilot/ethereum/unipilot.pool.token-fetcher.ts delete mode 100644 src/apps/unipilot/graphql/queries.ts delete mode 100644 src/apps/unipilot/polygon/unipilot.pool.token-fetcher.ts delete mode 100644 src/apps/unipilot/unipilot.module.ts delete mode 100644 src/apps/unipilot/utils/constants.ts delete mode 100644 src/apps/unipilot/utils/generalTypes.ts diff --git a/src/apps/across/across.module.ts b/src/apps/across/across.module.ts index 7a1cd8a9a..690c1310c 100644 --- a/src/apps/across/across.module.ts +++ b/src/apps/across/across.module.ts @@ -3,10 +3,9 @@ import { Module } from '@nestjs/common'; import { AbstractApp } from '~app/app.dynamic-module'; import { AcrossViemContractFactory } from './contracts'; -import { EthereumAcrossPoolV2TokenFetcher } from './ethereum/across.pool-v2.token-fetcher'; import { EthereumStakingContractPositionFetcher } from './ethereum/across.staking.contract-position-fetcher'; @Module({ - providers: [AcrossViemContractFactory, EthereumAcrossPoolV2TokenFetcher, EthereumStakingContractPositionFetcher], + providers: [AcrossViemContractFactory, EthereumStakingContractPositionFetcher], }) export class AcrossAppModule extends AbstractApp() {} diff --git a/src/apps/across/common/across.pool-v2.token-fetcher.ts b/src/apps/across/common/across.pool-v2.token-fetcher.ts deleted file mode 100644 index b8c7902c8..000000000 --- a/src/apps/across/common/across.pool-v2.token-fetcher.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { Inject } from '@nestjs/common'; -import { BigNumber } from 'ethers'; - -import { APP_TOOLKIT, IAppToolkit } from '~app-toolkit/app-toolkit.interface'; -import { getLabelFromToken } from '~app-toolkit/helpers/presentation/image.present'; -import { AppTokenTemplatePositionFetcher } from '~position/template/app-token.template.position-fetcher'; -import { - DefaultAppTokenDataProps, - GetAddressesParams, - GetDisplayPropsParams, - GetPricePerShareParams, - GetUnderlyingTokensParams, -} from '~position/template/app-token.template.types'; - -import { AcrossViemContractFactory } from '../contracts'; -import { AcrossPoolV2 } from '../contracts/viem'; - -export type AcrossPoolV2TokenDefinition = { - address: string; - underlyingTokenAddress: string; -}; - -export abstract class AcrossPoolV2TokenFetcher extends AppTokenTemplatePositionFetcher< - AcrossPoolV2, - DefaultAppTokenDataProps, - AcrossPoolV2TokenDefinition -> { - abstract hubAddress: string; - abstract poolDefinitions: AcrossPoolV2TokenDefinition[]; - - constructor( - @Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit, - @Inject(AcrossViemContractFactory) protected readonly contractFactory: AcrossViemContractFactory, - ) { - super(appToolkit); - } - - getContract(address: string) { - return this.contractFactory.acrossPoolV2({ network: this.network, address }); - } - - async getDefinitions(): Promise { - return this.poolDefinitions; - } - - async getAddresses({ definitions }: GetAddressesParams) { - return definitions.map(v => v.address); - } - - async getUnderlyingTokenDefinitions({ - definition, - }: GetUnderlyingTokensParams) { - return [{ address: definition.underlyingTokenAddress, network: this.network }]; - } - - async getPricePerShare({ appToken, multicall }: GetPricePerShareParams) { - const hub = this.contractFactory.acrossHubPoolV2({ address: this.hubAddress, network: this.network }); - const poolInfo = await multicall.wrap(hub).read.pooledTokens([appToken.tokens[0].address]); - const reserveRaw = BigNumber.from(poolInfo[4]).add(poolInfo[3]).sub(poolInfo[5]); - const reserve = Number(reserveRaw) / 10 ** appToken.tokens[0].decimals; - return [reserve / appToken.supply]; - } - - async getLabel({ appToken }: GetDisplayPropsParams): Promise { - return getLabelFromToken(appToken.tokens[0]); - } -} diff --git a/src/apps/across/contracts/abis/across-hub-pool-v-2.json b/src/apps/across/contracts/abis/across-hub-pool-v-2.json deleted file mode 100644 index 79f539f84..000000000 --- a/src/apps/across/contracts/abis/across-hub-pool-v-2.json +++ /dev/null @@ -1,588 +0,0 @@ -[ - { - "inputs": [ - { "internalType": "contract LpTokenFactoryInterface", "name": "_lpTokenFactory", "type": "address" }, - { "internalType": "contract FinderInterface", "name": "_finder", "type": "address" }, - { "internalType": "contract WETH9", "name": "_weth", "type": "address" }, - { "internalType": "address", "name": "_timer", "type": "address" } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "newBondToken", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "newBondAmount", "type": "uint256" } - ], - "name": "BondSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "uint256", "name": "l2ChainId", "type": "uint256" }, - { "indexed": false, "internalType": "address", "name": "adapter", "type": "address" }, - { "indexed": false, "internalType": "address", "name": "spokePool", "type": "address" } - ], - "name": "CrossChainContractsSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "bytes32", "name": "poolRebalanceRoot", "type": "bytes32" }, - { "indexed": true, "internalType": "bytes32", "name": "relayerRefundRoot", "type": "bytes32" }, - { "indexed": false, "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" }, - { "indexed": true, "internalType": "address", "name": "proposer", "type": "address" } - ], - "name": "EmergencyRootBundleDeleted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "bytes32", "name": "newIdentifier", "type": "bytes32" }], - "name": "IdentifierSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "address", "name": "l1Token", "type": "address" }, - { "indexed": false, "internalType": "address", "name": "lpToken", "type": "address" } - ], - "name": "L1TokenEnabledForLiquidityProvision", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "address", "name": "l1Token", "type": "address" }, - { "indexed": false, "internalType": "address", "name": "lpToken", "type": "address" } - ], - "name": "L2TokenDisabledForLiquidityProvision", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "l1Token", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "lpTokensMinted", "type": "uint256" }, - { "indexed": true, "internalType": "address", "name": "liquidityProvider", "type": "address" } - ], - "name": "LiquidityAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "l1Token", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "lpTokensBurnt", "type": "uint256" }, - { "indexed": true, "internalType": "address", "name": "liquidityProvider", "type": "address" } - ], - "name": "LiquidityRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "uint256", "name": "newLiveness", "type": "uint256" }], - "name": "LivenessSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": true, "internalType": "bool", "name": "isPaused", "type": "bool" }], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "uint32", "name": "challengePeriodEndTimestamp", "type": "uint32" }, - { "indexed": false, "internalType": "uint8", "name": "poolRebalanceLeafCount", "type": "uint8" }, - { "indexed": false, "internalType": "uint256[]", "name": "bundleEvaluationBlockNumbers", "type": "uint256[]" }, - { "indexed": true, "internalType": "bytes32", "name": "poolRebalanceRoot", "type": "bytes32" }, - { "indexed": true, "internalType": "bytes32", "name": "relayerRefundRoot", "type": "bytes32" }, - { "indexed": false, "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" }, - { "indexed": true, "internalType": "address", "name": "proposer", "type": "address" } - ], - "name": "ProposeRootBundle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "newProtocolFeeCaptureAddress", "type": "address" }, - { "indexed": true, "internalType": "uint256", "name": "newProtocolFeeCapturePct", "type": "uint256" } - ], - "name": "ProtocolFeeCaptureSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "l1Token", "type": "address" }, - { "indexed": true, "internalType": "uint256", "name": "accumulatedFees", "type": "uint256" } - ], - "name": "ProtocolFeesCapturedClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "disputer", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "requestTime", "type": "uint256" } - ], - "name": "RootBundleCanceled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "disputer", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "requestTime", "type": "uint256" } - ], - "name": "RootBundleDisputed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "uint256", "name": "groupIndex", "type": "uint256" }, - { "indexed": true, "internalType": "uint256", "name": "leafId", "type": "uint256" }, - { "indexed": true, "internalType": "uint256", "name": "chainId", "type": "uint256" }, - { "indexed": false, "internalType": "address[]", "name": "l1Tokens", "type": "address[]" }, - { "indexed": false, "internalType": "uint256[]", "name": "bundleLpFees", "type": "uint256[]" }, - { "indexed": false, "internalType": "int256[]", "name": "netSendAmounts", "type": "int256[]" }, - { "indexed": false, "internalType": "int256[]", "name": "runningBalances", "type": "int256[]" }, - { "indexed": true, "internalType": "address", "name": "caller", "type": "address" } - ], - "name": "RootBundleExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "uint256", "name": "originChainId", "type": "uint256" }, - { "indexed": true, "internalType": "uint256", "name": "destinationChainId", "type": "uint256" }, - { "indexed": true, "internalType": "address", "name": "originToken", "type": "address" }, - { "indexed": false, "internalType": "bool", "name": "depositsEnabled", "type": "bool" } - ], - "name": "SetEnableDepositRoute", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "uint256", "name": "destinationChainId", "type": "uint256" }, - { "indexed": true, "internalType": "address", "name": "l1Token", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "destinationToken", "type": "address" } - ], - "name": "SetPoolRebalanceRoute", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "uint256", "name": "chainId", "type": "uint256" }, - { "indexed": false, "internalType": "bytes", "name": "message", "type": "bytes" } - ], - "name": "SpokePoolAdminFunctionTriggered", - "type": "event" - }, - { "stateMutability": "payable", "type": "fallback" }, - { - "inputs": [ - { "internalType": "address", "name": "l1Token", "type": "address" }, - { "internalType": "uint256", "name": "l1TokenAmount", "type": "uint256" } - ], - "name": "addLiquidity", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "bondAmount", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "bondToken", - "outputs": [{ "internalType": "contract IERC20", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "l1Token", "type": "address" }], - "name": "claimProtocolFeesCaptured", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "name": "crossChainContracts", - "outputs": [ - { "internalType": "address", "name": "adapter", "type": "address" }, - { "internalType": "address", "name": "spokePool", "type": "address" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "l1Token", "type": "address" }], - "name": "disableL1TokenForLiquidityProvision", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { "inputs": [], "name": "disputeRootBundle", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [], - "name": "emergencyDeleteProposal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "l1Token", "type": "address" }], - "name": "enableL1TokenForLiquidityProvision", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "l1Token", "type": "address" }], - "name": "exchangeRateCurrent", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "chainId", "type": "uint256" }, - { "internalType": "uint256", "name": "groupIndex", "type": "uint256" }, - { "internalType": "uint256[]", "name": "bundleLpFees", "type": "uint256[]" }, - { "internalType": "int256[]", "name": "netSendAmounts", "type": "int256[]" }, - { "internalType": "int256[]", "name": "runningBalances", "type": "int256[]" }, - { "internalType": "uint8", "name": "leafId", "type": "uint8" }, - { "internalType": "address[]", "name": "l1Tokens", "type": "address[]" }, - { "internalType": "bytes32[]", "name": "proof", "type": "bytes32[]" } - ], - "name": "executeRootBundle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "finder", - "outputs": [{ "internalType": "contract FinderInterface", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCurrentTime", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "l1Token", "type": "address" }, - { "internalType": "int256", "name": "haircutAmount", "type": "int256" } - ], - "name": "haircutReserves", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "l1Token", "type": "address" }], - "name": "liquidityUtilizationCurrent", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "l1Token", "type": "address" }, - { "internalType": "uint256", "name": "relayedAmount", "type": "uint256" } - ], - "name": "liquidityUtilizationPostRelay", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "liveness", - "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }], - "stateMutability": "view", - "type": "function" - }, - { "inputs": [], "name": "loadEthForL2Calls", "outputs": [], "stateMutability": "payable", "type": "function" }, - { - "inputs": [], - "name": "lpFeeRatePerSecond", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lpTokenFactory", - "outputs": [{ "internalType": "contract LpTokenFactoryInterface", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "bytes[]", "name": "data", "type": "bytes[]" }], - "name": "multicall", - "outputs": [{ "internalType": "bytes[]", "name": "results", "type": "bytes[]" }], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "destinationChainId", "type": "uint256" }, - { "internalType": "address", "name": "l1Token", "type": "address" } - ], - "name": "poolRebalanceRoute", - "outputs": [{ "internalType": "address", "name": "destinationToken", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "pooledTokens", - "outputs": [ - { "internalType": "address", "name": "lpToken", "type": "address" }, - { "internalType": "bool", "name": "isEnabled", "type": "bool" }, - { "internalType": "uint32", "name": "lastLpFeeUpdate", "type": "uint32" }, - { "internalType": "int256", "name": "utilizedReserves", "type": "int256" }, - { "internalType": "uint256", "name": "liquidReserves", "type": "uint256" }, - { "internalType": "uint256", "name": "undistributedLpFees", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256[]", "name": "bundleEvaluationBlockNumbers", "type": "uint256[]" }, - { "internalType": "uint8", "name": "poolRebalanceLeafCount", "type": "uint8" }, - { "internalType": "bytes32", "name": "poolRebalanceRoot", "type": "bytes32" }, - { "internalType": "bytes32", "name": "relayerRefundRoot", "type": "bytes32" }, - { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" } - ], - "name": "proposeRootBundle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "protocolFeeCaptureAddress", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "protocolFeeCapturePct", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "chainId", "type": "uint256" }, - { "internalType": "bytes", "name": "functionData", "type": "bytes" } - ], - "name": "relaySpokePoolAdminFunction", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "l1Token", "type": "address" }, - { "internalType": "uint256", "name": "lpTokenAmount", "type": "uint256" }, - { "internalType": "bool", "name": "sendEth", "type": "bool" } - ], - "name": "removeLiquidity", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [], - "name": "rootBundleProposal", - "outputs": [ - { "internalType": "bytes32", "name": "poolRebalanceRoot", "type": "bytes32" }, - { "internalType": "bytes32", "name": "relayerRefundRoot", "type": "bytes32" }, - { "internalType": "bytes32", "name": "slowRelayRoot", "type": "bytes32" }, - { "internalType": "uint256", "name": "claimedBitMap", "type": "uint256" }, - { "internalType": "address", "name": "proposer", "type": "address" }, - { "internalType": "uint8", "name": "unclaimedPoolRebalanceLeafCount", "type": "uint8" }, - { "internalType": "uint32", "name": "challengePeriodEndTimestamp", "type": "uint32" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "contract IERC20", "name": "newBondToken", "type": "address" }, - { "internalType": "uint256", "name": "newBondAmount", "type": "uint256" } - ], - "name": "setBond", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "l2ChainId", "type": "uint256" }, - { "internalType": "address", "name": "adapter", "type": "address" }, - { "internalType": "address", "name": "spokePool", "type": "address" } - ], - "name": "setCrossChainContracts", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "time", "type": "uint256" }], - "name": "setCurrentTime", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "originChainId", "type": "uint256" }, - { "internalType": "uint256", "name": "destinationChainId", "type": "uint256" }, - { "internalType": "address", "name": "originToken", "type": "address" }, - { "internalType": "bool", "name": "depositsEnabled", "type": "bool" } - ], - "name": "setDepositRoute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "bytes32", "name": "newIdentifier", "type": "bytes32" }], - "name": "setIdentifier", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint32", "name": "newLiveness", "type": "uint32" }], - "name": "setLiveness", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "bool", "name": "pause", "type": "bool" }], - "name": "setPaused", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "destinationChainId", "type": "uint256" }, - { "internalType": "address", "name": "l1Token", "type": "address" }, - { "internalType": "address", "name": "destinationToken", "type": "address" } - ], - "name": "setPoolRebalanceRoute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "newProtocolFeeCaptureAddress", "type": "address" }, - { "internalType": "uint256", "name": "newProtocolFeeCapturePct", "type": "uint256" } - ], - "name": "setProtocolFeeCapture", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "l1Token", "type": "address" }], - "name": "sync", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "timerAddress", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "unclaimedAccumulatedProtocolFees", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "weth", - "outputs": [{ "internalType": "contract WETH9", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { "stateMutability": "payable", "type": "receive" } -] diff --git a/src/apps/across/contracts/abis/across-pool-v-2.json b/src/apps/across/contracts/abis/across-pool-v-2.json deleted file mode 100644 index f52047032..000000000 --- a/src/apps/across/contracts/abis/across-pool-v-2.json +++ /dev/null @@ -1,259 +0,0 @@ -[ - { - "inputs": [ - { "internalType": "string", "name": "_tokenName", "type": "string" }, - { "internalType": "string", "name": "_tokenSymbol", "type": "string" }, - { "internalType": "uint8", "name": "_tokenDecimals", "type": "uint8" } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "uint256", "name": "roleId", "type": "uint256" }, - { "indexed": true, "internalType": "address", "name": "newMember", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "manager", "type": "address" } - ], - "name": "AddedSharedMember", - "type": "event" - }, - { - "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": "uint256", "name": "roleId", "type": "uint256" }, - { "indexed": true, "internalType": "address", "name": "oldMember", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "manager", "type": "address" } - ], - "name": "RemovedSharedMember", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "uint256", "name": "roleId", "type": "uint256" }, - { "indexed": true, "internalType": "address", "name": "newMember", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "manager", "type": "address" } - ], - "name": "ResetExclusiveMember", - "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" - }, - { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "addBurner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "roleId", "type": "uint256" }, - { "internalType": "address", "name": "newMember", "type": "address" } - ], - "name": "addMember", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "addMinter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "owner", "type": "address" }, - { "internalType": "address", "name": "spender", "type": "address" } - ], - "name": "allowance", - "outputs": [{ "internalType": "uint256", "name": "", "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": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "balanceOf", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "value", "type": "uint256" }], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "recipient", "type": "address" }, - { "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "name": "burnFrom", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } - ], - "name": "decreaseAllowance", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "roleId", "type": "uint256" }], - "name": "getMember", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "roleId", "type": "uint256" }, - { "internalType": "address", "name": "memberToCheck", "type": "address" } - ], - "name": "holdsRole", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "addedValue", "type": "uint256" } - ], - "name": "increaseAllowance", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "recipient", "type": "address" }, - { "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "name": "mint", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "roleId", "type": "uint256" }, - { "internalType": "address", "name": "memberToRemove", "type": "address" } - ], - "name": "removeMember", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "roleId", "type": "uint256" }], - "name": "renounceMembership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "roleId", "type": "uint256" }, - { "internalType": "address", "name": "newMember", "type": "address" } - ], - "name": "resetMember", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "resetOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [{ "internalType": "uint256", "name": "", "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" - } -] diff --git a/src/apps/across/contracts/viem.contract-factory.ts b/src/apps/across/contracts/viem.contract-factory.ts index 3de7608f2..335c0dcfb 100644 --- a/src/apps/across/contracts/viem.contract-factory.ts +++ b/src/apps/across/contracts/viem.contract-factory.ts @@ -3,7 +3,7 @@ import { Injectable, Inject } from '@nestjs/common'; import { IAppToolkit, APP_TOOLKIT } from '~app-toolkit/app-toolkit.interface'; import { Network } from '~types/network.interface'; -import { AcrossHubPoolV2__factory, AcrossPoolV2__factory, AcrossStaking__factory } from './viem'; +import { AcrossStaking__factory } from './viem'; type ContractOpts = { address: string; network: Network }; @@ -11,12 +11,6 @@ type ContractOpts = { address: string; network: Network }; export class AcrossViemContractFactory { constructor(@Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit) {} - acrossHubPoolV2({ address, network }: ContractOpts) { - return AcrossHubPoolV2__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); - } - acrossPoolV2({ address, network }: ContractOpts) { - return AcrossPoolV2__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); - } acrossStaking({ address, network }: ContractOpts) { return AcrossStaking__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); } diff --git a/src/apps/across/contracts/viem/AcrossHubPoolV2.ts b/src/apps/across/contracts/viem/AcrossHubPoolV2.ts deleted file mode 100644 index 2e4242f31..000000000 --- a/src/apps/across/contracts/viem/AcrossHubPoolV2.ts +++ /dev/null @@ -1,1368 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { getContract, GetContractReturnType, PublicClient } from 'viem'; - -export const acrossHubPoolV2Abi = [ - { - inputs: [ - { - internalType: 'contract LpTokenFactoryInterface', - name: '_lpTokenFactory', - type: 'address', - }, - { - internalType: 'contract FinderInterface', - name: '_finder', - type: 'address', - }, - { - internalType: 'contract WETH9', - name: '_weth', - type: 'address', - }, - { - internalType: 'address', - name: '_timer', - type: 'address', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'newBondToken', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'newBondAmount', - type: 'uint256', - }, - ], - name: 'BondSet', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'l2ChainId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address', - name: 'adapter', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'spokePool', - type: 'address', - }, - ], - name: 'CrossChainContractsSet', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'poolRebalanceRoot', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'relayerRefundRoot', - type: 'bytes32', - }, - { - indexed: false, - internalType: 'bytes32', - name: 'slowRelayRoot', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'proposer', - type: 'address', - }, - ], - name: 'EmergencyRootBundleDeleted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'bytes32', - name: 'newIdentifier', - type: 'bytes32', - }, - ], - name: 'IdentifierSet', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'lpToken', - type: 'address', - }, - ], - name: 'L1TokenEnabledForLiquidityProvision', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: 'lpToken', - type: 'address', - }, - ], - name: 'L2TokenDisabledForLiquidityProvision', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'lpTokensMinted', - type: 'uint256', - }, - { - indexed: true, - internalType: 'address', - name: 'liquidityProvider', - type: 'address', - }, - ], - name: 'LiquidityAdded', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'lpTokensBurnt', - type: 'uint256', - }, - { - indexed: true, - internalType: 'address', - name: 'liquidityProvider', - type: 'address', - }, - ], - name: 'LiquidityRemoved', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'newLiveness', - type: 'uint256', - }, - ], - name: 'LivenessSet', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'previousOwner', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'newOwner', - type: 'address', - }, - ], - name: 'OwnershipTransferred', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bool', - name: 'isPaused', - type: 'bool', - }, - ], - name: 'Paused', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint32', - name: 'challengePeriodEndTimestamp', - type: 'uint32', - }, - { - indexed: false, - internalType: 'uint8', - name: 'poolRebalanceLeafCount', - type: 'uint8', - }, - { - indexed: false, - internalType: 'uint256[]', - name: 'bundleEvaluationBlockNumbers', - type: 'uint256[]', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'poolRebalanceRoot', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'relayerRefundRoot', - type: 'bytes32', - }, - { - indexed: false, - internalType: 'bytes32', - name: 'slowRelayRoot', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'proposer', - type: 'address', - }, - ], - name: 'ProposeRootBundle', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'newProtocolFeeCaptureAddress', - type: 'address', - }, - { - indexed: true, - internalType: 'uint256', - name: 'newProtocolFeeCapturePct', - type: 'uint256', - }, - ], - name: 'ProtocolFeeCaptureSet', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - { - indexed: true, - internalType: 'uint256', - name: 'accumulatedFees', - type: 'uint256', - }, - ], - name: 'ProtocolFeesCapturedClaimed', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'disputer', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'requestTime', - type: 'uint256', - }, - ], - name: 'RootBundleCanceled', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'disputer', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'requestTime', - type: 'uint256', - }, - ], - name: 'RootBundleDisputed', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'groupIndex', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'leafId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'chainId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'address[]', - name: 'l1Tokens', - type: 'address[]', - }, - { - indexed: false, - internalType: 'uint256[]', - name: 'bundleLpFees', - type: 'uint256[]', - }, - { - indexed: false, - internalType: 'int256[]', - name: 'netSendAmounts', - type: 'int256[]', - }, - { - indexed: false, - internalType: 'int256[]', - name: 'runningBalances', - type: 'int256[]', - }, - { - indexed: true, - internalType: 'address', - name: 'caller', - type: 'address', - }, - ], - name: 'RootBundleExecuted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'originChainId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'uint256', - name: 'destinationChainId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'address', - name: 'originToken', - type: 'address', - }, - { - indexed: false, - internalType: 'bool', - name: 'depositsEnabled', - type: 'bool', - }, - ], - name: 'SetEnableDepositRoute', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'destinationChainId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'destinationToken', - type: 'address', - }, - ], - name: 'SetPoolRebalanceRoute', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'chainId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'bytes', - name: 'message', - type: 'bytes', - }, - ], - name: 'SpokePoolAdminFunctionTriggered', - type: 'event', - }, - { - stateMutability: 'payable', - type: 'fallback', - }, - { - inputs: [ - { - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - { - internalType: 'uint256', - name: 'l1TokenAmount', - type: 'uint256', - }, - ], - name: 'addLiquidity', - outputs: [], - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [], - name: 'bondAmount', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'bondToken', - outputs: [ - { - internalType: 'contract IERC20', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - ], - name: 'claimProtocolFeesCaptured', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - name: 'crossChainContracts', - outputs: [ - { - internalType: 'address', - name: 'adapter', - type: 'address', - }, - { - internalType: 'address', - name: 'spokePool', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - ], - name: 'disableL1TokenForLiquidityProvision', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'disputeRootBundle', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'emergencyDeleteProposal', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - ], - name: 'enableL1TokenForLiquidityProvision', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - ], - name: 'exchangeRateCurrent', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'chainId', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'groupIndex', - type: 'uint256', - }, - { - internalType: 'uint256[]', - name: 'bundleLpFees', - type: 'uint256[]', - }, - { - internalType: 'int256[]', - name: 'netSendAmounts', - type: 'int256[]', - }, - { - internalType: 'int256[]', - name: 'runningBalances', - type: 'int256[]', - }, - { - internalType: 'uint8', - name: 'leafId', - type: 'uint8', - }, - { - internalType: 'address[]', - name: 'l1Tokens', - type: 'address[]', - }, - { - internalType: 'bytes32[]', - name: 'proof', - type: 'bytes32[]', - }, - ], - name: 'executeRootBundle', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'finder', - outputs: [ - { - internalType: 'contract FinderInterface', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'getCurrentTime', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - { - internalType: 'int256', - name: 'haircutAmount', - type: 'int256', - }, - ], - name: 'haircutReserves', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'identifier', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - ], - name: 'liquidityUtilizationCurrent', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - { - internalType: 'uint256', - name: 'relayedAmount', - type: 'uint256', - }, - ], - name: 'liquidityUtilizationPostRelay', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'liveness', - outputs: [ - { - internalType: 'uint32', - name: '', - type: 'uint32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'loadEthForL2Calls', - outputs: [], - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [], - name: 'lpFeeRatePerSecond', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'lpTokenFactory', - outputs: [ - { - internalType: 'contract LpTokenFactoryInterface', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes[]', - name: 'data', - type: 'bytes[]', - }, - ], - name: 'multicall', - outputs: [ - { - internalType: 'bytes[]', - name: 'results', - type: 'bytes[]', - }, - ], - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [], - name: 'owner', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'paused', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'destinationChainId', - type: 'uint256', - }, - { - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - ], - name: 'poolRebalanceRoute', - outputs: [ - { - internalType: 'address', - name: 'destinationToken', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - name: 'pooledTokens', - outputs: [ - { - internalType: 'address', - name: 'lpToken', - type: 'address', - }, - { - internalType: 'bool', - name: 'isEnabled', - type: 'bool', - }, - { - internalType: 'uint32', - name: 'lastLpFeeUpdate', - type: 'uint32', - }, - { - internalType: 'int256', - name: 'utilizedReserves', - type: 'int256', - }, - { - internalType: 'uint256', - name: 'liquidReserves', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'undistributedLpFees', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256[]', - name: 'bundleEvaluationBlockNumbers', - type: 'uint256[]', - }, - { - internalType: 'uint8', - name: 'poolRebalanceLeafCount', - type: 'uint8', - }, - { - internalType: 'bytes32', - name: 'poolRebalanceRoot', - type: 'bytes32', - }, - { - internalType: 'bytes32', - name: 'relayerRefundRoot', - type: 'bytes32', - }, - { - internalType: 'bytes32', - name: 'slowRelayRoot', - type: 'bytes32', - }, - ], - name: 'proposeRootBundle', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'protocolFeeCaptureAddress', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'protocolFeeCapturePct', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'chainId', - type: 'uint256', - }, - { - internalType: 'bytes', - name: 'functionData', - type: 'bytes', - }, - ], - name: 'relaySpokePoolAdminFunction', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - { - internalType: 'uint256', - name: 'lpTokenAmount', - type: 'uint256', - }, - { - internalType: 'bool', - name: 'sendEth', - type: 'bool', - }, - ], - name: 'removeLiquidity', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'renounceOwnership', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'rootBundleProposal', - outputs: [ - { - internalType: 'bytes32', - name: 'poolRebalanceRoot', - type: 'bytes32', - }, - { - internalType: 'bytes32', - name: 'relayerRefundRoot', - type: 'bytes32', - }, - { - internalType: 'bytes32', - name: 'slowRelayRoot', - type: 'bytes32', - }, - { - internalType: 'uint256', - name: 'claimedBitMap', - type: 'uint256', - }, - { - internalType: 'address', - name: 'proposer', - type: 'address', - }, - { - internalType: 'uint8', - name: 'unclaimedPoolRebalanceLeafCount', - type: 'uint8', - }, - { - internalType: 'uint32', - name: 'challengePeriodEndTimestamp', - type: 'uint32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IERC20', - name: 'newBondToken', - type: 'address', - }, - { - internalType: 'uint256', - name: 'newBondAmount', - type: 'uint256', - }, - ], - name: 'setBond', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'l2ChainId', - type: 'uint256', - }, - { - internalType: 'address', - name: 'adapter', - type: 'address', - }, - { - internalType: 'address', - name: 'spokePool', - type: 'address', - }, - ], - name: 'setCrossChainContracts', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'time', - type: 'uint256', - }, - ], - name: 'setCurrentTime', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'originChainId', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'destinationChainId', - type: 'uint256', - }, - { - internalType: 'address', - name: 'originToken', - type: 'address', - }, - { - internalType: 'bool', - name: 'depositsEnabled', - type: 'bool', - }, - ], - name: 'setDepositRoute', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'newIdentifier', - type: 'bytes32', - }, - ], - name: 'setIdentifier', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint32', - name: 'newLiveness', - type: 'uint32', - }, - ], - name: 'setLiveness', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bool', - name: 'pause', - type: 'bool', - }, - ], - name: 'setPaused', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'destinationChainId', - type: 'uint256', - }, - { - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - { - internalType: 'address', - name: 'destinationToken', - type: 'address', - }, - ], - name: 'setPoolRebalanceRoute', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'newProtocolFeeCaptureAddress', - type: 'address', - }, - { - internalType: 'uint256', - name: 'newProtocolFeeCapturePct', - type: 'uint256', - }, - ], - name: 'setProtocolFeeCapture', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'l1Token', - type: 'address', - }, - ], - name: 'sync', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'timerAddress', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'newOwner', - type: 'address', - }, - ], - name: 'transferOwnership', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - name: 'unclaimedAccumulatedProtocolFees', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'weth', - outputs: [ - { - internalType: 'contract WETH9', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - stateMutability: 'payable', - type: 'receive', - }, -] as const; - -export type AcrossHubPoolV2 = typeof acrossHubPoolV2Abi; -export type AcrossHubPoolV2Contract = GetContractReturnType; - -export class AcrossHubPoolV2__factory { - static connect(address: string, client: PublicClient) { - return getContract({ address, abi: acrossHubPoolV2Abi, publicClient: client }); - } -} diff --git a/src/apps/across/contracts/viem/AcrossPoolV2.ts b/src/apps/across/contracts/viem/AcrossPoolV2.ts deleted file mode 100644 index 4227ef6c5..000000000 --- a/src/apps/across/contracts/viem/AcrossPoolV2.ts +++ /dev/null @@ -1,592 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { getContract, GetContractReturnType, PublicClient } from 'viem'; - -export const acrossPoolV2Abi = [ - { - inputs: [ - { - internalType: 'string', - name: '_tokenName', - type: 'string', - }, - { - internalType: 'string', - name: '_tokenSymbol', - type: 'string', - }, - { - internalType: 'uint8', - name: '_tokenDecimals', - type: 'uint8', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'roleId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'address', - name: 'newMember', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'manager', - type: 'address', - }, - ], - name: 'AddedSharedMember', - type: 'event', - }, - { - 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: 'uint256', - name: 'roleId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'address', - name: 'oldMember', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'manager', - type: 'address', - }, - ], - name: 'RemovedSharedMember', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'roleId', - type: 'uint256', - }, - { - indexed: true, - internalType: 'address', - name: 'newMember', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'manager', - type: 'address', - }, - ], - name: 'ResetExclusiveMember', - 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', - }, - { - inputs: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'addBurner', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'roleId', - type: 'uint256', - }, - { - internalType: 'address', - name: 'newMember', - type: 'address', - }, - ], - name: 'addMember', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'addMinter', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - ], - name: 'allowance', - outputs: [ - { - internalType: 'uint256', - name: '', - 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: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'balanceOf', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'value', - type: 'uint256', - }, - ], - name: 'burn', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'uint256', - name: 'value', - type: 'uint256', - }, - ], - name: 'burnFrom', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'decimals', - outputs: [ - { - internalType: 'uint8', - name: '', - type: 'uint8', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'subtractedValue', - type: 'uint256', - }, - ], - name: 'decreaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'roleId', - type: 'uint256', - }, - ], - name: 'getMember', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'roleId', - type: 'uint256', - }, - { - internalType: 'address', - name: 'memberToCheck', - type: 'address', - }, - ], - name: 'holdsRole', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'addedValue', - type: 'uint256', - }, - ], - name: 'increaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'uint256', - name: 'value', - type: 'uint256', - }, - ], - name: 'mint', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'name', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'roleId', - type: 'uint256', - }, - { - internalType: 'address', - name: 'memberToRemove', - type: 'address', - }, - ], - name: 'removeMember', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'roleId', - type: 'uint256', - }, - ], - name: 'renounceMembership', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'roleId', - type: 'uint256', - }, - { - internalType: 'address', - name: 'newMember', - type: 'address', - }, - ], - name: 'resetMember', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'resetOwner', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'symbol', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'totalSupply', - outputs: [ - { - internalType: 'uint256', - name: '', - 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', - }, -] as const; - -export type AcrossPoolV2 = typeof acrossPoolV2Abi; -export type AcrossPoolV2Contract = GetContractReturnType; - -export class AcrossPoolV2__factory { - static connect(address: string, client: PublicClient) { - return getContract({ address, abi: acrossPoolV2Abi, publicClient: client }); - } -} diff --git a/src/apps/across/contracts/viem/index.ts b/src/apps/across/contracts/viem/index.ts index d486dbf82..1c33e587a 100644 --- a/src/apps/across/contracts/viem/index.ts +++ b/src/apps/across/contracts/viem/index.ts @@ -2,10 +2,6 @@ /* tslint:disable */ /* eslint-disable */ -export type { AcrossHubPoolV2 } from './AcrossHubPoolV2'; -export type { AcrossPoolV2 } from './AcrossPoolV2'; export type { AcrossStaking } from './AcrossStaking'; -export { AcrossHubPoolV2__factory } from './AcrossHubPoolV2'; -export { AcrossPoolV2__factory } from './AcrossPoolV2'; export { AcrossStaking__factory } from './AcrossStaking'; diff --git a/src/apps/across/ethereum/across.pool-v2.token-fetcher.ts b/src/apps/across/ethereum/across.pool-v2.token-fetcher.ts deleted file mode 100644 index cfb362cf0..000000000 --- a/src/apps/across/ethereum/across.pool-v2.token-fetcher.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; - -import { AcrossPoolV2TokenFetcher } from '../common/across.pool-v2.token-fetcher'; - -@PositionTemplate() -export class EthereumAcrossPoolV2TokenFetcher extends AcrossPoolV2TokenFetcher { - groupLabel = 'Pools V2'; - hubAddress = '0xc186fa914353c44b2e33ebe05f21846f1048beda'; - - poolDefinitions = [ - { - address: '0x28f77208728b0a45cab24c4868334581fe86f95b', - underlyingTokenAddress: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', // ETH/WETH - }, - { - address: '0xc9b09405959f63f72725828b5d449488b02be1ca', - underlyingTokenAddress: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', // UDSC - }, - { - address: '0x4fabacac8c41466117d6a38f46d08ddd4948a0cb', - underlyingTokenAddress: '0x6b175474e89094c44da98b954eedeac495271d0f', // DAI - }, - { - address: '0x59c1427c658e97a7d568541dac780b2e5c8affb4', - underlyingTokenAddress: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', // WBTC - }, - { - address: '0x9306b6f45263f8cb6a18eff127313d10d06fccb5', - underlyingTokenAddress: '0x42bbfa2e77757c645eeaad1655e0911a7553efbc', // BOBA - }, - { - address: '0xb9921d28466304103a233fcd071833e498f12853', - underlyingTokenAddress: '0x04fa0d235c4abf4bcf4787af4cf447de572ef828', // UMA - }, - { - address: '0xb0c8fef534223b891d4a430e49537143829c4817', - underlyingTokenAddress: '0x44108f0223a3c3028f5fe7aec7f9bb2e66bef82f', // ACX - }, - { - address: '0xfacd2ec4647df2cb758f684c2aaab56a93288f9e', - underlyingTokenAddress: '0xba100000625a3754423978a60c9317c58a424e3d', // BALANCER - }, - ]; -} diff --git a/src/apps/angle/angle.module.ts b/src/apps/angle/angle.module.ts index 5b38167b1..b0fa9a3f9 100644 --- a/src/apps/angle/angle.module.ts +++ b/src/apps/angle/angle.module.ts @@ -5,7 +5,6 @@ import { AbstractApp } from '~app/app.dynamic-module'; import { ArbitrumAngleVaultsContractPositionFetcher } from './arbitrum/angle.vault.contract-position-fetcher'; import { AnglePositionResolver } from './common/angle.position-resolver'; import { AngleViemContractFactory } from './contracts'; -import { EthereumAngleSanTokenTokenFetcher } from './ethereum/angle.san-token.token-fetcher'; import { EthereumAngleVaultsContractPositionFetcher } from './ethereum/angle.vault.contract-position-fetcher'; import { EthereumAngleVeAngleContractPositionFetcher } from './ethereum/angle.voting-escrow.contract-position-fetcher'; @@ -16,7 +15,6 @@ import { EthereumAngleVeAngleContractPositionFetcher } from './ethereum/angle.vo // Arbitrum ArbitrumAngleVaultsContractPositionFetcher, // Ethereum - EthereumAngleSanTokenTokenFetcher, EthereumAngleVeAngleContractPositionFetcher, EthereumAngleVaultsContractPositionFetcher, ], diff --git a/src/apps/angle/contracts/abis/angle-san-token.json b/src/apps/angle/contracts/abis/angle-san-token.json deleted file mode 100644 index 00f863321..000000000 --- a/src/apps/angle/contracts/abis/angle-san-token.json +++ /dev/null @@ -1,218 +0,0 @@ -[ - { "inputs": [], "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": "from", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [{ "internalType": "bytes32", "name": "", "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": "", "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": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "balanceOf", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" }, - { "internalType": "address", "name": "burner", "type": "address" }, - { "internalType": "address", "name": "sender", "type": "address" } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "amount", "type": "uint256" }], - "name": "burnNoRedeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" }, - { "internalType": "address", "name": "burner", "type": "address" } - ], - "name": "burnSelf", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimal", - "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } - ], - "name": "decreaseAllowance", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "addedValue", "type": "uint256" } - ], - "name": "increaseAllowance", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "string", "name": "name_", "type": "string" }, - { "internalType": "string", "name": "symbol_", "type": "string" }, - { "internalType": "address", "name": "_poolManager", "type": "address" } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "mint", - "outputs": [], - "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": "", "type": "uint256" }], - "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": [], - "name": "poolManager", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "stableMaster", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "recipient", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "transfer", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "sender", "type": "address" }, - { "internalType": "address", "name": "recipient", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "transferFrom", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - } -] diff --git a/src/apps/angle/contracts/viem.contract-factory.ts b/src/apps/angle/contracts/viem.contract-factory.ts index 81ec469fe..adf10b29a 100644 --- a/src/apps/angle/contracts/viem.contract-factory.ts +++ b/src/apps/angle/contracts/viem.contract-factory.ts @@ -7,7 +7,6 @@ import { AngleLiquidityGauge__factory, AnglePerpetualManager__factory, AnglePoolManager__factory, - AngleSanToken__factory, AngleStablemaster__factory, AngleVaultManager__factory, AngleVeAngle__factory, @@ -28,9 +27,6 @@ export class AngleViemContractFactory { anglePoolManager({ address, network }: ContractOpts) { return AnglePoolManager__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); } - angleSanToken({ address, network }: ContractOpts) { - return AngleSanToken__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); - } angleStablemaster({ address, network }: ContractOpts) { return AngleStablemaster__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); } diff --git a/src/apps/angle/contracts/viem/AngleSanToken.ts b/src/apps/angle/contracts/viem/AngleSanToken.ts deleted file mode 100644 index c854e4057..000000000 --- a/src/apps/angle/contracts/viem/AngleSanToken.ts +++ /dev/null @@ -1,500 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { getContract, GetContractReturnType, PublicClient } from 'viem'; - -export const angleSanTokenAbi = [ - { - inputs: [], - 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: 'from', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'to', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'value', - type: 'uint256', - }, - ], - name: 'Transfer', - type: 'event', - }, - { - inputs: [], - name: 'DOMAIN_SEPARATOR', - outputs: [ - { - internalType: 'bytes32', - name: '', - 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: '', - 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: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'balanceOf', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - internalType: 'address', - name: 'burner', - type: 'address', - }, - { - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'burnFrom', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'burnNoRedeem', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - internalType: 'address', - name: 'burner', - type: 'address', - }, - ], - name: 'burnSelf', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'decimal', - outputs: [ - { - internalType: 'uint8', - name: '', - type: 'uint8', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'decimals', - outputs: [ - { - internalType: 'uint8', - name: '', - type: 'uint8', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'subtractedValue', - type: 'uint256', - }, - ], - name: 'decreaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'addedValue', - type: 'uint256', - }, - ], - name: 'increaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'string', - name: 'name_', - type: 'string', - }, - { - internalType: 'string', - name: 'symbol_', - type: 'string', - }, - { - internalType: 'address', - name: '_poolManager', - type: 'address', - }, - ], - name: 'initialize', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'mint', - outputs: [], - 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: '', - type: 'uint256', - }, - ], - 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: [], - name: 'poolManager', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'stableMaster', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'symbol', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'totalSupply', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'transfer', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'sender', - type: 'address', - }, - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'transferFrom', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, -] as const; - -export type AngleSanToken = typeof angleSanTokenAbi; -export type AngleSanTokenContract = GetContractReturnType; - -export class AngleSanToken__factory { - static connect(address: string, client: PublicClient) { - return getContract({ address, abi: angleSanTokenAbi, publicClient: client }); - } -} diff --git a/src/apps/angle/contracts/viem/index.ts b/src/apps/angle/contracts/viem/index.ts index 7971d6f76..0c283002d 100644 --- a/src/apps/angle/contracts/viem/index.ts +++ b/src/apps/angle/contracts/viem/index.ts @@ -5,7 +5,6 @@ export type { AngleLiquidityGauge } from './AngleLiquidityGauge'; export type { AnglePerpetualManager } from './AnglePerpetualManager'; export type { AnglePoolManager } from './AnglePoolManager'; -export type { AngleSanToken } from './AngleSanToken'; export type { AngleStablemaster } from './AngleStablemaster'; export type { AngleVaultManager } from './AngleVaultManager'; export type { AngleVeAngle } from './AngleVeAngle'; @@ -13,7 +12,6 @@ export type { AngleVeAngle } from './AngleVeAngle'; export { AngleLiquidityGauge__factory } from './AngleLiquidityGauge'; export { AnglePerpetualManager__factory } from './AnglePerpetualManager'; export { AnglePoolManager__factory } from './AnglePoolManager'; -export { AngleSanToken__factory } from './AngleSanToken'; export { AngleStablemaster__factory } from './AngleStablemaster'; export { AngleVaultManager__factory } from './AngleVaultManager'; export { AngleVeAngle__factory } from './AngleVeAngle'; diff --git a/src/apps/angle/ethereum/angle.san-token.token-fetcher.ts b/src/apps/angle/ethereum/angle.san-token.token-fetcher.ts deleted file mode 100644 index 2575334e3..000000000 --- a/src/apps/angle/ethereum/angle.san-token.token-fetcher.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { Inject } from '@nestjs/common'; - -import { IAppToolkit, APP_TOOLKIT } from '~app-toolkit/app-toolkit.interface'; -import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; -import { getLabelFromToken } from '~app-toolkit/helpers/presentation/image.present'; -import { AppTokenTemplatePositionFetcher } from '~position/template/app-token.template.position-fetcher'; -import { - DefaultAppTokenDataProps, - DefaultAppTokenDefinition, - GetDisplayPropsParams, - GetPricePerShareParams, - GetUnderlyingTokensParams, -} from '~position/template/app-token.template.types'; - -import { AngleViemContractFactory } from '../contracts'; -import { AngleSanToken } from '../contracts/viem'; - -@PositionTemplate() -export class EthereumAngleSanTokenTokenFetcher extends AppTokenTemplatePositionFetcher { - groupLabel = 'Yield Bearing'; - - constructor( - @Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit, - @Inject(AngleViemContractFactory) protected readonly contractFactory: AngleViemContractFactory, - ) { - super(appToolkit); - } - - getContract(address: string) { - return this.contractFactory.angleSanToken({ address, network: this.network }); - } - - async getAddresses() { - // https://raw.githubusercontent.com/AngleProtocol/angle-token-list/main/ERC20_LIST.json - return [ - '0x9c215206da4bf108ae5aeef9da7cad3352a36dad', - '0x30c955906735e48d73080fd20cb488518a6333c8', - '0x5d8d3ac6d21c016f9c935030480b7057b21ec804', - '0xb3b209bb213a5da5b947c56f2c770b3e1015f1fe', - '0x7b8e89b0ce7bac2cfec92a371da899ea8cbdb450', - ]; - } - - async getUnderlyingTokenDefinitions({ contract, multicall }: GetUnderlyingTokensParams) { - const [stableMasterAddress, poolManagerAddress] = await Promise.all([ - contract.read.stableMaster(), - contract.read.poolManager(), - ]); - - const stableMaster = this.contractFactory.angleStablemaster({ - address: stableMasterAddress, - network: this.network, - }); - - const collateralMap = await multicall.wrap(stableMaster).read.collateralMap([poolManagerAddress]); - return [{ address: collateralMap[0], network: this.network }]; - } - - async getPricePerShare({ contract, multicall }: GetPricePerShareParams) { - const [stableMasterAddress, poolManagerAddress] = await Promise.all([ - contract.read.stableMaster(), - contract.read.poolManager(), - ]); - - const stableMaster = this.contractFactory.angleStablemaster({ - address: stableMasterAddress, - network: this.network, - }); - - const collateralMap = await multicall.wrap(stableMaster).read.collateralMap([poolManagerAddress]); - const pricePerShare = Number(collateralMap[5]) / 10 ** 18; - - return [pricePerShare]; - } - - async getLabel({ - appToken, - }: GetDisplayPropsParams): Promise { - return `san${getLabelFromToken(appToken.tokens[0])} / EUR`; - } -} diff --git a/src/apps/beanstalk/beanstalk.module.ts b/src/apps/beanstalk/beanstalk.module.ts index d7a4596af..5c0af4f1b 100644 --- a/src/apps/beanstalk/beanstalk.module.ts +++ b/src/apps/beanstalk/beanstalk.module.ts @@ -6,7 +6,6 @@ import { BeanstalkBalanceResolver } from './common/beanstalk.balance-resolver'; import { BeanstalkViemContractFactory } from './contracts'; import { EthereumBeanstalkSiloDepositContractPositionFetcher } from './ethereum/beanstalk.silo-deposit.contract-position-fetcher'; import { EthereumBeanstalkSiloEarnedContractPositionFetcher } from './ethereum/beanstalk.silo-earned.contract-position-fetcher'; -import { EthereumBeanstalkUnripeAssetsTokenFetcher } from './ethereum/beanstalk.unripe-assets.token-fetcher'; @Module({ providers: [ @@ -14,7 +13,6 @@ import { EthereumBeanstalkUnripeAssetsTokenFetcher } from './ethereum/beanstalk. BeanstalkBalanceResolver, EthereumBeanstalkSiloDepositContractPositionFetcher, EthereumBeanstalkSiloEarnedContractPositionFetcher, - EthereumBeanstalkUnripeAssetsTokenFetcher, ], }) export class BeanstalkAppModule extends AbstractApp() {} diff --git a/src/apps/beanstalk/ethereum/beanstalk.unripe-assets.token-fetcher.ts b/src/apps/beanstalk/ethereum/beanstalk.unripe-assets.token-fetcher.ts deleted file mode 100644 index 7335dbc15..000000000 --- a/src/apps/beanstalk/ethereum/beanstalk.unripe-assets.token-fetcher.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { Inject } from '@nestjs/common'; - -import { APP_TOOLKIT, IAppToolkit } from '~app-toolkit/app-toolkit.interface'; -import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; -import { AppTokenTemplatePositionFetcher } from '~position/template/app-token.template.position-fetcher'; -import { - GetAddressesParams, - GetUnderlyingTokensParams, - DefaultAppTokenDataProps, - GetPricePerShareParams, -} from '~position/template/app-token.template.types'; - -import { BeanstalkViemContractFactory } from '../contracts'; -import { BeanstalkToken } from '../contracts/viem'; - -export type BeanstalkUnripeAssetsTokenDefinition = { - address: string; - underlyingTokenAddress: string; -}; - -@PositionTemplate() -export class EthereumBeanstalkUnripeAssetsTokenFetcher extends AppTokenTemplatePositionFetcher< - BeanstalkToken, - DefaultAppTokenDataProps, - BeanstalkUnripeAssetsTokenDefinition -> { - groupLabel = 'Unripe Assets'; - - constructor( - @Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit, - @Inject(BeanstalkViemContractFactory) private readonly contractFactory: BeanstalkViemContractFactory, - ) { - super(appToolkit); - } - - getContract(address: string) { - return this.contractFactory.beanstalkToken({ address, network: this.network }); - } - - async getDefinitions(): Promise { - return [ - { - address: '0x1bea0050e63e05fbb5d8ba2f10cf5800b6224449', // urBEAN - underlyingTokenAddress: '0xbea0000029ad1c77d3d5d23ba2d8893db9d1efab', // BEAN - }, - { - address: '0x1bea3ccd22f4ebd3d37d731ba31eeca95713716d', // urBEAN3CRVLP - underlyingTokenAddress: '0xc9c32cd16bf7efb85ff14e0c8603cc90f6f2ee49', // BEAN3CRVLP - }, - ]; - } - - async getAddresses({ definitions }: GetAddressesParams): Promise { - return definitions.map(v => v.address); - } - - async getUnderlyingTokenDefinitions({ - definition, - }: GetUnderlyingTokensParams) { - return [{ address: definition.underlyingTokenAddress, network: this.network }]; - } - - async getPricePerShare({ appToken, multicall }: GetPricePerShareParams) { - const beanstalkContract = this.contractFactory.beanstalk({ - address: '0xc1e088fc1323b20bcbee9bd1b9fc9546db5624c5', - network: this.network, - }); - - const rateRaw = await multicall.wrap(beanstalkContract).read.getPercentPenalty([appToken.address]); - const rate = Number(rateRaw) / 10 ** 6; - - return [rate]; - } -} diff --git a/src/apps/clearpool/assets/logo.png b/src/apps/clearpool/assets/logo.png deleted file mode 100644 index 88ba1e3271c33035aaa459ec7d068f230720956d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25391 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%0AfnpyqcToZEQsa+0zE8l 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 diff --git a/src/apps/clearpool/clearpool.module.ts b/src/apps/clearpool/clearpool.module.ts deleted file mode 100644 index 5b8b03cff..000000000 --- a/src/apps/clearpool/clearpool.module.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Module } from '@nestjs/common'; - -import { AbstractApp } from '~app/app.dynamic-module'; - -import { ClearpoolPoolDefinitionsResolver } from './common/clearpool.pool-definition-resolver'; -import { ClearpoolViemContractFactory } from './contracts'; -import { EthereumClearpoolPoolTokenFetcher } from './ethereum/clearpool.pool.token-fetcher'; -import { PolygonClearpoolPoolTokenFetcher } from './polygon/clearpool.pool.token-fetcher'; - -@Module({ - providers: [ - ClearpoolViemContractFactory, - ClearpoolPoolDefinitionsResolver, - // Ethereum - EthereumClearpoolPoolTokenFetcher, - // Polygon - PolygonClearpoolPoolTokenFetcher, - ], -}) -export class ClearpoolAppModule extends AbstractApp() {} diff --git a/src/apps/clearpool/common/clearpool.pool-definition-resolver.ts b/src/apps/clearpool/common/clearpool.pool-definition-resolver.ts deleted file mode 100644 index 2dc83948b..000000000 --- a/src/apps/clearpool/common/clearpool.pool-definition-resolver.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Injectable } from '@nestjs/common'; -import Axios from 'axios'; - -import { Cache } from '~cache/cache.decorator'; -import { Network, NETWORK_IDS } from '~types/network.interface'; - -export type ClearpoolApiPoolResponse = { - address: string; - currencyName: string; - currencyAddress: string; - borrowerName: string; - poolSize: string; - utilization: string; - cpoolAPR: number; - supplyAPR: number; - APR: number; -}[]; - -@Injectable() -export class ClearpoolPoolDefinitionsResolver { - @Cache({ - key: network => `studio:clearpool:${network}:pool-data`, - ttl: 5 * 60, // 60 minutes - }) - private async getPoolDefinitionsData(network: Network) { - const { data } = await Axios.get( - `https://app.clearpool.finance/api/${NETWORK_IDS[network]}/pools`, - ); - return data; - } - - async getPoolDefinitions(network: Network) { - const definitionsData = await this.getPoolDefinitionsData(network); - - return definitionsData.map(x => x.address.toLowerCase()); - } -} diff --git a/src/apps/clearpool/common/clearpool.pool.token-fetcher.ts b/src/apps/clearpool/common/clearpool.pool.token-fetcher.ts deleted file mode 100644 index 7b13d7b44..000000000 --- a/src/apps/clearpool/common/clearpool.pool.token-fetcher.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { Inject } from '@nestjs/common'; - -import { APP_TOOLKIT, IAppToolkit } from '~app-toolkit/app-toolkit.interface'; -import { AppTokenTemplatePositionFetcher } from '~position/template/app-token.template.position-fetcher'; -import { - GetDataPropsParams, - GetDisplayPropsParams, - GetPricePerShareParams, - GetUnderlyingTokensParams, -} from '~position/template/app-token.template.types'; - -import { ClearpoolViemContractFactory } from '../contracts'; -import { ClearpoolPool } from '../contracts/viem'; - -import { ClearpoolPoolDefinitionsResolver } from './clearpool.pool-definition-resolver'; - -export abstract class ClearpoolPoolTokenFetcher extends AppTokenTemplatePositionFetcher { - constructor( - @Inject(APP_TOOLKIT) protected appToolkit: IAppToolkit, - @Inject(ClearpoolViemContractFactory) protected clearpoolContractFactory: ClearpoolViemContractFactory, - @Inject(ClearpoolPoolDefinitionsResolver) - protected poolDefinitionResolver: ClearpoolPoolDefinitionsResolver, - ) { - super(appToolkit); - } - - async getAddresses() { - return this.poolDefinitionResolver.getPoolDefinitions(this.network); - } - - getContract(address: string) { - return this.clearpoolContractFactory.clearpoolPool({ address, network: this.network }); - } - - async getUnderlyingTokenDefinitions({ contract }: GetUnderlyingTokensParams) { - return [{ address: await contract.read.currency(), network: this.network }]; - } - - async getPricePerShare({ contract }: GetPricePerShareParams) { - return contract.read.getCurrentExchangeRate().then(v => [Number(v) / 10 ** 18]); - } - - async getLiquidity({ appToken, contract }: GetDataPropsParams) { - const poolSizeRaw = await contract.read.poolSize(); - const reserve = Number(poolSizeRaw) / 10 ** 6; - return reserve * appToken.tokens[0].price; - } - - async getReserves({ contract }: GetDataPropsParams) { - const poolSizeRaw = await contract.read.poolSize(); - return [Number(poolSizeRaw) / 10 ** 6]; - } - - getLabel({ contract }: GetDisplayPropsParams) { - return contract.read.name(); - } -} diff --git a/src/apps/clearpool/contracts/abis/clearpool-pool.json b/src/apps/clearpool/contracts/abis/clearpool-pool.json deleted file mode 100644 index 0d2975950..000000000 --- a/src/apps/clearpool/contracts/abis/clearpool-pool.json +++ /dev/null @@ -1,1195 +0,0 @@ -[ - { - "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": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "receiver", - "type": "address" - } - ], - "name": "Borrowed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "Closed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "provider", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "currencyAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "tokens", - "type": "uint256" - } - ], - "name": "Provided", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "redeemer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "currencyAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "tokens", - "type": "uint256" - } - ], - "name": "Redeemed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Repaid", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "newRewardPerSecond", - "type": "uint256" - } - ], - "name": "RewardPerSecondSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "RewardWithdrawn", - "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" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "accumulativeRewardOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "allowWithdrawalAfterNoAuction", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "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": "availableToBorrow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "availableToWithdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "receiver", - "type": "address" - } - ], - "name": "borrow", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "borrows", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "cash", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "close", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "currency", - "outputs": [ - { - "internalType": "contract IERC20Upgradeable", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "debtClaimed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "enteredProvisionalDefault", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "enteredZeroUtilization", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "factory", - "outputs": [ - { - "internalType": "contract IPoolFactory", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "forceDefault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getBorrowRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCurrentExchangeRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSupplyRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getUtilizationRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "manager_", - "type": "address" - }, - { - "internalType": "contract IERC20Upgradeable", - "name": "currency_", - "type": "address" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "insurance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "insuranceFactor", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "interest", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "interestRateModel", - "outputs": [ - { - "internalType": "contract IInterestRateModel", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastAccrual", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "manager", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maxInactivePeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ownerOfDebt", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "periodToStartAuction", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "poolSize", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "principal", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "processAuctionStart", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "processDebtClaim", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "currencyAmount", - "type": "uint256" - } - ], - "name": "provide", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "currencyAmount", - "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": "provideWithPermit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "provisionalDefaultUtilization", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokens", - "type": "uint256" - } - ], - "name": "redeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "currencyAmount", - "type": "uint256" - } - ], - "name": "redeemCurrency", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "closeNow", - "type": "bool" - } - ], - "name": "repay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "reserveFactor", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "reserves", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "rewardPerSecond", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "insuranceFactor_", - "type": "uint256" - } - ], - "name": "setInsuranceFactor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract IInterestRateModel", - "name": "interestRateModel_", - "type": "address" - } - ], - "name": "setInterestRateModel", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "manager_", - "type": "address" - } - ], - "name": "setManager", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "maxInactivePeriod_", - "type": "uint256" - } - ], - "name": "setMaxInactivePeriod", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "periodToStartAuction_", - "type": "uint256" - } - ], - "name": "setPeriodToStartAuction", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "provisionalDefaultUtilization_", - "type": "uint256" - } - ], - "name": "setProvisionalDefaultUtilization", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "reserveFactor_", - "type": "uint256" - } - ], - "name": "setReserveFactor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "rewardPerSecond_", - "type": "uint256" - } - ], - "name": "setRewardPerSecond", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "name": "setSymbol", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "warningGracePeriod_", - "type": "uint256" - } - ], - "name": "setWarningGracePeriod", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "warningUtilization_", - "type": "uint256" - } - ], - "name": "setWarningUtilization", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "state", - "outputs": [ - { - "internalType": "enum PoolBaseInfo.State", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "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": [], - "name": "transferReserves", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "warningGracePeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "warningUtilization", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "withdrawReward", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "withdrawableRewardOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "withdrawnRewardOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } -] diff --git a/src/apps/clearpool/contracts/index.ts b/src/apps/clearpool/contracts/index.ts deleted file mode 100644 index 5dcfebdf6..000000000 --- a/src/apps/clearpool/contracts/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * from './viem.contract-factory'; diff --git a/src/apps/clearpool/contracts/viem.contract-factory.ts b/src/apps/clearpool/contracts/viem.contract-factory.ts deleted file mode 100644 index 7f2c3ff1a..000000000 --- a/src/apps/clearpool/contracts/viem.contract-factory.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Injectable, Inject } from '@nestjs/common'; - -import { IAppToolkit, APP_TOOLKIT } from '~app-toolkit/app-toolkit.interface'; -import { Network } from '~types/network.interface'; - -import { ClearpoolPool__factory } from './viem'; - -type ContractOpts = { address: string; network: Network }; - -@Injectable() -export class ClearpoolViemContractFactory { - constructor(@Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit) {} - - clearpoolPool({ address, network }: ContractOpts) { - return ClearpoolPool__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); - } -} diff --git a/src/apps/clearpool/contracts/viem/ClearpoolPool.ts b/src/apps/clearpool/contracts/viem/ClearpoolPool.ts deleted file mode 100644 index cd8e80c8a..000000000 --- a/src/apps/clearpool/contracts/viem/ClearpoolPool.ts +++ /dev/null @@ -1,1209 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { getContract, GetContractReturnType, PublicClient } from 'viem'; - -export const clearpoolPoolAbi = [ - { - 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: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: true, - internalType: 'address', - name: 'receiver', - type: 'address', - }, - ], - name: 'Borrowed', - type: 'event', - }, - { - anonymous: false, - inputs: [], - name: 'Closed', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'provider', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'currencyAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'tokens', - type: 'uint256', - }, - ], - name: 'Provided', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'redeemer', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'currencyAmount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'tokens', - type: 'uint256', - }, - ], - name: 'Redeemed', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'Repaid', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'newRewardPerSecond', - type: 'uint256', - }, - ], - name: 'RewardPerSecondSet', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'RewardWithdrawn', - 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', - }, - { - inputs: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'accumulativeRewardOf', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'allowWithdrawalAfterNoAuction', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - ], - name: 'allowance', - outputs: [ - { - internalType: 'uint256', - name: '', - 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: 'availableToBorrow', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'availableToWithdraw', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'balanceOf', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - internalType: 'address', - name: 'receiver', - type: 'address', - }, - ], - name: 'borrow', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'borrows', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'cash', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'close', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'currency', - outputs: [ - { - internalType: 'contract IERC20Upgradeable', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'debtClaimed', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'decimals', - outputs: [ - { - internalType: 'uint8', - name: '', - type: 'uint8', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'subtractedValue', - type: 'uint256', - }, - ], - name: 'decreaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'enteredProvisionalDefault', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'enteredZeroUtilization', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'factory', - outputs: [ - { - internalType: 'contract IPoolFactory', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'forceDefault', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'getBorrowRate', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'getCurrentExchangeRate', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'getSupplyRate', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'getUtilizationRate', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'addedValue', - type: 'uint256', - }, - ], - name: 'increaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'manager_', - type: 'address', - }, - { - internalType: 'contract IERC20Upgradeable', - name: 'currency_', - type: 'address', - }, - ], - name: 'initialize', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'insurance', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'insuranceFactor', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'interest', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'interestRateModel', - outputs: [ - { - internalType: 'contract IInterestRateModel', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'lastAccrual', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'manager', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'maxInactivePeriod', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'name', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'ownerOfDebt', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'periodToStartAuction', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'poolSize', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'principal', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'processAuctionStart', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'processDebtClaim', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'currencyAmount', - type: 'uint256', - }, - ], - name: 'provide', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'currencyAmount', - 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: 'provideWithPermit', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'provisionalDefaultUtilization', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'tokens', - type: 'uint256', - }, - ], - name: 'redeem', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'currencyAmount', - type: 'uint256', - }, - ], - name: 'redeemCurrency', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - internalType: 'bool', - name: 'closeNow', - type: 'bool', - }, - ], - name: 'repay', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'reserveFactor', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'reserves', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'rewardPerSecond', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'insuranceFactor_', - type: 'uint256', - }, - ], - name: 'setInsuranceFactor', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IInterestRateModel', - name: 'interestRateModel_', - type: 'address', - }, - ], - name: 'setInterestRateModel', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'manager_', - type: 'address', - }, - ], - name: 'setManager', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'maxInactivePeriod_', - type: 'uint256', - }, - ], - name: 'setMaxInactivePeriod', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'periodToStartAuction_', - type: 'uint256', - }, - ], - name: 'setPeriodToStartAuction', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'provisionalDefaultUtilization_', - type: 'uint256', - }, - ], - name: 'setProvisionalDefaultUtilization', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'reserveFactor_', - type: 'uint256', - }, - ], - name: 'setReserveFactor', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'rewardPerSecond_', - type: 'uint256', - }, - ], - name: 'setRewardPerSecond', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'string', - name: 'symbol_', - type: 'string', - }, - ], - name: 'setSymbol', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'warningGracePeriod_', - type: 'uint256', - }, - ], - name: 'setWarningGracePeriod', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'warningUtilization_', - type: 'uint256', - }, - ], - name: 'setWarningUtilization', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'state', - outputs: [ - { - internalType: 'enum PoolBaseInfo.State', - name: '', - type: 'uint8', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'symbol', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'totalSupply', - outputs: [ - { - internalType: 'uint256', - name: '', - 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: [], - name: 'transferReserves', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'version', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'pure', - type: 'function', - }, - { - inputs: [], - name: 'warningGracePeriod', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'warningUtilization', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'withdrawReward', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'withdrawableRewardOf', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'withdrawnRewardOf', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, -] as const; - -export type ClearpoolPool = typeof clearpoolPoolAbi; -export type ClearpoolPoolContract = GetContractReturnType; - -export class ClearpoolPool__factory { - static connect(address: string, client: PublicClient) { - return getContract({ address, abi: clearpoolPoolAbi, publicClient: client }); - } -} diff --git a/src/apps/clearpool/contracts/viem/index.ts b/src/apps/clearpool/contracts/viem/index.ts deleted file mode 100644 index 3aba269c5..000000000 --- a/src/apps/clearpool/contracts/viem/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -export type { ClearpoolPool } from './ClearpoolPool'; - -export { ClearpoolPool__factory } from './ClearpoolPool'; diff --git a/src/apps/clearpool/ethereum/clearpool.pool.token-fetcher.ts b/src/apps/clearpool/ethereum/clearpool.pool.token-fetcher.ts deleted file mode 100644 index ab531f3ac..000000000 --- a/src/apps/clearpool/ethereum/clearpool.pool.token-fetcher.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; - -import { ClearpoolPoolTokenFetcher } from '../common/clearpool.pool.token-fetcher'; - -@PositionTemplate() -export class EthereumClearpoolPoolTokenFetcher extends ClearpoolPoolTokenFetcher { - groupLabel = 'Pool'; -} diff --git a/src/apps/clearpool/polygon/clearpool.pool.token-fetcher.ts b/src/apps/clearpool/polygon/clearpool.pool.token-fetcher.ts deleted file mode 100644 index e7a7a84ec..000000000 --- a/src/apps/clearpool/polygon/clearpool.pool.token-fetcher.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; - -import { ClearpoolPoolTokenFetcher } from '../common/clearpool.pool.token-fetcher'; - -@PositionTemplate() -export class PolygonClearpoolPoolTokenFetcher extends ClearpoolPoolTokenFetcher { - groupLabel = 'Pool'; -} diff --git a/src/apps/dystopia/dystopia.module.ts b/src/apps/dystopia/dystopia.module.ts index b24a121a2..47c6f34b4 100644 --- a/src/apps/dystopia/dystopia.module.ts +++ b/src/apps/dystopia/dystopia.module.ts @@ -4,13 +4,11 @@ import { AbstractApp } from '~app/app.dynamic-module'; import { DystopiaViemContractFactory } from './contracts'; import { PolygonDystopiaStakingContractPositionFetcher } from './polygon/dystopia.farm.contract-position-fetcher'; -import { PolygonDystopiaPairsTokenFetcher } from './polygon/dystopia.pool.token-fetcher'; import { PolygonDystopiaVotingEscrowContractPositionFetcher } from './polygon/dystopia.voting-escrow.contract-position-fetcher'; @Module({ providers: [ DystopiaViemContractFactory, - PolygonDystopiaPairsTokenFetcher, PolygonDystopiaStakingContractPositionFetcher, PolygonDystopiaVotingEscrowContractPositionFetcher, ], diff --git a/src/apps/dystopia/polygon/dystopia.farm.contract-position-fetcher.ts b/src/apps/dystopia/polygon/dystopia.farm.contract-position-fetcher.ts index 504ace8ed..e30e3478c 100644 --- a/src/apps/dystopia/polygon/dystopia.farm.contract-position-fetcher.ts +++ b/src/apps/dystopia/polygon/dystopia.farm.contract-position-fetcher.ts @@ -1,4 +1,5 @@ import { Inject } from '@nestjs/common'; +import { gql } from 'graphql-request'; import { filter, range } from 'lodash'; import { IAppToolkit, APP_TOOLKIT } from '~app-toolkit/app-toolkit.interface'; @@ -18,7 +19,25 @@ import { import { DystopiaViemContractFactory } from '../contracts'; import { DystopiaGauge } from '../contracts/viem'; -import { DYSTOPIA_QUERY, DystopiaQueryResponse } from './dystopia.pool.token-fetcher'; +export const DYSTOPIA_QUERY = gql` + query fetchDystopiaPairs { + pairs(first: 1000) { + id + gauge { + id + } + } + } +`; + +export interface DystopiaQueryResponse { + pairs: { + id: string; + gauge: { + id: string; + }; + }[]; +} @PositionTemplate() export class PolygonDystopiaStakingContractPositionFetcher extends SingleStakingFarmDynamicTemplateContractPositionFetcher { diff --git a/src/apps/dystopia/polygon/dystopia.pool.token-fetcher.ts b/src/apps/dystopia/polygon/dystopia.pool.token-fetcher.ts deleted file mode 100644 index 90cc54ca3..000000000 --- a/src/apps/dystopia/polygon/dystopia.pool.token-fetcher.ts +++ /dev/null @@ -1,97 +0,0 @@ -import { Inject } from '@nestjs/common'; -import { gql } from 'graphql-request'; - -import { APP_TOOLKIT, IAppToolkit } from '~app-toolkit/app-toolkit.interface'; -import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; -import { buildDollarDisplayItem } from '~app-toolkit/helpers/presentation/display-item.present'; -import { getLabelFromToken } from '~app-toolkit/helpers/presentation/image.present'; -import { gqlFetch } from '~app-toolkit/helpers/the-graph.helper'; -import { DefaultDataProps } from '~position/display.interface'; -import { AppTokenTemplatePositionFetcher } from '~position/template/app-token.template.position-fetcher'; -import { - GetDisplayPropsParams, - GetPricePerShareParams, - GetUnderlyingTokensParams, -} from '~position/template/app-token.template.types'; - -import { DystopiaViemContractFactory } from '../contracts'; -import { DystopiaPair } from '../contracts/viem'; - -export const DYSTOPIA_QUERY = gql` - query fetchDystopiaPairs { - pairs(first: 1000) { - id - gauge { - id - } - } - } -`; - -export interface DystopiaQueryResponse { - pairs: { - id: string; - gauge: { - id: string; - }; - }[]; -} - -@PositionTemplate() -export class PolygonDystopiaPairsTokenFetcher extends AppTokenTemplatePositionFetcher { - groupLabel = 'Pools'; - - constructor( - @Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit, - @Inject(DystopiaViemContractFactory) private readonly contractFactory: DystopiaViemContractFactory, - ) { - super(appToolkit); - } - - getContract(address: string) { - return this.contractFactory.dystopiaPair({ address, network: this.network }); - } - - async getAddresses() { - const data = await gqlFetch({ - endpoint: 'https://api.thegraph.com/subgraphs/name/dystopia-exchange/dystopia?source=zapper', - query: DYSTOPIA_QUERY, - }); - return data.pairs.map(v => v.id); - } - - async getUnderlyingTokenDefinitions({ contract }: GetUnderlyingTokensParams) { - return [ - { address: await contract.read.token0(), network: this.network }, - { address: await contract.read.token1(), network: this.network }, - ]; - } - - async getPricePerShare({ appToken, contract }: GetPricePerShareParams) { - const [token0, token1] = appToken.tokens; - const [reserve0, reserve1] = await Promise.all([contract.read.reserve0(), contract.read.reserve1()]); - const reserves = [Number(reserve0) / 10 ** token0.decimals, Number(reserve1) / 10 ** token1.decimals]; - const pricePerShare = reserves.map(r => r / appToken.supply); - return pricePerShare; - } - - async getLabel({ appToken }: GetDisplayPropsParams): Promise { - return appToken.tokens.map(v => getLabelFromToken(v)).join(' / '); - } - - async getSecondaryLabel({ appToken }: GetDisplayPropsParams) { - const { liquidity, reserves } = appToken.dataProps; - const reservePercentages = appToken.tokens.map((t, i) => reserves[i] * (t.price / liquidity)); - return reservePercentages.map(p => `${Math.round(p * 100)}%`).join(' / '); - } - - async getStatsItems({ appToken }: GetDisplayPropsParams) { - const { reserves, liquidity } = appToken.dataProps; - const reservesDisplay = reserves.map(v => (v < 0.01 ? '<0.01' : v.toFixed(2))).join(' / '); - - return [ - { label: 'Liquidity', value: buildDollarDisplayItem(liquidity) }, - { label: 'Reserves', value: reservesDisplay }, - ]; - } -} diff --git a/src/apps/furucombo/assets/logo.png b/src/apps/furucombo/assets/logo.png deleted file mode 100644 index 3f944afdae50a9db717a6d88f79d8ca3e1ab5385..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18102 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 - -export class FurucomboFundShareToken__factory { - static connect(address: string, client: PublicClient) { - return getContract({ address, abi: furucomboFundShareTokenAbi, publicClient: client }); - } -} diff --git a/src/apps/furucombo/contracts/viem/index.ts b/src/apps/furucombo/contracts/viem/index.ts deleted file mode 100644 index 63a672e9f..000000000 --- a/src/apps/furucombo/contracts/viem/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -export type { FurucomboFundShareToken } from './FurucomboFundShareToken'; - -export { FurucomboFundShareToken__factory } from './FurucomboFundShareToken'; diff --git a/src/apps/furucombo/furucombo.module.ts b/src/apps/furucombo/furucombo.module.ts deleted file mode 100644 index 9468ef75a..000000000 --- a/src/apps/furucombo/furucombo.module.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Module } from '@nestjs/common'; - -import { AbstractApp } from '~app/app.dynamic-module'; - -import { FurucomboViemContractFactory } from './contracts'; -import { PolygonFurucomboFundTokenFetcher } from './polygon/furucombo.fund.token-fetcher'; - -@Module({ - providers: [FurucomboViemContractFactory, PolygonFurucomboFundTokenFetcher], -}) -export class FurucomboAppModule extends AbstractApp() {} diff --git a/src/apps/furucombo/polygon/furucombo.fund.token-fetcher.ts b/src/apps/furucombo/polygon/furucombo.fund.token-fetcher.ts deleted file mode 100644 index d8d860025..000000000 --- a/src/apps/furucombo/polygon/furucombo.fund.token-fetcher.ts +++ /dev/null @@ -1,145 +0,0 @@ -import { Inject } from '@nestjs/common'; -import Axios from 'axios'; - -import { IAppToolkit, APP_TOOLKIT } from '~app-toolkit/app-toolkit.interface'; -import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; -import { getImagesFromToken } from '~app-toolkit/helpers/presentation/image.present'; -import { CacheOnInterval } from '~cache/cache-on-interval.decorator'; -import { DisplayProps } from '~position/display.interface'; -import { AppTokenTemplatePositionFetcher } from '~position/template/app-token.template.position-fetcher'; -import { - GetUnderlyingTokensParams, - GetPricePerShareParams, - GetDataPropsParams, - GetDisplayPropsParams, - GetAddressesParams, - DefaultAppTokenDataProps, -} from '~position/template/app-token.template.types'; -import { NETWORK_IDS } from '~types/network.interface'; - -import { FurucomboViemContractFactory } from '../contracts'; -import { FurucomboFundShareToken } from '../contracts/viem'; - -interface FurucomboFund { - address: string; - name: string; - token: { - address: string; - }; - stakingToken: { - address: string; - }; - liquidity: string; - apy: string; - tokenPrice: string; - stakingTokenPrice: string; - fundVault: string; -} - -type FurucomboFundDefinition = { - address: string; - vaultAddress: string; - stakingTokenAddress: string; - name: string; - apy: string; - liquidity: string; - price: string; -}; - -@PositionTemplate() -export class PolygonFurucomboFundTokenFetcher extends AppTokenTemplatePositionFetcher< - FurucomboFundShareToken, - DefaultAppTokenDataProps, - FurucomboFundDefinition -> { - groupLabel = 'Funds'; - minLiquidity = 0; - - constructor( - @Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit, - @Inject(FurucomboViemContractFactory) protected readonly contractFactory: FurucomboViemContractFactory, - ) { - super(appToolkit); - } - - getContract(address: string) { - return this.contractFactory.furucomboFundShareToken({ address, network: this.network }); - } - - @CacheOnInterval({ - key: `studio:furucombo:fund:ethereum:funds`, - timeout: 15 * 60 * 1000, - failOnMissingData: false, - }) - async getFurucomboFunds() { - const { data } = await Axios.get<{ investables: FurucomboFund[] }>('https://api.furucombo.app/v1/investables', { - params: { chainId: NETWORK_IDS[this.network], category: 'fund', protocol: 'furucombo' }, - }); - - return data.investables; - } - - async getDefinitions(): Promise { - const funds = await this.getFurucomboFunds(); - - return funds.map(v => ({ - address: v.token.address.toLowerCase(), - vaultAddress: v.fundVault.toLowerCase(), - stakingTokenAddress: v.stakingToken.address.toLowerCase(), - name: v.name, - apy: v.apy, - price: v.tokenPrice, - liquidity: v.liquidity, - })); - } - - async getAddresses({ definitions }: GetAddressesParams): Promise { - return definitions.map(v => v.address); - } - - async getUnderlyingTokenDefinitions({ - definition, - }: GetUnderlyingTokensParams) { - return [{ address: definition.stakingTokenAddress, network: this.network }]; - } - - async getPricePerShare({ - appToken, - definition, - }: GetPricePerShareParams) { - return [Number(definition.price) / appToken.tokens[0].price]; - } - - async getLiquidity({ - definition, - }: GetDataPropsParams) { - return Number(definition.liquidity); - } - - async getReserves({ - definition, - appToken, - }: GetDataPropsParams) { - return [Number(definition.liquidity) / appToken.tokens[0].price]; - } - - async getApy({ - definition, - }: GetDataPropsParams) { - return Number(definition.apy) * 100; - } - - async getLabel({ - definition, - }: GetDisplayPropsParams): Promise< - DisplayProps['label'] - > { - return definition.name; - } - - async getImages({ - appToken, - }: GetDisplayPropsParams): Promise { - return appToken.tokens.flatMap(t => getImagesFromToken(t)); - } -} diff --git a/src/apps/jones-dao/arbitrum/jones-dao.strategy.token-fetcher.ts b/src/apps/jones-dao/arbitrum/jones-dao.strategy.token-fetcher.ts deleted file mode 100644 index a0ce86301..000000000 --- a/src/apps/jones-dao/arbitrum/jones-dao.strategy.token-fetcher.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { Inject } from '@nestjs/common'; - -import { APP_TOOLKIT, IAppToolkit } from '~app-toolkit/app-toolkit.interface'; -import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; -import { AppTokenTemplatePositionFetcher } from '~position/template/app-token.template.position-fetcher'; -import { GetAddressesParams, GetUnderlyingTokensParams } from '~position/template/app-token.template.types'; - -import { JonesDaoViemContractFactory } from '../contracts'; -import { JonesStrategyToken } from '../contracts/viem'; - -export type JonesDaoStrategyTokenDefinition = { - address: string; - underlyingTokenAddress: string; -}; - -@PositionTemplate() -export class ArbitrumJonesDaoStrategyTokenFetcher extends AppTokenTemplatePositionFetcher { - groupLabel = 'Advanced Strategies'; - - constructor( - @Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit, - @Inject(JonesDaoViemContractFactory) protected readonly contractFactory: JonesDaoViemContractFactory, - ) { - super(appToolkit); - } - - getContract(address: string) { - return this.contractFactory.jonesStrategyToken({ network: this.network, address }); - } - - async getDefinitions(): Promise { - return [ - { - address: '0x17ff154a329e37282eb9a76c3ae848fc277f24c7', - underlyingTokenAddress: '0x7241bc8035b65865156ddb5edef3eb32874a3af6', // jGLP - }, - { - address: '0xa485a0bc44988b95245d5f20497ccaff58a73e99', - underlyingTokenAddress: '0xe66998533a1992ece9ea99cdf47686f4fc8458e0', // jUSDC - }, - ]; - } - - async getAddresses({ definitions }: GetAddressesParams) { - return definitions.map(v => v.address); - } - - async getUnderlyingTokenDefinitions({ - definition, - }: GetUnderlyingTokensParams) { - return [{ address: definition.underlyingTokenAddress, network: this.network }]; - } - - async getPricePerShare() { - return [1]; - } -} diff --git a/src/apps/jones-dao/arbitrum/jones-dao.vault.token-fetcher.ts b/src/apps/jones-dao/arbitrum/jones-dao.vault.token-fetcher.ts deleted file mode 100644 index 06dae86f1..000000000 --- a/src/apps/jones-dao/arbitrum/jones-dao.vault.token-fetcher.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { Inject } from '@nestjs/common'; - -import { APP_TOOLKIT, IAppToolkit } from '~app-toolkit/app-toolkit.interface'; -import { ZERO_ADDRESS } from '~app-toolkit/constants/address'; -import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; -import { AppTokenTemplatePositionFetcher } from '~position/template/app-token.template.position-fetcher'; -import { - DefaultAppTokenDataProps, - GetAddressesParams, - GetUnderlyingTokensParams, -} from '~position/template/app-token.template.types'; - -import { JonesDaoViemContractFactory } from '../contracts'; -import { JonesVault } from '../contracts/viem/JonesVault'; - -export type JonesDaoVaultTokenDefinition = { - address: string; - underlyingTokenAddress: string; -}; - -@PositionTemplate() -export class ArbitrumJonesDaoVaultTokenFetcher extends AppTokenTemplatePositionFetcher< - JonesVault, - DefaultAppTokenDataProps, - JonesDaoVaultTokenDefinition -> { - groupLabel = 'Vaults'; - constructor( - @Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit, - @Inject(JonesDaoViemContractFactory) protected readonly contractFactory: JonesDaoViemContractFactory, - ) { - super(appToolkit); - } - - getContract(address: string) { - return this.contractFactory.jonesVault({ network: this.network, address }); - } - - async getDefinitions(): Promise { - return [ - { - address: '0x662d0f9ff837a51cf89a1fe7e0882a906dac08a3', // jETH - underlyingTokenAddress: ZERO_ADDRESS, - }, - { - address: '0x5375616bb6c52a90439ff96882a986d8fcdce421', // jgOHM - underlyingTokenAddress: '0x8d9ba570d6cb60c7e3e0f31343efe75ab8e65fb1', // gOHM - }, - { - address: '0xf018865b26ffab9cd1735dcca549d95b0cb9ea19', // jDPX - underlyingTokenAddress: '0x6c2c06790b3e3e3c38e12ee22f8183b37a13ee55', // DPX - }, - { - address: '0x1f6fa7a58701b3773b08a1a16d06b656b0eccb23', // jrDPX - underlyingTokenAddress: '0x32eb7902d4134bf98a28b963d26de779af92a212', // rDPX - }, - ]; - } - - async getAddresses({ definitions }: GetAddressesParams) { - return definitions.map(v => v.address); - } - - async getUnderlyingTokenDefinitions({ - definition, - }: GetUnderlyingTokensParams) { - return [{ address: definition.underlyingTokenAddress, network: this.network }]; - } - - async getPricePerShare() { - return [1]; - } -} diff --git a/src/apps/jones-dao/contracts/abis/jones-strategy-token.json b/src/apps/jones-dao/contracts/abis/jones-strategy-token.json deleted file mode 100644 index 1deff0a8e..000000000 --- a/src/apps/jones-dao/contracts/abis/jones-strategy-token.json +++ /dev/null @@ -1,583 +0,0 @@ -[ - { - "inputs": [ - { "internalType": "uint256", "name": "_stableRetentionPercentage", "type": "uint256" }, - { "internalType": "uint256", "name": "_glpRetentionPercentage", "type": "uint256" }, - { "internalType": "contract IIncentiveReceiver", "name": "_incentiveReceiver", "type": "address" }, - { "internalType": "contract IJonesGlpRewardTracker", "name": "_tracker", "type": "address" }, - { "internalType": "contract GlpJonesRewards", "name": "_jonesRewards", "type": "address" }, - { "internalType": "contract IERC20", "name": "_asset", "type": "address" }, - { "internalType": "contract IERC20Metadata", "name": "_vaultToken", "type": "address" }, - { "internalType": "string", "name": "_name", "type": "string" }, - { "internalType": "string", "name": "_symbol", "type": "string" } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { "inputs": [], "name": "AddressCannotBeZeroAddress", "type": "error" }, - { "inputs": [], "name": "AmountCannotBeZero", "type": "error" }, - { "inputs": [], "name": "AmountExceedsStakedAmount", "type": "error" }, - { "inputs": [], "name": "CallerIsNotAllowed", "type": "error" }, - { "inputs": [], "name": "CallerIsNotGovernor", "type": "error" }, - { "inputs": [], "name": "CallerIsNotKeeper", "type": "error" }, - { "inputs": [], "name": "CallerIsNotOperator", "type": "error" }, - { "inputs": [], "name": "RetentionPercentageOutOfRange", "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": "value", "type": "uint256" } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "uint256", "name": "_rewards", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "_totalAssets", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "_retentions", "type": "uint256" } - ], - "name": "Compound", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "_caller", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "receiver", "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": "address", "name": "_oldGovernor", "type": "address" }, - { "indexed": false, "internalType": "address", "name": "_newGovernor", "type": "address" } - ], - "name": "GovernorUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "address", "name": "_newKeeper", "type": "address" }], - "name": "KeeperAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "address", "name": "_operator", "type": "address" }], - "name": "KeeperRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "address", "name": "_newOperator", "type": "address" }], - "name": "OperatorAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "address", "name": "_operator", "type": "address" }], - "name": "OperatorRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, - { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } - ], - "name": "RoleRevoked", - "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" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "_caller", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "receiver", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "_assets", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "_shares", "type": "uint256" } - ], - "name": "Withdraw", - "type": "event" - }, - { - "inputs": [], - "name": "BASIS_POINTS", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "GOVERNOR", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "KEEPER", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "OPERATOR", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_newKeeper", "type": "address" }], - "name": "addKeeper", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_newOperator", "type": "address" }], - "name": "addOperator", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "owner", "type": "address" }, - { "internalType": "address", "name": "spender", "type": "address" } - ], - "name": "allowance", - "outputs": [{ "internalType": "uint256", "name": "", "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": "contract IERC20", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "balanceOf", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { "inputs": [], "name": "compound", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [], - "name": "decimals", - "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } - ], - "name": "decreaseAllowance", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "_assets", "type": "uint256" }, - { "internalType": "address", "name": "_receiver", "type": "address" } - ], - "name": "deposit", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_to", "type": "address" }], - "name": "emergencyGlpWithdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_to", "type": "address" }], - "name": "emergencyStableWithdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "bytes32", "name": "role", "type": "bytes32" }], - "name": "getRoleAdmin", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "glp", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "glpRetentionPercentage", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "gmxRouter", - "outputs": [{ "internalType": "contract IGmxRewardRouter", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "name": "hasRole", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "incentiveReceiver", - "outputs": [{ "internalType": "contract IIncentiveReceiver", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "addedValue", "type": "uint256" } - ], - "name": "increaseAllowance", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "jonesRewards", - "outputs": [{ "internalType": "contract GlpJonesRewards", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "assets", "type": "uint256" }], - "name": "previewDeposit", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "shares", "type": "uint256" }], - "name": "previewRedeem", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "receiptBalance", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "_shares", "type": "uint256" }, - { "internalType": "address", "name": "_receiver", "type": "address" } - ], - "name": "redeem", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_operator", "type": "address" }], - "name": "removeKeeper", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_operator", "type": "address" }], - "name": "removeOperator", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "router", - "outputs": [{ "internalType": "contract JonesGlpVaultRouter", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "contract IERC20Metadata", "name": "_asset", "type": "address" }], - "name": "setAsset", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "contract IGmxRewardRouter", "name": "_gmxRouter", "type": "address" }], - "name": "setGmxRouter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "contract IIncentiveReceiver", "name": "_incentiveReceiver", "type": "address" }], - "name": "setIncentiveReceiver", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "contract GlpJonesRewards", "name": "_jonesRewards", "type": "address" }], - "name": "setJonesRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "_stableRetentionPercentage", "type": "uint256" }, - { "internalType": "uint256", "name": "_glpRetentionPercentage", "type": "uint256" } - ], - "name": "setNewRetentions", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "contract IJonesGlpRewardTracker", "name": "_tracker", "type": "address" }], - "name": "setRewardTracker", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "contract JonesGlpVaultRouter", "name": "_router", "type": "address" }], - "name": "setRouter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "contract IERC20Metadata", "name": "_vaultToken", "type": "address" }], - "name": "setVaultToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stableRetentionPercentage", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" }], - "name": "supportsInterface", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalAssets", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalAssetsDeposits", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "recipient", "type": "address" }, - { "internalType": "uint256", "name": "assets", "type": "uint256" } - ], - "name": "totalAssetsToDeposits", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tracker", - "outputs": [{ "internalType": "contract IJonesGlpRewardTracker", "name": "", "type": "address" }], - "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": "_newGovernor", "type": "address" }], - "name": "updateGovernor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "usdc", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "vaultToken", - "outputs": [{ "internalType": "contract IERC20Metadata", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "weth", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - } -] diff --git a/src/apps/jones-dao/contracts/abis/jones-strategy-vault.json b/src/apps/jones-dao/contracts/abis/jones-strategy-vault.json deleted file mode 100644 index 8c21c56fd..000000000 --- a/src/apps/jones-dao/contracts/abis/jones-strategy-vault.json +++ /dev/null @@ -1,587 +0,0 @@ -[ - { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, - { "inputs": [], "name": "CallerIsNotBorrower", "type": "error" }, - { "inputs": [], "name": "CallerIsNotGovernor", "type": "error" }, - { "inputs": [], "name": "CallerIsNotOperator", "type": "error" }, - { "inputs": [], "name": "ErrorEmergencyPaused", "type": "error" }, - { "inputs": [], "name": "ErrorNotEmergencyPaused", "type": "error" }, - { "inputs": [], "name": "ErrorNotPaused", "type": "error" }, - { "inputs": [], "name": "ErrorPaused", "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": "value", "type": "uint256" } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "address", "name": "_borrower", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" } - ], - "name": "AssetsBorrowed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "address", "name": "_borrower", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" } - ], - "name": "AssetsRepayed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "address", "name": "_newBorrower", "type": "address" }], - "name": "BorrowerAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "address", "name": "_borrower", "type": "address" }], - "name": "BorrowerRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "caller", "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": "address", "name": "_account", "type": "address" }], - "name": "EmergencyPaused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "address", "name": "_account", "type": "address" }], - "name": "EmergencyUnpaused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "address", "name": "_oldGovernor", "type": "address" }, - { "indexed": false, "internalType": "address", "name": "_newGovernor", "type": "address" } - ], - "name": "GovernorUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "address", "name": "_newOperator", "type": "address" }], - "name": "OperatorAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "address", "name": "_operator", "type": "address" }], - "name": "OperatorRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "address", "name": "_account", "type": "address" }], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "address", "name": "_oldPriceOracle", "type": "address" }, - { "indexed": false, "internalType": "address", "name": "_newPriceOracle", "type": "address" } - ], - "name": "PriceOracleUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, - { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } - ], - "name": "RoleRevoked", - "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" - }, - { - "anonymous": false, - "inputs": [{ "indexed": false, "internalType": "address", "name": "_account", "type": "address" }], - "name": "Unpaused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "caller", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "receiver", "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": "BORROWER", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "GOVERNOR", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "OPERATOR", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_newBorrower", "type": "address" }], - "name": "addBorrower", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_newOperator", "type": "address" }], - "name": "addOperator", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "owner", "type": "address" }, - { "internalType": "address", "name": "spender", "type": "address" } - ], - "name": "allowance", - "outputs": [{ "internalType": "uint256", "name": "", "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": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "balanceOf", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "_amount", "type": "uint256" }], - "name": "borrow", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "_user", "type": "address" }, - { "internalType": "uint256", "name": "_amount", "type": "uint256" } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "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": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } - ], - "name": "decreaseAllowance", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "_assets", "type": "uint256" }, - { "internalType": "address", "name": "_receiver", "type": "address" } - ], - "name": "deposit", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "emergencyPaused", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "bytes32", "name": "role", "type": "bytes32" }], - "name": "getRoleAdmin", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "name": "hasRole", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "addedValue", "type": "uint256" } - ], - "name": "increaseAllowance", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "maxDeposit", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "maxMint", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "owner", "type": "address" }], - "name": "maxRedeem", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "owner", "type": "address" }], - "name": "maxWithdraw", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "_shares", "type": "uint256" }, - { "internalType": "address", "name": "_receiver", "type": "address" } - ], - "name": "mint", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "assets", "type": "uint256" }], - "name": "previewDeposit", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "shares", "type": "uint256" }], - "name": "previewMint", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "shares", "type": "uint256" }], - "name": "previewRedeem", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "assets", "type": "uint256" }], - "name": "previewWithdraw", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "priceOracle", - "outputs": [{ "internalType": "contract IAggregatorV3", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "_shares", "type": "uint256" }, - { "internalType": "address", "name": "_receiver", "type": "address" }, - { "internalType": "address", "name": "_owner", "type": "address" } - ], - "name": "redeem", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_borrower", "type": "address" }], - "name": "removeBorrower", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_operator", "type": "address" }], - "name": "removeOperator", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "_amount", "type": "uint256" }], - "name": "repay", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_receiver", "type": "address" }], - "name": "setExcessReceiver", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "contract IAggregatorV3", "name": "_newPriceOracle", "type": "address" }], - "name": "setPriceAggregator", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "contract IJonesGlpLeverageStrategy", "name": "_strategy", "type": "address" }], - "name": "setStrategyAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "strategy", - "outputs": [{ "internalType": "contract IJonesGlpLeverageStrategy", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" }], - "name": "supportsInterface", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { "inputs": [], "name": "togglePause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [], - "name": "totalAssets", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [{ "internalType": "uint256", "name": "", "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": [], - "name": "tvl", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_newGovernor", "type": "address" }], - "name": "updateGovernor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "_assets", "type": "uint256" }, - { "internalType": "address", "name": "_receiver", "type": "address" }, - { "internalType": "address", "name": "_owner", "type": "address" } - ], - "name": "withdraw", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "nonpayable", - "type": "function" - } -] diff --git a/src/apps/jones-dao/contracts/abis/jones-vault.json b/src/apps/jones-dao/contracts/abis/jones-vault.json deleted file mode 100644 index 351275d4b..000000000 --- a/src/apps/jones-dao/contracts/abis/jones-vault.json +++ /dev/null @@ -1,266 +0,0 @@ -[ - { - "inputs": [ - { "internalType": "address", "name": "_multisigAddr", "type": "address" }, - { "internalType": "string", "name": "_name", "type": "string" }, - { "internalType": "string", "name": "_symbol", "type": "string" } - ], - "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": "bytes32", "name": "role", "type": "bytes32" }, - { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, - { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } - ], - "name": "RoleAdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } - ], - "name": "RoleGranted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } - ], - "name": "RoleRevoked", - "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" - }, - { - "inputs": [], - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "MINTER_ROLE", - "outputs": [{ "internalType": "bytes32", "name": "", "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": "", "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": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "balanceOf", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "uint256", "name": "amount", "type": "uint256" }], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } - ], - "name": "decreaseAllowance", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "bytes32", "name": "role", "type": "bytes32" }], - "name": "getRoleAdmin", - "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_minterContract", "type": "address" }], - "name": "giveMinterRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "name": "grantRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "name": "hasRole", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "addedValue", "type": "uint256" } - ], - "name": "increaseAllowance", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "_to", "type": "address" }, - { "internalType": "uint256", "name": "_amount", "type": "uint256" } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "name": "renounceRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_minterContract", "type": "address" }], - "name": "revokeMinterRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "name": "revokeRole", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" }], - "name": "supportsInterface", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "recipient", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "transfer", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "sender", "type": "address" }, - { "internalType": "address", "name": "recipient", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "transferFrom", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - } -] diff --git a/src/apps/jones-dao/contracts/viem.contract-factory.ts b/src/apps/jones-dao/contracts/viem.contract-factory.ts index 72ee72085..c13be11df 100644 --- a/src/apps/jones-dao/contracts/viem.contract-factory.ts +++ b/src/apps/jones-dao/contracts/viem.contract-factory.ts @@ -8,9 +8,6 @@ import { JonesMillinerV2__factory, JonesStakingRewards__factory, JonesStakingRewardsFactory__factory, - JonesStrategyToken__factory, - JonesStrategyVault__factory, - JonesVault__factory, } from './viem'; type ContractOpts = { address: string; network: Network }; @@ -31,13 +28,4 @@ export class JonesDaoViemContractFactory { jonesStakingRewardsFactory({ address, network }: ContractOpts) { return JonesStakingRewardsFactory__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); } - jonesStrategyToken({ address, network }: ContractOpts) { - return JonesStrategyToken__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); - } - jonesStrategyVault({ address, network }: ContractOpts) { - return JonesStrategyVault__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); - } - jonesVault({ address, network }: ContractOpts) { - return JonesVault__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); - } } diff --git a/src/apps/jones-dao/contracts/viem/JonesStrategyToken.ts b/src/apps/jones-dao/contracts/viem/JonesStrategyToken.ts deleted file mode 100644 index affa25a79..000000000 --- a/src/apps/jones-dao/contracts/viem/JonesStrategyToken.ts +++ /dev/null @@ -1,1309 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { getContract, GetContractReturnType, PublicClient } from 'viem'; - -export const jonesStrategyTokenAbi = [ - { - inputs: [ - { - internalType: 'uint256', - name: '_stableRetentionPercentage', - type: 'uint256', - }, - { - internalType: 'uint256', - name: '_glpRetentionPercentage', - type: 'uint256', - }, - { - internalType: 'contract IIncentiveReceiver', - name: '_incentiveReceiver', - type: 'address', - }, - { - internalType: 'contract IJonesGlpRewardTracker', - name: '_tracker', - type: 'address', - }, - { - internalType: 'contract GlpJonesRewards', - name: '_jonesRewards', - type: 'address', - }, - { - internalType: 'contract IERC20', - name: '_asset', - type: 'address', - }, - { - internalType: 'contract IERC20Metadata', - name: '_vaultToken', - type: 'address', - }, - { - internalType: 'string', - name: '_name', - type: 'string', - }, - { - internalType: 'string', - name: '_symbol', - type: 'string', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - inputs: [], - name: 'AddressCannotBeZeroAddress', - type: 'error', - }, - { - inputs: [], - name: 'AmountCannotBeZero', - type: 'error', - }, - { - inputs: [], - name: 'AmountExceedsStakedAmount', - type: 'error', - }, - { - inputs: [], - name: 'CallerIsNotAllowed', - type: 'error', - }, - { - inputs: [], - name: 'CallerIsNotGovernor', - type: 'error', - }, - { - inputs: [], - name: 'CallerIsNotKeeper', - type: 'error', - }, - { - inputs: [], - name: 'CallerIsNotOperator', - type: 'error', - }, - { - inputs: [], - name: 'RetentionPercentageOutOfRange', - 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: 'value', - type: 'uint256', - }, - ], - name: 'Approval', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: '_rewards', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: '_totalAssets', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: '_retentions', - type: 'uint256', - }, - ], - name: 'Compound', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: '_caller', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'receiver', - 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: 'address', - name: '_oldGovernor', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: '_newGovernor', - type: 'address', - }, - ], - name: 'GovernorUpdated', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: '_newKeeper', - type: 'address', - }, - ], - name: 'KeeperAdded', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: '_operator', - type: 'address', - }, - ], - name: 'KeeperRemoved', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: '_newOperator', - type: 'address', - }, - ], - name: 'OperatorAdded', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: '_operator', - type: 'address', - }, - ], - name: 'OperatorRemoved', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'previousAdminRole', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'newAdminRole', - type: 'bytes32', - }, - ], - name: 'RoleAdminChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleGranted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleRevoked', - 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', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: '_caller', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'receiver', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: '_assets', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: '_shares', - type: 'uint256', - }, - ], - name: 'Withdraw', - type: 'event', - }, - { - inputs: [], - name: 'BASIS_POINTS', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'DEFAULT_ADMIN_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'GOVERNOR', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'KEEPER', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'OPERATOR', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_newKeeper', - type: 'address', - }, - ], - name: 'addKeeper', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_newOperator', - type: 'address', - }, - ], - name: 'addOperator', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - ], - name: 'allowance', - outputs: [ - { - internalType: 'uint256', - name: '', - 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: 'contract IERC20', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'balanceOf', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'compound', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'decimals', - outputs: [ - { - internalType: 'uint8', - name: '', - type: 'uint8', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'subtractedValue', - type: 'uint256', - }, - ], - name: 'decreaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: '_assets', - type: 'uint256', - }, - { - internalType: 'address', - name: '_receiver', - type: 'address', - }, - ], - name: 'deposit', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_to', - type: 'address', - }, - ], - name: 'emergencyGlpWithdraw', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_to', - type: 'address', - }, - ], - name: 'emergencyStableWithdraw', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - ], - name: 'getRoleAdmin', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'glp', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'glpRetentionPercentage', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'gmxRouter', - outputs: [ - { - internalType: 'contract IGmxRewardRouter', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'grantRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'hasRole', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'incentiveReceiver', - outputs: [ - { - internalType: 'contract IIncentiveReceiver', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'addedValue', - type: 'uint256', - }, - ], - name: 'increaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'jonesRewards', - outputs: [ - { - internalType: 'contract GlpJonesRewards', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'name', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'assets', - type: 'uint256', - }, - ], - name: 'previewDeposit', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'shares', - type: 'uint256', - }, - ], - name: 'previewRedeem', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - name: 'receiptBalance', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: '_shares', - type: 'uint256', - }, - { - internalType: 'address', - name: '_receiver', - type: 'address', - }, - ], - name: 'redeem', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_operator', - type: 'address', - }, - ], - name: 'removeKeeper', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_operator', - type: 'address', - }, - ], - name: 'removeOperator', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'renounceRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'revokeRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'router', - outputs: [ - { - internalType: 'contract JonesGlpVaultRouter', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IERC20Metadata', - name: '_asset', - type: 'address', - }, - ], - name: 'setAsset', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IGmxRewardRouter', - name: '_gmxRouter', - type: 'address', - }, - ], - name: 'setGmxRouter', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IIncentiveReceiver', - name: '_incentiveReceiver', - type: 'address', - }, - ], - name: 'setIncentiveReceiver', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract GlpJonesRewards', - name: '_jonesRewards', - type: 'address', - }, - ], - name: 'setJonesRewards', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: '_stableRetentionPercentage', - type: 'uint256', - }, - { - internalType: 'uint256', - name: '_glpRetentionPercentage', - type: 'uint256', - }, - ], - name: 'setNewRetentions', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IJonesGlpRewardTracker', - name: '_tracker', - type: 'address', - }, - ], - name: 'setRewardTracker', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract JonesGlpVaultRouter', - name: '_router', - type: 'address', - }, - ], - name: 'setRouter', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IERC20Metadata', - name: '_vaultToken', - type: 'address', - }, - ], - name: 'setVaultToken', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'stableRetentionPercentage', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes4', - name: 'interfaceId', - type: 'bytes4', - }, - ], - name: 'supportsInterface', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'symbol', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'totalAssets', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'totalAssetsDeposits', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'uint256', - name: 'assets', - type: 'uint256', - }, - ], - name: 'totalAssetsToDeposits', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'totalSupply', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'tracker', - outputs: [ - { - internalType: 'contract IJonesGlpRewardTracker', - name: '', - type: 'address', - }, - ], - 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: '_newGovernor', - type: 'address', - }, - ], - name: 'updateGovernor', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'usdc', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'vaultToken', - outputs: [ - { - internalType: 'contract IERC20Metadata', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'weth', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, -] as const; - -export type JonesStrategyToken = typeof jonesStrategyTokenAbi; -export type JonesStrategyTokenContract = GetContractReturnType; - -export class JonesStrategyToken__factory { - static connect(address: string, client: PublicClient) { - return getContract({ address, abi: jonesStrategyTokenAbi, publicClient: client }); - } -} diff --git a/src/apps/jones-dao/contracts/viem/JonesStrategyVault.ts b/src/apps/jones-dao/contracts/viem/JonesStrategyVault.ts deleted file mode 100644 index 6d275809b..000000000 --- a/src/apps/jones-dao/contracts/viem/JonesStrategyVault.ts +++ /dev/null @@ -1,1371 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { getContract, GetContractReturnType, PublicClient } from 'viem'; - -export const jonesStrategyVaultAbi = [ - { - inputs: [], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - inputs: [], - name: 'CallerIsNotBorrower', - type: 'error', - }, - { - inputs: [], - name: 'CallerIsNotGovernor', - type: 'error', - }, - { - inputs: [], - name: 'CallerIsNotOperator', - type: 'error', - }, - { - inputs: [], - name: 'ErrorEmergencyPaused', - type: 'error', - }, - { - inputs: [], - name: 'ErrorNotEmergencyPaused', - type: 'error', - }, - { - inputs: [], - name: 'ErrorNotPaused', - type: 'error', - }, - { - inputs: [], - name: 'ErrorPaused', - 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: 'value', - type: 'uint256', - }, - ], - name: 'Approval', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: '_borrower', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: '_amount', - type: 'uint256', - }, - ], - name: 'AssetsBorrowed', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: '_borrower', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: '_amount', - type: 'uint256', - }, - ], - name: 'AssetsRepayed', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: '_newBorrower', - type: 'address', - }, - ], - name: 'BorrowerAdded', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: '_borrower', - type: 'address', - }, - ], - name: 'BorrowerRemoved', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'caller', - 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: 'address', - name: '_account', - type: 'address', - }, - ], - name: 'EmergencyPaused', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: '_account', - type: 'address', - }, - ], - name: 'EmergencyUnpaused', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: '_oldGovernor', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: '_newGovernor', - type: 'address', - }, - ], - name: 'GovernorUpdated', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: '_newOperator', - type: 'address', - }, - ], - name: 'OperatorAdded', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: '_operator', - type: 'address', - }, - ], - name: 'OperatorRemoved', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: '_account', - type: 'address', - }, - ], - name: 'Paused', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: '_oldPriceOracle', - type: 'address', - }, - { - indexed: false, - internalType: 'address', - name: '_newPriceOracle', - type: 'address', - }, - ], - name: 'PriceOracleUpdated', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'previousAdminRole', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'newAdminRole', - type: 'bytes32', - }, - ], - name: 'RoleAdminChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleGranted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleRevoked', - 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', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: '_account', - type: 'address', - }, - ], - name: 'Unpaused', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'caller', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'receiver', - 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: 'BORROWER', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'DEFAULT_ADMIN_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'GOVERNOR', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'OPERATOR', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_newBorrower', - type: 'address', - }, - ], - name: 'addBorrower', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_newOperator', - type: 'address', - }, - ], - name: 'addOperator', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - ], - name: 'allowance', - outputs: [ - { - internalType: 'uint256', - name: '', - 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: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'balanceOf', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: '_amount', - type: 'uint256', - }, - ], - name: 'borrow', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_user', - type: 'address', - }, - { - internalType: 'uint256', - name: '_amount', - type: 'uint256', - }, - ], - name: 'burn', - outputs: [], - stateMutability: 'nonpayable', - 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: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'subtractedValue', - type: 'uint256', - }, - ], - name: 'decreaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: '_assets', - type: 'uint256', - }, - { - internalType: 'address', - name: '_receiver', - type: 'address', - }, - ], - name: 'deposit', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'emergencyPaused', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - ], - name: 'getRoleAdmin', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'grantRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'hasRole', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'addedValue', - type: 'uint256', - }, - ], - name: 'increaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - name: 'maxDeposit', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - name: 'maxMint', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'owner', - type: 'address', - }, - ], - name: 'maxRedeem', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'owner', - type: 'address', - }, - ], - name: 'maxWithdraw', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: '_shares', - type: 'uint256', - }, - { - internalType: 'address', - name: '_receiver', - type: 'address', - }, - ], - name: 'mint', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'name', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'paused', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'assets', - type: 'uint256', - }, - ], - name: 'previewDeposit', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'shares', - type: 'uint256', - }, - ], - name: 'previewMint', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'shares', - type: 'uint256', - }, - ], - name: 'previewRedeem', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'assets', - type: 'uint256', - }, - ], - name: 'previewWithdraw', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'priceOracle', - outputs: [ - { - internalType: 'contract IAggregatorV3', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: '_shares', - type: 'uint256', - }, - { - internalType: 'address', - name: '_receiver', - type: 'address', - }, - { - internalType: 'address', - name: '_owner', - type: 'address', - }, - ], - name: 'redeem', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_borrower', - type: 'address', - }, - ], - name: 'removeBorrower', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_operator', - type: 'address', - }, - ], - name: 'removeOperator', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'renounceRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: '_amount', - type: 'uint256', - }, - ], - name: 'repay', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'revokeRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_receiver', - type: 'address', - }, - ], - name: 'setExcessReceiver', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IAggregatorV3', - name: '_newPriceOracle', - type: 'address', - }, - ], - name: 'setPriceAggregator', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IJonesGlpLeverageStrategy', - name: '_strategy', - type: 'address', - }, - ], - name: 'setStrategyAddress', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'strategy', - outputs: [ - { - internalType: 'contract IJonesGlpLeverageStrategy', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes4', - name: 'interfaceId', - type: 'bytes4', - }, - ], - name: 'supportsInterface', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'symbol', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'togglePause', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'totalAssets', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'totalSupply', - outputs: [ - { - internalType: 'uint256', - name: '', - 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: [], - name: 'tvl', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_newGovernor', - type: 'address', - }, - ], - name: 'updateGovernor', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: '_assets', - type: 'uint256', - }, - { - internalType: 'address', - name: '_receiver', - type: 'address', - }, - { - internalType: 'address', - name: '_owner', - type: 'address', - }, - ], - name: 'withdraw', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, -] as const; - -export type JonesStrategyVault = typeof jonesStrategyVaultAbi; -export type JonesStrategyVaultContract = GetContractReturnType; - -export class JonesStrategyVault__factory { - static connect(address: string, client: PublicClient) { - return getContract({ address, abi: jonesStrategyVaultAbi, publicClient: client }); - } -} diff --git a/src/apps/jones-dao/contracts/viem/JonesVault.ts b/src/apps/jones-dao/contracts/viem/JonesVault.ts deleted file mode 100644 index ea97005cf..000000000 --- a/src/apps/jones-dao/contracts/viem/JonesVault.ts +++ /dev/null @@ -1,599 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { getContract, GetContractReturnType, PublicClient } from 'viem'; - -export const jonesVaultAbi = [ - { - inputs: [ - { - internalType: 'address', - name: '_multisigAddr', - type: 'address', - }, - { - internalType: 'string', - name: '_name', - type: 'string', - }, - { - internalType: 'string', - name: '_symbol', - type: 'string', - }, - ], - 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: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'previousAdminRole', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'newAdminRole', - type: 'bytes32', - }, - ], - name: 'RoleAdminChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleGranted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleRevoked', - 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', - }, - { - inputs: [], - name: 'DEFAULT_ADMIN_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'MINTER_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - 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: '', - 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: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'balanceOf', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'burn', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'burnFrom', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'decimals', - outputs: [ - { - internalType: 'uint8', - name: '', - type: 'uint8', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'subtractedValue', - type: 'uint256', - }, - ], - name: 'decreaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - ], - name: 'getRoleAdmin', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_minterContract', - type: 'address', - }, - ], - name: 'giveMinterRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'grantRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'hasRole', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'addedValue', - type: 'uint256', - }, - ], - name: 'increaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_to', - type: 'address', - }, - { - internalType: 'uint256', - name: '_amount', - type: 'uint256', - }, - ], - name: 'mint', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'name', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'renounceRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_minterContract', - type: 'address', - }, - ], - name: 'revokeMinterRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'revokeRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes4', - name: 'interfaceId', - type: 'bytes4', - }, - ], - name: 'supportsInterface', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'symbol', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'totalSupply', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'transfer', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'sender', - type: 'address', - }, - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'transferFrom', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, -] as const; - -export type JonesVault = typeof jonesVaultAbi; -export type JonesVaultContract = GetContractReturnType; - -export class JonesVault__factory { - static connect(address: string, client: PublicClient) { - return getContract({ address, abi: jonesVaultAbi, publicClient: client }); - } -} diff --git a/src/apps/jones-dao/contracts/viem/index.ts b/src/apps/jones-dao/contracts/viem/index.ts index 7eb153cc0..4f6804fbd 100644 --- a/src/apps/jones-dao/contracts/viem/index.ts +++ b/src/apps/jones-dao/contracts/viem/index.ts @@ -6,14 +6,8 @@ export type { JonesMetavault } from './JonesMetavault'; export type { JonesMillinerV2 } from './JonesMillinerV2'; export type { JonesStakingRewardsFactory } from './JonesStakingRewardsFactory'; export type { JonesStakingRewards } from './JonesStakingRewards'; -export type { JonesStrategyToken } from './JonesStrategyToken'; -export type { JonesStrategyVault } from './JonesStrategyVault'; -export type { JonesVault } from './JonesVault'; export { JonesMetavault__factory } from './JonesMetavault'; export { JonesMillinerV2__factory } from './JonesMillinerV2'; export { JonesStakingRewardsFactory__factory } from './JonesStakingRewardsFactory'; export { JonesStakingRewards__factory } from './JonesStakingRewards'; -export { JonesStrategyToken__factory } from './JonesStrategyToken'; -export { JonesStrategyVault__factory } from './JonesStrategyVault'; -export { JonesVault__factory } from './JonesVault'; diff --git a/src/apps/jones-dao/jones-dao.module.ts b/src/apps/jones-dao/jones-dao.module.ts index b086a9f8c..59aebdffa 100644 --- a/src/apps/jones-dao/jones-dao.module.ts +++ b/src/apps/jones-dao/jones-dao.module.ts @@ -5,8 +5,6 @@ import { AbstractApp } from '~app/app.dynamic-module'; import { ArbitrumJonesDaoFarmContractPositionFetcher } from './arbitrum/jones-dao.farm.contract-position-fetcher'; import { ArbitrumJonesDaoMetavaultTokenFetcher } from './arbitrum/jones-dao.metavault.contract-position-fetcher'; import { ArbitrumJonesDaoMillinerV2ContractPositionFetcher } from './arbitrum/jones-dao.milliner-v2.contract-position-fetcher'; -import { ArbitrumJonesDaoStrategyTokenFetcher } from './arbitrum/jones-dao.strategy.token-fetcher'; -import { ArbitrumJonesDaoVaultTokenFetcher } from './arbitrum/jones-dao.vault.token-fetcher'; import { JonesDaoViemContractFactory } from './contracts'; @Module({ @@ -14,9 +12,7 @@ import { JonesDaoViemContractFactory } from './contracts'; JonesDaoViemContractFactory, ArbitrumJonesDaoFarmContractPositionFetcher, ArbitrumJonesDaoMillinerV2ContractPositionFetcher, - ArbitrumJonesDaoVaultTokenFetcher, ArbitrumJonesDaoMetavaultTokenFetcher, - ArbitrumJonesDaoStrategyTokenFetcher, ], }) export class JonesDaoAppModule extends AbstractApp() {} diff --git a/src/apps/plutus/arbitrum/plutus.vault.token-fetcher.ts b/src/apps/plutus/arbitrum/plutus.vault.token-fetcher.ts deleted file mode 100644 index 77cae2804..000000000 --- a/src/apps/plutus/arbitrum/plutus.vault.token-fetcher.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; -import { Erc20 } from '~contract/contracts/viem'; -import { AppTokenTemplatePositionFetcher } from '~position/template/app-token.template.position-fetcher'; -import { - DefaultAppTokenDataProps, - GetAddressesParams, - GetDataPropsParams, - GetUnderlyingTokensParams, -} from '~position/template/app-token.template.types'; - -export type PlutusVaultAppTokenDefinition = { - address: string; - underlyingTokenAddress: string; -}; - -@PositionTemplate() -export class ArbitrumPlutusVaultTokenFetcher extends AppTokenTemplatePositionFetcher< - Erc20, - DefaultAppTokenDataProps, - PlutusVaultAppTokenDefinition -> { - groupLabel = 'Vault'; - - getContract(address: string) { - return this.appToolkit.globalViemContracts.erc20({ address, network: this.network }); - } - - async getDefinitions(): Promise { - return [ - { - address: '0xe7f6c3c1f0018e4c08acc52965e5cbff99e34a44', // plsJONES - underlyingTokenAddress: '0xe8ee01ae5959d3231506fcdef2d5f3e85987a39c', - }, - { - address: '0x530f1cbb2ebd71bec58d351dcd3768148986a467', // plsGLP - underlyingTokenAddress: '0x4277f8f2c384827b5273592ff7cebd9f2c1ac258', - }, - { - address: '0x7a5d193fe4ed9098f7eadc99797087c96b002907', // plsARB - underlyingTokenAddress: '0x912ce59144191c1204e64559fe8253a0e49e6548', - }, - ]; - } - - async getAddresses({ definitions }: GetAddressesParams): Promise { - return definitions.map(v => v.address); - } - - async getUnderlyingTokenDefinitions({ definition }: GetUnderlyingTokensParams) { - return [{ address: definition.underlyingTokenAddress, network: this.network }]; - } - - async getPricePerShare() { - return [1]; - } - - async getLiquidity({ appToken }: GetDataPropsParams) { - return appToken.supply * appToken.price; - } - - async getReserves({ appToken }: GetDataPropsParams) { - return [appToken.pricePerShare[0] * appToken.supply]; - } - - async getApy() { - return 0; - } -} diff --git a/src/apps/plutus/plutus.module.ts b/src/apps/plutus/plutus.module.ts index 9fac4b75b..f322f592a 100644 --- a/src/apps/plutus/plutus.module.ts +++ b/src/apps/plutus/plutus.module.ts @@ -17,7 +17,6 @@ import { ArbitrumPlutusPlsDpxTokenFetcher } from './arbitrum/plutus.pls-dpx.toke import { ArbitrumPlutusPlsRdntTokenFetcher } from './arbitrum/plutus.pls-rdnt.token-fetcher'; import { ArbitrumPlutusPlsSpaTokenFetcher } from './arbitrum/plutus.pls-spa.token-fetcher'; import { ArbitrumPlutusTgeClaimableContractPositionFetcher } from './arbitrum/plutus.tge-claimable.contract-position-fetcher'; -import { ArbitrumPlutusVaultTokenFetcher } from './arbitrum/plutus.vault.token-fetcher'; import { PlutusViemContractFactory } from './contracts'; @Module({ @@ -33,7 +32,6 @@ import { PlutusViemContractFactory } from './contracts'; ArbitrumPlutusFarmPlsJonesContractPositionFetcher, ArbitrumPlutusFarmPlsLpContractPositionFetcher, ArbitrumPlutusLockContractPositionFetcher, - ArbitrumPlutusVaultTokenFetcher, ArbitrumPlutusTgeClaimableContractPositionFetcher, ArbitrumPlutusFarmPlsRdntContractPositionFetcher, // plsASSETs diff --git a/src/apps/tempus/assets/logo.png b/src/apps/tempus/assets/logo.png deleted file mode 100644 index be5c85830005f911f25c905950cf5a2b60637060..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25600 zcmeFZXH-*b*EXslNK=X^7NjaRL~L|{Aa(>46c7xksPrN&kscdvm0|%Aq$pjwln8+k zLCnNJZiFH1*#1BkAD^Nmr`f_6)R*{oI0v^9>0=B-~V{aF|sZ@==ak)f%ly&KOX;} zvEyQCtH`t4N?INs?FCy34#-6@HTG}%@Nve!i!QWpWpc6SBZWIP=${kjmG!I!U%S*a z(%WJ4wuHz%V$gL6TOHfVlPSxoSXl_<2P#7vOXSS)typZ^Pg&s&RM zgF^lF1R;kP&B!5jG>HB6JU@TgXXL%*0WcjXlv@YgssEqh(AKug!yYd#y{0O4-vPnM-q2o27}dP_^Er z1-mgUnae$Jf+L+xUKpJnYRl}6VcXq zlbQ$+tl70k*KhGajkM#cm8cT%5It|&m#ytFG&x{yo^v^7>rYpq&%5RWXWJ?s7WSSN z5KZ49%Wf|qUPr9`M%jqluDg$QN|+eT&wsFz$<|r?**r8e^J1k^A^%ELGYmMOog4s9 zTBK9Lt92Wty&CWLuk*)_V+U3g(y#(x!M)Ssr&Y0Oxi zpM8&35L96hRjy&CfT(O!3Z^v1^4)QqGZR~}H{h(%OZ^x6jYi&k!HF;`eZs+sDDk(Z zQ?VhP`fNIx*@cJ6_YjIAGr1)i@L#n;VQY9TJ>mDtH&LK_&}uLN99 z<~=4qo?{%8V#yIO;6xJ}n%2P+lY1g=9EjxxmU@Q#^eR$ogaQnJWI(iP{B%^O7Vl4F?q9dI7k2#wPI;&ZCDwmht+4s3~UGFk2S ziniiU;I|(QI%=JUz09Ib;zmE=+?0mij^>DFk#XdFI|FosxG28Sbo}75fD}ZpXfm;t z1$~~iTaK^Ur7RzD48yGdV6TA4q!?pN+@vV=(3HKv)g{|Z2j_FpH^ArGts)}Md~&;J zfF`qLrO(J*q{gJrw$6ka*x*k_vnu?EmUwVjihYl$duidaVIf>@}LK6hce6a2}V^as?HX=k~d9lg2M3v)EH2VTm|Mj8Kt(**oTWY^kU z(_T_h-C;f1N5PcXd(EdoW1A{4t(x?8Ug1G=znH=&Q#Oj-$#r-rGJ0BBHqRWxq#ImY z_V@VtpCRrrb|QC@wBean{{W-ob4qWDX(N0lOyqfyqWyw+z$(kyS_KQd- zxc2=V3z{G7Z!3yTxGzX{E1M-dJlw&_S}!`I4{^v^Bo1M!5YnkDd&v`@8aC5Ae11}7 zk~jB0xGtPA|6#*Q)DO_jaUbhbAd9`cI%Lky9xsaRuvfLu*^hG!j!E|K@oz=7wrk45 zFvf6l#^nw+Fy=lz*+}I}c*Rb-5MyztLEPxZsPlb^WZdId9ik85a(x~aSCYpBQ?gKE zX*@>Wr6&^nwKJ=VLyu*R84~x`VXMnrmKI)NL|{aba(fwM#3PpjV)NH>BIDjQw0M_p zO%Dt@_3;27XH1F~YfU_~l7Ms2b`63HlxLZ(8xj(ge4VCyNX{4|ewswvwL7ZGjp;R&~>cFQX7xO)=YW!ZbPs#tqhqUzRKbPT4R zTJ6D?xoep8yRtcbFgR)2`s0C+b^g?VdjVpwMuD>9D?zZD>j!RWGSjh9uC@}a7eZ6z z=T1EGsoy2bZpd)40`-m7lf4?}`p00fUE-FaKWe7RlYD9(@q5XF);0a%Lx7!}k{$A* z34+P5#Av!@kQ zkY-@qErLQz?7FPUR4vuUep5BPDH)Iw86e1C7BHPzE{{p{L{uYo)Q3ZPWYOys^PL{h z*QJ9-Gj!&ft>LUi3F+RY=hAq>H1|mB&RPe!wKg>8>;;Y4OKLL`lWj`Ev=(Km~hTih^j^7^~l44WGtOpWSqr~dAv?R+D z#|}?c7O!4#TE8Er+_;dq9*zWWNb#cNKJi+(v(7)saLGC5drnBt8y_Pk_B@Vu5rwuC zdtgC!U+7yn#xTZ>?ibJh`mMYUhh@e2$#zVA=G zH>7$Gr<f|kuI4%%T#3R8Ca=9OOfN?Ol3_v4fSvt)Rp}s)K|l&D>>g&)MYNM^Yxt0@vfHx z;l6g3gq?KCiS8On{eAC8LSR?3rE%N32j_eJSbYmI>xvDTvS6xZ_X>&2Vq|kM&+}q) zq)Y297-XfA;+@oWq!z1pFS51Lz>1hsOJPp;V9Z>wB`b!0o(!_&(Nt=Bb8g5lGy!wx zh-ooM)5_tn9$esesG_kFM@{Ct1+9+m1f76$3$DVwF?X-!j26c|L7~P@sw*QhSw{#T z(|+rtw#vKI)OYWwlT$k<)heodZi@I`-Le=DcWoTfzm+IYq2yBfA@AXyr89hoamI}m z<>&h%Qql2#&MB;v3X2(e(F+)6X!pVHW5F0A%Cpzn5w5VS9;?#{RW#%msan>)K2Y>1 zhPkFiEJiPwasb_u5Z7NemuiID^uv*6-GJ?jI4$Wf_FyNd%gA~cP)93*##k+rIzbms zx`P`5x!Q4$4cDA;=HrBKcn+SWPLhU#YZbU5dSYl)(v55!M+ric=Z6vsco~PL{exM$ zlVkyTS@xa}m&0Yvxn4mv*a@N_r zvt8xG>CL55Mtm%bPyr(ofqTlRC!muj%U>&@`Mng~S)bDi_!#T_k;p?+XEDXfT&vhh z7VBWBuxi-mcHjI`*Tf5wWdB9fL6FA5tF(1sCf28~*KA+eZ!5FSvXyBNbS`@0j^pr6 zpSd6zYpd1>p^5^O+sxh;45;*m^m7gFn)s{=W8z~ItFAfwZu;VR^4Z~Bf#I9Qi#8Xl zM#;ZN%0Pf+jN;?L6cn#xy?>FgwB1rre~Z#};keMMbzW4jwxXq{?mk&1R{C~4+2815 zc*)VjhC48cYY5#zmO7G0+QZv8#rp%Niw-RCUTM$@&Z=&VSXx>PALFR>PM~jyfz!NF zEQUfy?b)|&W2@!%NR9Wg`msp|19t8iQZ^kPf3;Zp?GXkIhj&ETo(DO+!+z86YIpqX zAlMEp4f)YF-G;ct4JWO-KWC9UbWSVJvio0owWHACz~2GlmDi*mM{2Z6?FMn;Vz0Jx`n5JY-ge?9D~?{>QtaTE^O)}?@R!-IU1QPwdydO?Yva?D_0h0 zz81_@E+&_Nle%HTUT;4we8+PGxSHd!!gxBdWKm70ffcCx>LP|2x2dNOVxK6?7(Dy1 zl_Ra1BcnSj2cFw)es>>rIvCicJ0$L6pc~{KtON zo#E+#fWtFi=0Pdv`-)EnQ*NW9HsU)f)$VP-VplXb!$^W~W=UbH-nhb9d#z`fmF;E4 zf*m*3fs%bJ-UUjwBjTWX)}3okOUgxLweMb(4U9$mDF}Z2L_WUyVaBA_xezwN4crvr za(e~gm*CIU!r8oZD$DS?aN6)uKWVXl1s2iT{qNV~`3kJ^5`!sLq8)D`N`S#%2}fiH z_Id`mIeC|o!WxzbRbZ8rz@R0`E+H!j$Cd}Z-!suow|c4naWL34ZZzWey$Rv3$g|qU zosE4ENcKw*wZVrfAR}(rVzt!8(h`YXylnN6_Bch8?v>EH%SNL*o1&GnqfGS$7;J+U zU&LUCVH%iCzVGSnixPEP*}1emG`>qnN?U+PQa1 zZ1kJGB}i_JuUM_^@y3YH|JR+QIN~O)bt=gAMB0e{0svv%ed`Ts!t6z9+|gIA^yv*e znmxAgJ2U7WD9P!#(VRPnkf(8{{9N~fQtfr1$zd)(frqQeiJi2GbE&(+EYkdZG?_ho z<_$L$*?pr@!;%o>hMk+(46(%Obv2u|_zD&3Pp91oaNBM3-scC^*>ps>t5>crnLF5* zPNl2d1z{3!FADqn{)wU_cERba7SJ!>I{^Vm0li+%F>aJR80;y189AHS0=q1yEYK^n zhG8Vs!@zb2RK7~Tvq>5Dvx*nSQ{1V(y@ z*he-EZ-x*uEOJ5<5xXcN_BFQ+I&(Erd8GGk;ZuH!On0YC$>J=i=>w-WP*Zp&N_4d! zty&|Er{PxNuPsEBTSI()PCnQG3yoYPvRFZQRr#8@uXAECnfCbD`-IV8Ip0xvL28ar1$WFg=Q)(L=)kF-$f2UKEYX$x2;WQlC;utAmwDZnhM7gV{ zZ+HBH1NL;Zg!~2Fzz+vpzUosuC-WZdaonaTKbbyQ+L*Pg&{qhg8-kt1VM245&|Z7v zbo-(`BIw%xNzhGJmz}+X;QAfDtS)T5?Z34wg_}kF963|59P?`3g_Z?M19GKDLkz^V zcCuBQ4L6?(#$+P*)3`FfC}1$(2-mTHS$d>oZ8b0vS}zJ&5L=%_&Z;P)Q{T^Y_QMOC z1*e;~YRGgO)clW(=20ZySsi+~f?$nkv^46P0oNVufvf95pMmk`h-^ZJtjKr4-W_Sv z1bfGJLq-4n>*O~QgwpCvqO8fbTkur*8s^X!$D+toOFjTw#HAR-O_{lvBipUc$ zbYiZKR8S<7WD3E|8X-@Zp=|3|XE^OsMV5$&bH&!{L6p}d)D0Ou5!qIq-n+tmG5B9Qw>pp&a`EjI)QdYC4&~p?6(=m4Z1@_&excv--!&wPFZVHECn6%#VeU`?6)THh6r`>~?|Cn00 z01EvEaR5rIzL<5-&(GGS>!+V4fm)d3GreAi#)IE%491^?VO}lo=v)3LAHnOfNjm-S zuag{x&q={z!bsU`kt7L@et9wX-qrIQ`0sy@WOrWG`d@zk&-)Q9ni zxLNjHvI5a`C+)B-FT+qIyc@DH+L*o{7zG4%%r!&@5^xi;r5;l|ttyaIvOd!9XyR=! zP%G)%1w<{vDE%VjFA`g#{CSHf$wFnZ)j$1SjNOnV#yU+u!2J7VQm&Y@D`uY6oK(8C zfExR<@?}m<-)12|widrU3^oUkfDN;&;6>L5{T$J&+PN<-@|W$X{{CY} zubpH;P>Db1+9&eXv**C3JaD4|4yYV4;rKFf&i8Enb$NFDmPZ=HxFzmT^Zz-d#eE83 zMqhnC?J=hm#MiU;uorLcS;WtKw&%~y-l?uruVGz>SY6G3gM;i!RJPF1vQN(vOE;bO zyv1J@wB@>nZdTM>-ylxeQrEwzLL3alv#>%y0zR&v=`6<=SgU+p?_r#Kf{D%c2sf3n zc;shfd9@DBP?#Plt#+w=*t&Ud8nF{+INYjlj-#w2v> zJ1M{hjIFegKyr}11oPZL?!xYu5t0X6M+H9_2$$IePUXs1M5j#6$%_I?8rmY>trv_b zK;3rrTgh>r!8$S*XmKH3xg*)v0@UMork8l6Q2M|WZqIT{3xp>siNiIKadanXI zl@?aN-!(xusN@y}e>CwO$f|_LIerD97;Q59p-3`8f^?wW^ntU3jju?V=L`ClfZyra zJXTI5&?eH@Rjrf37-2#QkG{c`{E*`5EqH@~oi64TB!!D%1!3Ml|MB?%*8Jx6E@cJn zb1}yZ?`OB~CC#=ci(}(OtmwN4#I|^Kk=&;|SN0e_hR`09l1ez6(a(hb+J?rDi zZK(QQoxVnN<8E2DaO68+bsr&Ec#3PsHcEr|WfAXDIrecy(z*7$Xww_wTD$-9>6A;T z1nrsB8p9cpHJ76j)HV{O@kvqi!conRTh%_bz~uf4bs?-EtU{Yy-g(Q$WTg*dgYEY`Y5l?oNbyZ>)oA@M!apot&5*m~t zYH@RY1OT<@1GBN6Y{4>pkw;Ort}WX(kok`S61;WtwkpKYnV3-SQ^7)S9+u9ML=O9S zHkE$e?;9)phIX;bV~Q$7u(6L5#ATb}Fq3c!m6e{?c|3noXue&BxE*V?S^?6cT_ZXi zT8Rqb2PB`Lqp;qx?tc3&vKY@;>Bx=Rz+-q;rj4^B_r%||06|(m-HY}RGvxxkx8dz24?3g)iTdteX=M;_bUW@VDJ5nB~n$y@uK<7>sT^f zGK_G&_y;#6zx5=qnSfK9h^5J|L>=TmnuR+fr^eeOXI|E_$F0LPaQDojLwx3kb4MwBs=H;U%Q(-L@lHyv?fosAmuqP8sr zm>XF6lZ#o=KN_6ofKcELoBADvWGKU5uG@>UYd|{S_f(={DOXd8xA)NtSMN;^ ze7(n`%P=P}<2q?9`uF@hh$gO25z7^TxB2K>eV*(-PgU+JH_gu7+&h0=Smj99j~%*M zd&}B_%6-<*M)=~_tAg}Yd++%KQ#^R(+Xqv*VLA(=$Ht8`N;yTD<(mwo`c_{*H|#}K zc2KC@-B+j-$n1jqiE=BzrhP+4DT>Y98%U|F%ccJ{()s0cjQyuzSJSV>JWy>>pfSy z>gTGSlUC(WNCwrON{~4zO~(SF1C^SOxYn&#N}ug zPORO#R73aBvn0m&Ts`*!&=6q{s*TC!y;@9HVGWeq$9J)l9S^*?1^N|ehW@8LGJyGq zGW5GoT-HO0jTyw~R0h^W=BLwB$T-gW-dzN>Nctszwf1CLQ)F$&wVxLKD-W&NE?Q)y zcJE_6`MHL(NVzS_4Tu^=nJtF#lSi4X!5X6SDWFb-`9;&Wi{>+K4n^iWM)NtV^Y(iE z(mauILU~wy8~eBt>C0>fKYQ~SmcXe~ppXUEqL7|VVSIMv7quF##T*EZ>M_xOaf zXD-n9bOMzBqOj*#JU{rqhbLH|{VdLFZP}*hn2+42)@5Fqk024{k)wa!(;b5DCwr7B zvybl~ojMNu3HE2zbJSR8(wE^kAdGW<$4UHN$inhJM&_H5Tn4AgX(%LPkGk2Oe@Tx# zX|om0FbluNVgPaB`fS`2g?W!O(-O?pXG3 zu8il&(=RAiBtGYVlyuKg+3)lX@|QMQo#f;`*Z5i9?Fa0_7swK~_@Ug442K^=7I}Pt z*G0A|8uPZTT-3feJ2M7wQXCe>y{iYtq7Zgt>J#ZzQS7xM&q*78x8au z1oPBSzgUvv@4jxR)?#u|u}$Z?a0oAB0MUVzuyw=P3P43aC1O!)1e4DemyYaqtuyfgHU*S3UikVBIzi_{qY6^`}}gS8g@RaaU^m5Rv3 zUlqss%aZPwZr}xcj0YE%DweJk;i_#m;ksJMdQ&Fd?g_CX+2Ns80$ij}|7{Mmjo^wN z$8?BVJfJ`fU{>;u_B%5F-s;e1QkP$V+nm$Kf(^bIJEyEJ$8O4O!q&STh}7sIPq-KFCywO^>L-M&O1U=>fL3cQ z%=sr=9*UCmG&9T}ht#<%Vv$SCEbPsS(!GPkYV|-+9VC zz0nukw@MzGfz^z6g1FTszoYOaMvkzV@T0q)oB891YO0meN7tgvwjo+tV5wfK;o7gH7By%a`^8KC1PY>SHKjyYX0Z$V}@3qr{k=S|A-EQd^D=oCcc6^mL| zs-*?XwA>H3{T(+D=20rOn~Lv+4y(bn8T+R0#df4`OZk?`E0@;3N71qjtVVQH{HCa)+(30AHj%MKQPlv^d@*Y#8IKOoY!_1h~D{i?~&E z&h22a%O%o|$-WgpwQC=Cv;i4Zh_F@?zMz`z-fK#ln7q6*$M{0GzQ#M~D$@+b6=7+U zGZneg>&NZAQ&4W1+G%tetj6U)pb@wuguZyGSe91xaE_sV#|w}?>H@WeQ@csE`YDAp z`0X4Q*1`?27vVo6@h68t5x^63Y)2lPw5zXLC##t1VK%D}rxTq!a^xd^~} zlAHJSSweA3e15b}tM|8T5mM<}Ki}1T=Z5T*kT=|Pf4upnErz!m)ppqtaSB=8ps3g& z*GsbCQ04vHDzxugxDL`Hrh`F)ulmsh;?j7_2T(wz$)~DockYRpsCO|>PhWU7$N0vx z3u+Na;|}i?O9vkY{4w|K+krZZ1N|C$Ozh|AKgcgoZj;h2IuKzZ+mUh%an|Lvar@9O zk_Ao=GDVy>gmg;|li|7xucplGmoDbJ1#YOhW#pc<>AV=olfOK14SKf_vZuA`NqdsW zI8Wv=2t7a0WU`CtTLH79KWFbu%ceLTKK6HPo{lU~>2$PIcbHc-A;s8q%S}zD+T#4; z5CnEO=}j6t&UBT$=GA#Q@e0Zc+*k1STqmeqPP1Q2DB<-Wm#kS6(;Q`W6+z%YqDR4v&8)5s%OV zu9yRlkaUbmPdUgcL8il5+TgvV!SjSC6^Ytgf~>4sS7@bTGrnH2k#bO!k|{Fc3_Q!_ zi&TEqzlR;4_O#z_S;X-=`B4s#t{&3O-QIK$)1XG&UwL58$uegw)HgPNSZ&O$=Z5oF z!Zu(ZB&TDRXNoRKsfF<7dO&s@MjWNl+w&%*V;9RQ`>UKG->cCh`>!W>R;acOx{~TU zU-LbJ0HKrp%QIda&GylT ztmEK?`XBa6=okq&J2Ux9$F1!I$-RM`GRLJ8*;H*UDRoosZIF5l zchL?I_96R`51~GF$-K}j2}^>c<9a5Q?j6BjM)FG4et|5?Xjmw>0SKACn}rf6LqzKo zH|@5v;9R1vgDN+V$n9SqTsv?LfPB7(P#oatiCw;aso5vIK~*(Ji%-h}aiB&#xiZVl z>U2A&SO;-x%HY&`E}1uY-lqIJbjhy(nv-o-^Y}e|oxdl!ivxuu|Mu{a2HVR8k zP;o!**b$j|A`_~sCb+DxCWfPP!!tAeZ2<7(E>|h>wLG9lUJ|6*->5{sgtOzP?fq#&1{8dTFtAkV^Ya;sw-e zIO)J6j$w(HJU|XSHq82rl9C*#9f|&x%j0kuke9y!a|8fUWar%R7(~YNM#lS68hCh7 z!>Ti&za{(GdTtoz82Dg$vZ43`FrR{Do}lKQUxh$PjoYVwnJ?8!;Hk=I|1IlJ2M%Sg z8oNOoMD=9C%r=^n<$~S%m(FVa0gC;};W8 zVc)29vr~yG@bD&r+6OO+M)(?JQ;yzHAJOHAGwqxr6qPO5x=`U!hd^t?L?PJS7=>1g z2t67Rda-iC4UScB#@3FdAso@q??xaD7U*fUP1Fc{zZx6JZuNfV2KXv|#fdOU}t_m)~8K+309`gCw|0~cI^ zc$D-mZ-?X9ZXYWr3N*jVK{nK^E*+CL`$XH$cHI%5WP~&CG;CCweUZ=7{_)Zh##FjR zQxH7~&nmM8#WN!*ev7Amjz5!m*BD)_+!N0!dv||=TWvfHsi}95OC)9|$O8!3(d=OZ zrnc6qz8tEy^3V9ii={$$-`y`L|9Mjh9*8Pqt>xb)%PtnjQ(daVg60&O1~NLag^c3)Eyz|6w>ZMUHX2gE^vCzc=Z^J zAXJ_X&(SmqqOfKyLI*HE`ZvBnehyWH!&O(sPrMS&HYHaC>d)4Hc`$`Fgt1b|F5>)f zDT>ALfYhFg5ED<@WU#tSA&n<~tuwKFI?jN2b+tscMH!$NGjc1S)Jy?+cHtK24%UQ; z?Y-e_mG^jVVzN>NbOH`Q%vVp6|2(8DH2yMU!;aFM$$J#o4JuOZ8BJx)4$`9Ouw}E` z#EZ+7KdPv)@qE(3S30hMR5rUFR8yr`hTggQRo8^-1j^D*WRE$45*7V) zd4YkFFmvXbLtFUNQqn*~xji3TK7U3#6L9Q^;(u6idq8#9=;F44YXPdZF++lz&3-y%4G}9y93U;(*E>9hFy*Qpg8@l#Y!kW#I1y8j8DW|Ay~P0 z9u9uP$9Ujfij=anA^GaG;i@MSuP*nvhFOIV{iDc)S8lE!hV$5(pHIO%&hqdMb*0TL z(;mXPye`E1KBm>*{1;ER?Cf05M8GU^7nk2y#ehnjak^F4kd5aSN!pN?nu?kXxUr4I z|Ki3x%Ji(NXIEM*zsHNL?oW(Pt$CGB?Jc8yu6%E-veE(Ve%?_lP$&m()zCs)H>=NG zY>R4m8b3j8$mR3>)()a$$CP$U65Gvq593oMPjTJ`6lRne6$f(=))bE-$jh=CK|p64o(W$J>w zvD=PGm)K$zBaAn->;7|T|0SlRwVv&tqVW_k^KM1|T3u%6);l#aTh|6G(fv7$8PFt}45%1^E{+P-Bo`sd=YrFRNDC)IIZl2&yL3ErkfFyso{s zHV#n-%F(SoTsd`T=^N#bY3Ioiwto)3>~^IfjSlVDVR`hj4}p>M{FiXdx%M4wSLw}= zUaBlSvK;+$^tJf3*<0R+A+EPhuookA@#+Mz4XKrKr)8Ds!a(LVy~hulJ^P^wWksod zeOn1QYE{xSXvH+QNm?{|PXsXUnpqc@rfH#Tip227_vfHHLQUg_0hBJiIk=!jz?HsM z`3OeIb}FP@G+mxO(p9&;s;Vimv(5u}y>H_X-Z(mbZ70`v{?U^+hGtwbigJYT+9fTw z@Hu8b;m{pZ<=1)r3!->qVFE-~ogbs)JT;l(af7`AWz;pzm_1Zc*bxYYk`2)VwJ@^3<#G-$+03U|Exgj}`5ZkviNY zbXy|ZSl*b=zeeLq?>p3(j$9)VAmZY7+inBq3c~p$$?+kJLQ(2zzo@l%U8uBwU;0}j zl}Cr!nuj|_z$riB-3$qhF`9HAD6zlCvgQFQt{kZ1OL3znwHq3=iulX=GiEN zJCxSR+qtlE`fO4>%B|GR1y&Lz?L*BlWnyb2Yi|3%zh~`eZDe%oV4ukIkX213FUEin z$fjaB*LT~hFAlyS8%b=PKF*XP^eMasC2yi9-9$HRcrdeT+WRs)s6>|G!8EK$JQgp3 z*LL-b-OrjoShJWQSjG+A(+rA8GYfKHec)|r%Llqtkn=6x+X7z7i*>eIUG@ZliaH?O zRi0n%`HqVk`{Ul&93TbUffIhsCBd5XcY42_*?-KvFQU-8`F14)a^6fF{KBS-<3p@2 zzFPyKP-tLF?LEOlFYi5$Cr2`{*=UADke)#iiEIQWL|mwM3c}av=J4q^`h@ca8^?VN zwRvmWrxkpeF0*%@LzVpqd(VNu7t4Jfn@qtrbSYaFT_y}9Ty<00Hr>joArPlTOcobp zdX;CgCgyU4%5r08PSHRZw1u=ODS^V@yQbq&*POU(_p_&e>(xR)?&GEUlB|dt^U`;E z00{QyA(8Bhi5OsYaC_;N*ovD$-dl=X?N=x+?Q$H*FJ*|@(f-}jJI*>g?O;d&&2UK9gI{&SA-_=wk zvIGmc@sBS1F$a?dzN6gESu5s3USNhHoP%tzz=C1@LJE7&lroAoRQEl8fdGuHFk`IJoZE86te zLAf4%g4(4Q_Dx5@+sG%r5bxX}I&M0WVMLtFGRgQVN2ht&u#)>j_<^W$e^`Erpbn)D=Na)Sxk{RWPxbG}#WaMP&J zlIPub4`h-L=aLTxq#x-2xW}{8Rr@4LM~=N}WSwCQM7BoXC$6G$g^reM`T)Ig@y_VQ zP1l8~cig_5l^DPCd~icBcIwxWuCAm#y|%@(d$M=k2T~5I!rq7z9wb~f_AX7S+aNqh zZd~NtoYp-tMmo@4H=zKOnTUyShVq75VU6FyR#B`g)=^==e|{d@s^pA81Zf)QD##S8 zc&_o7)E%qEK0Yt|OAh9_SdtX$qG9Ef^Jfs$W`uNs6-nlAw@yEord6y3?Kd()b&$5FhAsn;EO8%Byl_ zjMkKi>7INUcxs~+ytPL6voQ84>))J!&<^&@7m-Y)+hgeMwL+lW;(WZuhR^1tpW`WNNbDx-_2a9f=g5tmo_-Te{^9TH;1NDztz-7aZvSQ$&L*>13tZ*oD&f!I~Sy< z1#w=-PVrhF0Gq;C0GNgS)kP(^jSarzqMK{NR?#9$I2)@rPW+{DskQj6fe{Bnxodxz z?UeL8&kB;FEgX-sHvs>cSyAY-9g&*uPangB`|FEeBE4Ch+)OM1hfRz1oX+1;k(feq ze_kq5c-CxG^qN&ed(2-MqDnfV*ST&7C7wIC-%u(i`dZcd`t5wq z1s;}v6In;F$U+l*NvWl8CR_skm@4mZ>#+%#ZPTqX#6P|5`Ukk#q*FU-07YsPQ|HSx z<3TNRjSKBzgXYyHAp42J+;1oYWzU+~4fpbg-(FajxY7S5@w&ahHsoH?7F4OMEH&b^ z5zo0Zrz024%NtWq|gJqjU8c$Bsy*sKU z(B-vx<*gAf${o#{%p*s-FzI5C^8ejwl%VAqH_pVl<}kE_vS$748}k1lgXk+^;eN+2j_4fINNVB7&{u z(HFJ#7gTDB>XSk?Xf$xLY8y7`R=r6wBm*#sGZ>r1a| z77dN85)5k?+GgrUFw358oYzD^KUvqVF@TghqkTT@-ZCF=uA?r9wTVCY+$FX(so`XH zMH^>tZ@o``;v&O-C86y!Q$?^;{N(E!LkVu4<>Yo&OzCjzW3A^osxMRVICkjyG*ad; zFYs2>_&V=O+3f0n8Z_=Zqt1QE(WE5|GS+M4}@ z!Vjh#9rNPj+M0md(jIN{O5(FVhWWnfldPJ{+;|QhD zp2s(ZokMxPI8f+8N<9~CU3fv3{yFQ{ABw(GP~6-u=hq~z@WHjzJtFYR@0DiMwYASB{?t6_%&q8vYk%h?Fc1@So*DjE!aUO+ zp>t{6Q^*|%l(DZQpj1%RMX{WF3?6Pq^(X4{Oi%QEm)Fx}32DFYr7(JIm{LB^Q*Lsh zU!Y*&`iFk0`%{ln`T&FKpDHd|jq;3tZ_M`??ElX@PMhX(KV3-HsR#Q_wx4suuagBZVoUcUkmfC z-v7gA@QT`+?F1ZG?t)X#-q{U#tnzO!|DuxbSN=(sJ{eXU6(Zm9%PHsG8l{|7eRa33 z=pHmGMF>a|z707?pX+1$ z${e3PHRy1mG3?%@aDeADZbwPrlR~Yo;5-leu7k#iP`a)q?lg0Nk#r-64LuRNW{{9I zpi2O#J_&Ko9Xf<_Rs-=9$|HATT`NkZ;6-W zK^f;*w=*Z+;tp#IfA)9laSn@(=W+XZll!6$M_;<-$?w}50qMY5JEigrKqWrk4Skh+ zuGcE?P?|0efSmYR_1(Gc?Gga9yqQ1nA?05U;Uo zH9g3xyuEgdXW{}rw#AsK^mnSeVY^;$wz<;ad4xrg%r{aC)id{&)IE78W zSOn0xb>&T8V=Jd`Q@~&&1<4~fhunHTchLY|s|V<=C)J9X(Z=ex$ln2gvD3OkTLG#- z*wooq4iBr>RCiO~HmKbAJUGdH`>Ox$W`f#+_m1vE?SuLbP|sjE`Qy=Fo#0)wWMrL+ ziI2O&5E@ovITUk`@pe12H0E3H{_^@B;5YZ#F+(+7sR8l4^y^!+40;R*xIfAn13LZw zp0xG5-yG&Fw=Cz`W*vWNHZ_SqrN@~(l&QNo>Dj*P5zc+j?+jQ26pXdr%=EwVB&6w$ zk0sIxOe`;e(=`ftKG2&v2A$v;jBy|@-`Qx#9T4_u(}D(&*tOEX3YDbrNntdv1REQ4 z6l4i|U%$}msz%_f4~C%~sRu$*IylF(s8S|l(Vick8wvk%CIQlTb~n3N)3w0+>3T5) ze@1#qJE45IKKrjd8m zaw+9Twavg(8XxTHy^}?b{tCPkrXJIhVAYGCSUCGj29hN7uV|w{wzX*;FT+x!kx4&R>aZ1n^@DP_)|*@?OXfMIbUe`p%u_F! z<=TjViL2v^I@(NM>dzf?FLbyN(h5jIC*oqjLEkcphR_kt#M(ob?(m~7lZ%ifLyb9{ z?Lh0YA}p_R|GZaf8mr#4YxPB&U0^DyZ3B+=Gnx@!?NVZ0a0B&MfTW4QXI6huHeHX) zj?@4fdLmYM=6i}2AGGvrZa|IgjdN%OJax-vWI`;lI(9p&4gF`~c-5y7J)kLfek;7D z)#CD1zAuDn+Ch|k&-!A&60z~QbtnHrI4nR20mXOISNy29J%q) zrSlFMmvjjt+( z`3@J%6+zsmw)Ja#o3zn;O!EkU6*~Tj{&OxPk9*#$tD)_>*ef~ZW2m3Tql0%J#SaX{i&;R#O)ArI^9lD0@T5s#oaX(JzU{U515*-_KGt+y9^*J+`~X?x zq7hT-%^}y9(v1SpM5ZQD_K}SMg8I^qFmK74Et*cNx-aI4w@5SJDF2X4mSp z2+(1-57=fyZWMr+RIb*P9|8B4Io-kWGJ2ruO3d`TkBNoF$1W7tm~kfiRJVCq_T}y7wO@l8-X!rw`8lao(5uz0>7NkJ0EBMOjfG zsMoa1#T0;%UXSnimYRZGM(%#?UoY(%tyMSpP~R(Qgift9&Q)k4fd}vt!4(D}B*;}{ z{=RKqK#|r1a8vE_(z?J5H3if9P8a(_gh{kg$}G-zFl-ud)E$4L}}kxZqQ<1rvLmX*d-Y zo-p53uMXs^_w}D9_n`ybZ}YH!OZ(A8U9c_{IxL@XG=mK6C~{5XO-%$z$cG(9hg@@i zs2b;96e6g@%&*8zPqpFS3IeB=??fi@@q>e?ZhuRNJKZuK%U$hs8Jxyb{VF%}7s5>` zrUyN8ET_b%(w=MPjHS0O3ICf?tD5 zw!_!e4^3DSaF@&jpo@QZcWb4=X5tUu`b_A!_&c0|$N9^ke74-OCEye<;~?Mf_z-Yo zmQ9A7HkXBIykDobVWJ;wkGpr&j*pj7%rjS4ax%czhesiv=?&izgM0YQ^^!^v3o$AtY_=?PIy(r?&XAp>5?s%I|yK-laL;r8Rw(j1y(xC=$pc zfyQWt4=UH>{hbTjSl_0i;z0Og8Qrbn+>zVw?n)&eS0Az{Y?Rmn$J^xvf=E zgx!E}vIZ{?;0MMFk}0u6Udm)Y#gC9NjM(dQzj#3Z4(Q4>y#hY-L7^RIPE{t>SGfu- zQ(meD3MS=hiK2SU}|Zb&<#WxVgLyF}C~K!nu^6Tavm}`3nJ$ zDeka){(B?;XPx0p7RdyHs?aJh$9Sc;S(pY&lG{u0uW?fNbTgZ<;V z5bii^qiUN?iw84wpA>sAvt*Ea$Yl!p4$hC6uYs>zAe4RfqNSG;uQh@Ai6`;XGCN0i z908c4NPTtT%N2xL(6C>^d9&Y^m*!vi@#4D_ilhUWTXUaWfA^oGLO1UhMv2;+K;ZI@ z7S&~ski$2B5+PIomQR>8==S~L+Gq8|(ot6(lV5m`UkNETpmu+9E zvuy3sjZ;oHz2F%iux>tcj^j$}@w^NPk=rK;P;2B`S|80FELMM4^b%tQgIFyT4YUg` zkAb;Mk(^Qm59WIFD7^mX$F^LaWJ@5g^99x;`UKdI<*{8>7Q`wqic;7$m+ei(uu`8T zrMFYdD-F&S!*>AZ40R#tdGLHfIlk+vnj?G|CKOg0ieo;FfdY#%r7%tjk6Vln2R;;b zU$7K8mXhu>iOL{>+{F=JH#8!Fl{)6kP|LJoRa>PnOPC41s6ewx@FAU8o{8D82_GIF zbSo73uuq2@Lrse9RQ`((&EE=20sQ?aT#8(ZA3ITieft$sz!M_rHwh46CXmjq2aB5x zrQtJZ81O|+0x|o*C#}bagg&=00M2u8FW&~noW1wL=LL5?U}xunV0(BkR|WaP0CZ$H z?K}i%t6*9E>UPsL(6rG(oPPK_2-$?O_j@-1QGPHH_eUf`HGw@`k8hOR&>Yn6$%OKV z$>ucp{8<*<`l7o_Rm*~#(epLp@mpO6MY;#1*ct(>6G)faziciTTKzYFglO|JmOogt z{eIl>wX*K;#RF}g?^iA%$`h)kNhI!}Uz9st&U)?>EsXb*@w>m`-}GbBE5-RV`@v%O z#OQj`Pd$GKHK>FRFN%RQlz#ln!XgAi>K*;b#F)$g)L7r^=pn3US3`+3P`J}cu&RHY z%mTDn7kpvvvpe}mo)UrcGjD!;roZoV7PO2{CXDfm4nRD>N>e8FK3jI@((>r05}GWu z3O;m@zhAPD=Bx}SI@Hl?~uOF9}RUaP^d_Q>Zkwtseh zOI49#pQ@M*TR~U^eO{a^9M(p@d1r`zpb+9j;Dqbv-OD6p7{QLP2?vl*i!MQB%9?wr z=$;to_{>66)c@1o)xSfXu5t4|%c5qGE0LteXb7Y3#7k<^#UVZnG6G3%Dg}~xeMSU`p zZbrTM`4aJS)`bI)4gNBAQD1QP_+2pM1>6#!}5MEZFZ1W8Yt%-Hzs>qJ2yfozYv)uc}9df&f6OzLORTuvf z+zWM=n|6yC_YM@^`fUp6n__8{OTAH|JiaYIv>bk_7MHAcmUF8jBHKR1&soV;p`qH6 zZCwswW!<|*z-iP7`N7- z2mpt&Sj-A`q99;3lguB*vP%&K&W64yWfF!QooxEnTEUf-gtB_bx(p?5x`3=*7ggmq zZu{d&_OHw#6ORv=JQB*(9w!;`Cgcz6{QX)r9Et^fSl zou9SAhY`_jMIm0nN?)m-eLp<`BDu~)cMfG*{OY*H#Ey&ln?05W1l@MYFCD}8HsO1l z5~T;CD24oS#eD#8g89pg!rKarzT#rM6TFk+qIhX`r=IYfHpenLYM@=!@^W#X^#!G6 z;PCT#M@nc0$!H$$7&TPfTa)Q@_xJJnFLY$dn!xPD%TajoS3w(N@C>Sje!Qbxv(xIR zQ?TS*`rneeT51I`nqZF*LHep+o(B{uAmm`6NZ2>pY$DT`YVX=I;fn)`bc4vNUKlyr4L5p`h^mx5W!F z0|_U5@Ip^vEU|8;n9d&E_;jv;BG}uP{zb_w*(}U+V9N~UQCRg2&(wA=%2EBO#BsH8 z5?ub@A=?dp)q;<5Cm(-aRGG-l?*O%OXGAr4v(|@%Ye! zENdU9>+CBK;IR4y4F}>{p z`)1Z-9fV#{74TwvL>ra2POu=F&G0&opR`q_8hXjLI8Elz8b+mQ70y9fbCt3NrCngE z1HF4U2&LdkNMOCSW#*0UBK4Dx`b)FJ2lX39!cz4^>7)^@!iHSJs`D?eLTBh^899>I zL8eM`A`rB^O(`Dtq!1YeF_of-rfZA6$)0_>ohjO7DLPj?$W12#>q2>CnPUOwKaAU< zZ$|b@mYgis_V0SeMo1Y(vsqDnNUn~G+1ht84_4K`5hfK0Mh5#XNLkfH2w6qzPMU*aD~v`HV&onO&B)gYe1yi zFrTS?)y)Vr8qC8eq;GL~$a;Uw;8T*xJ}sA@8Y5ub!C2G=vL3_YXDK?wO$ggfu>MPI_N%A(3GZWZ@=ta;g)nzLV38E z$4 z2DG$lcw8qqAT#wc7soSoMe>v&r5Qt7a~fCKR($XxC^v8}NJTS37yiCgjffmb*xj!o z=kA6F9yfZvl^ajE=M`h1lA=?v1}r^1k~XN>Q*wlG@tY$L#UN;t~s^=JlpDD^I7VmV4>*kYpdT8*}slM*9ISfC?{vC zCY-3&y;dfy=v0+T@=qmqFU8tR$k(bWsUl2CtnW}Eda8B@&q1yRNG8%H#{0IL*Ea#N zo>Z=MR1dNwlw(RZ9r0O<%Z6&~mTg-rKF7>b`%5ShHrK~=vEXtffhHqX9u^y2ctLrI zjNWyQLp9ig`9@Ifp0)D74r#*;Al5Y%o5xJc5b=C}Qfzc~hveg#Z@MxX%YZoJnSW9^ zy=Fb{Km~79#a%*vNUDUk2#_hgr~7Qlzco+1TjKvs76ac|OloOqUnPGdfc8$oBwyLP k%l^*r|L2?_cWyzVq1WJhdAcn8vWJ$di{~ddwjWOT4*(B^R{#J2 diff --git a/src/apps/tempus/common/tempus.amm.token-fetcher.ts b/src/apps/tempus/common/tempus.amm.token-fetcher.ts deleted file mode 100644 index 73ba9fd21..000000000 --- a/src/apps/tempus/common/tempus.amm.token-fetcher.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { Inject } from '@nestjs/common'; - -import { APP_TOOLKIT, IAppToolkit } from '~app-toolkit/app-toolkit.interface'; -import { getLabelFromToken } from '~app-toolkit/helpers/presentation/image.present'; -import { AppTokenTemplatePositionFetcher } from '~position/template/app-token.template.position-fetcher'; -import { - GetUnderlyingTokensParams, - DefaultAppTokenDefinition, - GetPricePerShareParams, - GetDisplayPropsParams, -} from '~position/template/app-token.template.types'; - -import { TempusViemContractFactory } from '../contracts'; -import { TempusAmm } from '../contracts/viem'; - -import { getTempusData } from './tempus.datasource'; - -export abstract class TempusAmmTokenFetcher extends AppTokenTemplatePositionFetcher { - constructor( - @Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit, - @Inject(TempusViemContractFactory) protected readonly contractFactory: TempusViemContractFactory, - ) { - super(appToolkit); - } - - getContract(address: string) { - return this.contractFactory.tempusAmm({ address, network: this.network }); - } - - async getAddresses() { - const data = await getTempusData(this.network); - return data.tempusPools.map(v => v.ammAddress.toLowerCase()); - } - - async getUnderlyingTokenDefinitions({ - contract, - multicall, - }: GetUnderlyingTokensParams) { - const poolAddress = await contract.read.tempusPool(); - const pool = multicall.wrap(this.contractFactory.tempusPool({ address: poolAddress, network: this.network })); - - return [ - { address: await pool.read.principalShare(), network: this.network }, - { address: await pool.read.yieldShare(), network: this.network }, - ]; - } - - async getPricePerShare({ contract, appToken }: GetPricePerShareParams) { - const totalSupply = await contract.read.totalSupply(); - const reservesRaw = await contract.read.getExpectedTokensOutGivenBPTIn([totalSupply]); - const reserves = reservesRaw.map((r, i) => Number(r) / 10 ** appToken.tokens[i].decimals); - return reserves.map(r => r / appToken.supply); - } - - async getLabel({ appToken }: GetDisplayPropsParams) { - return appToken.tokens.map(v => getLabelFromToken(v)).join(' / '); - } - - async getSecondaryLabel({ appToken }: GetDisplayPropsParams) { - const reservesUSD = appToken.tokens.map((t, i) => appToken.dataProps.reserves[i] * t.price); - const liquidity = reservesUSD.reduce((total, r) => total + r, 0); - const reservePercentages = reservesUSD.map(reserveUSD => reserveUSD / liquidity); - const ratio = reservePercentages.map(p => `${Math.floor(p * 100)}%`).join(' / '); - - return ratio; - } -} diff --git a/src/apps/tempus/common/tempus.datasource.ts b/src/apps/tempus/common/tempus.datasource.ts deleted file mode 100644 index 3369fa815..000000000 --- a/src/apps/tempus/common/tempus.datasource.ts +++ /dev/null @@ -1,25 +0,0 @@ -import Axios from 'axios'; - -import { Network } from '~types'; - -const datasourceUrl = 'https://raw.githubusercontent.com/tempus-finance/tempus-pools-config/master/config.json'; - -export type TempusPool = { - address: string; - ammAddress: string; - yieldsAddress: string; - principalsAddress: string; - // Should probably use yieldBearingTokenAddress instead, but that may have dependency issues in the future - backingTokenAddress: string; -}; - -type TempusData = { - tempusPools: TempusPool[]; -}; - -type TempusDataResponse = Record; - -export const getTempusData = async (network: Network) => { - const { data } = await Axios.get(datasourceUrl); - return data[network]; -}; diff --git a/src/apps/tempus/common/tempus.pool.token-fetcher.ts b/src/apps/tempus/common/tempus.pool.token-fetcher.ts deleted file mode 100644 index b20b23c15..000000000 --- a/src/apps/tempus/common/tempus.pool.token-fetcher.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { Inject, Injectable } from '@nestjs/common'; -import { unix } from 'moment'; - -import { IAppToolkit, APP_TOOLKIT } from '~app-toolkit/app-toolkit.interface'; -import { getLabelFromToken } from '~app-toolkit/helpers/presentation/image.present'; -import { AppTokenTemplatePositionFetcher } from '~position/template/app-token.template.position-fetcher'; -import { - GetDisplayPropsParams, - GetPricePerShareParams, - GetUnderlyingTokensParams, -} from '~position/template/app-token.template.types'; - -import { TempusViemContractFactory } from '../contracts'; -import { TempusPyToken } from '../contracts/viem'; - -import { getTempusData } from './tempus.datasource'; - -@Injectable() -export abstract class TempusPoolTokenFetcher extends AppTokenTemplatePositionFetcher { - constructor( - @Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit, - @Inject(TempusViemContractFactory) protected readonly contractFactory: TempusViemContractFactory, - ) { - super(appToolkit); - } - - getContract(address: string) { - return this.contractFactory.tempusPyToken({ address, network: this.network }); - } - - async getAddresses() { - const data = await getTempusData(this.network); - return data.tempusPools.flatMap(v => [v.principalsAddress, v.yieldsAddress]); - } - - async getUnderlyingTokenDefinitions({ contract, multicall }: GetUnderlyingTokensParams) { - const poolAddress = await contract.read.pool(); - const pool = multicall.wrap(this.contractFactory.tempusPool({ address: poolAddress, network: this.network })); - return [{ address: await pool.read.backingToken(), network: this.network }]; - } - - async getPricePerShare({ contract, appToken }: GetPricePerShareParams) { - const pricePerShareRaw = await contract.read.getPricePerFullShareStored(); - const decimals = appToken.decimals; - const pricePerShare = Number(pricePerShareRaw) / 10 ** decimals; - return [pricePerShare]; - } - - async getLabel({ appToken, contract, multicall }: GetDisplayPropsParams) { - const kindLabel = (await contract.read.kind()) === 1 ? 'Yield' : 'Principal'; - const poolAddress = await contract.read.pool(); - const pool = this.contractFactory.tempusPool({ address: poolAddress, network: this.network }); - const maturity = await multicall.wrap(pool).read.maturityTime(); - return `${getLabelFromToken(appToken.tokens[0])} ${kindLabel} Share - ${unix(Number(maturity)).format('L')}`; - } -} diff --git a/src/apps/tempus/contracts/abis/tempus-amm.json b/src/apps/tempus/contracts/abis/tempus-amm.json deleted file mode 100644 index 991002ccd..000000000 --- a/src/apps/tempus/contracts/abis/tempus-amm.json +++ /dev/null @@ -1,1146 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "contract IVault", - "name": "vault", - "type": "address" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "contract ITempusPool", - "name": "pool", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amplificationStart", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amplificationEnd", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "swapFeePercentage", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pauseWindowDuration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bufferPeriodDuration", - "type": "uint256" - }, - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "startValue", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endValue", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "startTime", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endTime", - "type": "uint256" - } - ], - "name": "AmpUpdateStarted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "currentValue", - "type": "uint256" - } - ], - "name": "AmpUpdateStopped", - "type": "event" - }, - { - "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": false, - "internalType": "bool", - "name": "paused", - "type": "bool" - } - ], - "name": "PausedStateChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "swapFeePercentage", - "type": "uint256" - } - ], - "name": "SwapFeePercentageChanged", - "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" - }, - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "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": "", - "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": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "selector", - "type": "bytes4" - } - ], - "name": "getActionId", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getAmplificationParameter", - "outputs": [ - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isUpdating", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "precision", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getAuthorizer", - "outputs": [ - { - "internalType": "contract IAuthorizer", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "principalsStaked", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "yieldsStaked", - "type": "uint256" - } - ], - "name": "getExpectedBPTInGivenTokensOut", - "outputs": [ - { - "internalType": "uint256", - "name": "lpTokens", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "amountsIn", - "type": "uint256[]" - } - ], - "name": "getExpectedLPTokensForTokensIn", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "yieldShareIn", - "type": "bool" - } - ], - "name": "getExpectedReturnGivenIn", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "bptAmountIn", - "type": "uint256" - } - ], - "name": "getExpectedTokensOutGivenBPTIn", - "outputs": [ - { - "internalType": "uint256", - "name": "principals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "yields", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getLastInvariant", - "outputs": [ - { - "internalType": "uint256", - "name": "lastInvariant", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastInvariantAmp", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPausedState", - "outputs": [ - { - "internalType": "bool", - "name": "paused", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "pauseWindowEndTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "bufferPeriodEndTime", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPoolId", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getScalingFactors", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "principals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "yields", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "threshold", - "type": "uint256" - } - ], - "name": "getSwapAmountToEndWithEqualShares", - "outputs": [ - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "yieldsIn", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSwapFeePercentage", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVault", - "outputs": [ - { - "internalType": "contract IVault", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "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": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "poolId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "balances", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "lastChangeBlock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "protocolSwapFeePercentage", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - } - ], - "name": "onExitPool", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "poolId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "balances", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "lastChangeBlock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "protocolSwapFeePercentage", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - } - ], - "name": "onJoinPool", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "enum IVault.SwapKind", - "name": "kind", - "type": "uint8" - }, - { - "internalType": "contract IERC20", - "name": "tokenIn", - "type": "address" - }, - { - "internalType": "contract IERC20", - "name": "tokenOut", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "poolId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "lastChangeBlock", - "type": "uint256" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - } - ], - "internalType": "struct IPoolSwapStructs.SwapRequest", - "name": "request", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "balanceTokenIn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "balanceTokenOut", - "type": "uint256" - } - ], - "name": "onSwap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "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": "bytes32", - "name": "poolId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "balances", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "lastChangeBlock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "protocolSwapFeePercentage", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - } - ], - "name": "queryExit", - "outputs": [ - { - "internalType": "uint256", - "name": "bptIn", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "amountsOut", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "poolId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "balances", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "lastChangeBlock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "protocolSwapFeePercentage", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - } - ], - "name": "queryJoin", - "outputs": [ - { - "internalType": "uint256", - "name": "bptOut", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "amountsIn", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract IERC20", - "name": "token", - "type": "address" - }, - { - "internalType": "bytes", - "name": "poolConfig", - "type": "bytes" - } - ], - "name": "setAssetManagerPoolConfig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "paused", - "type": "bool" - } - ], - "name": "setPaused", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "swapFeePercentage", - "type": "uint256" - } - ], - "name": "setSwapFeePercentage", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "rawEndValue", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "endTime", - "type": "uint256" - } - ], - "name": "startAmplificationParameterUpdate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "stopAmplificationParameterUpdate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tempusPool", - "outputs": [ - { - "internalType": "contract ITempusPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } -] diff --git a/src/apps/tempus/contracts/abis/tempus-pool.json b/src/apps/tempus/contracts/abis/tempus-pool.json deleted file mode 100644 index 20f70eca8..000000000 --- a/src/apps/tempus/contracts/abis/tempus-pool.json +++ /dev/null @@ -1,867 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "contract ILido", - "name": "token", - "type": "address" - }, - { - "internalType": "address", - "name": "controller", - "type": "address" - }, - { - "internalType": "uint256", - "name": "maturity", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "estYield", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "internalType": "struct TokenData", - "name": "principalsData", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "internalType": "struct TokenData", - "name": "yieldsData", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "depositPercent", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "earlyRedeemPercent", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "matureRedeemPercent", - "type": "uint256" - } - ], - "internalType": "struct ITempusFees.FeesConfig", - "name": "maxFeeSetup", - "type": "tuple" - }, - { - "internalType": "address", - "name": "referrerAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "currentOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "proposedOwner", - "type": "address" - } - ], - "name": "OwnershipProposed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "acceptOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "backingToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "backingTokenONE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "controller", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "currentInterestRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isBackingToken", - "type": "bool" - } - ], - "name": "estimatedMintedShares", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "principals", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "yields", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "toBackingToken", - "type": "bool" - } - ], - "name": "estimatedRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "exceptionalHaltTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "exchangeRateONE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "finalize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFeesConfig", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "depositPercent", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "earlyRedeemPercent", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "matureRedeemPercent", - "type": "uint256" - } - ], - "internalType": "struct ITempusFees.FeesConfig", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "initialInterestRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "matured", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maturityInterestRate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maturityTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maxDepositFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maxEarlyRedeemFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maxMatureRedeemFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maximumNegativeYieldDuration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "yieldTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "numAssetsPerYieldToken", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "backingTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "numYieldTokensPerAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "backingTokenAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "onDepositBacking", - "outputs": [ - { - "internalType": "uint256", - "name": "mintedShares", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "depositedYBT", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "fee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "rate", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "yieldTokenAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "onDepositYieldBearing", - "outputs": [ - { - "internalType": "uint256", - "name": "mintedShares", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "depositedBT", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "fee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "rate", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pricePerPrincipalShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "pricePerPrincipalShareStored", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pricePerYieldShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "pricePerYieldShareStored", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "principalShare", - "outputs": [ - { - "internalType": "contract IPoolShare", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "protocolName", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "principalAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "yieldAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "redeemedYieldTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "fee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "rate", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "principalAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "yieldAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "redeemToBacking", - "outputs": [ - { - "internalType": "uint256", - "name": "redeemedYieldTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "redeemedBackingTokens", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "fee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "rate", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "depositPercent", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "earlyRedeemPercent", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "matureRedeemPercent", - "type": "uint256" - } - ], - "internalType": "struct ITempusFees.FeesConfig", - "name": "newFeesConfig", - "type": "tuple" - } - ], - "name": "setFeesConfig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "startTime", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalFees", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "transferFees", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "components": [ - { - "internalType": "uint16", - "name": "major", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "minor", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "patch", - "type": "uint16" - } - ], - "internalType": "struct IVersioned.Version", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "yieldBearingONE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "yieldBearingToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "yieldShare", - "outputs": [ - { - "internalType": "contract IPoolShare", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } -] diff --git a/src/apps/tempus/contracts/abis/tempus-py-token.json b/src/apps/tempus/contracts/abis/tempus-py-token.json deleted file mode 100644 index daa11bed9..000000000 --- a/src/apps/tempus/contracts/abis/tempus-py-token.json +++ /dev/null @@ -1,412 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "contract ITempusPool", - "name": "_pool", - "type": "address" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - } - ], - "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": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "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": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getPricePerFullShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getPricePerFullShareStored", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "kind", - "outputs": [ - { - "internalType": "enum IPoolShare.ShareKind", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "manager", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pool", - "outputs": [ - { - "internalType": "contract ITempusPool", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } -] diff --git a/src/apps/tempus/contracts/index.ts b/src/apps/tempus/contracts/index.ts deleted file mode 100644 index 5dcfebdf6..000000000 --- a/src/apps/tempus/contracts/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * from './viem.contract-factory'; diff --git a/src/apps/tempus/contracts/viem.contract-factory.ts b/src/apps/tempus/contracts/viem.contract-factory.ts deleted file mode 100644 index 19f0b748e..000000000 --- a/src/apps/tempus/contracts/viem.contract-factory.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Injectable, Inject } from '@nestjs/common'; - -import { IAppToolkit, APP_TOOLKIT } from '~app-toolkit/app-toolkit.interface'; -import { Network } from '~types/network.interface'; - -import { TempusAmm__factory, TempusPool__factory, TempusPyToken__factory } from './viem'; - -type ContractOpts = { address: string; network: Network }; - -@Injectable() -export class TempusViemContractFactory { - constructor(@Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit) {} - - tempusAmm({ address, network }: ContractOpts) { - return TempusAmm__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); - } - tempusPool({ address, network }: ContractOpts) { - return TempusPool__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); - } - tempusPyToken({ address, network }: ContractOpts) { - return TempusPyToken__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); - } -} diff --git a/src/apps/tempus/contracts/viem/TempusAmm.ts b/src/apps/tempus/contracts/viem/TempusAmm.ts deleted file mode 100644 index d3c735842..000000000 --- a/src/apps/tempus/contracts/viem/TempusAmm.ts +++ /dev/null @@ -1,1160 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { getContract, GetContractReturnType, PublicClient } from 'viem'; - -export const tempusAmmAbi = [ - { - inputs: [ - { - internalType: 'contract IVault', - name: 'vault', - type: 'address', - }, - { - internalType: 'string', - name: 'name', - type: 'string', - }, - { - internalType: 'string', - name: 'symbol', - type: 'string', - }, - { - internalType: 'contract ITempusPool', - name: 'pool', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amplificationStart', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'amplificationEnd', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'swapFeePercentage', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'pauseWindowDuration', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'bufferPeriodDuration', - type: 'uint256', - }, - { - internalType: 'address', - name: 'owner', - type: 'address', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'startValue', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'endValue', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'startTime', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'endTime', - type: 'uint256', - }, - ], - name: 'AmpUpdateStarted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'currentValue', - type: 'uint256', - }, - ], - name: 'AmpUpdateStopped', - type: 'event', - }, - { - 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: false, - internalType: 'bool', - name: 'paused', - type: 'bool', - }, - ], - name: 'PausedStateChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'swapFeePercentage', - type: 'uint256', - }, - ], - name: 'SwapFeePercentageChanged', - 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', - }, - { - inputs: [], - name: 'DOMAIN_SEPARATOR', - outputs: [ - { - internalType: 'bytes32', - name: '', - 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: '', - 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: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'balanceOf', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'decimals', - outputs: [ - { - internalType: 'uint8', - name: '', - type: 'uint8', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'decreaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes4', - name: 'selector', - type: 'bytes4', - }, - ], - name: 'getActionId', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'getAmplificationParameter', - outputs: [ - { - internalType: 'uint256', - name: 'value', - type: 'uint256', - }, - { - internalType: 'bool', - name: 'isUpdating', - type: 'bool', - }, - { - internalType: 'uint256', - name: 'precision', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'getAuthorizer', - outputs: [ - { - internalType: 'contract IAuthorizer', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'principalsStaked', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'yieldsStaked', - type: 'uint256', - }, - ], - name: 'getExpectedBPTInGivenTokensOut', - outputs: [ - { - internalType: 'uint256', - name: 'lpTokens', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256[]', - name: 'amountsIn', - type: 'uint256[]', - }, - ], - name: 'getExpectedLPTokensForTokensIn', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - internalType: 'bool', - name: 'yieldShareIn', - type: 'bool', - }, - ], - name: 'getExpectedReturnGivenIn', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'bptAmountIn', - type: 'uint256', - }, - ], - name: 'getExpectedTokensOutGivenBPTIn', - outputs: [ - { - internalType: 'uint256', - name: 'principals', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'yields', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'getLastInvariant', - outputs: [ - { - internalType: 'uint256', - name: 'lastInvariant', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'lastInvariantAmp', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'getOwner', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'getPausedState', - outputs: [ - { - internalType: 'bool', - name: 'paused', - type: 'bool', - }, - { - internalType: 'uint256', - name: 'pauseWindowEndTime', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'bufferPeriodEndTime', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'getPoolId', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'getRate', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'getScalingFactors', - outputs: [ - { - internalType: 'uint256[]', - name: '', - type: 'uint256[]', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'principals', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'yields', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'threshold', - type: 'uint256', - }, - ], - name: 'getSwapAmountToEndWithEqualShares', - outputs: [ - { - internalType: 'uint256', - name: 'amountIn', - type: 'uint256', - }, - { - internalType: 'bool', - name: 'yieldsIn', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'getSwapFeePercentage', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'getVault', - outputs: [ - { - internalType: 'contract IVault', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'addedValue', - type: 'uint256', - }, - ], - name: 'increaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - 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: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'poolId', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'sender', - type: 'address', - }, - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'uint256[]', - name: 'balances', - type: 'uint256[]', - }, - { - internalType: 'uint256', - name: 'lastChangeBlock', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'protocolSwapFeePercentage', - type: 'uint256', - }, - { - internalType: 'bytes', - name: 'userData', - type: 'bytes', - }, - ], - name: 'onExitPool', - outputs: [ - { - internalType: 'uint256[]', - name: '', - type: 'uint256[]', - }, - { - internalType: 'uint256[]', - name: '', - type: 'uint256[]', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'poolId', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'sender', - type: 'address', - }, - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'uint256[]', - name: 'balances', - type: 'uint256[]', - }, - { - internalType: 'uint256', - name: 'lastChangeBlock', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'protocolSwapFeePercentage', - type: 'uint256', - }, - { - internalType: 'bytes', - name: 'userData', - type: 'bytes', - }, - ], - name: 'onJoinPool', - outputs: [ - { - internalType: 'uint256[]', - name: '', - type: 'uint256[]', - }, - { - internalType: 'uint256[]', - name: '', - type: 'uint256[]', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - components: [ - { - internalType: 'enum IVault.SwapKind', - name: 'kind', - type: 'uint8', - }, - { - internalType: 'contract IERC20', - name: 'tokenIn', - type: 'address', - }, - { - internalType: 'contract IERC20', - name: 'tokenOut', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - internalType: 'bytes32', - name: 'poolId', - type: 'bytes32', - }, - { - internalType: 'uint256', - name: 'lastChangeBlock', - type: 'uint256', - }, - { - internalType: 'address', - name: 'from', - type: 'address', - }, - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'bytes', - name: 'userData', - type: 'bytes', - }, - ], - internalType: 'struct IPoolSwapStructs.SwapRequest', - name: 'request', - type: 'tuple', - }, - { - internalType: 'uint256', - name: 'balanceTokenIn', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'balanceTokenOut', - type: 'uint256', - }, - ], - name: 'onSwap', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - 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: 'bytes32', - name: 'poolId', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'sender', - type: 'address', - }, - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'uint256[]', - name: 'balances', - type: 'uint256[]', - }, - { - internalType: 'uint256', - name: 'lastChangeBlock', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'protocolSwapFeePercentage', - type: 'uint256', - }, - { - internalType: 'bytes', - name: 'userData', - type: 'bytes', - }, - ], - name: 'queryExit', - outputs: [ - { - internalType: 'uint256', - name: 'bptIn', - type: 'uint256', - }, - { - internalType: 'uint256[]', - name: 'amountsOut', - type: 'uint256[]', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'poolId', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'sender', - type: 'address', - }, - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'uint256[]', - name: 'balances', - type: 'uint256[]', - }, - { - internalType: 'uint256', - name: 'lastChangeBlock', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'protocolSwapFeePercentage', - type: 'uint256', - }, - { - internalType: 'bytes', - name: 'userData', - type: 'bytes', - }, - ], - name: 'queryJoin', - outputs: [ - { - internalType: 'uint256', - name: 'bptOut', - type: 'uint256', - }, - { - internalType: 'uint256[]', - name: 'amountsIn', - type: 'uint256[]', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'contract IERC20', - name: 'token', - type: 'address', - }, - { - internalType: 'bytes', - name: 'poolConfig', - type: 'bytes', - }, - ], - name: 'setAssetManagerPoolConfig', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bool', - name: 'paused', - type: 'bool', - }, - ], - name: 'setPaused', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'swapFeePercentage', - type: 'uint256', - }, - ], - name: 'setSwapFeePercentage', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'rawEndValue', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'endTime', - type: 'uint256', - }, - ], - name: 'startAmplificationParameterUpdate', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'stopAmplificationParameterUpdate', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'symbol', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'tempusPool', - outputs: [ - { - internalType: 'contract ITempusPool', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'totalSupply', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'transfer', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'sender', - type: 'address', - }, - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'transferFrom', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, -] as const; - -export type TempusAmm = typeof tempusAmmAbi; -export type TempusAmmContract = GetContractReturnType; - -export class TempusAmm__factory { - static connect(address: string, client: PublicClient) { - return getContract({ address, abi: tempusAmmAbi, publicClient: client }); - } -} diff --git a/src/apps/tempus/contracts/viem/TempusPool.ts b/src/apps/tempus/contracts/viem/TempusPool.ts deleted file mode 100644 index 67b3f76b7..000000000 --- a/src/apps/tempus/contracts/viem/TempusPool.ts +++ /dev/null @@ -1,881 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { getContract, GetContractReturnType, PublicClient } from 'viem'; - -export const tempusPoolAbi = [ - { - inputs: [ - { - internalType: 'contract ILido', - name: 'token', - type: 'address', - }, - { - internalType: 'address', - name: 'controller', - type: 'address', - }, - { - internalType: 'uint256', - name: 'maturity', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'estYield', - type: 'uint256', - }, - { - components: [ - { - internalType: 'string', - name: 'name', - type: 'string', - }, - { - internalType: 'string', - name: 'symbol', - type: 'string', - }, - ], - internalType: 'struct TokenData', - name: 'principalsData', - type: 'tuple', - }, - { - components: [ - { - internalType: 'string', - name: 'name', - type: 'string', - }, - { - internalType: 'string', - name: 'symbol', - type: 'string', - }, - ], - internalType: 'struct TokenData', - name: 'yieldsData', - type: 'tuple', - }, - { - components: [ - { - internalType: 'uint256', - name: 'depositPercent', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'earlyRedeemPercent', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'matureRedeemPercent', - type: 'uint256', - }, - ], - internalType: 'struct ITempusFees.FeesConfig', - name: 'maxFeeSetup', - type: 'tuple', - }, - { - internalType: 'address', - name: 'referrerAddress', - type: 'address', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'currentOwner', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'proposedOwner', - type: 'address', - }, - ], - name: 'OwnershipProposed', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'previousOwner', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'newOwner', - type: 'address', - }, - ], - name: 'OwnershipTransferred', - type: 'event', - }, - { - inputs: [], - name: 'acceptOwnership', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'backingToken', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'backingTokenONE', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'controller', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'currentInterestRate', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - internalType: 'bool', - name: 'isBackingToken', - type: 'bool', - }, - ], - name: 'estimatedMintedShares', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'principals', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'yields', - type: 'uint256', - }, - { - internalType: 'bool', - name: 'toBackingToken', - type: 'bool', - }, - ], - name: 'estimatedRedeem', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'exceptionalHaltTime', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'exchangeRateONE', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'finalize', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'getFeesConfig', - outputs: [ - { - components: [ - { - internalType: 'uint256', - name: 'depositPercent', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'earlyRedeemPercent', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'matureRedeemPercent', - type: 'uint256', - }, - ], - internalType: 'struct ITempusFees.FeesConfig', - name: '', - type: 'tuple', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'initialInterestRate', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'matured', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'maturityInterestRate', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'maturityTime', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'maxDepositFee', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'maxEarlyRedeemFee', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'maxMatureRedeemFee', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'maximumNegativeYieldDuration', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'yieldTokens', - type: 'uint256', - }, - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - name: 'numAssetsPerYieldToken', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'pure', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'backingTokens', - type: 'uint256', - }, - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - name: 'numYieldTokensPerAsset', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'pure', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'backingTokenAmount', - type: 'uint256', - }, - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - ], - name: 'onDepositBacking', - outputs: [ - { - internalType: 'uint256', - name: 'mintedShares', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'depositedYBT', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'rate', - type: 'uint256', - }, - ], - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'yieldTokenAmount', - type: 'uint256', - }, - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - ], - name: 'onDepositYieldBearing', - outputs: [ - { - internalType: 'uint256', - name: 'mintedShares', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'depositedBT', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'rate', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'owner', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'pricePerPrincipalShare', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'pricePerPrincipalShareStored', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'pricePerYieldShare', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'pricePerYieldShareStored', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'principalShare', - outputs: [ - { - internalType: 'contract IPoolShare', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'protocolName', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'from', - type: 'address', - }, - { - internalType: 'uint256', - name: 'principalAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'yieldAmount', - type: 'uint256', - }, - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - ], - name: 'redeem', - outputs: [ - { - internalType: 'uint256', - name: 'redeemedYieldTokens', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'rate', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'from', - type: 'address', - }, - { - internalType: 'uint256', - name: 'principalAmount', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'yieldAmount', - type: 'uint256', - }, - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - ], - name: 'redeemToBacking', - outputs: [ - { - internalType: 'uint256', - name: 'redeemedYieldTokens', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'redeemedBackingTokens', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'fee', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'rate', - type: 'uint256', - }, - ], - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [ - { - components: [ - { - internalType: 'uint256', - name: 'depositPercent', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'earlyRedeemPercent', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'matureRedeemPercent', - type: 'uint256', - }, - ], - internalType: 'struct ITempusFees.FeesConfig', - name: 'newFeesConfig', - type: 'tuple', - }, - ], - name: 'setFeesConfig', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'startTime', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'totalFees', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - ], - name: 'transferFees', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'newOwner', - type: 'address', - }, - ], - name: 'transferOwnership', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'version', - outputs: [ - { - components: [ - { - internalType: 'uint16', - name: 'major', - type: 'uint16', - }, - { - internalType: 'uint16', - name: 'minor', - type: 'uint16', - }, - { - internalType: 'uint16', - name: 'patch', - type: 'uint16', - }, - ], - internalType: 'struct IVersioned.Version', - name: '', - type: 'tuple', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'yieldBearingONE', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'yieldBearingToken', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'yieldShare', - outputs: [ - { - internalType: 'contract IPoolShare', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, -] as const; - -export type TempusPool = typeof tempusPoolAbi; -export type TempusPoolContract = GetContractReturnType; - -export class TempusPool__factory { - static connect(address: string, client: PublicClient) { - return getContract({ address, abi: tempusPoolAbi, publicClient: client }); - } -} diff --git a/src/apps/tempus/contracts/viem/TempusPyToken.ts b/src/apps/tempus/contracts/viem/TempusPyToken.ts deleted file mode 100644 index 191b913eb..000000000 --- a/src/apps/tempus/contracts/viem/TempusPyToken.ts +++ /dev/null @@ -1,426 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { getContract, GetContractReturnType, PublicClient } from 'viem'; - -export const tempusPyTokenAbi = [ - { - inputs: [ - { - internalType: 'contract ITempusPool', - name: '_pool', - type: 'address', - }, - { - internalType: 'string', - name: 'name', - type: 'string', - }, - { - internalType: 'string', - name: 'symbol', - type: 'string', - }, - { - internalType: 'uint8', - name: 'decimals', - type: 'uint8', - }, - ], - 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: 'from', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'to', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'value', - type: 'uint256', - }, - ], - name: 'Transfer', - type: 'event', - }, - { - inputs: [ - { - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - ], - name: 'allowance', - outputs: [ - { - internalType: 'uint256', - name: '', - 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: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'balanceOf', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'burn', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'burnFrom', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'decimals', - outputs: [ - { - internalType: 'uint8', - name: '', - type: 'uint8', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'subtractedValue', - type: 'uint256', - }, - ], - name: 'decreaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'getPricePerFullShare', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'getPricePerFullShareStored', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'addedValue', - type: 'uint256', - }, - ], - name: 'increaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'kind', - outputs: [ - { - internalType: 'enum IPoolShare.ShareKind', - name: '', - type: 'uint8', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'manager', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'mint', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'name', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'pool', - outputs: [ - { - internalType: 'contract ITempusPool', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'symbol', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'totalSupply', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'transfer', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'sender', - type: 'address', - }, - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'transferFrom', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, -] as const; - -export type TempusPyToken = typeof tempusPyTokenAbi; -export type TempusPyTokenContract = GetContractReturnType; - -export class TempusPyToken__factory { - static connect(address: string, client: PublicClient) { - return getContract({ address, abi: tempusPyTokenAbi, publicClient: client }); - } -} diff --git a/src/apps/tempus/contracts/viem/index.ts b/src/apps/tempus/contracts/viem/index.ts deleted file mode 100644 index 90342d6d8..000000000 --- a/src/apps/tempus/contracts/viem/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -export type { TempusAmm } from './TempusAmm'; -export type { TempusPool } from './TempusPool'; -export type { TempusPyToken } from './TempusPyToken'; - -export { TempusAmm__factory } from './TempusAmm'; -export { TempusPool__factory } from './TempusPool'; -export { TempusPyToken__factory } from './TempusPyToken'; diff --git a/src/apps/tempus/ethereum/tempus.amm.token-fetcher.ts b/src/apps/tempus/ethereum/tempus.amm.token-fetcher.ts deleted file mode 100644 index d83f016a2..000000000 --- a/src/apps/tempus/ethereum/tempus.amm.token-fetcher.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; - -import { TempusAmmTokenFetcher } from '../common/tempus.amm.token-fetcher'; - -@PositionTemplate() -export class EthereumTempusAmmTokenFetcher extends TempusAmmTokenFetcher { - groupLabel = 'AMM Liquidity'; -} diff --git a/src/apps/tempus/ethereum/tempus.pool.token-fetcher.ts b/src/apps/tempus/ethereum/tempus.pool.token-fetcher.ts deleted file mode 100644 index ab0888a68..000000000 --- a/src/apps/tempus/ethereum/tempus.pool.token-fetcher.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; - -import { TempusPoolTokenFetcher } from '../common/tempus.pool.token-fetcher'; - -@PositionTemplate() -export class EthereumTempusPoolTokenFetcher extends TempusPoolTokenFetcher { - groupLabel = 'P-Y Tokens'; -} diff --git a/src/apps/tempus/fantom/tempus.amm.token-fetcher.ts b/src/apps/tempus/fantom/tempus.amm.token-fetcher.ts deleted file mode 100644 index 09af98b6f..000000000 --- a/src/apps/tempus/fantom/tempus.amm.token-fetcher.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; - -import { TempusAmmTokenFetcher } from '../common/tempus.amm.token-fetcher'; - -@PositionTemplate() -export class FantomTempusAmmTokenFetcher extends TempusAmmTokenFetcher { - groupLabel = 'AMM Liquidity'; -} diff --git a/src/apps/tempus/fantom/tempus.pool.token-fetcher.ts b/src/apps/tempus/fantom/tempus.pool.token-fetcher.ts deleted file mode 100644 index a56e294e2..000000000 --- a/src/apps/tempus/fantom/tempus.pool.token-fetcher.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; - -import { TempusPoolTokenFetcher } from '../common/tempus.pool.token-fetcher'; - -@PositionTemplate() -export class FantomTempusPoolTokenFetcher extends TempusPoolTokenFetcher { - groupLabel = 'P-Y Tokens'; -} diff --git a/src/apps/tempus/tempus.module.ts b/src/apps/tempus/tempus.module.ts deleted file mode 100644 index 42c934c6d..000000000 --- a/src/apps/tempus/tempus.module.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Module } from '@nestjs/common'; - -import { AbstractApp } from '~app/app.dynamic-module'; - -import { TempusViemContractFactory } from './contracts'; -import { EthereumTempusAmmTokenFetcher } from './ethereum/tempus.amm.token-fetcher'; -import { EthereumTempusPoolTokenFetcher } from './ethereum/tempus.pool.token-fetcher'; -import { FantomTempusAmmTokenFetcher } from './fantom/tempus.amm.token-fetcher'; -import { FantomTempusPoolTokenFetcher } from './fantom/tempus.pool.token-fetcher'; - -@Module({ - providers: [ - TempusViemContractFactory, - // Ethereum - EthereumTempusAmmTokenFetcher, - EthereumTempusPoolTokenFetcher, - // Fantom - FantomTempusAmmTokenFetcher, - FantomTempusPoolTokenFetcher, - ], -}) -export class TempusAppModule extends AbstractApp() {} diff --git a/src/apps/unipilot/assets/logo.png b/src/apps/unipilot/assets/logo.png deleted file mode 100644 index fbbc85ebcfd49d20cdbc07b76f24df9ae026868e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12377 zcmV-fFs9FmP)+YV)~)aT zh5A*MMHh)7H@IB=>#2Su^aBG(27x1ir63PC$xozmembPAKO%tbz}r9uz`l zWEdEcFfL&t3wH6qmL}Zo!2!|g3UnGWeRDzTjy)&aH+L4W3^=0F`B`BIFh_kPEC3Ec zs*bH;+FMq?JGXx$No<#sMWiOr4&Z=<{UA328-T6qzdbRe&JC%LEEP(W3yHSJOh=a> z0g#)oU;0W491HRS;A|vER|vu4#w%pa-)V=u4%D3TI9GqI-UBXP^pe2Z~dJ(x^^);XEpQmhzbC6sC@_79n<|{!`F^ruMfh1wn zEc{3kn;=z`fpK6n@C2|1xL-*bdt!JDfh|h~C>Oo!Izw?#5+t`^CB~*W7q|wv4me7a zp|Jz`Kzby1=&tQal6p*ld;rOhfuAe2tUSDZ+`FPP69*MR3^A0nI2rgT@F}3TAz>(z zcoBpEBuQS?N`N5M`%;Ns0lo(O2-s8}-tKeV%)*Q(h_Wk0|6qRx&X@23;7pK5YWJ&~ z`sDt)cTb#_s?|z@O#M^()q3Dn;Bnv{yD+>)*RC+)lTT-3MiL}{$Pv}A{YY*y(&7wY z_VjMy_x28$E+9$Lar;V-s(9t;bKd)&wt&17__l=A%CNVGcX;I0xtLJ|$@UMD?Vqb| zOG$L|-3iy^Eal6-kxpo<-KUzArHjkIhI9h}=L)7H5vy z)$tNUhd#61MHN#cx4;G=5A zP_sPCZ@jla_Y_3U@=@=6?q%G}Ww{sl2U!?dr*rHOiP8}SQBuQ%mEQo|V&bG45vcRx z;~I51-;g%0!5$;hH>54nbUVcRKGp)i0X!)SBc)CtN!zPfh8%|he*ye26DkrDUaryT z*T=6xnrMr6;lfHJ16h&HzbK2NrB+wS4{b{jrBdbQEt>;e34GPe$?%>ctPELCW7h4u z`mafJrhrCuqKIRxCsJwgD&ZzyW)7mq#61gSL_&h8zkf0k<22JnuDq zJ04PgKeXNJrwItBr_M7Y@ye!rT;%%4+s!U%D}rPPwC%kB_%d)=W3+8rL_=>Vk?9p9gK9x!xEt4QdYG6E5e*%2iw>~YWa~*u^6Rg7Rc3a6I(wz+eXMuc0 z5flnrlQfYiO(BRf z$gP3-8IjFhVCHWqa?B2wiwiY6<<;0J_4I;|7M9{I&Z|UJXxrpfnaPbc%O+{cV>6QD z%*tA@!ee4nPY{9tYk~d3>UoyZSio?K@JLO?G9e__iORkj0a~d(N!-B1 zcIqTuq<}+!&jQDZKIaLhNg#28C}J3L%rQ%T8Y$%$85;%d<_hhi$yfn=TzyH4B#Ek6 z+5Y)ta(${79gol<>(`1&5~d$I-o-(Q6U=5n>qM@vsAnc7XpY*d1DiPMEA`hoWV2Y_dgb{RXlsqTpqBsXu_EZ}eSWG7LP9PtT~n*G(q%zGBncHuRqB_3k2IVK(}$(QCk$H3mk`r=n}UP- z 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 `studio:unipilot:${network}:pool-data-definitions`, - ttl: 5 * 60, // 5 minutes - }) - private async getVaultDefinitionsData(network: Network) { - const Query = network === Network.ETHEREUM_MAINNET ? UNIPILOT_VAULTS : UNIPILOT_VAULTS_POLYGON; - - const data = await gqlFetch({ - endpoint: SUBGRAPH_ENDPOINTS[network].stats, - query: Query, - variables: { - first: 1000, - }, - }); - - return data.vaults; - } - - async getVaultDefinitions(network: Network): Promise { - const vaultsDefinitionsData = await this.getVaultDefinitionsData(network); - - const vaultsDefinitions = vaultsDefinitionsData.map(vault => { - return { - address: vault.id, - token0Address: vault.token0.id, - token1Address: vault.token1.id, - feeTier: vault.feeTier, - token0Symbol: vault.token0.symbol, - token1Symbol: vault.token1.symbol, - strategyId: vault.strategyId, - totalLockedToken0: vault.totalLockedToken0, - totalLockedToken1: vault.totalLockedToken1, - }; - }); - - return vaultsDefinitions; - } -} diff --git a/src/apps/unipilot/common/unipilot.vault.token-fetcher.ts b/src/apps/unipilot/common/unipilot.vault.token-fetcher.ts deleted file mode 100644 index b289c4364..000000000 --- a/src/apps/unipilot/common/unipilot.vault.token-fetcher.ts +++ /dev/null @@ -1,117 +0,0 @@ -import { Inject } from '@nestjs/common'; - -import { APP_TOOLKIT, IAppToolkit } from '~app-toolkit/app-toolkit.interface'; -import { MetaType } from '~position/position.interface'; -import { AppTokenTemplatePositionFetcher } from '~position/template/app-token.template.position-fetcher'; -import { - DefaultAppTokenDataProps, - GetAddressesParams, - GetDisplayPropsParams, - GetPricePerShareParams, - GetUnderlyingTokensParams, -} from '~position/template/app-token.template.types'; -import { GetTokenDefinitionsParams } from '~position/template/contract-position.template.types'; - -import { UnipilotViemContractFactory } from '../contracts'; -import { UnipilotVault } from '../contracts/viem'; -import { UnipilotVaultDefinition } from '../utils/generalTypes'; - -import { UnipilotVaultDefinitionsResolver } from './unipilot.vault-definition-resolver'; - -export type UnipilotVaultTokenDataProps = DefaultAppTokenDataProps & { - fee: number; -}; - -export abstract class UnipilotVaultTokenFetcher extends AppTokenTemplatePositionFetcher< - UnipilotVault, - UnipilotVaultTokenDataProps, - UnipilotVaultDefinition -> { - constructor( - @Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit, - @Inject(UnipilotVaultDefinitionsResolver) - private readonly vaultDefinitionsResolver: UnipilotVaultDefinitionsResolver, - @Inject(UnipilotViemContractFactory) - private readonly contractFactory: UnipilotViemContractFactory, - ) { - super(appToolkit); - } - - getContract(address: string) { - return this.contractFactory.unipilotVault({ address, network: this.network }); - } - - async getDefinitions(): Promise { - return this.vaultDefinitionsResolver.getVaultDefinitions(this.network); - } - - async getAddresses({ definitions }: GetAddressesParams): Promise { - return definitions.map(v => v.address); - } - - async getUnderlyingTokenDefinitions({ - definition, - }: GetUnderlyingTokensParams) { - return [ - { address: definition.token0Address, network: this.network }, - { address: definition.token1Address, network: this.network }, - ]; - } - - async getTokenDefinitions({ definition }: GetTokenDefinitionsParams) { - return [ - { - metaType: MetaType.SUPPLIED, - address: definition.token0Address, - network: this.network, - }, - { - metaType: MetaType.SUPPLIED, - address: definition.token1Address, - network: this.network, - }, - ]; - } - - async getPricePerShare({ - appToken, - definition, - }: GetPricePerShareParams) { - const { totalLockedToken0, totalLockedToken1 } = definition; - const reservesRaw = [totalLockedToken0, totalLockedToken1]; - const reserves = reservesRaw.map((r, i) => Number(r) / 10 ** appToken.tokens[i].decimals); - const pricePerShare = reserves.map(r => { - return r == 0 ? 0 : r / appToken.supply; - }); - return pricePerShare; - } - - async getLabel({ - appToken, - definition, - }: GetDisplayPropsParams): Promise { - const strategyLabels = { - '0': '', - '1': 'Wide', - '2': 'Balanced', - '3': 'Narrow', - }; - const { feeTier, strategyId } = definition; - const { tokens } = appToken; - - const feeTierLabel = parseFloat(feeTier) / 10000 + '%'; - - const strategyLabel: string = strategyId ? strategyLabels[strategyId] : ''; - const label = `${tokens[0].symbol}/${tokens[1].symbol} ${feeTierLabel} ${strategyLabel}`; - - return label; - } - - async getSecondaryLabel({ - appToken, - }: GetDisplayPropsParams) { - const { liquidity, reserves } = appToken.dataProps; - const reservePercentages = appToken.tokens.map((t, i) => reserves[i] * (t.price / liquidity)); - return reservePercentages.map(p => `${Math.round(p * 100)}%`).join(' / '); - } -} diff --git a/src/apps/unipilot/contracts/abis/unipilot-ethereum-factory.json b/src/apps/unipilot/contracts/abis/unipilot-ethereum-factory.json deleted file mode 100644 index 263801da3..000000000 --- a/src/apps/unipilot/contracts/abis/unipilot-ethereum-factory.json +++ /dev/null @@ -1,104 +0,0 @@ -[ - { - "inputs": [ - { "internalType": "address", "name": "_uniswapFactory", "type": "address" }, - { "internalType": "address", "name": "_governance", "type": "address" }, - { "internalType": "address", "name": "_uniStrategy", "type": "address" }, - { "internalType": "address", "name": "_indexFund", "type": "address" }, - { "internalType": "address", "name": "_WETH", "type": "address" }, - { "internalType": "uint8", "name": "percentage", "type": "uint8" } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "_oldGovernance", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "_newGovernance", "type": "address" } - ], - "name": "GovernanceChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "_tokenA", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "_tokenB", "type": "address" }, - { "indexed": false, "internalType": "uint24", "name": "_fee", "type": "uint24" }, - { "indexed": true, "internalType": "address", "name": "_vault", "type": "address" } - ], - "name": "VaultCreated", - "type": "event" - }, - { - "inputs": [ - { "internalType": "address", "name": "_tokenA", "type": "address" }, - { "internalType": "address", "name": "_tokenB", "type": "address" }, - { "internalType": "uint24", "name": "_fee", "type": "uint24" }, - { "internalType": "uint160", "name": "_sqrtPriceX96", "type": "uint160" }, - { "internalType": "string", "name": "_name", "type": "string" }, - { "internalType": "string", "name": "_symbol", "type": "string" } - ], - "name": "createVault", - "outputs": [{ "internalType": "address", "name": "_vault", "type": "address" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getUnipilotDetails", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" }, - { "internalType": "address", "name": "", "type": "address" }, - { "internalType": "address", "name": "", "type": "address" }, - { "internalType": "uint8", "name": "", "type": "uint8" }, - { "internalType": "uint8", "name": "", "type": "uint8" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "isWhitelist", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_newGovernance", "type": "address" }], - "name": "setGovernance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "_strategy", "type": "address" }, - { "internalType": "address", "name": "_indexFund", "type": "address" }, - { "internalType": "uint8", "name": "_indexFundPercentage", "type": "uint8" } - ], - "name": "setUnipilotDetails", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_address", "type": "address" }], - "name": "toggleWhitelistAccount", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "", "type": "address" }, - { "internalType": "address", "name": "", "type": "address" }, - { "internalType": "uint24", "name": "", "type": "uint24" } - ], - "name": "vaults", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - } -] diff --git a/src/apps/unipilot/contracts/abis/unipilot-polygon-factory.json b/src/apps/unipilot/contracts/abis/unipilot-polygon-factory.json deleted file mode 100644 index f3879f39b..000000000 --- a/src/apps/unipilot/contracts/abis/unipilot-polygon-factory.json +++ /dev/null @@ -1,107 +0,0 @@ -[ - { - "inputs": [ - { "internalType": "address", "name": "_uniswapFactory", "type": "address" }, - { "internalType": "address", "name": "_governance", "type": "address" }, - { "internalType": "address", "name": "_uniStrategy", "type": "address" }, - { "internalType": "address", "name": "_indexFund", "type": "address" }, - { "internalType": "address", "name": "_WETH", "type": "address" }, - { "internalType": "uint8", "name": "percentage", "type": "uint8" } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "_oldGovernance", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "_newGovernance", "type": "address" } - ], - "name": "GovernanceChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "_tokenA", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "_tokenB", "type": "address" }, - { "indexed": false, "internalType": "uint16", "name": "_strategyType", "type": "uint16" }, - { "indexed": false, "internalType": "uint24", "name": "_fee", "type": "uint24" }, - { "indexed": true, "internalType": "address", "name": "_vault", "type": "address" } - ], - "name": "VaultCreated", - "type": "event" - }, - { - "inputs": [ - { "internalType": "address", "name": "_tokenA", "type": "address" }, - { "internalType": "address", "name": "_tokenB", "type": "address" }, - { "internalType": "uint24", "name": "_fee", "type": "uint24" }, - { "internalType": "uint16", "name": "_vaultStrategy", "type": "uint16" }, - { "internalType": "uint160", "name": "_sqrtPriceX96", "type": "uint160" }, - { "internalType": "string", "name": "_name", "type": "string" }, - { "internalType": "string", "name": "_symbol", "type": "string" } - ], - "name": "createVault", - "outputs": [{ "internalType": "address", "name": "_vault", "type": "address" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getUnipilotDetails", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" }, - { "internalType": "address", "name": "", "type": "address" }, - { "internalType": "address", "name": "", "type": "address" }, - { "internalType": "uint8", "name": "", "type": "uint8" }, - { "internalType": "uint8", "name": "", "type": "uint8" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "", "type": "address" }], - "name": "isWhitelist", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_newGovernance", "type": "address" }], - "name": "setGovernance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "_strategy", "type": "address" }, - { "internalType": "address", "name": "_indexFund", "type": "address" }, - { "internalType": "uint8", "name": "_indexFundPercentage", "type": "uint8" } - ], - "name": "setUnipilotDetails", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [{ "internalType": "address", "name": "_address", "type": "address" }], - "name": "toggleWhitelistAccount", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "", "type": "address" }, - { "internalType": "address", "name": "", "type": "address" }, - { "internalType": "uint24", "name": "", "type": "uint24" }, - { "internalType": "uint16", "name": "", "type": "uint16" } - ], - "name": "vaults", - "outputs": [{ "internalType": "address", "name": "", "type": "address" }], - "stateMutability": "view", - "type": "function" - } -] diff --git a/src/apps/unipilot/contracts/abis/unipilot-vault.json b/src/apps/unipilot/contracts/abis/unipilot-vault.json deleted file mode 100644 index 5b2f71066..000000000 --- a/src/apps/unipilot/contracts/abis/unipilot-vault.json +++ /dev/null @@ -1,303 +0,0 @@ -[ - { - "inputs": [ - { "internalType": "address", "name": "_pool", "type": "address" }, - { "internalType": "address", "name": "_unipilotFactory", "type": "address" }, - { "internalType": "address", "name": "_WETH", "type": "address" }, - { "internalType": "string", "name": "_name", "type": "string" }, - { "internalType": "string", "name": "_symbol", "type": "string" } - ], - "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": false, "internalType": "uint256", "name": "amount0", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "amount1", "type": "uint256" } - ], - "name": "CompoundFees", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "depositor", "type": "address" }, - { "indexed": true, "internalType": "address", "name": "recipient", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "amount0", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "amount1", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "lpShares", "type": "uint256" } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "bool", "name": "isReadjustLiquidity", "type": "bool" }, - { "indexed": false, "internalType": "uint256", "name": "fees0", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "fees1", "type": "uint256" } - ], - "name": "FeesSnapshot", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": false, "internalType": "uint256", "name": "reserves0", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "reserves1", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "fees0", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "fees1", "type": "uint256" } - ], - "name": "PullLiquidity", - "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" - }, - { - "anonymous": false, - "inputs": [ - { "indexed": true, "internalType": "address", "name": "recipient", "type": "address" }, - { "indexed": false, "internalType": "uint256", "name": "shares", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "amount0", "type": "uint256" }, - { "indexed": false, "internalType": "uint256", "name": "amount1", "type": "uint256" } - ], - "name": "Withdraw", - "type": "event" - }, - { "stateMutability": "payable", "type": "fallback" }, - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [{ "internalType": "bytes32", "name": "", "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": "", "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": [{ "internalType": "address", "name": "account", "type": "address" }], - "name": "balanceOf", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } - ], - "name": "decreaseAllowance", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "amount0Desired", "type": "uint256" }, - { "internalType": "uint256", "name": "amount1Desired", "type": "uint256" }, - { "internalType": "address", "name": "recipient", "type": "address" } - ], - "name": "deposit", - "outputs": [ - { "internalType": "uint256", "name": "lpShares", "type": "uint256" }, - { "internalType": "uint256", "name": "amount0", "type": "uint256" }, - { "internalType": "uint256", "name": "amount1", "type": "uint256" } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "getPositionDetails", - "outputs": [ - { "internalType": "uint256", "name": "amount0", "type": "uint256" }, - { "internalType": "uint256", "name": "amount1", "type": "uint256" }, - { "internalType": "uint256", "name": "fees0", "type": "uint256" }, - { "internalType": "uint256", "name": "fees1", "type": "uint256" }, - { "internalType": "uint128", "name": "baseLiquidity", "type": "uint128" }, - { "internalType": "uint128", "name": "rangeLiquidity", "type": "uint128" } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getVaultInfo", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" }, - { "internalType": "address", "name": "", "type": "address" }, - { "internalType": "uint24", "name": "", "type": "uint24" }, - { "internalType": "address", "name": "", "type": "address" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "addedValue", "type": "uint256" } - ], - "name": "increaseAllowance", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "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": "", "type": "uint256" }], - "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": [], "name": "readjustLiquidity", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [], - "name": "symbol", - "outputs": [{ "internalType": "string", "name": "", "type": "string" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ticksData", - "outputs": [ - { "internalType": "int24", "name": "baseTickLower", "type": "int24" }, - { "internalType": "int24", "name": "baseTickUpper", "type": "int24" }, - { "internalType": "int24", "name": "rangeTickLower", "type": "int24" }, - { "internalType": "int24", "name": "rangeTickUpper", "type": "int24" } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "recipient", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "transfer", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "address", "name": "sender", "type": "address" }, - { "internalType": "address", "name": "recipient", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "name": "transferFrom", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "amount0Owed", "type": "uint256" }, - { "internalType": "uint256", "name": "amount1Owed", "type": "uint256" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "name": "uniswapV3MintCallback", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "int256", "name": "amount0", "type": "int256" }, - { "internalType": "int256", "name": "amount1", "type": "int256" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "name": "uniswapV3SwapCallback", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, - { "internalType": "address", "name": "recipient", "type": "address" }, - { "internalType": "bool", "name": "refundAsETH", "type": "bool" } - ], - "name": "withdraw", - "outputs": [ - { "internalType": "uint256", "name": "amount0", "type": "uint256" }, - { "internalType": "uint256", "name": "amount1", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { "stateMutability": "payable", "type": "receive" } -] diff --git a/src/apps/unipilot/contracts/index.ts b/src/apps/unipilot/contracts/index.ts deleted file mode 100644 index 5dcfebdf6..000000000 --- a/src/apps/unipilot/contracts/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * from './viem.contract-factory'; diff --git a/src/apps/unipilot/contracts/viem.contract-factory.ts b/src/apps/unipilot/contracts/viem.contract-factory.ts deleted file mode 100644 index dce452ec3..000000000 --- a/src/apps/unipilot/contracts/viem.contract-factory.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Injectable, Inject } from '@nestjs/common'; - -import { IAppToolkit, APP_TOOLKIT } from '~app-toolkit/app-toolkit.interface'; -import { Network } from '~types/network.interface'; - -import { UnipilotEthereumFactory__factory, UnipilotPolygonFactory__factory, UnipilotVault__factory } from './viem'; - -type ContractOpts = { address: string; network: Network }; - -@Injectable() -export class UnipilotViemContractFactory { - constructor(@Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit) {} - - unipilotEthereumFactory({ address, network }: ContractOpts) { - return UnipilotEthereumFactory__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); - } - unipilotPolygonFactory({ address, network }: ContractOpts) { - return UnipilotPolygonFactory__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); - } - unipilotVault({ address, network }: ContractOpts) { - return UnipilotVault__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); - } -} diff --git a/src/apps/unipilot/contracts/viem/UnipilotEthereumFactory.ts b/src/apps/unipilot/contracts/viem/UnipilotEthereumFactory.ts deleted file mode 100644 index 5e081f3c8..000000000 --- a/src/apps/unipilot/contracts/viem/UnipilotEthereumFactory.ts +++ /dev/null @@ -1,276 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { getContract, GetContractReturnType, PublicClient } from 'viem'; - -export const unipilotEthereumFactoryAbi = [ - { - inputs: [ - { - internalType: 'address', - name: '_uniswapFactory', - type: 'address', - }, - { - internalType: 'address', - name: '_governance', - type: 'address', - }, - { - internalType: 'address', - name: '_uniStrategy', - type: 'address', - }, - { - internalType: 'address', - name: '_indexFund', - type: 'address', - }, - { - internalType: 'address', - name: '_WETH', - type: 'address', - }, - { - internalType: 'uint8', - name: 'percentage', - type: 'uint8', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: '_oldGovernance', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: '_newGovernance', - type: 'address', - }, - ], - name: 'GovernanceChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: '_tokenA', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: '_tokenB', - type: 'address', - }, - { - indexed: false, - internalType: 'uint24', - name: '_fee', - type: 'uint24', - }, - { - indexed: true, - internalType: 'address', - name: '_vault', - type: 'address', - }, - ], - name: 'VaultCreated', - type: 'event', - }, - { - inputs: [ - { - internalType: 'address', - name: '_tokenA', - type: 'address', - }, - { - internalType: 'address', - name: '_tokenB', - type: 'address', - }, - { - internalType: 'uint24', - name: '_fee', - type: 'uint24', - }, - { - internalType: 'uint160', - name: '_sqrtPriceX96', - type: 'uint160', - }, - { - internalType: 'string', - name: '_name', - type: 'string', - }, - { - internalType: 'string', - name: '_symbol', - type: 'string', - }, - ], - name: 'createVault', - outputs: [ - { - internalType: 'address', - name: '_vault', - type: 'address', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'getUnipilotDetails', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - { - internalType: 'address', - name: '', - type: 'address', - }, - { - internalType: 'address', - name: '', - type: 'address', - }, - { - internalType: 'uint8', - name: '', - type: 'uint8', - }, - { - internalType: 'uint8', - name: '', - type: 'uint8', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - name: 'isWhitelist', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_newGovernance', - type: 'address', - }, - ], - name: 'setGovernance', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_strategy', - type: 'address', - }, - { - internalType: 'address', - name: '_indexFund', - type: 'address', - }, - { - internalType: 'uint8', - name: '_indexFundPercentage', - type: 'uint8', - }, - ], - name: 'setUnipilotDetails', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_address', - type: 'address', - }, - ], - name: 'toggleWhitelistAccount', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - { - internalType: 'address', - name: '', - type: 'address', - }, - { - internalType: 'uint24', - name: '', - type: 'uint24', - }, - ], - name: 'vaults', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, -] as const; - -export type UnipilotEthereumFactory = typeof unipilotEthereumFactoryAbi; -export type UnipilotEthereumFactoryContract = GetContractReturnType; - -export class UnipilotEthereumFactory__factory { - static connect(address: string, client: PublicClient) { - return getContract({ address, abi: unipilotEthereumFactoryAbi, publicClient: client }); - } -} diff --git a/src/apps/unipilot/contracts/viem/UnipilotPolygonFactory.ts b/src/apps/unipilot/contracts/viem/UnipilotPolygonFactory.ts deleted file mode 100644 index ed72c5eaa..000000000 --- a/src/apps/unipilot/contracts/viem/UnipilotPolygonFactory.ts +++ /dev/null @@ -1,292 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { getContract, GetContractReturnType, PublicClient } from 'viem'; - -export const unipilotPolygonFactoryAbi = [ - { - inputs: [ - { - internalType: 'address', - name: '_uniswapFactory', - type: 'address', - }, - { - internalType: 'address', - name: '_governance', - type: 'address', - }, - { - internalType: 'address', - name: '_uniStrategy', - type: 'address', - }, - { - internalType: 'address', - name: '_indexFund', - type: 'address', - }, - { - internalType: 'address', - name: '_WETH', - type: 'address', - }, - { - internalType: 'uint8', - name: 'percentage', - type: 'uint8', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: '_oldGovernance', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: '_newGovernance', - type: 'address', - }, - ], - name: 'GovernanceChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: '_tokenA', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: '_tokenB', - type: 'address', - }, - { - indexed: false, - internalType: 'uint16', - name: '_strategyType', - type: 'uint16', - }, - { - indexed: false, - internalType: 'uint24', - name: '_fee', - type: 'uint24', - }, - { - indexed: true, - internalType: 'address', - name: '_vault', - type: 'address', - }, - ], - name: 'VaultCreated', - type: 'event', - }, - { - inputs: [ - { - internalType: 'address', - name: '_tokenA', - type: 'address', - }, - { - internalType: 'address', - name: '_tokenB', - type: 'address', - }, - { - internalType: 'uint24', - name: '_fee', - type: 'uint24', - }, - { - internalType: 'uint16', - name: '_vaultStrategy', - type: 'uint16', - }, - { - internalType: 'uint160', - name: '_sqrtPriceX96', - type: 'uint160', - }, - { - internalType: 'string', - name: '_name', - type: 'string', - }, - { - internalType: 'string', - name: '_symbol', - type: 'string', - }, - ], - name: 'createVault', - outputs: [ - { - internalType: 'address', - name: '_vault', - type: 'address', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'getUnipilotDetails', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - { - internalType: 'address', - name: '', - type: 'address', - }, - { - internalType: 'address', - name: '', - type: 'address', - }, - { - internalType: 'uint8', - name: '', - type: 'uint8', - }, - { - internalType: 'uint8', - name: '', - type: 'uint8', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - name: 'isWhitelist', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_newGovernance', - type: 'address', - }, - ], - name: 'setGovernance', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_strategy', - type: 'address', - }, - { - internalType: 'address', - name: '_indexFund', - type: 'address', - }, - { - internalType: 'uint8', - name: '_indexFundPercentage', - type: 'uint8', - }, - ], - name: 'setUnipilotDetails', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_address', - type: 'address', - }, - ], - name: 'toggleWhitelistAccount', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - { - internalType: 'address', - name: '', - type: 'address', - }, - { - internalType: 'uint24', - name: '', - type: 'uint24', - }, - { - internalType: 'uint16', - name: '', - type: 'uint16', - }, - ], - name: 'vaults', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, -] as const; - -export type UnipilotPolygonFactory = typeof unipilotPolygonFactoryAbi; -export type UnipilotPolygonFactoryContract = GetContractReturnType; - -export class UnipilotPolygonFactory__factory { - static connect(address: string, client: PublicClient) { - return getContract({ address, abi: unipilotPolygonFactoryAbi, publicClient: client }); - } -} diff --git a/src/apps/unipilot/contracts/viem/UnipilotVault.ts b/src/apps/unipilot/contracts/viem/UnipilotVault.ts deleted file mode 100644 index acff81ffb..000000000 --- a/src/apps/unipilot/contracts/viem/UnipilotVault.ts +++ /dev/null @@ -1,763 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { getContract, GetContractReturnType, PublicClient } from 'viem'; - -export const unipilotVaultAbi = [ - { - inputs: [ - { - internalType: 'address', - name: '_pool', - type: 'address', - }, - { - internalType: 'address', - name: '_unipilotFactory', - type: 'address', - }, - { - internalType: 'address', - name: '_WETH', - type: 'address', - }, - { - internalType: 'string', - name: '_name', - type: 'string', - }, - { - internalType: 'string', - name: '_symbol', - type: 'string', - }, - ], - 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: false, - internalType: 'uint256', - name: 'amount0', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount1', - type: 'uint256', - }, - ], - name: 'CompoundFees', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'depositor', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount0', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount1', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'lpShares', - type: 'uint256', - }, - ], - name: 'Deposit', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'bool', - name: 'isReadjustLiquidity', - type: 'bool', - }, - { - indexed: false, - internalType: 'uint256', - name: 'fees0', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'fees1', - type: 'uint256', - }, - ], - name: 'FeesSnapshot', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'reserves0', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'reserves1', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'fees0', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'fees1', - type: 'uint256', - }, - ], - name: 'PullLiquidity', - 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', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'shares', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount0', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount1', - type: 'uint256', - }, - ], - name: 'Withdraw', - type: 'event', - }, - { - stateMutability: 'payable', - type: 'fallback', - }, - { - inputs: [], - name: 'DOMAIN_SEPARATOR', - outputs: [ - { - internalType: 'bytes32', - name: '', - 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: '', - 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: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'balanceOf', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'decimals', - outputs: [ - { - internalType: 'uint8', - name: '', - type: 'uint8', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'subtractedValue', - type: 'uint256', - }, - ], - name: 'decreaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'amount0Desired', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'amount1Desired', - type: 'uint256', - }, - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - ], - name: 'deposit', - outputs: [ - { - internalType: 'uint256', - name: 'lpShares', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'amount0', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'amount1', - type: 'uint256', - }, - ], - stateMutability: 'payable', - type: 'function', - }, - { - inputs: [], - name: 'getPositionDetails', - outputs: [ - { - internalType: 'uint256', - name: 'amount0', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'amount1', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'fees0', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'fees1', - type: 'uint256', - }, - { - internalType: 'uint128', - name: 'baseLiquidity', - type: 'uint128', - }, - { - internalType: 'uint128', - name: 'rangeLiquidity', - type: 'uint128', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'getVaultInfo', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - { - internalType: 'address', - name: '', - type: 'address', - }, - { - internalType: 'uint24', - name: '', - type: 'uint24', - }, - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'addedValue', - type: 'uint256', - }, - ], - name: 'increaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - 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: '', - type: 'uint256', - }, - ], - 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: [], - name: 'readjustLiquidity', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'symbol', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'ticksData', - outputs: [ - { - internalType: 'int24', - name: 'baseTickLower', - type: 'int24', - }, - { - internalType: 'int24', - name: 'baseTickUpper', - type: 'int24', - }, - { - internalType: 'int24', - name: 'rangeTickLower', - type: 'int24', - }, - { - internalType: 'int24', - name: 'rangeTickUpper', - type: 'int24', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'totalSupply', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'transfer', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'sender', - type: 'address', - }, - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'transferFrom', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'amount0Owed', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'amount1Owed', - type: 'uint256', - }, - { - internalType: 'bytes', - name: 'data', - type: 'bytes', - }, - ], - name: 'uniswapV3MintCallback', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'int256', - name: 'amount0', - type: 'int256', - }, - { - internalType: 'int256', - name: 'amount1', - type: 'int256', - }, - { - internalType: 'bytes', - name: 'data', - type: 'bytes', - }, - ], - name: 'uniswapV3SwapCallback', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'liquidity', - type: 'uint256', - }, - { - internalType: 'address', - name: 'recipient', - type: 'address', - }, - { - internalType: 'bool', - name: 'refundAsETH', - type: 'bool', - }, - ], - name: 'withdraw', - outputs: [ - { - internalType: 'uint256', - name: 'amount0', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'amount1', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - stateMutability: 'payable', - type: 'receive', - }, -] as const; - -export type UnipilotVault = typeof unipilotVaultAbi; -export type UnipilotVaultContract = GetContractReturnType; - -export class UnipilotVault__factory { - static connect(address: string, client: PublicClient) { - return getContract({ address, abi: unipilotVaultAbi, publicClient: client }); - } -} diff --git a/src/apps/unipilot/contracts/viem/index.ts b/src/apps/unipilot/contracts/viem/index.ts deleted file mode 100644 index 729a04602..000000000 --- a/src/apps/unipilot/contracts/viem/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -export type { UnipilotEthereumFactory } from './UnipilotEthereumFactory'; -export type { UnipilotPolygonFactory } from './UnipilotPolygonFactory'; -export type { UnipilotVault } from './UnipilotVault'; - -export { UnipilotEthereumFactory__factory } from './UnipilotEthereumFactory'; -export { UnipilotPolygonFactory__factory } from './UnipilotPolygonFactory'; -export { UnipilotVault__factory } from './UnipilotVault'; diff --git a/src/apps/unipilot/ethereum/unipilot.pool.token-fetcher.ts b/src/apps/unipilot/ethereum/unipilot.pool.token-fetcher.ts deleted file mode 100644 index 572ddc80b..000000000 --- a/src/apps/unipilot/ethereum/unipilot.pool.token-fetcher.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; - -import { UnipilotVaultTokenFetcher } from '../common/unipilot.vault.token-fetcher'; - -@PositionTemplate() -export class EthereumUnipilotPoolTokenFetcher extends UnipilotVaultTokenFetcher { - groupLabel = 'Vaults'; -} diff --git a/src/apps/unipilot/graphql/queries.ts b/src/apps/unipilot/graphql/queries.ts deleted file mode 100644 index ef799bbbb..000000000 --- a/src/apps/unipilot/graphql/queries.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { gql } from 'graphql-request'; - -//unipilot vaults -export const UNIPILOT_VAULTS = gql` - query getVaults($first: Int!) { - vaults { - id - feeTier - token0 { - id - symbol - } - token1 { - id - symbol - } - totalLockedToken0 - totalLockedToken1 - fee0Uninvested - fee1Uninvested - fee0invested - fee1invested - } - } -`; - -//unipilot vaults for polygon -export const UNIPILOT_VAULTS_POLYGON = gql` - query getVaults($first: Int!) { - vaults { - id - feeTier - strategyId - token0 { - id - symbol - } - token1 { - id - symbol - } - totalLockedToken0 - totalLockedToken1 - fee0Uninvested - fee1Uninvested - fee0invested - fee1invested - } - } -`; - -//unipilot vault addresses for apy -export const VAULT_ADDRESSES = gql` - query getAddresses { - vaults(first: 1000) { - id - } - } -`; diff --git a/src/apps/unipilot/polygon/unipilot.pool.token-fetcher.ts b/src/apps/unipilot/polygon/unipilot.pool.token-fetcher.ts deleted file mode 100644 index d2de517aa..000000000 --- a/src/apps/unipilot/polygon/unipilot.pool.token-fetcher.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; - -import { UnipilotVaultTokenFetcher } from '../common/unipilot.vault.token-fetcher'; - -@PositionTemplate() -export class PolygonUnipilotPoolTokenFetcher extends UnipilotVaultTokenFetcher { - groupLabel = 'Vaults'; -} diff --git a/src/apps/unipilot/unipilot.module.ts b/src/apps/unipilot/unipilot.module.ts deleted file mode 100644 index fdc0c0311..000000000 --- a/src/apps/unipilot/unipilot.module.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Module } from '@nestjs/common'; - -import { AbstractApp } from '~app/app.dynamic-module'; - -import { UnipilotVaultDefinitionsResolver } from './common/unipilot.vault-definition-resolver'; -import { UnipilotViemContractFactory } from './contracts'; -import { EthereumUnipilotPoolTokenFetcher } from './ethereum/unipilot.pool.token-fetcher'; -import { PolygonUnipilotPoolTokenFetcher } from './polygon/unipilot.pool.token-fetcher'; - -@Module({ - providers: [ - UnipilotViemContractFactory, - UnipilotVaultDefinitionsResolver, - // Ethereum - EthereumUnipilotPoolTokenFetcher, - // Polygon - PolygonUnipilotPoolTokenFetcher, - ], -}) -export class UnipilotAppModule extends AbstractApp() {} diff --git a/src/apps/unipilot/utils/constants.ts b/src/apps/unipilot/utils/constants.ts deleted file mode 100644 index d84107265..000000000 --- a/src/apps/unipilot/utils/constants.ts +++ /dev/null @@ -1,10 +0,0 @@ -export const SUBGRAPH_ENDPOINTS = { - ethereum: { - stats: 'https://api.thegraph.com/subgraphs/name/unipilotvoirstudio/unipilot-v2-stats?source=zapper', - }, - polygon: { - stats: 'https://api.thegraph.com/subgraphs/name/unipilotvoirstudio/stats-v2-polygon?source=zapper', - }, -}; - -export const SERVER_ENDPOINTS = 'https://apis.unipilot.io/api/unipilot'; diff --git a/src/apps/unipilot/utils/generalTypes.ts b/src/apps/unipilot/utils/generalTypes.ts deleted file mode 100644 index 19c676145..000000000 --- a/src/apps/unipilot/utils/generalTypes.ts +++ /dev/null @@ -1,39 +0,0 @@ -export type UnipilotVaultFetcherResponse = { - vaults: { - id: string; - feeTier: string; - token0: { - id: string; - symbol: string; - }; - token1: { - id: string; - symbol: string; - }; - strategyId?: string; - totalLockedToken0: string; - totalLockedToken1: string; - fee0Uninvested: string; - fee1Uninvested: string; - fee0invested: string; - fee1invested: string; - }[]; -}; - -export type VaultAddressesResponse = { - vaults: { - id: string; - }[]; -}; - -export type UnipilotVaultDefinition = { - address: string; - token0Address: string; - token1Address: string; - feeTier: string; - token0Symbol: string; - token1Symbol: string; - strategyId?: string; - totalLockedToken0: string; - totalLockedToken1: string; -};