diff --git a/src/apps/y2k-finance/arbitrum/y2k-finance.farm-v1.contract-position-fetcher.ts b/src/apps/y2k-finance/arbitrum/y2k-finance.farm-v1.contract-position-fetcher.ts new file mode 100644 index 000000000..6b7afdeed --- /dev/null +++ b/src/apps/y2k-finance/arbitrum/y2k-finance.farm-v1.contract-position-fetcher.ts @@ -0,0 +1,82 @@ +import { Inject } from '@nestjs/common'; +import { BigNumberish } from 'ethers'; + +import { APP_TOOLKIT, IAppToolkit } from '~app-toolkit/app-toolkit.interface'; +import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; +import { DefaultDataProps } from '~position/display.interface'; +import { MetaType } from '~position/position.interface'; +import { ContractPositionTemplatePositionFetcher } from '~position/template/contract-position.template.position-fetcher'; +import { + GetDefinitionsParams, + DefaultContractPositionDefinition, + GetTokenDefinitionsParams, + UnderlyingTokenDefinition, + GetDisplayPropsParams, + GetTokenBalancesParams, +} from '~position/template/contract-position.template.types'; + +import { Y2KFinanceContractFactory, Y2KFinanceStakingRewards } from '../contracts'; + +const rewardsFactory = '0x9889fca1d9a5d131f5d4306a2bc2f293cafad2f3'; +const fromBlock = 33934362; + +@PositionTemplate() +export class ArbitrumY2KFinanceFarmV1ContractPositionFetcher extends ContractPositionTemplatePositionFetcher { + groupLabel = 'Farms'; + + constructor( + @Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit, + @Inject(Y2KFinanceContractFactory) protected readonly contractFactory: Y2KFinanceContractFactory, + ) { + super(appToolkit); + } + + getContract(address: string): Y2KFinanceStakingRewards { + return this.contractFactory.y2KFinanceStakingRewards({ address, network: this.network }); + } + + async getDefinitions(_params: GetDefinitionsParams): Promise { + const factory = this.contractFactory.y2KFinanceRewardsFactory({ address: rewardsFactory, network: this.network }); + const filter = factory.filters.CreatedStakingReward(); + const events = await factory.queryFilter(filter, fromBlock); + const farms = events.map(e => [e.args.hedgeFarm, e.args.riskFarm]).flat(); + return farms.map(farm => ({ address: farm })); + } + + async getTokenDefinitions( + params: GetTokenDefinitionsParams, + ): Promise { + return [ + { + metaType: MetaType.SUPPLIED, + address: await params.contract.stakingToken(), + network: this.network, + tokenId: (await params.contract.id()).toNumber(), + }, + { + metaType: MetaType.CLAIMABLE, + address: await params.contract.rewardsToken(), + network: this.network, + }, + ]; + } + + async getLabel( + params: GetDisplayPropsParams, + ): Promise { + const vault = this.contractFactory.y2KFinanceVaultV1({ + address: await params.contract.stakingToken(), + network: this.network, + }); + const name = await vault.name(); + return `${name} Farming`; + } + + async getTokenBalancesPerPosition( + params: GetTokenBalancesParams, + ): Promise { + const supply = await params.contract.balanceOf(params.address); + const rewards = await params.contract.earned(params.address); + return [supply, rewards]; + } +} diff --git a/src/apps/y2k-finance/arbitrum/y2k-finance.mint-v1.contract-position-fetcher.ts b/src/apps/y2k-finance/arbitrum/y2k-finance.mint-v1.contract-position-fetcher.ts new file mode 100644 index 000000000..5802506fc --- /dev/null +++ b/src/apps/y2k-finance/arbitrum/y2k-finance.mint-v1.contract-position-fetcher.ts @@ -0,0 +1,102 @@ +import { Inject } from '@nestjs/common'; +import { BigNumber, BigNumberish } from 'ethers'; + +import { APP_TOOLKIT, IAppToolkit } from '~app-toolkit/app-toolkit.interface'; +import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; +import { IMulticallWrapper } from '~multicall'; +import { DefaultDataProps } from '~position/display.interface'; +import { MetaType } from '~position/position.interface'; +import { ContractPositionTemplatePositionFetcher } from '~position/template/contract-position.template.position-fetcher'; +import { + GetDefinitionsParams, + DefaultContractPositionDefinition, + GetTokenDefinitionsParams, + UnderlyingTokenDefinition, + GetDisplayPropsParams, + GetTokenBalancesParams, +} from '~position/template/contract-position.template.types'; + +import { Y2KFinanceContractFactory, Y2KFinanceVaultV1 } from '../contracts'; + +const vaultFactory = '0x984e0eb8fb687afa53fc8b33e12e04967560e092'; + +@PositionTemplate() +export class ArbitrumY2KFinanceMintV1ContractPositionFetcher extends ContractPositionTemplatePositionFetcher { + groupLabel = 'Positions'; + + constructor( + @Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit, + @Inject(Y2KFinanceContractFactory) protected readonly contractFactory: Y2KFinanceContractFactory, + ) { + super(appToolkit); + } + + async getEpochIds(multicall: IMulticallWrapper, contract: Y2KFinanceVaultV1): Promise { + const vault = multicall.wrap(contract); + const epochsLength = await vault.epochsLength(); + const epochIds = await Promise.all( + Array.from(Array(Number(epochsLength)).keys()).map(async i => await vault.epochs(i)), + ); + return epochIds; + } + + getContract(address: string): Y2KFinanceVaultV1 { + return this.contractFactory.y2KFinanceVaultV1({ address, network: this.network }); + } + + async getDefinitions(params: GetDefinitionsParams): Promise { + const factory = params.multicall.wrap( + this.contractFactory.y2KFinanceVaultFactoryV1({ address: vaultFactory, network: this.network }), + ); + const poolLength = await factory.marketIndex(); + const vaults = ( + await Promise.all(Array.from(Array(Number(poolLength)).keys()).map(async i => await factory.getVaults(i))) + ).flat(); + return vaults.map(vault => ({ address: vault })); + } + + async getTokenDefinitions( + params: GetTokenDefinitionsParams, + ): Promise { + const epochIds = await this.getEpochIds(params.multicall, params.contract); + const claimableAsset = await params.contract.asset(); + return epochIds + .map(id => [ + { + metaType: MetaType.SUPPLIED, + address: params.contract.address, + network: this.network, + tokenId: id.toNumber(), + }, + { + metaType: MetaType.CLAIMABLE, + address: claimableAsset, + network: this.network, + tokenId: id.toNumber(), + }, + ]) + .flat(); + } + + async getLabel( + params: GetDisplayPropsParams, + ): Promise { + const name = await params.contract.name(); + return name; + } + + async getTokenBalancesPerPosition( + params: GetTokenBalancesParams, + ): Promise { + const epochIds = await this.getEpochIds(params.multicall, params.contract); + const vault = params.multicall.wrap(params.contract); + const results = await Promise.all( + epochIds.map(async id => { + const balance = await vault.balanceOf(params.address, id); + const claimable = await vault.previewWithdraw(id, balance); + return [balance, claimable]; + }), + ); + return results.flat(); + } +} diff --git a/src/apps/y2k-finance/arbitrum/y2k-finance.mint-v2.contract-position-fetcher.ts b/src/apps/y2k-finance/arbitrum/y2k-finance.mint-v2.contract-position-fetcher.ts new file mode 100644 index 000000000..668c3c091 --- /dev/null +++ b/src/apps/y2k-finance/arbitrum/y2k-finance.mint-v2.contract-position-fetcher.ts @@ -0,0 +1,97 @@ +import { Inject } from '@nestjs/common'; +import { BigNumberish } from 'ethers'; + +import { APP_TOOLKIT, IAppToolkit } from '~app-toolkit/app-toolkit.interface'; +import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; +import { DefaultDataProps } from '~position/display.interface'; +import { MetaType } from '~position/position.interface'; +import { ContractPositionTemplatePositionFetcher } from '~position/template/contract-position.template.position-fetcher'; +import { + GetDefinitionsParams, + DefaultContractPositionDefinition, + GetTokenDefinitionsParams, + UnderlyingTokenDefinition, + GetDisplayPropsParams, + GetTokenBalancesParams, +} from '~position/template/contract-position.template.types'; + +import { Y2KFinanceCarousel, Y2KFinanceContractFactory } from '../contracts'; + +const carouselFactory = '0xc3179ac01b7d68aed4f27a19510ffe2bfb78ab3e'; +const fromBlock = 96059531; + +@PositionTemplate() +export class ArbitrumY2KFinanceMintV2ContractPositionFetcher extends ContractPositionTemplatePositionFetcher { + groupLabel = 'Positions'; + + constructor( + @Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit, + @Inject(Y2KFinanceContractFactory) protected readonly contractFactory: Y2KFinanceContractFactory, + ) { + super(appToolkit); + } + + getContract(address: string): Y2KFinanceCarousel { + return this.contractFactory.y2KFinanceCarousel({ address, network: this.network }); + } + + async getDefinitions(_params: GetDefinitionsParams): Promise { + const factory = this.contractFactory.y2KFinanceCarouselFactory({ address: carouselFactory, network: this.network }); + const filter = factory.filters.MarketCreated(); + const events = await factory.queryFilter(filter, fromBlock); + const vaults = events.map(e => [e.args.premium, e.args.collateral]).flat(); + return vaults.map(vault => ({ address: vault })); + } + + async getTokenDefinitions( + params: GetTokenDefinitionsParams, + ): Promise { + const epochIds = await params.contract.getAllEpochs(); + const claimableAsset = await params.contract.asset(); + const emission = await params.contract.emissionsToken(); + return epochIds + .map(id => [ + { + metaType: MetaType.SUPPLIED, + address: params.contract.address, + network: this.network, + tokenId: id.toNumber(), + }, + { + metaType: MetaType.CLAIMABLE, + address: claimableAsset, + network: this.network, + tokenId: id.toNumber(), + }, + { + metaType: MetaType.CLAIMABLE, + address: emission, + network: this.network, + }, + ]) + .flat(); + } + + async getLabel( + params: GetDisplayPropsParams, + ): Promise { + const name = await params.contract.name(); + return name; + } + + async getTokenBalancesPerPosition( + params: GetTokenBalancesParams, + ): Promise { + const epochIds = await params.contract.getAllEpochs(); + const vault = params.multicall.wrap(params.contract); + const results = await Promise.all( + epochIds.map(async id => { + const balance = await vault.balanceOf(params.address, id); + const claimable = await vault.previewWithdraw(id, balance); + const emission = await vault.previewEmissionsWithdraw(id, balance); + return [balance, claimable, emission]; + }), + ); + return results.flat(); + } +} diff --git a/src/apps/y2k-finance/arbitrum/y2k-finance.voting-locked.contract-position-fetcher.ts b/src/apps/y2k-finance/arbitrum/y2k-finance.voting-locked.contract-position-fetcher.ts new file mode 100644 index 000000000..e7499dc2b --- /dev/null +++ b/src/apps/y2k-finance/arbitrum/y2k-finance.voting-locked.contract-position-fetcher.ts @@ -0,0 +1,83 @@ +import { Inject } from '@nestjs/common'; +import { BigNumberish } from 'ethers'; + +import { APP_TOOLKIT, IAppToolkit } from '~app-toolkit/app-toolkit.interface'; +import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; +import { DefaultDataProps } from '~position/display.interface'; +import { MetaType } from '~position/position.interface'; +import { ContractPositionTemplatePositionFetcher } from '~position/template/contract-position.template.position-fetcher'; +import { + GetDefinitionsParams, + DefaultContractPositionDefinition, + GetTokenDefinitionsParams, + UnderlyingTokenDefinition, + GetDisplayPropsParams, + GetTokenBalancesParams, +} from '~position/template/contract-position.template.types'; + +import { Y2KFinanceContractFactory, Y2KFinanceVotingLocked } from '../contracts'; + +const VLY2K = [ + { + address: '0xbdaa858fd7b0dc05f8256330facb35de86283ca0', + }, + { + address: '0xaefd22d0153e69f3316dca9095e7279b3a2f8af2', + }, +]; + +@PositionTemplate() +export class ArbitrumY2KFinanceVotingLockedContractPositionFetcher extends ContractPositionTemplatePositionFetcher { + groupLabel = 'Vote Locked Y2K'; + + constructor( + @Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit, + @Inject(Y2KFinanceContractFactory) protected readonly contractFactory: Y2KFinanceContractFactory, + ) { + super(appToolkit); + } + + getContract(address: string): Y2KFinanceVotingLocked { + return this.contractFactory.y2KFinanceVotingLocked({ address, network: this.network }); + } + + async getDefinitions(_params: GetDefinitionsParams): Promise { + return VLY2K; + } + + async getTokenDefinitions( + params: GetTokenDefinitionsParams, + ): Promise { + return [ + { + metaType: MetaType.SUPPLIED, + address: await params.contract.lockToken(), + network: this.network, + }, + { + metaType: MetaType.CLAIMABLE, + address: (await params.contract.rewardToken(0)).addr, + network: this.network, + }, + { + metaType: MetaType.CLAIMABLE, + address: (await params.contract.rewardToken(1)).addr, + network: this.network, + }, + ]; + } + + async getLabel( + params: GetDisplayPropsParams, + ): Promise { + const epochs = await params.contract.minEpochs(); + return `Lock${epochs.toString()}Rewards`; + } + + async getTokenBalancesPerPosition( + params: GetTokenBalancesParams, + ): Promise { + const info = await params.contract.getAccount(params.address); + return [info.balance, info.rewards1, info.rewards2]; + } +} diff --git a/src/apps/y2k-finance/assets/logo.png b/src/apps/y2k-finance/assets/logo.png new file mode 100644 index 000000000..95fa72171 Binary files /dev/null and b/src/apps/y2k-finance/assets/logo.png differ diff --git a/src/apps/y2k-finance/contracts/abis/y-2-k-finance-carousel-factory.json b/src/apps/y2k-finance/contracts/abis/y-2-k-finance-carousel-factory.json new file mode 100644 index 000000000..202b4487c --- /dev/null +++ b/src/apps/y2k-finance/contracts/abis/y-2-k-finance-carousel-factory.json @@ -0,0 +1,829 @@ +[ + { + "inputs": [ + { + "internalType": "address", + "name": "_weth", + "type": "address" + }, + { + "internalType": "address", + "name": "_treasury", + "type": "address" + }, + { + "internalType": "address", + "name": "_timelocker", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "AddressZero", + "type": "error" + }, + { + "inputs": [], + "name": "ControllerNotSet", + "type": "error" + }, + { + "inputs": [], + "name": "FeeCannotBe0", + "type": "error" + }, + { + "inputs": [], + "name": "MarketAlreadyExists", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "marketId", + "type": "uint256" + } + ], + "name": "MarketDoesNotExist", + "type": "error" + }, + { + "inputs": [], + "name": "NotAuthorized", + "type": "error" + }, + { + "inputs": [], + "name": "NotTimeLocker", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_wAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_marketId", + "type": "uint256" + } + ], + "name": "AddressWhitelisted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "marketId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "controller", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "premium", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateral", + "type": "address" + } + ], + "name": "ControllerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "ControllerWhitelisted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "epochId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "marketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint40", + "name": "startEpoch", + "type": "uint40" + }, + { + "indexed": false, + "internalType": "uint40", + "name": "endEpoch", + "type": "uint40" + }, + { + "indexed": false, + "internalType": "address", + "name": "premium", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateral", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "strike", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint16", + "name": "withdrawalFee", + "type": "uint16" + } + ], + "name": "EpochCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "marketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "premium", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "collateral", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "underlyingAsset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "strike", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "MarketCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_marketId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "_oracle", + "type": "address" + } + ], + "name": "OracleChanged", + "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": false, + "internalType": "address", + "name": "_treasury", + "type": "address" + } + ], + "name": "TreasurySet", + "type": "event" + }, + { + "inputs": [], + "name": "WETH", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_marketId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "changeController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_marketId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_oracle", + "type": "address" + } + ], + "name": "changeOracle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "controllers", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_marketId", + "type": "uint256" + }, + { + "internalType": "uint40", + "name": "_epochBegin", + "type": "uint40" + }, + { + "internalType": "uint40", + "name": "_epochEnd", + "type": "uint40" + }, + { + "internalType": "uint16", + "name": "_withdrawalFee", + "type": "uint16" + } + ], + "name": "createEpoch", + "outputs": [ + { + "internalType": "uint256", + "name": "epochId", + "type": "uint256" + }, + { + "internalType": "address[2]", + "name": "vaults", + "type": "address[2]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "strike", + "type": "uint256" + }, + { + "internalType": "address", + "name": "oracle", + "type": "address" + }, + { + "internalType": "address", + "name": "underlyingAsset", + "type": "address" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "tokenURI", + "type": "string" + }, + { + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "internalType": "struct VaultFactoryV2.MarketConfigurationCalldata", + "name": "_marketCalldata", + "type": "tuple" + } + ], + "name": "createNewMarket", + "outputs": [ + { + "internalType": "address", + "name": "premium", + "type": "address" + }, + { + "internalType": "address", + "name": "collateral", + "type": "address" + }, + { + "internalType": "uint256", + "name": "marketId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "epochFee", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "epochId", + "type": "uint256" + } + ], + "name": "getEpochFee", + "outputs": [ + { + "internalType": "uint16", + "name": "fee", + "type": "uint16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "marketId", + "type": "uint256" + }, + { + "internalType": "uint40", + "name": "epochBegin", + "type": "uint40" + }, + { + "internalType": "uint40", + "name": "epochEnd", + "type": "uint40" + } + ], + "name": "getEpochId", + "outputs": [ + { + "internalType": "uint256", + "name": "epochId", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "marketId", + "type": "uint256" + } + ], + "name": "getEpochsByMarketId", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_strikePrice", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_underlying", + "type": "address" + } + ], + "name": "getMarketId", + "outputs": [ + { + "internalType": "uint256", + "name": "marketId", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_marketId", + "type": "uint256" + } + ], + "name": "getMarketInfo", + "outputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "strike", + "type": "uint256" + }, + { + "internalType": "address", + "name": "underlyingAsset", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getVaults", + "outputs": [ + { + "internalType": "address[2]", + "name": "vaults", + "type": "address[2]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "marketIdInfo", + "outputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "strike", + "type": "uint256" + }, + { + "internalType": "address", + "name": "underlyingAsset", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "marketIdToEpochs", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "marketIdToVaults", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "marketToOracle", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_treasury", + "type": "address" + } + ], + "name": "setTreasury", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "timelocker", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "treasury", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_marketId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_wAddress", + "type": "address" + } + ], + "name": "whitelistAddressOnMarket", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "whitelistController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] diff --git a/src/apps/y2k-finance/contracts/abis/y-2-k-finance-carousel.json b/src/apps/y2k-finance/contracts/abis/y-2-k-finance-carousel.json new file mode 100644 index 000000000..d80c1a903 --- /dev/null +++ b/src/apps/y2k-finance/contracts/abis/y-2-k-finance-carousel.json @@ -0,0 +1,1949 @@ +[ + { + "inputs": [ + { + "components": [ + { + "internalType": "bool", + "name": "isWETH", + "type": "bool" + }, + { + "internalType": "address", + "name": "assetAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "tokenURI", + "type": "string" + }, + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "strike", + "type": "uint256" + }, + { + "internalType": "address", + "name": "controller", + "type": "address" + }, + { + "internalType": "address", + "name": "emissionsToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "relayerFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "depositFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minQueueDeposit", + "type": "uint256" + } + ], + "internalType": "struct Carousel.ConstructorArgs", + "name": "_data", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_contract", + "type": "address" + } + ], + "name": "AddressNotController", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_contract", + "type": "address" + } + ], + "name": "AddressNotFactory", + "type": "error" + }, + { + "inputs": [], + "name": "AddressZero", + "type": "error" + }, + { + "inputs": [], + "name": "AlreadyInitialized", + "type": "error" + }, + { + "inputs": [], + "name": "AlreadyRollingOver", + "type": "error" + }, + { + "inputs": [], + "name": "AmountExceedsTVL", + "type": "error" + }, + { + "inputs": [], + "name": "BPSToHigh", + "type": "error" + }, + { + "inputs": [], + "name": "CanNotDepositETH", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_counterparty", + "type": "address" + } + ], + "name": "DestinationNotAuthorized", + "type": "error" + }, + { + "inputs": [], + "name": "EpochAlreadyEnded", + "type": "error" + }, + { + "inputs": [], + "name": "EpochAlreadyExists", + "type": "error" + }, + { + "inputs": [], + "name": "EpochAlreadyStarted", + "type": "error" + }, + { + "inputs": [], + "name": "EpochDoesNotExist", + "type": "error" + }, + { + "inputs": [], + "name": "EpochEndMustBeAfterBegin", + "type": "error" + }, + { + "inputs": [], + "name": "EpochNotResolved", + "type": "error" + }, + { + "inputs": [], + "name": "EpochNotStarted", + "type": "error" + }, + { + "inputs": [], + "name": "InsufficientBalance", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidEpoch", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidEpochId", + "type": "error" + }, + { + "inputs": [], + "name": "MinDeposit", + "type": "error" + }, + { + "inputs": [], + "name": "NoRolloverQueued", + "type": "error" + }, + { + "inputs": [], + "name": "OverflowQueue", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "OwnerDidNotAuthorize", + "type": "error" + }, + { + "inputs": [], + "name": "RelayerFeeToLow", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroValue", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epochId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "DepositInQueue", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "epochId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "operations", + "type": "uint256" + } + ], + "name": "RelayerMinted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epochId", + "type": "uint256" + } + ], + "name": "RolloverQueued", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "TransferBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TransferSingle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "value", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "URI", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "emissions", + "type": "uint256" + } + ], + "name": "WithdrawWithEmissions", + "type": "event" + }, + { + "inputs": [], + "name": "asset", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + } + ], + "name": "balanceOfBatch", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "minX", + "type": "int256" + }, + { + "internalType": "int256", + "name": "maxX", + "type": "int256" + } + ], + "name": "calculateFeePercent", + "outputs": [ + { + "internalType": "uint256", + "name": "_y", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "changeController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_depositFee", + "type": "uint256" + } + ], + "name": "changeDepositFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_relayerFee", + "type": "uint256" + } + ], + "name": "changeRelayerFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "claimTVL", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_addressesToDelist", + "type": "address[]" + } + ], + "name": "cleanUpRolloverQueue", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "counterPartyVault", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "delistInRollover", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_assets", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "depositETH", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "depositFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "depositQueue", + "outputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "epochId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "emissions", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "emissionsToken", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_epochId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_shares", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "enlistInRollover", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "epochAccounting", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "epochConfig", + "outputs": [ + { + "internalType": "uint40", + "name": "epochBegin", + "type": "uint40" + }, + { + "internalType": "uint40", + "name": "epochEnd", + "type": "uint40" + }, + { + "internalType": "uint40", + "name": "epochCreation", + "type": "uint40" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "epochExists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "epochNull", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "epochResolved", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "epochs", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "exists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "factory", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "finalTVL", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAllEpochs", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDepositQueueLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDepositQueueTVL", + "outputs": [ + { + "internalType": "uint256", + "name": "tvl", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "name": "getEpochConfig", + "outputs": [ + { + "internalType": "uint40", + "name": "epochBegin", + "type": "uint40" + }, + { + "internalType": "uint40", + "name": "epochEnd", + "type": "uint40" + }, + { + "internalType": "uint40", + "name": "epochCreation", + "type": "uint40" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_assets", + "type": "uint256" + } + ], + "name": "getEpochDepositFee", + "outputs": [ + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "assetsAfterFee", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getEpochsLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "getRolloverIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "getRolloverPosition", + "outputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "epochId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_index", + "type": "uint256" + } + ], + "name": "getRolloverQueueItem", + "outputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "epochId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRolloverQueueLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRolloverTVL", + "outputs": [ + { + "internalType": "uint256", + "name": "tvl", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_epochId", + "type": "uint256" + } + ], + "name": "getRolloverTVLByEpochId", + "outputs": [ + { + "internalType": "uint256", + "name": "tvl", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "isEnlistedInRolloverQueue", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isWETH", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minQueueDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_epochId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_operations", + "type": "uint256" + } + ], + "name": "mintDepositInQueue", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_epochId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_operations", + "type": "uint256" + } + ], + "name": "mintRollovers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "ownerToRollOverQueueIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_assets", + "type": "uint256" + } + ], + "name": "previewAmountInShares", + "outputs": [ + { + "internalType": "uint256", + "name": "entitledShareAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_assets", + "type": "uint256" + } + ], + "name": "previewEmissionsWithdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "entitledAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_shares", + "type": "uint256" + } + ], + "name": "previewWithdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "entitledAssets", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "relayerFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "name": "resolveEpoch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rolloverAccounting", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rolloverQueue", + "outputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "epochId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + } + ], + "name": "sendTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_claimTVL", + "type": "uint256" + } + ], + "name": "setClaimTVL", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_counterPartyVault", + "type": "address" + } + ], + "name": "setCounterPartyVault", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_epochId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_emissionAmount", + "type": "uint256" + } + ], + "name": "setEmissions", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint40", + "name": "_epochBegin", + "type": "uint40" + }, + { + "internalType": "uint40", + "name": "_epochEnd", + "type": "uint40" + }, + { + "internalType": "uint256", + "name": "_epochId", + "type": "uint256" + } + ], + "name": "setEpoch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "name": "setEpochNull", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "strike", + "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": "token", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "name": "totalAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "treasury", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "uri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_wAddress", + "type": "address" + } + ], + "name": "whiteListAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "whitelistedAddresses", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_shares", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "withdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } +] diff --git a/src/apps/y2k-finance/contracts/abis/y-2-k-finance-rewards-factory.json b/src/apps/y2k-finance/contracts/abis/y-2-k-finance-rewards-factory.json new file mode 100644 index 000000000..2296f3b9d --- /dev/null +++ b/src/apps/y2k-finance/contracts/abis/y-2-k-finance-rewards-factory.json @@ -0,0 +1,172 @@ +[ + { + "inputs": [ + { + "internalType": "address", + "name": "_govToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_factory", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "EpochDoesNotExist", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "marketId", + "type": "uint256" + } + ], + "name": "MarketDoesNotExist", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "marketEpochId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "mIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "hedgeFarm", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "riskFarm", + "type": "address" + } + ], + "name": "CreatedStakingReward", + "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": [ + { + "internalType": "uint256", + "name": "_marketIndex", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_epochEnd", + "type": "uint256" + } + ], + "name": "createStakingRewards", + "outputs": [ + { + "internalType": "address", + "name": "insr", + "type": "address" + }, + { + "internalType": "address", + "name": "risk", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "factory", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "govToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] diff --git a/src/apps/y2k-finance/contracts/abis/y-2-k-finance-staking-rewards.json b/src/apps/y2k-finance/contracts/abis/y-2-k-finance-staking-rewards.json new file mode 100644 index 000000000..0b7845083 --- /dev/null +++ b/src/apps/y2k-finance/contracts/abis/y-2-k-finance-staking-rewards.json @@ -0,0 +1,717 @@ +[ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardsDistribution", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardsToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_stakingToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_epochEnd", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerNominated", + "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": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Recovered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "reward", + "type": "uint256" + } + ], + "name": "RewardAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reward", + "type": "uint256" + } + ], + "name": "RewardPaid", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "newDuration", + "type": "uint256" + } + ], + "name": "RewardsDurationUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Staked", + "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": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdrawn", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "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": "address", + "name": "account", + "type": "address" + } + ], + "name": "earned", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "exit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getReward", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardForDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "id", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastTimeRewardApplicable", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastUpdateTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "nominateNewOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nominatedOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "reward", + "type": "uint256" + } + ], + "name": "notifyRewardAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "onERC1155BatchReceived", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "onERC1155Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "periodFinish", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "recoverERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rewardPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rewardPerTokenStored", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rewardRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rewardsDistribution", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rewardsDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rewardsToken", + "outputs": [ + { + "internalType": "contract ERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_rewardsDistribution", + "type": "address" + } + ], + "name": "setRewardsDistribution", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_rewardsDuration", + "type": "uint256" + } + ], + "name": "setRewardsDuration", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "stake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "stakingToken", + "outputs": [ + { + "internalType": "contract IERC1155", + "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": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "userRewardPerTokenPaid", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] diff --git a/src/apps/y2k-finance/contracts/abis/y-2-k-finance-vault-factory-v-1.json b/src/apps/y2k-finance/contracts/abis/y-2-k-finance-vault-factory-v-1.json new file mode 100644 index 000000000..f943237b1 --- /dev/null +++ b/src/apps/y2k-finance/contracts/abis/y-2-k-finance-vault-factory-v-1.json @@ -0,0 +1,615 @@ +[ + { + "inputs": [ + { + "internalType": "address", + "name": "_treasury", + "type": "address" + }, + { + "internalType": "address", + "name": "_weth", + "type": "address" + }, + { + "internalType": "address", + "name": "_policy", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "AddressFactoryNotInController", + "type": "error" + }, + { + "inputs": [], + "name": "AddressNotController", + "type": "error" + }, + { + "inputs": [], + "name": "AddressZero", + "type": "error" + }, + { + "inputs": [], + "name": "ControllerAlreadySet", + "type": "error" + }, + { + "inputs": [], + "name": "ControllerNotSet", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "marketIndex", + "type": "uint256" + } + ], + "name": "MarketDoesNotExist", + "type": "error" + }, + { + "inputs": [], + "name": "NotTimeLocker", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "marketEpochId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "mIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "startEpoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "endEpoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "hedge", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "risk", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": false, + "internalType": "int256", + "name": "strikePrice", + "type": "int256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "withdrawalFee", + "type": "uint256" + } + ], + "name": "EpochCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "mIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "hedge", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "risk", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": false, + "internalType": "int256", + "name": "strikePrice", + "type": "int256" + } + ], + "name": "MarketCreated", + "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": "uint256", + "name": "_marketIndex", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "changedController", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_oracle", + "type": "address" + } + ], + "name": "changedOracle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_treasury", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_marketIndex", + "type": "uint256" + } + ], + "name": "changedTreasury", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_marketIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_feeRate", + "type": "uint256" + } + ], + "name": "changedVaultFee", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newController", + "type": "address" + } + ], + "name": "controllerSet", + "type": "event" + }, + { + "inputs": [], + "name": "WETH", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_marketIndex", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "changeController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "address", + "name": "_oracle", + "type": "address" + } + ], + "name": "changeOracle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_treasury", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_marketIndex", + "type": "uint256" + } + ], + "name": "changeTreasury", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_withdrawalFee", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "int256", + "name": "_strikePrice", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "epochBegin", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "epochEnd", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_oracle", + "type": "address" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + } + ], + "name": "createNewMarket", + "outputs": [ + { + "internalType": "address", + "name": "insr", + "type": "address" + }, + { + "internalType": "address", + "name": "rsk", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "epochBegin", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "epochEnd", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_withdrawalFee", + "type": "uint256" + } + ], + "name": "deployMoreAssets", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getVaults", + "outputs": [ + { + "internalType": "address[]", + "name": "vaults", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "indexEpochs", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "indexVaults", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "marketIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "timelocker", + "outputs": [ + { + "internalType": "contract TimeLock", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "tokenToOracle", + "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": [], + "name": "treasury", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } +] diff --git a/src/apps/y2k-finance/contracts/abis/y-2-k-finance-vault-v-1.json b/src/apps/y2k-finance/contracts/abis/y-2-k-finance-vault-v-1.json new file mode 100644 index 000000000..747069c48 --- /dev/null +++ b/src/apps/y2k-finance/contracts/abis/y-2-k-finance-vault-v-1.json @@ -0,0 +1,1078 @@ +[ + { + "inputs": [ + { + "internalType": "address", + "name": "_assetAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_treasury", + "type": "address" + }, + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "int256", + "name": "_strikePrice", + "type": "int256" + }, + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_contract", + "type": "address" + } + ], + "name": "AddressNotController", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_contract", + "type": "address" + } + ], + "name": "AddressNotFactory", + "type": "error" + }, + { + "inputs": [], + "name": "AddressZero", + "type": "error" + }, + { + "inputs": [], + "name": "EpochAlreadyStarted", + "type": "error" + }, + { + "inputs": [], + "name": "EpochEndMustBeAfterBegin", + "type": "error" + }, + { + "inputs": [], + "name": "EpochNotFinished", + "type": "error" + }, + { + "inputs": [], + "name": "FeeCannotBe0", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "FeeMoreThan150", + "type": "error" + }, + { + "inputs": [], + "name": "MarketEpochDoesNotExist", + "type": "error" + }, + { + "inputs": [], + "name": "MarketEpochExists", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "OwnerDidNotAuthorize", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroValue", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "TransferBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TransferSingle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "value", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "URI", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "inputs": [], + "name": "asset", + "outputs": [ + { + "internalType": "contract ERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + } + ], + "name": "balanceOfBatch", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_epoch", + "type": "uint256" + } + ], + "name": "calculateWithdrawalFeeValue", + "outputs": [ + { + "internalType": "uint256", + "name": "feeValue", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "changeController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_treasury", + "type": "address" + } + ], + "name": "changeTreasury", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "epochBegin", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "epochEnd", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_withdrawalFee", + "type": "uint256" + } + ], + "name": "createAssets", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "depositETH", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "endEpoch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "epochFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "epochNull", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "epochs", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "epochsLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "exists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "factory", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "idClaimTVL", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "idEpochBegin", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "idEpochEnded", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "idExists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "idFinalTVL", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "previewWithdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "entitledAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_counterparty", + "type": "address" + } + ], + "name": "sendTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "claimTVL", + "type": "uint256" + } + ], + "name": "setClaimTVL", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "setEpochNull", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "strikePrice", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "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": "tokenInsured", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_id", + "type": "uint256" + } + ], + "name": "totalAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "treasury", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "uri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "withdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } +] diff --git a/src/apps/y2k-finance/contracts/abis/y-2-k-finance-voting-locked.json b/src/apps/y2k-finance/contracts/abis/y-2-k-finance-voting-locked.json new file mode 100644 index 000000000..e101cf063 --- /dev/null +++ b/src/apps/y2k-finance/contracts/abis/y-2-k-finance-voting-locked.json @@ -0,0 +1,1224 @@ +[ + { + "inputs": [ + { + "internalType": "address", + "name": "_lockToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardAddr1", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardAddr2", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxEpochs", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minEpochs", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "governanceToken", + "type": "address" + } + ], + "name": "CannotWhitelistGovernanceToken", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxEpochs", + "type": "uint256" + } + ], + "name": "EpochMaxReached", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "epochStart", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "now", + "type": "uint256" + } + ], + "name": "EpochStartInvalid", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "name": "FundsInLockPeriod", + "type": "error" + }, + { + "inputs": [], + "name": "IncreaseLockEpochsNotGTZero", + "type": "error" + }, + { + "inputs": [], + "name": "InsufficientAmount", + "type": "error" + }, + { + "inputs": [], + "name": "InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "available", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewardAmount", + "type": "uint256" + } + ], + "name": "InsufficientFundsForRewards", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxEpochs", + "type": "uint256" + } + ], + "name": "LockEpochsMax", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minEpochs", + "type": "uint256" + } + ], + "name": "LockEpochsMin", + "type": "error" + }, + { + "inputs": [], + "name": "NotWhitelisted", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "tokenState", + "type": "bool" + } + ], + "name": "ChangeERC20Whiltelist", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "currentTime", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "flag", + "type": "bool" + } + ], + "name": "ChangeEnforceTime", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "currentTime", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "oldEpochs", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newEpochs", + "type": "uint256" + } + ], + "name": "ChangeMaxLockEpochs", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "lockedEpochs", + "type": "uint256" + } + ], + "name": "Deposit", + "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": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RecoveredERC20", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "RecoveredERC721", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalBalance", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "lockedEpochs", + "type": "uint256" + } + ], + "name": "Relock", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reward", + "type": "uint256" + } + ], + "name": "RewardPaid", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "epochId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reward1", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reward2", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "finish", + "type": "uint256" + } + ], + "name": "SetNextReward", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "currentId", + "type": "uint256" + } + ], + "name": "UpdatedEpoch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdrawn", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "accounts", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lockEpochs", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastEpochPaid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewards1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewards2", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "epochId", + "type": "uint256" + } + ], + "name": "balanceOfInEpoch", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "flag", + "type": "bool" + } + ], + "name": "changeEnforceTime", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxEpochs", + "type": "uint256" + } + ], + "name": "changeMaxEpochs", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "bool", + "name": "flag", + "type": "bool" + } + ], + "name": "changeRecoverWhitelist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "claimReward", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "currentEpoch", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lockEpochs", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "enforceTime", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "epochs", + "outputs": [ + { + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "finish", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalLocked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewards1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewards2", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isSet", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "exit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "getAccount", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lockEpochs", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastEpochPaid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewards1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewards2", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getCurrentEpoch", + "outputs": [ + { + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "finish", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "locked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewards1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewards2", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isSet", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "epochId", + "type": "uint256" + } + ], + "name": "getEpoch", + "outputs": [ + { + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "finish", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "locked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewards1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewards2", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isSet", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "epochId", + "type": "uint256" + } + ], + "name": "getEpochAccountInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "finish", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "locked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "userRewards1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "userRewards2", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isSet", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getNextEpoch", + "outputs": [ + { + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "finish", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "locked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewards1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewards2", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isSet", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lockToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxEpochs", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minEpochs", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nextUnsetEpoch", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenAmount", + "type": "uint256" + } + ], + "name": "recoverERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "recoverERC721", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardToken", + "outputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "uint256", + "name": "rewards", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewardsPaid", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "reward1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reward2", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "epochDurationInDays", + "type": "uint256" + } + ], + "name": "setNextEpoch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "reward1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reward2", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "epochDurationInDays", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "epochStart", + "type": "uint256" + } + ], + "name": "setNextEpoch_start", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "totalAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalLocked", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "updateAccount", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lockEpochs", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastEpochPaid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewards1", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rewards2", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "updateEpochs", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "whitelistRecoverERC20", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] diff --git a/src/apps/y2k-finance/contracts/ethers/Y2KFinanceCarousel.ts b/src/apps/y2k-finance/contracts/ethers/Y2KFinanceCarousel.ts new file mode 100644 index 000000000..d73bd6b75 --- /dev/null +++ b/src/apps/y2k-finance/contracts/ethers/Y2KFinanceCarousel.ts @@ -0,0 +1,2236 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from 'ethers'; +import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi'; +import type { Listener, Provider } from '@ethersproject/providers'; +import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common'; + +export declare namespace Carousel { + export type ConstructorArgsStruct = { + isWETH: PromiseOrValue; + assetAddress: PromiseOrValue; + name: PromiseOrValue; + symbol: PromiseOrValue; + tokenURI: PromiseOrValue; + token: PromiseOrValue; + strike: PromiseOrValue; + controller: PromiseOrValue; + emissionsToken: PromiseOrValue; + relayerFee: PromiseOrValue; + depositFee: PromiseOrValue; + minQueueDeposit: PromiseOrValue; + }; + + export type ConstructorArgsStructOutput = [ + boolean, + string, + string, + string, + string, + string, + BigNumber, + string, + string, + BigNumber, + BigNumber, + BigNumber, + ] & { + isWETH: boolean; + assetAddress: string; + name: string; + symbol: string; + tokenURI: string; + token: string; + strike: BigNumber; + controller: string; + emissionsToken: string; + relayerFee: BigNumber; + depositFee: BigNumber; + minQueueDeposit: BigNumber; + }; +} + +export interface Y2KFinanceCarouselInterface extends utils.Interface { + functions: { + 'asset()': FunctionFragment; + 'balanceOf(address,uint256)': FunctionFragment; + 'balanceOfBatch(address[],uint256[])': FunctionFragment; + 'calculateFeePercent(int256,int256)': FunctionFragment; + 'changeController(address)': FunctionFragment; + 'changeDepositFee(uint256)': FunctionFragment; + 'changeRelayerFee(uint256)': FunctionFragment; + 'claimTVL(uint256)': FunctionFragment; + 'cleanUpRolloverQueue(address[])': FunctionFragment; + 'controller()': FunctionFragment; + 'counterPartyVault()': FunctionFragment; + 'delistInRollover(address)': FunctionFragment; + 'deposit(uint256,uint256,address)': FunctionFragment; + 'depositETH(uint256,address)': FunctionFragment; + 'depositFee()': FunctionFragment; + 'depositQueue(uint256)': FunctionFragment; + 'emissions(uint256)': FunctionFragment; + 'emissionsToken()': FunctionFragment; + 'enlistInRollover(uint256,uint256,address)': FunctionFragment; + 'epochAccounting(uint256)': FunctionFragment; + 'epochConfig(uint256)': FunctionFragment; + 'epochExists(uint256)': FunctionFragment; + 'epochNull(uint256)': FunctionFragment; + 'epochResolved(uint256)': FunctionFragment; + 'epochs(uint256)': FunctionFragment; + 'exists(uint256)': FunctionFragment; + 'factory()': FunctionFragment; + 'finalTVL(uint256)': FunctionFragment; + 'getAllEpochs()': FunctionFragment; + 'getDepositQueueLength()': FunctionFragment; + 'getDepositQueueTVL()': FunctionFragment; + 'getEpochConfig(uint256)': FunctionFragment; + 'getEpochDepositFee(uint256,uint256)': FunctionFragment; + 'getEpochsLength()': FunctionFragment; + 'getRolloverIndex(address)': FunctionFragment; + 'getRolloverPosition(address)': FunctionFragment; + 'getRolloverQueueItem(uint256)': FunctionFragment; + 'getRolloverQueueLength()': FunctionFragment; + 'getRolloverTVL()': FunctionFragment; + 'getRolloverTVLByEpochId(uint256)': FunctionFragment; + 'isApprovedForAll(address,address)': FunctionFragment; + 'isEnlistedInRolloverQueue(address)': FunctionFragment; + 'isWETH()': FunctionFragment; + 'minQueueDeposit()': FunctionFragment; + 'mintDepositInQueue(uint256,uint256)': FunctionFragment; + 'mintRollovers(uint256,uint256)': FunctionFragment; + 'name()': FunctionFragment; + 'ownerToRollOverQueueIndex(address)': FunctionFragment; + 'previewAmountInShares(uint256,uint256)': FunctionFragment; + 'previewEmissionsWithdraw(uint256,uint256)': FunctionFragment; + 'previewWithdraw(uint256,uint256)': FunctionFragment; + 'relayerFee()': FunctionFragment; + 'resolveEpoch(uint256)': FunctionFragment; + 'rolloverAccounting(uint256)': FunctionFragment; + 'rolloverQueue(uint256)': FunctionFragment; + 'safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)': FunctionFragment; + 'safeTransferFrom(address,address,uint256,uint256,bytes)': FunctionFragment; + 'sendTokens(uint256,uint256,address)': FunctionFragment; + 'setApprovalForAll(address,bool)': FunctionFragment; + 'setClaimTVL(uint256,uint256)': FunctionFragment; + 'setCounterPartyVault(address)': FunctionFragment; + 'setEmissions(uint256,uint256)': FunctionFragment; + 'setEpoch(uint40,uint40,uint256)': FunctionFragment; + 'setEpochNull(uint256)': FunctionFragment; + 'strike()': FunctionFragment; + 'supportsInterface(bytes4)': FunctionFragment; + 'symbol()': FunctionFragment; + 'token()': FunctionFragment; + 'totalAssets(uint256)': FunctionFragment; + 'totalSupply(uint256)': FunctionFragment; + 'treasury()': FunctionFragment; + 'uri(uint256)': FunctionFragment; + 'whiteListAddress(address)': FunctionFragment; + 'whitelistedAddresses(address)': FunctionFragment; + 'withdraw(uint256,uint256,address,address)': FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | 'asset' + | 'balanceOf' + | 'balanceOfBatch' + | 'calculateFeePercent' + | 'changeController' + | 'changeDepositFee' + | 'changeRelayerFee' + | 'claimTVL' + | 'cleanUpRolloverQueue' + | 'controller' + | 'counterPartyVault' + | 'delistInRollover' + | 'deposit' + | 'depositETH' + | 'depositFee' + | 'depositQueue' + | 'emissions' + | 'emissionsToken' + | 'enlistInRollover' + | 'epochAccounting' + | 'epochConfig' + | 'epochExists' + | 'epochNull' + | 'epochResolved' + | 'epochs' + | 'exists' + | 'factory' + | 'finalTVL' + | 'getAllEpochs' + | 'getDepositQueueLength' + | 'getDepositQueueTVL' + | 'getEpochConfig' + | 'getEpochDepositFee' + | 'getEpochsLength' + | 'getRolloverIndex' + | 'getRolloverPosition' + | 'getRolloverQueueItem' + | 'getRolloverQueueLength' + | 'getRolloverTVL' + | 'getRolloverTVLByEpochId' + | 'isApprovedForAll' + | 'isEnlistedInRolloverQueue' + | 'isWETH' + | 'minQueueDeposit' + | 'mintDepositInQueue' + | 'mintRollovers' + | 'name' + | 'ownerToRollOverQueueIndex' + | 'previewAmountInShares' + | 'previewEmissionsWithdraw' + | 'previewWithdraw' + | 'relayerFee' + | 'resolveEpoch' + | 'rolloverAccounting' + | 'rolloverQueue' + | 'safeBatchTransferFrom' + | 'safeTransferFrom' + | 'sendTokens' + | 'setApprovalForAll' + | 'setClaimTVL' + | 'setCounterPartyVault' + | 'setEmissions' + | 'setEpoch' + | 'setEpochNull' + | 'strike' + | 'supportsInterface' + | 'symbol' + | 'token' + | 'totalAssets' + | 'totalSupply' + | 'treasury' + | 'uri' + | 'whiteListAddress' + | 'whitelistedAddresses' + | 'withdraw', + ): FunctionFragment; + + encodeFunctionData(functionFragment: 'asset', values?: undefined): string; + encodeFunctionData( + functionFragment: 'balanceOf', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'balanceOfBatch', + values: [PromiseOrValue[], PromiseOrValue[]], + ): string; + encodeFunctionData( + functionFragment: 'calculateFeePercent', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'changeController', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'changeDepositFee', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'changeRelayerFee', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'claimTVL', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'cleanUpRolloverQueue', values: [PromiseOrValue[]]): string; + encodeFunctionData(functionFragment: 'controller', values?: undefined): string; + encodeFunctionData(functionFragment: 'counterPartyVault', values?: undefined): string; + encodeFunctionData(functionFragment: 'delistInRollover', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'deposit', + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'depositETH', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'depositFee', values?: undefined): string; + encodeFunctionData(functionFragment: 'depositQueue', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'emissions', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'emissionsToken', values?: undefined): string; + encodeFunctionData( + functionFragment: 'enlistInRollover', + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'epochAccounting', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'epochConfig', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'epochExists', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'epochNull', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'epochResolved', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'epochs', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'exists', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'factory', values?: undefined): string; + encodeFunctionData(functionFragment: 'finalTVL', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'getAllEpochs', values?: undefined): string; + encodeFunctionData(functionFragment: 'getDepositQueueLength', values?: undefined): string; + encodeFunctionData(functionFragment: 'getDepositQueueTVL', values?: undefined): string; + encodeFunctionData(functionFragment: 'getEpochConfig', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'getEpochDepositFee', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'getEpochsLength', values?: undefined): string; + encodeFunctionData(functionFragment: 'getRolloverIndex', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'getRolloverPosition', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'getRolloverQueueItem', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'getRolloverQueueLength', values?: undefined): string; + encodeFunctionData(functionFragment: 'getRolloverTVL', values?: undefined): string; + encodeFunctionData(functionFragment: 'getRolloverTVLByEpochId', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'isApprovedForAll', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'isEnlistedInRolloverQueue', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'isWETH', values?: undefined): string; + encodeFunctionData(functionFragment: 'minQueueDeposit', values?: undefined): string; + encodeFunctionData( + functionFragment: 'mintDepositInQueue', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'mintRollovers', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'name', values?: undefined): string; + encodeFunctionData(functionFragment: 'ownerToRollOverQueueIndex', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'previewAmountInShares', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'previewEmissionsWithdraw', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'previewWithdraw', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'relayerFee', values?: undefined): string; + encodeFunctionData(functionFragment: 'resolveEpoch', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'rolloverAccounting', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'rolloverQueue', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'safeBatchTransferFrom', + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue, + ], + ): string; + encodeFunctionData( + functionFragment: 'safeTransferFrom', + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + ], + ): string; + encodeFunctionData( + functionFragment: 'sendTokens', + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'setApprovalForAll', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'setClaimTVL', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'setCounterPartyVault', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'setEmissions', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'setEpoch', + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'setEpochNull', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'strike', values?: undefined): string; + encodeFunctionData(functionFragment: 'supportsInterface', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'symbol', values?: undefined): string; + encodeFunctionData(functionFragment: 'token', values?: undefined): string; + encodeFunctionData(functionFragment: 'totalAssets', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'totalSupply', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'treasury', values?: undefined): string; + encodeFunctionData(functionFragment: 'uri', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'whiteListAddress', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'whitelistedAddresses', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'withdraw', + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + ], + ): string; + + decodeFunctionResult(functionFragment: 'asset', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'balanceOf', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'balanceOfBatch', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'calculateFeePercent', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'changeController', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'changeDepositFee', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'changeRelayerFee', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'claimTVL', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'cleanUpRolloverQueue', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'controller', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'counterPartyVault', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'delistInRollover', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'deposit', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'depositETH', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'depositFee', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'depositQueue', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'emissions', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'emissionsToken', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'enlistInRollover', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'epochAccounting', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'epochConfig', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'epochExists', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'epochNull', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'epochResolved', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'epochs', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'exists', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'factory', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'finalTVL', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getAllEpochs', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getDepositQueueLength', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getDepositQueueTVL', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getEpochConfig', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getEpochDepositFee', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getEpochsLength', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getRolloverIndex', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getRolloverPosition', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getRolloverQueueItem', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getRolloverQueueLength', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getRolloverTVL', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getRolloverTVLByEpochId', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'isApprovedForAll', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'isEnlistedInRolloverQueue', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'isWETH', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'minQueueDeposit', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'mintDepositInQueue', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'mintRollovers', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'name', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'ownerToRollOverQueueIndex', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'previewAmountInShares', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'previewEmissionsWithdraw', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'previewWithdraw', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'relayerFee', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'resolveEpoch', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'rolloverAccounting', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'rolloverQueue', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'safeBatchTransferFrom', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'safeTransferFrom', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'sendTokens', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'setApprovalForAll', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'setClaimTVL', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'setCounterPartyVault', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'setEmissions', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'setEpoch', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'setEpochNull', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'strike', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'supportsInterface', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'symbol', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'token', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'totalAssets', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'totalSupply', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'treasury', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'uri', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'whiteListAddress', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'whitelistedAddresses', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'withdraw', data: BytesLike): Result; + + events: { + 'ApprovalForAll(address,address,bool)': EventFragment; + 'Deposit(address,address,uint256,uint256)': EventFragment; + 'DepositInQueue(address,address,uint256,uint256)': EventFragment; + 'RelayerMinted(uint256,uint256)': EventFragment; + 'RolloverQueued(address,uint256,uint256)': EventFragment; + 'TransferBatch(address,address,address,uint256[],uint256[])': EventFragment; + 'TransferSingle(address,address,address,uint256,uint256)': EventFragment; + 'URI(string,uint256)': EventFragment; + 'Withdraw(address,address,address,uint256,uint256,uint256)': EventFragment; + 'WithdrawWithEmissions(address,address,address,uint256,uint256,uint256,uint256)': EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: 'ApprovalForAll'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'Deposit'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'DepositInQueue'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'RelayerMinted'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'RolloverQueued'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'TransferBatch'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'TransferSingle'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'URI'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'Withdraw'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'WithdrawWithEmissions'): EventFragment; +} + +export interface ApprovalForAllEventObject { + account: string; + operator: string; + approved: boolean; +} +export type ApprovalForAllEvent = TypedEvent<[string, string, boolean], ApprovalForAllEventObject>; + +export type ApprovalForAllEventFilter = TypedEventFilter; + +export interface DepositEventObject { + caller: string; + owner: string; + id: BigNumber; + assets: BigNumber; +} +export type DepositEvent = TypedEvent<[string, string, BigNumber, BigNumber], DepositEventObject>; + +export type DepositEventFilter = TypedEventFilter; + +export interface DepositInQueueEventObject { + sender: string; + receiver: string; + epochId: BigNumber; + assets: BigNumber; +} +export type DepositInQueueEvent = TypedEvent<[string, string, BigNumber, BigNumber], DepositInQueueEventObject>; + +export type DepositInQueueEventFilter = TypedEventFilter; + +export interface RelayerMintedEventObject { + epochId: BigNumber; + operations: BigNumber; +} +export type RelayerMintedEvent = TypedEvent<[BigNumber, BigNumber], RelayerMintedEventObject>; + +export type RelayerMintedEventFilter = TypedEventFilter; + +export interface RolloverQueuedEventObject { + sender: string; + assets: BigNumber; + epochId: BigNumber; +} +export type RolloverQueuedEvent = TypedEvent<[string, BigNumber, BigNumber], RolloverQueuedEventObject>; + +export type RolloverQueuedEventFilter = TypedEventFilter; + +export interface TransferBatchEventObject { + operator: string; + from: string; + to: string; + ids: BigNumber[]; + values: BigNumber[]; +} +export type TransferBatchEvent = TypedEvent< + [string, string, string, BigNumber[], BigNumber[]], + TransferBatchEventObject +>; + +export type TransferBatchEventFilter = TypedEventFilter; + +export interface TransferSingleEventObject { + operator: string; + from: string; + to: string; + id: BigNumber; + value: BigNumber; +} +export type TransferSingleEvent = TypedEvent<[string, string, string, BigNumber, BigNumber], TransferSingleEventObject>; + +export type TransferSingleEventFilter = TypedEventFilter; + +export interface URIEventObject { + value: string; + id: BigNumber; +} +export type URIEvent = TypedEvent<[string, BigNumber], URIEventObject>; + +export type URIEventFilter = TypedEventFilter; + +export interface WithdrawEventObject { + caller: string; + receiver: string; + owner: string; + id: BigNumber; + assets: BigNumber; + shares: BigNumber; +} +export type WithdrawEvent = TypedEvent<[string, string, string, BigNumber, BigNumber, BigNumber], WithdrawEventObject>; + +export type WithdrawEventFilter = TypedEventFilter; + +export interface WithdrawWithEmissionsEventObject { + caller: string; + receiver: string; + owner: string; + id: BigNumber; + assets: BigNumber; + shares: BigNumber; + emissions: BigNumber; +} +export type WithdrawWithEmissionsEvent = TypedEvent< + [string, string, string, BigNumber, BigNumber, BigNumber, BigNumber], + WithdrawWithEmissionsEventObject +>; + +export type WithdrawWithEmissionsEventFilter = TypedEventFilter; + +export interface Y2KFinanceCarousel extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: Y2KFinanceCarouselInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined, + ): Promise>; + + listeners(eventFilter?: TypedEventFilter): Array>; + listeners(eventName?: string): Array; + removeAllListeners(eventFilter: TypedEventFilter): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + asset(overrides?: CallOverrides): Promise<[string]>; + + balanceOf( + account: PromiseOrValue, + id: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber]>; + + balanceOfBatch( + accounts: PromiseOrValue[], + ids: PromiseOrValue[], + overrides?: CallOverrides, + ): Promise<[BigNumber[]]>; + + calculateFeePercent( + minX: PromiseOrValue, + maxX: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { _y: BigNumber }>; + + changeController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeDepositFee( + _depositFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeRelayerFee( + _relayerFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + claimTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + cleanUpRolloverQueue( + _addressesToDelist: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + controller(overrides?: CallOverrides): Promise<[string]>; + + counterPartyVault(overrides?: CallOverrides): Promise<[string]>; + + delistInRollover( + _owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + deposit( + _id: PromiseOrValue, + _assets: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + depositETH( + _id: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, + ): Promise; + + depositFee(overrides?: CallOverrides): Promise<[BigNumber]>; + + depositQueue( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, string, BigNumber] & { + shares: BigNumber; + receiver: string; + epochId: BigNumber; + } + >; + + emissions(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + emissionsToken(overrides?: CallOverrides): Promise<[string]>; + + enlistInRollover( + _epochId: PromiseOrValue, + _shares: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + epochAccounting(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + epochConfig( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [number, number, number] & { + epochBegin: number; + epochEnd: number; + epochCreation: number; + } + >; + + epochExists(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + + epochNull(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + + epochResolved(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + + epochs(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + exists(id: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + + factory(overrides?: CallOverrides): Promise<[string]>; + + finalTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + getAllEpochs(overrides?: CallOverrides): Promise<[BigNumber[]]>; + + getDepositQueueLength(overrides?: CallOverrides): Promise<[BigNumber]>; + + getDepositQueueTVL(overrides?: CallOverrides): Promise<[BigNumber] & { tvl: BigNumber }>; + + getEpochConfig( + _id: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [number, number, number] & { + epochBegin: number; + epochEnd: number; + epochCreation: number; + } + >; + + getEpochDepositFee( + _id: PromiseOrValue, + _assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, BigNumber] & { + feeAmount: BigNumber; + assetsAfterFee: BigNumber; + } + >; + + getEpochsLength(overrides?: CallOverrides): Promise<[BigNumber]>; + + getRolloverIndex(_owner: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + getRolloverPosition( + _owner: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber, BigNumber] & { shares: BigNumber; epochId: BigNumber }>; + + getRolloverQueueItem( + _index: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [string, BigNumber, BigNumber] & { + receiver: string; + shares: BigNumber; + epochId: BigNumber; + } + >; + + getRolloverQueueLength(overrides?: CallOverrides): Promise<[BigNumber]>; + + getRolloverTVL(overrides?: CallOverrides): Promise<[BigNumber] & { tvl: BigNumber }>; + + getRolloverTVLByEpochId( + _epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { tvl: BigNumber }>; + + isApprovedForAll( + account: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[boolean]>; + + isEnlistedInRolloverQueue(_owner: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + + isWETH(overrides?: CallOverrides): Promise<[boolean]>; + + minQueueDeposit(overrides?: CallOverrides): Promise<[BigNumber]>; + + mintDepositInQueue( + _epochId: PromiseOrValue, + _operations: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + mintRollovers( + _epochId: PromiseOrValue, + _operations: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + name(overrides?: CallOverrides): Promise<[string]>; + + ownerToRollOverQueueIndex(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + previewAmountInShares( + _id: PromiseOrValue, + _assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { entitledShareAmount: BigNumber }>; + + previewEmissionsWithdraw( + _id: PromiseOrValue, + _assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { entitledAmount: BigNumber }>; + + previewWithdraw( + _id: PromiseOrValue, + _shares: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { entitledAssets: BigNumber }>; + + relayerFee(overrides?: CallOverrides): Promise<[BigNumber]>; + + resolveEpoch( + _id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + rolloverAccounting(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + rolloverQueue( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, string, BigNumber] & { + shares: BigNumber; + receiver: string; + epochId: BigNumber; + } + >; + + safeBatchTransferFrom( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[void]>; + + safeTransferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + id: PromiseOrValue, + amount: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + sendTokens( + _id: PromiseOrValue, + _amount: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setApprovalForAll( + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setClaimTVL( + _id: PromiseOrValue, + _claimTVL: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setCounterPartyVault( + _counterPartyVault: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setEmissions( + _epochId: PromiseOrValue, + _emissionAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setEpoch( + _epochBegin: PromiseOrValue, + _epochEnd: PromiseOrValue, + _epochId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setEpochNull( + _id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + strike(overrides?: CallOverrides): Promise<[BigNumber]>; + + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + + symbol(overrides?: CallOverrides): Promise<[string]>; + + token(overrides?: CallOverrides): Promise<[string]>; + + totalAssets(_id: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + totalSupply(id: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + treasury(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + uri(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; + + whiteListAddress( + _wAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + whitelistedAddresses(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + + withdraw( + _id: PromiseOrValue, + _shares: PromiseOrValue, + _receiver: PromiseOrValue, + _owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; + + asset(overrides?: CallOverrides): Promise; + + balanceOf( + account: PromiseOrValue, + id: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + balanceOfBatch( + accounts: PromiseOrValue[], + ids: PromiseOrValue[], + overrides?: CallOverrides, + ): Promise; + + calculateFeePercent( + minX: PromiseOrValue, + maxX: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + changeController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeDepositFee( + _depositFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeRelayerFee( + _relayerFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + claimTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + cleanUpRolloverQueue( + _addressesToDelist: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + controller(overrides?: CallOverrides): Promise; + + counterPartyVault(overrides?: CallOverrides): Promise; + + delistInRollover( + _owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + deposit( + _id: PromiseOrValue, + _assets: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + depositETH( + _id: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, + ): Promise; + + depositFee(overrides?: CallOverrides): Promise; + + depositQueue( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, string, BigNumber] & { + shares: BigNumber; + receiver: string; + epochId: BigNumber; + } + >; + + emissions(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + emissionsToken(overrides?: CallOverrides): Promise; + + enlistInRollover( + _epochId: PromiseOrValue, + _shares: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + epochAccounting(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochConfig( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [number, number, number] & { + epochBegin: number; + epochEnd: number; + epochCreation: number; + } + >; + + epochExists(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochNull(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochResolved(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochs(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + exists(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + factory(overrides?: CallOverrides): Promise; + + finalTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + getAllEpochs(overrides?: CallOverrides): Promise; + + getDepositQueueLength(overrides?: CallOverrides): Promise; + + getDepositQueueTVL(overrides?: CallOverrides): Promise; + + getEpochConfig( + _id: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [number, number, number] & { + epochBegin: number; + epochEnd: number; + epochCreation: number; + } + >; + + getEpochDepositFee( + _id: PromiseOrValue, + _assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber, BigNumber] & { feeAmount: BigNumber; assetsAfterFee: BigNumber }>; + + getEpochsLength(overrides?: CallOverrides): Promise; + + getRolloverIndex(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + getRolloverPosition( + _owner: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber, BigNumber] & { shares: BigNumber; epochId: BigNumber }>; + + getRolloverQueueItem( + _index: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [string, BigNumber, BigNumber] & { + receiver: string; + shares: BigNumber; + epochId: BigNumber; + } + >; + + getRolloverQueueLength(overrides?: CallOverrides): Promise; + + getRolloverTVL(overrides?: CallOverrides): Promise; + + getRolloverTVLByEpochId(_epochId: PromiseOrValue, overrides?: CallOverrides): Promise; + + isApprovedForAll( + account: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + isEnlistedInRolloverQueue(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + isWETH(overrides?: CallOverrides): Promise; + + minQueueDeposit(overrides?: CallOverrides): Promise; + + mintDepositInQueue( + _epochId: PromiseOrValue, + _operations: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + mintRollovers( + _epochId: PromiseOrValue, + _operations: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + name(overrides?: CallOverrides): Promise; + + ownerToRollOverQueueIndex(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewAmountInShares( + _id: PromiseOrValue, + _assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + previewEmissionsWithdraw( + _id: PromiseOrValue, + _assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + previewWithdraw( + _id: PromiseOrValue, + _shares: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + relayerFee(overrides?: CallOverrides): Promise; + + resolveEpoch( + _id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + rolloverAccounting(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + rolloverQueue( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, string, BigNumber] & { + shares: BigNumber; + receiver: string; + epochId: BigNumber; + } + >; + + safeBatchTransferFrom( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + safeTransferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + id: PromiseOrValue, + amount: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + sendTokens( + _id: PromiseOrValue, + _amount: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setApprovalForAll( + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setClaimTVL( + _id: PromiseOrValue, + _claimTVL: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setCounterPartyVault( + _counterPartyVault: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setEmissions( + _epochId: PromiseOrValue, + _emissionAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setEpoch( + _epochBegin: PromiseOrValue, + _epochEnd: PromiseOrValue, + _epochId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setEpochNull( + _id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + strike(overrides?: CallOverrides): Promise; + + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + token(overrides?: CallOverrides): Promise; + + totalAssets(_id: PromiseOrValue, overrides?: CallOverrides): Promise; + + totalSupply(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + treasury(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + uri(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + whiteListAddress( + _wAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + whitelistedAddresses(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + _id: PromiseOrValue, + _shares: PromiseOrValue, + _receiver: PromiseOrValue, + _owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + callStatic: { + asset(overrides?: CallOverrides): Promise; + + balanceOf( + account: PromiseOrValue, + id: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + balanceOfBatch( + accounts: PromiseOrValue[], + ids: PromiseOrValue[], + overrides?: CallOverrides, + ): Promise; + + calculateFeePercent( + minX: PromiseOrValue, + maxX: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + changeController(_controller: PromiseOrValue, overrides?: CallOverrides): Promise; + + changeDepositFee(_depositFee: PromiseOrValue, overrides?: CallOverrides): Promise; + + changeRelayerFee(_relayerFee: PromiseOrValue, overrides?: CallOverrides): Promise; + + claimTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + cleanUpRolloverQueue(_addressesToDelist: PromiseOrValue[], overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + counterPartyVault(overrides?: CallOverrides): Promise; + + delistInRollover(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + deposit( + _id: PromiseOrValue, + _assets: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + depositETH( + _id: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + depositFee(overrides?: CallOverrides): Promise; + + depositQueue( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, string, BigNumber] & { + shares: BigNumber; + receiver: string; + epochId: BigNumber; + } + >; + + emissions(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + emissionsToken(overrides?: CallOverrides): Promise; + + enlistInRollover( + _epochId: PromiseOrValue, + _shares: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + epochAccounting(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochConfig( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [number, number, number] & { + epochBegin: number; + epochEnd: number; + epochCreation: number; + } + >; + + epochExists(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochNull(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochResolved(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochs(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + exists(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + factory(overrides?: CallOverrides): Promise; + + finalTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + getAllEpochs(overrides?: CallOverrides): Promise; + + getDepositQueueLength(overrides?: CallOverrides): Promise; + + getDepositQueueTVL(overrides?: CallOverrides): Promise; + + getEpochConfig( + _id: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [number, number, number] & { + epochBegin: number; + epochEnd: number; + epochCreation: number; + } + >; + + getEpochDepositFee( + _id: PromiseOrValue, + _assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, BigNumber] & { + feeAmount: BigNumber; + assetsAfterFee: BigNumber; + } + >; + + getEpochsLength(overrides?: CallOverrides): Promise; + + getRolloverIndex(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + getRolloverPosition( + _owner: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber, BigNumber] & { shares: BigNumber; epochId: BigNumber }>; + + getRolloverQueueItem( + _index: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [string, BigNumber, BigNumber] & { + receiver: string; + shares: BigNumber; + epochId: BigNumber; + } + >; + + getRolloverQueueLength(overrides?: CallOverrides): Promise; + + getRolloverTVL(overrides?: CallOverrides): Promise; + + getRolloverTVLByEpochId(_epochId: PromiseOrValue, overrides?: CallOverrides): Promise; + + isApprovedForAll( + account: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + isEnlistedInRolloverQueue(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + isWETH(overrides?: CallOverrides): Promise; + + minQueueDeposit(overrides?: CallOverrides): Promise; + + mintDepositInQueue( + _epochId: PromiseOrValue, + _operations: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + mintRollovers( + _epochId: PromiseOrValue, + _operations: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + name(overrides?: CallOverrides): Promise; + + ownerToRollOverQueueIndex(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewAmountInShares( + _id: PromiseOrValue, + _assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + previewEmissionsWithdraw( + _id: PromiseOrValue, + _assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + previewWithdraw( + _id: PromiseOrValue, + _shares: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + relayerFee(overrides?: CallOverrides): Promise; + + resolveEpoch(_id: PromiseOrValue, overrides?: CallOverrides): Promise; + + rolloverAccounting(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + rolloverQueue( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, string, BigNumber] & { + shares: BigNumber; + receiver: string; + epochId: BigNumber; + } + >; + + safeBatchTransferFrom( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + safeTransferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + id: PromiseOrValue, + amount: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + sendTokens( + _id: PromiseOrValue, + _amount: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + setApprovalForAll( + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + setClaimTVL( + _id: PromiseOrValue, + _claimTVL: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + setCounterPartyVault(_counterPartyVault: PromiseOrValue, overrides?: CallOverrides): Promise; + + setEmissions( + _epochId: PromiseOrValue, + _emissionAmount: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + setEpoch( + _epochBegin: PromiseOrValue, + _epochEnd: PromiseOrValue, + _epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + setEpochNull(_id: PromiseOrValue, overrides?: CallOverrides): Promise; + + strike(overrides?: CallOverrides): Promise; + + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + token(overrides?: CallOverrides): Promise; + + totalAssets(_id: PromiseOrValue, overrides?: CallOverrides): Promise; + + totalSupply(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + treasury(overrides?: CallOverrides): Promise; + + uri(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + whiteListAddress(_wAddress: PromiseOrValue, overrides?: CallOverrides): Promise; + + whitelistedAddresses(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + _id: PromiseOrValue, + _shares: PromiseOrValue, + _receiver: PromiseOrValue, + _owner: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + }; + + filters: { + 'ApprovalForAll(address,address,bool)'( + account?: PromiseOrValue | null, + operator?: PromiseOrValue | null, + approved?: null, + ): ApprovalForAllEventFilter; + ApprovalForAll( + account?: PromiseOrValue | null, + operator?: PromiseOrValue | null, + approved?: null, + ): ApprovalForAllEventFilter; + + 'Deposit(address,address,uint256,uint256)'( + caller?: null, + owner?: PromiseOrValue | null, + id?: PromiseOrValue | null, + assets?: null, + ): DepositEventFilter; + Deposit( + caller?: null, + owner?: PromiseOrValue | null, + id?: PromiseOrValue | null, + assets?: null, + ): DepositEventFilter; + + 'DepositInQueue(address,address,uint256,uint256)'( + sender?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + epochId?: null, + assets?: null, + ): DepositInQueueEventFilter; + DepositInQueue( + sender?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + epochId?: null, + assets?: null, + ): DepositInQueueEventFilter; + + 'RelayerMinted(uint256,uint256)'(epochId?: null, operations?: null): RelayerMintedEventFilter; + RelayerMinted(epochId?: null, operations?: null): RelayerMintedEventFilter; + + 'RolloverQueued(address,uint256,uint256)'( + sender?: PromiseOrValue | null, + assets?: null, + epochId?: null, + ): RolloverQueuedEventFilter; + RolloverQueued(sender?: PromiseOrValue | null, assets?: null, epochId?: null): RolloverQueuedEventFilter; + + 'TransferBatch(address,address,address,uint256[],uint256[])'( + operator?: PromiseOrValue | null, + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + ids?: null, + values?: null, + ): TransferBatchEventFilter; + TransferBatch( + operator?: PromiseOrValue | null, + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + ids?: null, + values?: null, + ): TransferBatchEventFilter; + + 'TransferSingle(address,address,address,uint256,uint256)'( + operator?: PromiseOrValue | null, + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + id?: null, + value?: null, + ): TransferSingleEventFilter; + TransferSingle( + operator?: PromiseOrValue | null, + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + id?: null, + value?: null, + ): TransferSingleEventFilter; + + 'URI(string,uint256)'(value?: null, id?: PromiseOrValue | null): URIEventFilter; + URI(value?: null, id?: PromiseOrValue | null): URIEventFilter; + + 'Withdraw(address,address,address,uint256,uint256,uint256)'( + caller?: null, + receiver?: null, + owner?: PromiseOrValue | null, + id?: PromiseOrValue | null, + assets?: null, + shares?: null, + ): WithdrawEventFilter; + Withdraw( + caller?: null, + receiver?: null, + owner?: PromiseOrValue | null, + id?: PromiseOrValue | null, + assets?: null, + shares?: null, + ): WithdrawEventFilter; + + 'WithdrawWithEmissions(address,address,address,uint256,uint256,uint256,uint256)'( + caller?: null, + receiver?: null, + owner?: PromiseOrValue | null, + id?: PromiseOrValue | null, + assets?: null, + shares?: null, + emissions?: null, + ): WithdrawWithEmissionsEventFilter; + WithdrawWithEmissions( + caller?: null, + receiver?: null, + owner?: PromiseOrValue | null, + id?: PromiseOrValue | null, + assets?: null, + shares?: null, + emissions?: null, + ): WithdrawWithEmissionsEventFilter; + }; + + estimateGas: { + asset(overrides?: CallOverrides): Promise; + + balanceOf( + account: PromiseOrValue, + id: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + balanceOfBatch( + accounts: PromiseOrValue[], + ids: PromiseOrValue[], + overrides?: CallOverrides, + ): Promise; + + calculateFeePercent( + minX: PromiseOrValue, + maxX: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + changeController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeDepositFee( + _depositFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeRelayerFee( + _relayerFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + claimTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + cleanUpRolloverQueue( + _addressesToDelist: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + controller(overrides?: CallOverrides): Promise; + + counterPartyVault(overrides?: CallOverrides): Promise; + + delistInRollover( + _owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + deposit( + _id: PromiseOrValue, + _assets: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + depositETH( + _id: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, + ): Promise; + + depositFee(overrides?: CallOverrides): Promise; + + depositQueue(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + emissions(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + emissionsToken(overrides?: CallOverrides): Promise; + + enlistInRollover( + _epochId: PromiseOrValue, + _shares: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + epochAccounting(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochConfig(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochExists(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochNull(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochResolved(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochs(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + exists(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + factory(overrides?: CallOverrides): Promise; + + finalTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + getAllEpochs(overrides?: CallOverrides): Promise; + + getDepositQueueLength(overrides?: CallOverrides): Promise; + + getDepositQueueTVL(overrides?: CallOverrides): Promise; + + getEpochConfig(_id: PromiseOrValue, overrides?: CallOverrides): Promise; + + getEpochDepositFee( + _id: PromiseOrValue, + _assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + getEpochsLength(overrides?: CallOverrides): Promise; + + getRolloverIndex(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + getRolloverPosition(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + getRolloverQueueItem(_index: PromiseOrValue, overrides?: CallOverrides): Promise; + + getRolloverQueueLength(overrides?: CallOverrides): Promise; + + getRolloverTVL(overrides?: CallOverrides): Promise; + + getRolloverTVLByEpochId(_epochId: PromiseOrValue, overrides?: CallOverrides): Promise; + + isApprovedForAll( + account: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + isEnlistedInRolloverQueue(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + isWETH(overrides?: CallOverrides): Promise; + + minQueueDeposit(overrides?: CallOverrides): Promise; + + mintDepositInQueue( + _epochId: PromiseOrValue, + _operations: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + mintRollovers( + _epochId: PromiseOrValue, + _operations: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + name(overrides?: CallOverrides): Promise; + + ownerToRollOverQueueIndex(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewAmountInShares( + _id: PromiseOrValue, + _assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + previewEmissionsWithdraw( + _id: PromiseOrValue, + _assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + previewWithdraw( + _id: PromiseOrValue, + _shares: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + relayerFee(overrides?: CallOverrides): Promise; + + resolveEpoch( + _id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + rolloverAccounting(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + rolloverQueue(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + safeBatchTransferFrom( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + safeTransferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + id: PromiseOrValue, + amount: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + sendTokens( + _id: PromiseOrValue, + _amount: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setApprovalForAll( + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setClaimTVL( + _id: PromiseOrValue, + _claimTVL: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setCounterPartyVault( + _counterPartyVault: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setEmissions( + _epochId: PromiseOrValue, + _emissionAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setEpoch( + _epochBegin: PromiseOrValue, + _epochEnd: PromiseOrValue, + _epochId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setEpochNull( + _id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + strike(overrides?: CallOverrides): Promise; + + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + token(overrides?: CallOverrides): Promise; + + totalAssets(_id: PromiseOrValue, overrides?: CallOverrides): Promise; + + totalSupply(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + treasury(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + uri(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + whiteListAddress( + _wAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + whitelistedAddresses(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + _id: PromiseOrValue, + _shares: PromiseOrValue, + _receiver: PromiseOrValue, + _owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; + + populateTransaction: { + asset(overrides?: CallOverrides): Promise; + + balanceOf( + account: PromiseOrValue, + id: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + balanceOfBatch( + accounts: PromiseOrValue[], + ids: PromiseOrValue[], + overrides?: CallOverrides, + ): Promise; + + calculateFeePercent( + minX: PromiseOrValue, + maxX: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + changeController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeDepositFee( + _depositFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeRelayerFee( + _relayerFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + claimTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + cleanUpRolloverQueue( + _addressesToDelist: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + controller(overrides?: CallOverrides): Promise; + + counterPartyVault(overrides?: CallOverrides): Promise; + + delistInRollover( + _owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + deposit( + _id: PromiseOrValue, + _assets: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + depositETH( + _id: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, + ): Promise; + + depositFee(overrides?: CallOverrides): Promise; + + depositQueue(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + emissions(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + emissionsToken(overrides?: CallOverrides): Promise; + + enlistInRollover( + _epochId: PromiseOrValue, + _shares: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + epochAccounting(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochConfig(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochExists(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochNull(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochResolved(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochs(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + exists(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + factory(overrides?: CallOverrides): Promise; + + finalTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + getAllEpochs(overrides?: CallOverrides): Promise; + + getDepositQueueLength(overrides?: CallOverrides): Promise; + + getDepositQueueTVL(overrides?: CallOverrides): Promise; + + getEpochConfig(_id: PromiseOrValue, overrides?: CallOverrides): Promise; + + getEpochDepositFee( + _id: PromiseOrValue, + _assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + getEpochsLength(overrides?: CallOverrides): Promise; + + getRolloverIndex(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + getRolloverPosition(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + getRolloverQueueItem( + _index: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + getRolloverQueueLength(overrides?: CallOverrides): Promise; + + getRolloverTVL(overrides?: CallOverrides): Promise; + + getRolloverTVLByEpochId( + _epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + isApprovedForAll( + account: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + isEnlistedInRolloverQueue(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + isWETH(overrides?: CallOverrides): Promise; + + minQueueDeposit(overrides?: CallOverrides): Promise; + + mintDepositInQueue( + _epochId: PromiseOrValue, + _operations: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + mintRollovers( + _epochId: PromiseOrValue, + _operations: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + name(overrides?: CallOverrides): Promise; + + ownerToRollOverQueueIndex(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewAmountInShares( + _id: PromiseOrValue, + _assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + previewEmissionsWithdraw( + _id: PromiseOrValue, + _assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + previewWithdraw( + _id: PromiseOrValue, + _shares: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + relayerFee(overrides?: CallOverrides): Promise; + + resolveEpoch( + _id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + rolloverAccounting(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + rolloverQueue(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + safeBatchTransferFrom( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + safeTransferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + id: PromiseOrValue, + amount: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + sendTokens( + _id: PromiseOrValue, + _amount: PromiseOrValue, + _receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setApprovalForAll( + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setClaimTVL( + _id: PromiseOrValue, + _claimTVL: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setCounterPartyVault( + _counterPartyVault: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setEmissions( + _epochId: PromiseOrValue, + _emissionAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setEpoch( + _epochBegin: PromiseOrValue, + _epochEnd: PromiseOrValue, + _epochId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setEpochNull( + _id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + strike(overrides?: CallOverrides): Promise; + + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + token(overrides?: CallOverrides): Promise; + + totalAssets(_id: PromiseOrValue, overrides?: CallOverrides): Promise; + + totalSupply(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + treasury(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + uri(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + whiteListAddress( + _wAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + whitelistedAddresses(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + _id: PromiseOrValue, + _shares: PromiseOrValue, + _receiver: PromiseOrValue, + _owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; +} diff --git a/src/apps/y2k-finance/contracts/ethers/Y2KFinanceCarouselFactory.ts b/src/apps/y2k-finance/contracts/ethers/Y2KFinanceCarouselFactory.ts new file mode 100644 index 000000000..42c33e2d3 --- /dev/null +++ b/src/apps/y2k-finance/contracts/ethers/Y2KFinanceCarouselFactory.ts @@ -0,0 +1,958 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from 'ethers'; +import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi'; +import type { Listener, Provider } from '@ethersproject/providers'; +import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common'; + +export declare namespace VaultFactoryV2 { + export type MarketConfigurationCalldataStruct = { + token: PromiseOrValue; + strike: PromiseOrValue; + oracle: PromiseOrValue; + underlyingAsset: PromiseOrValue; + name: PromiseOrValue; + tokenURI: PromiseOrValue; + controller: PromiseOrValue; + }; + + export type MarketConfigurationCalldataStructOutput = [string, BigNumber, string, string, string, string, string] & { + token: string; + strike: BigNumber; + oracle: string; + underlyingAsset: string; + name: string; + tokenURI: string; + controller: string; + }; +} + +export interface Y2KFinanceCarouselFactoryInterface extends utils.Interface { + functions: { + 'WETH()': FunctionFragment; + 'changeController(uint256,address)': FunctionFragment; + 'changeOracle(uint256,address)': FunctionFragment; + 'controllers(address)': FunctionFragment; + 'createEpoch(uint256,uint40,uint40,uint16)': FunctionFragment; + 'createNewMarket((address,uint256,address,address,string,string,address))': FunctionFragment; + 'epochFee(uint256)': FunctionFragment; + 'getEpochFee(uint256)': FunctionFragment; + 'getEpochId(uint256,uint40,uint40)': FunctionFragment; + 'getEpochsByMarketId(uint256)': FunctionFragment; + 'getMarketId(address,uint256,address)': FunctionFragment; + 'getMarketInfo(uint256)': FunctionFragment; + 'getVaults(uint256)': FunctionFragment; + 'marketIdInfo(uint256)': FunctionFragment; + 'marketIdToEpochs(uint256,uint256)': FunctionFragment; + 'marketIdToVaults(uint256,uint256)': FunctionFragment; + 'marketToOracle(uint256)': FunctionFragment; + 'owner()': FunctionFragment; + 'renounceOwnership()': FunctionFragment; + 'setTreasury(address)': FunctionFragment; + 'timelocker()': FunctionFragment; + 'transferOwnership(address)': FunctionFragment; + 'treasury()': FunctionFragment; + 'whitelistAddressOnMarket(uint256,address)': FunctionFragment; + 'whitelistController(address)': FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | 'WETH' + | 'changeController' + | 'changeOracle' + | 'controllers' + | 'createEpoch' + | 'createNewMarket' + | 'epochFee' + | 'getEpochFee' + | 'getEpochId' + | 'getEpochsByMarketId' + | 'getMarketId' + | 'getMarketInfo' + | 'getVaults' + | 'marketIdInfo' + | 'marketIdToEpochs' + | 'marketIdToVaults' + | 'marketToOracle' + | 'owner' + | 'renounceOwnership' + | 'setTreasury' + | 'timelocker' + | 'transferOwnership' + | 'treasury' + | 'whitelistAddressOnMarket' + | 'whitelistController', + ): FunctionFragment; + + encodeFunctionData(functionFragment: 'WETH', values?: undefined): string; + encodeFunctionData( + functionFragment: 'changeController', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'changeOracle', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'controllers', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'createEpoch', + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + ], + ): string; + encodeFunctionData( + functionFragment: 'createNewMarket', + values: [VaultFactoryV2.MarketConfigurationCalldataStruct], + ): string; + encodeFunctionData(functionFragment: 'epochFee', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'getEpochFee', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'getEpochId', + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'getEpochsByMarketId', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'getMarketId', + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'getMarketInfo', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'getVaults', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'marketIdInfo', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'marketIdToEpochs', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'marketIdToVaults', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'marketToOracle', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'owner', values?: undefined): string; + encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string; + encodeFunctionData(functionFragment: 'setTreasury', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'timelocker', values?: undefined): string; + encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'treasury', values?: undefined): string; + encodeFunctionData( + functionFragment: 'whitelistAddressOnMarket', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'whitelistController', values: [PromiseOrValue]): string; + + decodeFunctionResult(functionFragment: 'WETH', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'changeController', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'changeOracle', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'controllers', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'createEpoch', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'createNewMarket', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'epochFee', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getEpochFee', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getEpochId', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getEpochsByMarketId', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getMarketId', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getMarketInfo', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getVaults', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'marketIdInfo', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'marketIdToEpochs', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'marketIdToVaults', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'marketToOracle', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'setTreasury', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'timelocker', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'treasury', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'whitelistAddressOnMarket', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'whitelistController', data: BytesLike): Result; + + events: { + 'AddressWhitelisted(address,uint256)': EventFragment; + 'ControllerChanged(uint256,address,address,address)': EventFragment; + 'ControllerWhitelisted(address)': EventFragment; + 'EpochCreated(uint256,uint256,uint40,uint40,address,address,address,uint256,uint16)': EventFragment; + 'MarketCreated(uint256,address,address,address,address,string,uint256,address)': EventFragment; + 'OracleChanged(uint256,address)': EventFragment; + 'OwnershipTransferred(address,address)': EventFragment; + 'TreasurySet(address)': EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: 'AddressWhitelisted'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'ControllerChanged'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'ControllerWhitelisted'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'EpochCreated'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'MarketCreated'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'OracleChanged'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'TreasurySet'): EventFragment; +} + +export interface AddressWhitelistedEventObject { + _wAddress: string; + _marketId: BigNumber; +} +export type AddressWhitelistedEvent = TypedEvent<[string, BigNumber], AddressWhitelistedEventObject>; + +export type AddressWhitelistedEventFilter = TypedEventFilter; + +export interface ControllerChangedEventObject { + marketId: BigNumber; + controller: string; + premium: string; + collateral: string; +} +export type ControllerChangedEvent = TypedEvent<[BigNumber, string, string, string], ControllerChangedEventObject>; + +export type ControllerChangedEventFilter = TypedEventFilter; + +export interface ControllerWhitelistedEventObject { + _controller: string; +} +export type ControllerWhitelistedEvent = TypedEvent<[string], ControllerWhitelistedEventObject>; + +export type ControllerWhitelistedEventFilter = TypedEventFilter; + +export interface EpochCreatedEventObject { + epochId: BigNumber; + marketId: BigNumber; + startEpoch: number; + endEpoch: number; + premium: string; + collateral: string; + token: string; + strike: BigNumber; + withdrawalFee: number; +} +export type EpochCreatedEvent = TypedEvent< + [BigNumber, BigNumber, number, number, string, string, string, BigNumber, number], + EpochCreatedEventObject +>; + +export type EpochCreatedEventFilter = TypedEventFilter; + +export interface MarketCreatedEventObject { + marketId: BigNumber; + premium: string; + collateral: string; + underlyingAsset: string; + token: string; + name: string; + strike: BigNumber; + controller: string; +} +export type MarketCreatedEvent = TypedEvent< + [BigNumber, string, string, string, string, string, BigNumber, string], + MarketCreatedEventObject +>; + +export type MarketCreatedEventFilter = TypedEventFilter; + +export interface OracleChangedEventObject { + _marketId: BigNumber; + _oracle: string; +} +export type OracleChangedEvent = TypedEvent<[BigNumber, string], OracleChangedEventObject>; + +export type OracleChangedEventFilter = TypedEventFilter; + +export interface OwnershipTransferredEventObject { + previousOwner: string; + newOwner: string; +} +export type OwnershipTransferredEvent = TypedEvent<[string, string], OwnershipTransferredEventObject>; + +export type OwnershipTransferredEventFilter = TypedEventFilter; + +export interface TreasurySetEventObject { + _treasury: string; +} +export type TreasurySetEvent = TypedEvent<[string], TreasurySetEventObject>; + +export type TreasurySetEventFilter = TypedEventFilter; + +export interface Y2KFinanceCarouselFactory extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: Y2KFinanceCarouselFactoryInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined, + ): Promise>; + + listeners(eventFilter?: TypedEventFilter): Array>; + listeners(eventName?: string): Array; + removeAllListeners(eventFilter: TypedEventFilter): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + WETH(overrides?: CallOverrides): Promise<[string]>; + + changeController( + _marketId: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeOracle( + _marketId: PromiseOrValue, + _oracle: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + controllers(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + + createEpoch( + _marketId: PromiseOrValue, + _epochBegin: PromiseOrValue, + _epochEnd: PromiseOrValue, + _withdrawalFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + createNewMarket( + _marketCalldata: VaultFactoryV2.MarketConfigurationCalldataStruct, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + epochFee(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[number]>; + + getEpochFee(epochId: PromiseOrValue, overrides?: CallOverrides): Promise<[number] & { fee: number }>; + + getEpochId( + marketId: PromiseOrValue, + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { epochId: BigNumber }>; + + getEpochsByMarketId(marketId: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber[]]>; + + getMarketId( + _token: PromiseOrValue, + _strikePrice: PromiseOrValue, + _underlying: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { marketId: BigNumber }>; + + getMarketInfo( + _marketId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [string, BigNumber, string] & { + token: string; + strike: BigNumber; + underlyingAsset: string; + } + >; + + getVaults( + index: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[[string, string]] & { vaults: [string, string] }>; + + marketIdInfo( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [string, BigNumber, string] & { + token: string; + strike: BigNumber; + underlyingAsset: string; + } + >; + + marketIdToEpochs( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber]>; + + marketIdToVaults( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[string]>; + + marketToOracle(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; + + owner(overrides?: CallOverrides): Promise<[string]>; + + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + setTreasury( + _treasury: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + timelocker(overrides?: CallOverrides): Promise<[string]>; + + transferOwnership( + _owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + treasury(overrides?: CallOverrides): Promise<[string]>; + + whitelistAddressOnMarket( + _marketId: PromiseOrValue, + _wAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + whitelistController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; + + WETH(overrides?: CallOverrides): Promise; + + changeController( + _marketId: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeOracle( + _marketId: PromiseOrValue, + _oracle: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + controllers(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + createEpoch( + _marketId: PromiseOrValue, + _epochBegin: PromiseOrValue, + _epochEnd: PromiseOrValue, + _withdrawalFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + createNewMarket( + _marketCalldata: VaultFactoryV2.MarketConfigurationCalldataStruct, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + epochFee(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + getEpochFee(epochId: PromiseOrValue, overrides?: CallOverrides): Promise; + + getEpochId( + marketId: PromiseOrValue, + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + getEpochsByMarketId(marketId: PromiseOrValue, overrides?: CallOverrides): Promise; + + getMarketId( + _token: PromiseOrValue, + _strikePrice: PromiseOrValue, + _underlying: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + getMarketInfo( + _marketId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [string, BigNumber, string] & { + token: string; + strike: BigNumber; + underlyingAsset: string; + } + >; + + getVaults(index: PromiseOrValue, overrides?: CallOverrides): Promise<[string, string]>; + + marketIdInfo( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [string, BigNumber, string] & { + token: string; + strike: BigNumber; + underlyingAsset: string; + } + >; + + marketIdToEpochs( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + marketIdToVaults( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + marketToOracle(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + setTreasury( + _treasury: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + timelocker(overrides?: CallOverrides): Promise; + + transferOwnership( + _owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + treasury(overrides?: CallOverrides): Promise; + + whitelistAddressOnMarket( + _marketId: PromiseOrValue, + _wAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + whitelistController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + callStatic: { + WETH(overrides?: CallOverrides): Promise; + + changeController( + _marketId: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + changeOracle( + _marketId: PromiseOrValue, + _oracle: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + controllers(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + createEpoch( + _marketId: PromiseOrValue, + _epochBegin: PromiseOrValue, + _epochEnd: PromiseOrValue, + _withdrawalFee: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, [string, string]] & { + epochId: BigNumber; + vaults: [string, string]; + } + >; + + createNewMarket( + _marketCalldata: VaultFactoryV2.MarketConfigurationCalldataStruct, + overrides?: CallOverrides, + ): Promise< + [string, string, BigNumber] & { + premium: string; + collateral: string; + marketId: BigNumber; + } + >; + + epochFee(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + getEpochFee(epochId: PromiseOrValue, overrides?: CallOverrides): Promise; + + getEpochId( + marketId: PromiseOrValue, + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + getEpochsByMarketId(marketId: PromiseOrValue, overrides?: CallOverrides): Promise; + + getMarketId( + _token: PromiseOrValue, + _strikePrice: PromiseOrValue, + _underlying: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + getMarketInfo( + _marketId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [string, BigNumber, string] & { + token: string; + strike: BigNumber; + underlyingAsset: string; + } + >; + + getVaults(index: PromiseOrValue, overrides?: CallOverrides): Promise<[string, string]>; + + marketIdInfo( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [string, BigNumber, string] & { + token: string; + strike: BigNumber; + underlyingAsset: string; + } + >; + + marketIdToEpochs( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + marketIdToVaults( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + marketToOracle(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: CallOverrides): Promise; + + setTreasury(_treasury: PromiseOrValue, overrides?: CallOverrides): Promise; + + timelocker(overrides?: CallOverrides): Promise; + + transferOwnership(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + treasury(overrides?: CallOverrides): Promise; + + whitelistAddressOnMarket( + _marketId: PromiseOrValue, + _wAddress: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + whitelistController(_controller: PromiseOrValue, overrides?: CallOverrides): Promise; + }; + + filters: { + 'AddressWhitelisted(address,uint256)'( + _wAddress?: null, + _marketId?: PromiseOrValue | null, + ): AddressWhitelistedEventFilter; + AddressWhitelisted( + _wAddress?: null, + _marketId?: PromiseOrValue | null, + ): AddressWhitelistedEventFilter; + + 'ControllerChanged(uint256,address,address,address)'( + marketId?: PromiseOrValue | null, + controller?: PromiseOrValue | null, + premium?: null, + collateral?: null, + ): ControllerChangedEventFilter; + ControllerChanged( + marketId?: PromiseOrValue | null, + controller?: PromiseOrValue | null, + premium?: null, + collateral?: null, + ): ControllerChangedEventFilter; + + 'ControllerWhitelisted(address)'(_controller?: null): ControllerWhitelistedEventFilter; + ControllerWhitelisted(_controller?: null): ControllerWhitelistedEventFilter; + + 'EpochCreated(uint256,uint256,uint40,uint40,address,address,address,uint256,uint16)'( + epochId?: PromiseOrValue | null, + marketId?: PromiseOrValue | null, + startEpoch?: null, + endEpoch?: null, + premium?: null, + collateral?: null, + token?: null, + strike?: null, + withdrawalFee?: null, + ): EpochCreatedEventFilter; + EpochCreated( + epochId?: PromiseOrValue | null, + marketId?: PromiseOrValue | null, + startEpoch?: null, + endEpoch?: null, + premium?: null, + collateral?: null, + token?: null, + strike?: null, + withdrawalFee?: null, + ): EpochCreatedEventFilter; + + 'MarketCreated(uint256,address,address,address,address,string,uint256,address)'( + marketId?: PromiseOrValue | null, + premium?: null, + collateral?: null, + underlyingAsset?: null, + token?: null, + name?: null, + strike?: null, + controller?: null, + ): MarketCreatedEventFilter; + MarketCreated( + marketId?: PromiseOrValue | null, + premium?: null, + collateral?: null, + underlyingAsset?: null, + token?: null, + name?: null, + strike?: null, + controller?: null, + ): MarketCreatedEventFilter; + + 'OracleChanged(uint256,address)'( + _marketId?: PromiseOrValue | null, + _oracle?: null, + ): OracleChangedEventFilter; + OracleChanged(_marketId?: PromiseOrValue | null, _oracle?: null): OracleChangedEventFilter; + + 'OwnershipTransferred(address,address)'( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null, + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null, + ): OwnershipTransferredEventFilter; + + 'TreasurySet(address)'(_treasury?: null): TreasurySetEventFilter; + TreasurySet(_treasury?: null): TreasurySetEventFilter; + }; + + estimateGas: { + WETH(overrides?: CallOverrides): Promise; + + changeController( + _marketId: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeOracle( + _marketId: PromiseOrValue, + _oracle: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + controllers(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + createEpoch( + _marketId: PromiseOrValue, + _epochBegin: PromiseOrValue, + _epochEnd: PromiseOrValue, + _withdrawalFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + createNewMarket( + _marketCalldata: VaultFactoryV2.MarketConfigurationCalldataStruct, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + epochFee(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + getEpochFee(epochId: PromiseOrValue, overrides?: CallOverrides): Promise; + + getEpochId( + marketId: PromiseOrValue, + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + getEpochsByMarketId(marketId: PromiseOrValue, overrides?: CallOverrides): Promise; + + getMarketId( + _token: PromiseOrValue, + _strikePrice: PromiseOrValue, + _underlying: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + getMarketInfo(_marketId: PromiseOrValue, overrides?: CallOverrides): Promise; + + getVaults(index: PromiseOrValue, overrides?: CallOverrides): Promise; + + marketIdInfo(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + marketIdToEpochs( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + marketIdToVaults( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + marketToOracle(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + setTreasury( + _treasury: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + timelocker(overrides?: CallOverrides): Promise; + + transferOwnership( + _owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + treasury(overrides?: CallOverrides): Promise; + + whitelistAddressOnMarket( + _marketId: PromiseOrValue, + _wAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + whitelistController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; + + populateTransaction: { + WETH(overrides?: CallOverrides): Promise; + + changeController( + _marketId: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeOracle( + _marketId: PromiseOrValue, + _oracle: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + controllers(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + createEpoch( + _marketId: PromiseOrValue, + _epochBegin: PromiseOrValue, + _epochEnd: PromiseOrValue, + _withdrawalFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + createNewMarket( + _marketCalldata: VaultFactoryV2.MarketConfigurationCalldataStruct, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + epochFee(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + getEpochFee(epochId: PromiseOrValue, overrides?: CallOverrides): Promise; + + getEpochId( + marketId: PromiseOrValue, + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + getEpochsByMarketId( + marketId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + getMarketId( + _token: PromiseOrValue, + _strikePrice: PromiseOrValue, + _underlying: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + getMarketInfo(_marketId: PromiseOrValue, overrides?: CallOverrides): Promise; + + getVaults(index: PromiseOrValue, overrides?: CallOverrides): Promise; + + marketIdInfo(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + marketIdToEpochs( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + marketIdToVaults( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + marketToOracle(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + setTreasury( + _treasury: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + timelocker(overrides?: CallOverrides): Promise; + + transferOwnership( + _owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + treasury(overrides?: CallOverrides): Promise; + + whitelistAddressOnMarket( + _marketId: PromiseOrValue, + _wAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + whitelistController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; +} diff --git a/src/apps/y2k-finance/contracts/ethers/Y2KFinanceRewardsFactory.ts b/src/apps/y2k-finance/contracts/ethers/Y2KFinanceRewardsFactory.ts new file mode 100644 index 000000000..2d3fa8346 --- /dev/null +++ b/src/apps/y2k-finance/contracts/ethers/Y2KFinanceRewardsFactory.ts @@ -0,0 +1,232 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from 'ethers'; +import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi'; +import type { Listener, Provider } from '@ethersproject/providers'; +import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common'; + +export interface Y2KFinanceRewardsFactoryInterface extends utils.Interface { + functions: { + 'createStakingRewards(uint256,uint256)': FunctionFragment; + 'factory()': FunctionFragment; + 'govToken()': FunctionFragment; + 'owner()': FunctionFragment; + 'renounceOwnership()': FunctionFragment; + 'transferOwnership(address)': FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | 'createStakingRewards' + | 'factory' + | 'govToken' + | 'owner' + | 'renounceOwnership' + | 'transferOwnership', + ): FunctionFragment; + + encodeFunctionData( + functionFragment: 'createStakingRewards', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'factory', values?: undefined): string; + encodeFunctionData(functionFragment: 'govToken', values?: undefined): string; + encodeFunctionData(functionFragment: 'owner', values?: undefined): string; + encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string; + encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue]): string; + + decodeFunctionResult(functionFragment: 'createStakingRewards', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'factory', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'govToken', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result; + + events: { + 'CreatedStakingReward(bytes32,uint256,address,address)': EventFragment; + 'OwnershipTransferred(address,address)': EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: 'CreatedStakingReward'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment; +} + +export interface CreatedStakingRewardEventObject { + marketEpochId: string; + mIndex: BigNumber; + hedgeFarm: string; + riskFarm: string; +} +export type CreatedStakingRewardEvent = TypedEvent< + [string, BigNumber, string, string], + CreatedStakingRewardEventObject +>; + +export type CreatedStakingRewardEventFilter = TypedEventFilter; + +export interface OwnershipTransferredEventObject { + previousOwner: string; + newOwner: string; +} +export type OwnershipTransferredEvent = TypedEvent<[string, string], OwnershipTransferredEventObject>; + +export type OwnershipTransferredEventFilter = TypedEventFilter; + +export interface Y2KFinanceRewardsFactory extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: Y2KFinanceRewardsFactoryInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined, + ): Promise>; + + listeners(eventFilter?: TypedEventFilter): Array>; + listeners(eventName?: string): Array; + removeAllListeners(eventFilter: TypedEventFilter): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + createStakingRewards( + _marketIndex: PromiseOrValue, + _epochEnd: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + factory(overrides?: CallOverrides): Promise<[string]>; + + govToken(overrides?: CallOverrides): Promise<[string]>; + + owner(overrides?: CallOverrides): Promise<[string]>; + + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; + + createStakingRewards( + _marketIndex: PromiseOrValue, + _epochEnd: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + factory(overrides?: CallOverrides): Promise; + + govToken(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + callStatic: { + createStakingRewards( + _marketIndex: PromiseOrValue, + _epochEnd: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[string, string] & { insr: string; risk: string }>; + + factory(overrides?: CallOverrides): Promise; + + govToken(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: CallOverrides): Promise; + + transferOwnership(newOwner: PromiseOrValue, overrides?: CallOverrides): Promise; + }; + + filters: { + 'CreatedStakingReward(bytes32,uint256,address,address)'( + marketEpochId?: PromiseOrValue | null, + mIndex?: PromiseOrValue | null, + hedgeFarm?: null, + riskFarm?: null, + ): CreatedStakingRewardEventFilter; + CreatedStakingReward( + marketEpochId?: PromiseOrValue | null, + mIndex?: PromiseOrValue | null, + hedgeFarm?: null, + riskFarm?: null, + ): CreatedStakingRewardEventFilter; + + 'OwnershipTransferred(address,address)'( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null, + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null, + ): OwnershipTransferredEventFilter; + }; + + estimateGas: { + createStakingRewards( + _marketIndex: PromiseOrValue, + _epochEnd: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + factory(overrides?: CallOverrides): Promise; + + govToken(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; + + populateTransaction: { + createStakingRewards( + _marketIndex: PromiseOrValue, + _epochEnd: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + factory(overrides?: CallOverrides): Promise; + + govToken(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; +} diff --git a/src/apps/y2k-finance/contracts/ethers/Y2KFinanceStakingRewards.ts b/src/apps/y2k-finance/contracts/ethers/Y2KFinanceStakingRewards.ts new file mode 100644 index 000000000..05ce5e050 --- /dev/null +++ b/src/apps/y2k-finance/contracts/ethers/Y2KFinanceStakingRewards.ts @@ -0,0 +1,874 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from 'ethers'; +import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi'; +import type { Listener, Provider } from '@ethersproject/providers'; +import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common'; + +export interface Y2KFinanceStakingRewardsInterface extends utils.Interface { + functions: { + 'acceptOwnership()': FunctionFragment; + 'balanceOf(address)': FunctionFragment; + 'earned(address)': FunctionFragment; + 'exit()': FunctionFragment; + 'getReward()': FunctionFragment; + 'getRewardForDuration()': FunctionFragment; + 'id()': FunctionFragment; + 'lastTimeRewardApplicable()': FunctionFragment; + 'lastUpdateTime()': FunctionFragment; + 'nominateNewOwner(address)': FunctionFragment; + 'nominatedOwner()': FunctionFragment; + 'notifyRewardAmount(uint256)': FunctionFragment; + 'onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)': FunctionFragment; + 'onERC1155Received(address,address,uint256,uint256,bytes)': FunctionFragment; + 'owner()': FunctionFragment; + 'pause()': FunctionFragment; + 'paused()': FunctionFragment; + 'periodFinish()': FunctionFragment; + 'recoverERC20(address,uint256)': FunctionFragment; + 'rewardPerToken()': FunctionFragment; + 'rewardPerTokenStored()': FunctionFragment; + 'rewardRate()': FunctionFragment; + 'rewards(address)': FunctionFragment; + 'rewardsDistribution()': FunctionFragment; + 'rewardsDuration()': FunctionFragment; + 'rewardsToken()': FunctionFragment; + 'setRewardsDistribution(address)': FunctionFragment; + 'setRewardsDuration(uint256)': FunctionFragment; + 'stake(uint256)': FunctionFragment; + 'stakingToken()': FunctionFragment; + 'supportsInterface(bytes4)': FunctionFragment; + 'totalSupply()': FunctionFragment; + 'unpause()': FunctionFragment; + 'userRewardPerTokenPaid(address)': FunctionFragment; + 'withdraw(uint256)': FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | 'acceptOwnership' + | 'balanceOf' + | 'earned' + | 'exit' + | 'getReward' + | 'getRewardForDuration' + | 'id' + | 'lastTimeRewardApplicable' + | 'lastUpdateTime' + | 'nominateNewOwner' + | 'nominatedOwner' + | 'notifyRewardAmount' + | 'onERC1155BatchReceived' + | 'onERC1155Received' + | 'owner' + | 'pause' + | 'paused' + | 'periodFinish' + | 'recoverERC20' + | 'rewardPerToken' + | 'rewardPerTokenStored' + | 'rewardRate' + | 'rewards' + | 'rewardsDistribution' + | 'rewardsDuration' + | 'rewardsToken' + | 'setRewardsDistribution' + | 'setRewardsDuration' + | 'stake' + | 'stakingToken' + | 'supportsInterface' + | 'totalSupply' + | 'unpause' + | 'userRewardPerTokenPaid' + | 'withdraw', + ): FunctionFragment; + + encodeFunctionData(functionFragment: 'acceptOwnership', values?: undefined): string; + encodeFunctionData(functionFragment: 'balanceOf', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'earned', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'exit', values?: undefined): string; + encodeFunctionData(functionFragment: 'getReward', values?: undefined): string; + encodeFunctionData(functionFragment: 'getRewardForDuration', values?: undefined): string; + encodeFunctionData(functionFragment: 'id', values?: undefined): string; + encodeFunctionData(functionFragment: 'lastTimeRewardApplicable', values?: undefined): string; + encodeFunctionData(functionFragment: 'lastUpdateTime', values?: undefined): string; + encodeFunctionData(functionFragment: 'nominateNewOwner', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'nominatedOwner', values?: undefined): string; + encodeFunctionData(functionFragment: 'notifyRewardAmount', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'onERC1155BatchReceived', + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue, + ], + ): string; + encodeFunctionData( + functionFragment: 'onERC1155Received', + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + ], + ): string; + encodeFunctionData(functionFragment: 'owner', values?: undefined): string; + encodeFunctionData(functionFragment: 'pause', values?: undefined): string; + encodeFunctionData(functionFragment: 'paused', values?: undefined): string; + encodeFunctionData(functionFragment: 'periodFinish', values?: undefined): string; + encodeFunctionData( + functionFragment: 'recoverERC20', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'rewardPerToken', values?: undefined): string; + encodeFunctionData(functionFragment: 'rewardPerTokenStored', values?: undefined): string; + encodeFunctionData(functionFragment: 'rewardRate', values?: undefined): string; + encodeFunctionData(functionFragment: 'rewards', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'rewardsDistribution', values?: undefined): string; + encodeFunctionData(functionFragment: 'rewardsDuration', values?: undefined): string; + encodeFunctionData(functionFragment: 'rewardsToken', values?: undefined): string; + encodeFunctionData(functionFragment: 'setRewardsDistribution', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'setRewardsDuration', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'stake', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'stakingToken', values?: undefined): string; + encodeFunctionData(functionFragment: 'supportsInterface', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'totalSupply', values?: undefined): string; + encodeFunctionData(functionFragment: 'unpause', values?: undefined): string; + encodeFunctionData(functionFragment: 'userRewardPerTokenPaid', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'withdraw', values: [PromiseOrValue]): string; + + decodeFunctionResult(functionFragment: 'acceptOwnership', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'balanceOf', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'earned', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'exit', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getReward', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getRewardForDuration', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'id', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'lastTimeRewardApplicable', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'lastUpdateTime', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'nominateNewOwner', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'nominatedOwner', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'notifyRewardAmount', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'onERC1155BatchReceived', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'onERC1155Received', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'pause', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'paused', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'periodFinish', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'recoverERC20', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'rewardPerToken', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'rewardPerTokenStored', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'rewardRate', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'rewards', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'rewardsDistribution', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'rewardsDuration', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'rewardsToken', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'setRewardsDistribution', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'setRewardsDuration', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'stake', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'stakingToken', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'supportsInterface', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'totalSupply', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'unpause', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'userRewardPerTokenPaid', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'withdraw', data: BytesLike): Result; + + events: { + 'OwnerChanged(address,address)': EventFragment; + 'OwnerNominated(address)': EventFragment; + 'Paused(address)': EventFragment; + 'Recovered(address,uint256)': EventFragment; + 'RewardAdded(uint256)': EventFragment; + 'RewardPaid(address,uint256)': EventFragment; + 'RewardsDurationUpdated(uint256)': EventFragment; + 'Staked(address,uint256,uint256)': EventFragment; + 'Unpaused(address)': EventFragment; + 'Withdrawn(address,uint256,uint256)': EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: 'OwnerChanged'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'OwnerNominated'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'Paused'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'Recovered'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'RewardAdded'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'RewardPaid'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'RewardsDurationUpdated'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'Staked'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'Unpaused'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'Withdrawn'): EventFragment; +} + +export interface OwnerChangedEventObject { + oldOwner: string; + newOwner: string; +} +export type OwnerChangedEvent = TypedEvent<[string, string], OwnerChangedEventObject>; + +export type OwnerChangedEventFilter = TypedEventFilter; + +export interface OwnerNominatedEventObject { + newOwner: string; +} +export type OwnerNominatedEvent = TypedEvent<[string], OwnerNominatedEventObject>; + +export type OwnerNominatedEventFilter = TypedEventFilter; + +export interface PausedEventObject { + account: string; +} +export type PausedEvent = TypedEvent<[string], PausedEventObject>; + +export type PausedEventFilter = TypedEventFilter; + +export interface RecoveredEventObject { + token: string; + amount: BigNumber; +} +export type RecoveredEvent = TypedEvent<[string, BigNumber], RecoveredEventObject>; + +export type RecoveredEventFilter = TypedEventFilter; + +export interface RewardAddedEventObject { + reward: BigNumber; +} +export type RewardAddedEvent = TypedEvent<[BigNumber], RewardAddedEventObject>; + +export type RewardAddedEventFilter = TypedEventFilter; + +export interface RewardPaidEventObject { + user: string; + reward: BigNumber; +} +export type RewardPaidEvent = TypedEvent<[string, BigNumber], RewardPaidEventObject>; + +export type RewardPaidEventFilter = TypedEventFilter; + +export interface RewardsDurationUpdatedEventObject { + newDuration: BigNumber; +} +export type RewardsDurationUpdatedEvent = TypedEvent<[BigNumber], RewardsDurationUpdatedEventObject>; + +export type RewardsDurationUpdatedEventFilter = TypedEventFilter; + +export interface StakedEventObject { + user: string; + id: BigNumber; + amount: BigNumber; +} +export type StakedEvent = TypedEvent<[string, BigNumber, BigNumber], StakedEventObject>; + +export type StakedEventFilter = TypedEventFilter; + +export interface UnpausedEventObject { + account: string; +} +export type UnpausedEvent = TypedEvent<[string], UnpausedEventObject>; + +export type UnpausedEventFilter = TypedEventFilter; + +export interface WithdrawnEventObject { + user: string; + id: BigNumber; + amount: BigNumber; +} +export type WithdrawnEvent = TypedEvent<[string, BigNumber, BigNumber], WithdrawnEventObject>; + +export type WithdrawnEventFilter = TypedEventFilter; + +export interface Y2KFinanceStakingRewards extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: Y2KFinanceStakingRewardsInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined, + ): Promise>; + + listeners(eventFilter?: TypedEventFilter): Array>; + listeners(eventName?: string): Array; + removeAllListeners(eventFilter: TypedEventFilter): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + acceptOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + balanceOf(account: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + earned(account: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + exit(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + getReward(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + getRewardForDuration(overrides?: CallOverrides): Promise<[BigNumber]>; + + id(overrides?: CallOverrides): Promise<[BigNumber]>; + + lastTimeRewardApplicable(overrides?: CallOverrides): Promise<[BigNumber]>; + + lastUpdateTime(overrides?: CallOverrides): Promise<[BigNumber]>; + + nominateNewOwner( + _owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + nominatedOwner(overrides?: CallOverrides): Promise<[string]>; + + notifyRewardAmount( + reward: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + owner(overrides?: CallOverrides): Promise<[string]>; + + pause(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + paused(overrides?: CallOverrides): Promise<[boolean]>; + + periodFinish(overrides?: CallOverrides): Promise<[BigNumber]>; + + recoverERC20( + tokenAddress: PromiseOrValue, + tokenAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + rewardPerToken(overrides?: CallOverrides): Promise<[BigNumber]>; + + rewardPerTokenStored(overrides?: CallOverrides): Promise<[BigNumber]>; + + rewardRate(overrides?: CallOverrides): Promise<[BigNumber]>; + + rewards(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + rewardsDistribution(overrides?: CallOverrides): Promise<[string]>; + + rewardsDuration(overrides?: CallOverrides): Promise<[BigNumber]>; + + rewardsToken(overrides?: CallOverrides): Promise<[string]>; + + setRewardsDistribution( + _rewardsDistribution: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setRewardsDuration( + _rewardsDuration: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + stake( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + stakingToken(overrides?: CallOverrides): Promise<[string]>; + + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + + totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; + + unpause(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + userRewardPerTokenPaid(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + withdraw( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; + + acceptOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + balanceOf(account: PromiseOrValue, overrides?: CallOverrides): Promise; + + earned(account: PromiseOrValue, overrides?: CallOverrides): Promise; + + exit(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + getReward(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + getRewardForDuration(overrides?: CallOverrides): Promise; + + id(overrides?: CallOverrides): Promise; + + lastTimeRewardApplicable(overrides?: CallOverrides): Promise; + + lastUpdateTime(overrides?: CallOverrides): Promise; + + nominateNewOwner( + _owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + nominatedOwner(overrides?: CallOverrides): Promise; + + notifyRewardAmount( + reward: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + pause(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + paused(overrides?: CallOverrides): Promise; + + periodFinish(overrides?: CallOverrides): Promise; + + recoverERC20( + tokenAddress: PromiseOrValue, + tokenAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + rewardPerToken(overrides?: CallOverrides): Promise; + + rewardPerTokenStored(overrides?: CallOverrides): Promise; + + rewardRate(overrides?: CallOverrides): Promise; + + rewards(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + rewardsDistribution(overrides?: CallOverrides): Promise; + + rewardsDuration(overrides?: CallOverrides): Promise; + + rewardsToken(overrides?: CallOverrides): Promise; + + setRewardsDistribution( + _rewardsDistribution: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setRewardsDuration( + _rewardsDuration: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + stake( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + stakingToken(overrides?: CallOverrides): Promise; + + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + unpause(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + userRewardPerTokenPaid(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + callStatic: { + acceptOwnership(overrides?: CallOverrides): Promise; + + balanceOf(account: PromiseOrValue, overrides?: CallOverrides): Promise; + + earned(account: PromiseOrValue, overrides?: CallOverrides): Promise; + + exit(overrides?: CallOverrides): Promise; + + getReward(overrides?: CallOverrides): Promise; + + getRewardForDuration(overrides?: CallOverrides): Promise; + + id(overrides?: CallOverrides): Promise; + + lastTimeRewardApplicable(overrides?: CallOverrides): Promise; + + lastUpdateTime(overrides?: CallOverrides): Promise; + + nominateNewOwner(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + nominatedOwner(overrides?: CallOverrides): Promise; + + notifyRewardAmount(reward: PromiseOrValue, overrides?: CallOverrides): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + pause(overrides?: CallOverrides): Promise; + + paused(overrides?: CallOverrides): Promise; + + periodFinish(overrides?: CallOverrides): Promise; + + recoverERC20( + tokenAddress: PromiseOrValue, + tokenAmount: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + rewardPerToken(overrides?: CallOverrides): Promise; + + rewardPerTokenStored(overrides?: CallOverrides): Promise; + + rewardRate(overrides?: CallOverrides): Promise; + + rewards(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + rewardsDistribution(overrides?: CallOverrides): Promise; + + rewardsDuration(overrides?: CallOverrides): Promise; + + rewardsToken(overrides?: CallOverrides): Promise; + + setRewardsDistribution(_rewardsDistribution: PromiseOrValue, overrides?: CallOverrides): Promise; + + setRewardsDuration(_rewardsDuration: PromiseOrValue, overrides?: CallOverrides): Promise; + + stake(amount: PromiseOrValue, overrides?: CallOverrides): Promise; + + stakingToken(overrides?: CallOverrides): Promise; + + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + unpause(overrides?: CallOverrides): Promise; + + userRewardPerTokenPaid(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw(amount: PromiseOrValue, overrides?: CallOverrides): Promise; + }; + + filters: { + 'OwnerChanged(address,address)'(oldOwner?: null, newOwner?: null): OwnerChangedEventFilter; + OwnerChanged(oldOwner?: null, newOwner?: null): OwnerChangedEventFilter; + + 'OwnerNominated(address)'(newOwner?: null): OwnerNominatedEventFilter; + OwnerNominated(newOwner?: null): OwnerNominatedEventFilter; + + 'Paused(address)'(account?: null): PausedEventFilter; + Paused(account?: null): PausedEventFilter; + + 'Recovered(address,uint256)'(token?: null, amount?: null): RecoveredEventFilter; + Recovered(token?: null, amount?: null): RecoveredEventFilter; + + 'RewardAdded(uint256)'(reward?: null): RewardAddedEventFilter; + RewardAdded(reward?: null): RewardAddedEventFilter; + + 'RewardPaid(address,uint256)'(user?: PromiseOrValue | null, reward?: null): RewardPaidEventFilter; + RewardPaid(user?: PromiseOrValue | null, reward?: null): RewardPaidEventFilter; + + 'RewardsDurationUpdated(uint256)'(newDuration?: null): RewardsDurationUpdatedEventFilter; + RewardsDurationUpdated(newDuration?: null): RewardsDurationUpdatedEventFilter; + + 'Staked(address,uint256,uint256)'( + user?: PromiseOrValue | null, + id?: null, + amount?: null, + ): StakedEventFilter; + Staked(user?: PromiseOrValue | null, id?: null, amount?: null): StakedEventFilter; + + 'Unpaused(address)'(account?: null): UnpausedEventFilter; + Unpaused(account?: null): UnpausedEventFilter; + + 'Withdrawn(address,uint256,uint256)'( + user?: PromiseOrValue | null, + id?: null, + amount?: null, + ): WithdrawnEventFilter; + Withdrawn(user?: PromiseOrValue | null, id?: null, amount?: null): WithdrawnEventFilter; + }; + + estimateGas: { + acceptOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + balanceOf(account: PromiseOrValue, overrides?: CallOverrides): Promise; + + earned(account: PromiseOrValue, overrides?: CallOverrides): Promise; + + exit(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + getReward(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + getRewardForDuration(overrides?: CallOverrides): Promise; + + id(overrides?: CallOverrides): Promise; + + lastTimeRewardApplicable(overrides?: CallOverrides): Promise; + + lastUpdateTime(overrides?: CallOverrides): Promise; + + nominateNewOwner( + _owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + nominatedOwner(overrides?: CallOverrides): Promise; + + notifyRewardAmount( + reward: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + pause(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + paused(overrides?: CallOverrides): Promise; + + periodFinish(overrides?: CallOverrides): Promise; + + recoverERC20( + tokenAddress: PromiseOrValue, + tokenAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + rewardPerToken(overrides?: CallOverrides): Promise; + + rewardPerTokenStored(overrides?: CallOverrides): Promise; + + rewardRate(overrides?: CallOverrides): Promise; + + rewards(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + rewardsDistribution(overrides?: CallOverrides): Promise; + + rewardsDuration(overrides?: CallOverrides): Promise; + + rewardsToken(overrides?: CallOverrides): Promise; + + setRewardsDistribution( + _rewardsDistribution: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setRewardsDuration( + _rewardsDuration: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + stake( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + stakingToken(overrides?: CallOverrides): Promise; + + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + unpause(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + userRewardPerTokenPaid(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; + + populateTransaction: { + acceptOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + balanceOf(account: PromiseOrValue, overrides?: CallOverrides): Promise; + + earned(account: PromiseOrValue, overrides?: CallOverrides): Promise; + + exit(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + getReward(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + getRewardForDuration(overrides?: CallOverrides): Promise; + + id(overrides?: CallOverrides): Promise; + + lastTimeRewardApplicable(overrides?: CallOverrides): Promise; + + lastUpdateTime(overrides?: CallOverrides): Promise; + + nominateNewOwner( + _owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + nominatedOwner(overrides?: CallOverrides): Promise; + + notifyRewardAmount( + reward: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + onERC1155BatchReceived( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue[], + arg3: PromiseOrValue[], + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + onERC1155Received( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + arg2: PromiseOrValue, + arg3: PromiseOrValue, + arg4: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + pause(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + paused(overrides?: CallOverrides): Promise; + + periodFinish(overrides?: CallOverrides): Promise; + + recoverERC20( + tokenAddress: PromiseOrValue, + tokenAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + rewardPerToken(overrides?: CallOverrides): Promise; + + rewardPerTokenStored(overrides?: CallOverrides): Promise; + + rewardRate(overrides?: CallOverrides): Promise; + + rewards(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + rewardsDistribution(overrides?: CallOverrides): Promise; + + rewardsDuration(overrides?: CallOverrides): Promise; + + rewardsToken(overrides?: CallOverrides): Promise; + + setRewardsDistribution( + _rewardsDistribution: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setRewardsDuration( + _rewardsDuration: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + stake( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + stakingToken(overrides?: CallOverrides): Promise; + + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + unpause(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + userRewardPerTokenPaid(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; +} diff --git a/src/apps/y2k-finance/contracts/ethers/Y2KFinanceVaultFactoryV1.ts b/src/apps/y2k-finance/contracts/ethers/Y2KFinanceVaultFactoryV1.ts new file mode 100644 index 000000000..6f3e6eb43 --- /dev/null +++ b/src/apps/y2k-finance/contracts/ethers/Y2KFinanceVaultFactoryV1.ts @@ -0,0 +1,729 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from 'ethers'; +import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi'; +import type { Listener, Provider } from '@ethersproject/providers'; +import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common'; + +export interface Y2KFinanceVaultFactoryV1Interface extends utils.Interface { + functions: { + 'WETH()': FunctionFragment; + 'changeController(uint256,address)': FunctionFragment; + 'changeOracle(address,address)': FunctionFragment; + 'changeTreasury(address,uint256)': FunctionFragment; + 'controller()': FunctionFragment; + 'createNewMarket(uint256,address,int256,uint256,uint256,address,string)': FunctionFragment; + 'deployMoreAssets(uint256,uint256,uint256,uint256)': FunctionFragment; + 'getVaults(uint256)': FunctionFragment; + 'indexEpochs(uint256,uint256)': FunctionFragment; + 'indexVaults(uint256,uint256)': FunctionFragment; + 'marketIndex()': FunctionFragment; + 'owner()': FunctionFragment; + 'renounceOwnership()': FunctionFragment; + 'setController(address)': FunctionFragment; + 'timelocker()': FunctionFragment; + 'tokenToOracle(address)': FunctionFragment; + 'transferOwnership(address)': FunctionFragment; + 'treasury()': FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | 'WETH' + | 'changeController' + | 'changeOracle' + | 'changeTreasury' + | 'controller' + | 'createNewMarket' + | 'deployMoreAssets' + | 'getVaults' + | 'indexEpochs' + | 'indexVaults' + | 'marketIndex' + | 'owner' + | 'renounceOwnership' + | 'setController' + | 'timelocker' + | 'tokenToOracle' + | 'transferOwnership' + | 'treasury', + ): FunctionFragment; + + encodeFunctionData(functionFragment: 'WETH', values?: undefined): string; + encodeFunctionData( + functionFragment: 'changeController', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'changeOracle', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'changeTreasury', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'controller', values?: undefined): string; + encodeFunctionData( + functionFragment: 'createNewMarket', + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + ], + ): string; + encodeFunctionData( + functionFragment: 'deployMoreAssets', + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + ], + ): string; + encodeFunctionData(functionFragment: 'getVaults', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'indexEpochs', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'indexVaults', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'marketIndex', values?: undefined): string; + encodeFunctionData(functionFragment: 'owner', values?: undefined): string; + encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string; + encodeFunctionData(functionFragment: 'setController', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'timelocker', values?: undefined): string; + encodeFunctionData(functionFragment: 'tokenToOracle', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'treasury', values?: undefined): string; + + decodeFunctionResult(functionFragment: 'WETH', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'changeController', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'changeOracle', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'changeTreasury', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'controller', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'createNewMarket', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'deployMoreAssets', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getVaults', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'indexEpochs', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'indexVaults', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'marketIndex', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'setController', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'timelocker', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'tokenToOracle', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'treasury', data: BytesLike): Result; + + events: { + 'EpochCreated(bytes32,uint256,uint256,uint256,address,address,address,string,int256,uint256)': EventFragment; + 'MarketCreated(uint256,address,address,address,string,int256)': EventFragment; + 'OwnershipTransferred(address,address)': EventFragment; + 'changedController(uint256,address)': EventFragment; + 'changedOracle(address,address)': EventFragment; + 'changedTreasury(address,uint256)': EventFragment; + 'changedVaultFee(uint256,uint256)': EventFragment; + 'controllerSet(address)': EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: 'EpochCreated'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'MarketCreated'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'changedController'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'changedOracle'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'changedTreasury'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'changedVaultFee'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'controllerSet'): EventFragment; +} + +export interface EpochCreatedEventObject { + marketEpochId: string; + mIndex: BigNumber; + startEpoch: BigNumber; + endEpoch: BigNumber; + hedge: string; + risk: string; + token: string; + name: string; + strikePrice: BigNumber; + withdrawalFee: BigNumber; +} +export type EpochCreatedEvent = TypedEvent< + [string, BigNumber, BigNumber, BigNumber, string, string, string, string, BigNumber, BigNumber], + EpochCreatedEventObject +>; + +export type EpochCreatedEventFilter = TypedEventFilter; + +export interface MarketCreatedEventObject { + mIndex: BigNumber; + hedge: string; + risk: string; + token: string; + name: string; + strikePrice: BigNumber; +} +export type MarketCreatedEvent = TypedEvent< + [BigNumber, string, string, string, string, BigNumber], + MarketCreatedEventObject +>; + +export type MarketCreatedEventFilter = TypedEventFilter; + +export interface OwnershipTransferredEventObject { + previousOwner: string; + newOwner: string; +} +export type OwnershipTransferredEvent = TypedEvent<[string, string], OwnershipTransferredEventObject>; + +export type OwnershipTransferredEventFilter = TypedEventFilter; + +export interface changedControllerEventObject { + _marketIndex: BigNumber; + controller: string; +} +export type changedControllerEvent = TypedEvent<[BigNumber, string], changedControllerEventObject>; + +export type changedControllerEventFilter = TypedEventFilter; + +export interface changedOracleEventObject { + _token: string; + _oracle: string; +} +export type changedOracleEvent = TypedEvent<[string, string], changedOracleEventObject>; + +export type changedOracleEventFilter = TypedEventFilter; + +export interface changedTreasuryEventObject { + _treasury: string; + _marketIndex: BigNumber; +} +export type changedTreasuryEvent = TypedEvent<[string, BigNumber], changedTreasuryEventObject>; + +export type changedTreasuryEventFilter = TypedEventFilter; + +export interface changedVaultFeeEventObject { + _marketIndex: BigNumber; + _feeRate: BigNumber; +} +export type changedVaultFeeEvent = TypedEvent<[BigNumber, BigNumber], changedVaultFeeEventObject>; + +export type changedVaultFeeEventFilter = TypedEventFilter; + +export interface controllerSetEventObject { + newController: string; +} +export type controllerSetEvent = TypedEvent<[string], controllerSetEventObject>; + +export type controllerSetEventFilter = TypedEventFilter; + +export interface Y2KFinanceVaultFactoryV1 extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: Y2KFinanceVaultFactoryV1Interface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined, + ): Promise>; + + listeners(eventFilter?: TypedEventFilter): Array>; + listeners(eventName?: string): Array; + removeAllListeners(eventFilter: TypedEventFilter): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + WETH(overrides?: CallOverrides): Promise<[string]>; + + changeController( + _marketIndex: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeOracle( + _token: PromiseOrValue, + _oracle: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeTreasury( + _treasury: PromiseOrValue, + _marketIndex: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + controller(overrides?: CallOverrides): Promise<[string]>; + + createNewMarket( + _withdrawalFee: PromiseOrValue, + _token: PromiseOrValue, + _strikePrice: PromiseOrValue, + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + _oracle: PromiseOrValue, + _name: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + deployMoreAssets( + index: PromiseOrValue, + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + _withdrawalFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + getVaults( + index: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[string[]] & { vaults: string[] }>; + + indexEpochs( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber]>; + + indexVaults( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[string]>; + + marketIndex(overrides?: CallOverrides): Promise<[BigNumber]>; + + owner(overrides?: CallOverrides): Promise<[string]>; + + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + setController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + timelocker(overrides?: CallOverrides): Promise<[string]>; + + tokenToOracle(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + treasury(overrides?: CallOverrides): Promise<[string]>; + }; + + WETH(overrides?: CallOverrides): Promise; + + changeController( + _marketIndex: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeOracle( + _token: PromiseOrValue, + _oracle: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeTreasury( + _treasury: PromiseOrValue, + _marketIndex: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + controller(overrides?: CallOverrides): Promise; + + createNewMarket( + _withdrawalFee: PromiseOrValue, + _token: PromiseOrValue, + _strikePrice: PromiseOrValue, + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + _oracle: PromiseOrValue, + _name: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + deployMoreAssets( + index: PromiseOrValue, + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + _withdrawalFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + getVaults(index: PromiseOrValue, overrides?: CallOverrides): Promise; + + indexEpochs( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + indexVaults( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + marketIndex(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + setController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + timelocker(overrides?: CallOverrides): Promise; + + tokenToOracle(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + treasury(overrides?: CallOverrides): Promise; + + callStatic: { + WETH(overrides?: CallOverrides): Promise; + + changeController( + _marketIndex: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + changeOracle( + _token: PromiseOrValue, + _oracle: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + changeTreasury( + _treasury: PromiseOrValue, + _marketIndex: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + controller(overrides?: CallOverrides): Promise; + + createNewMarket( + _withdrawalFee: PromiseOrValue, + _token: PromiseOrValue, + _strikePrice: PromiseOrValue, + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + _oracle: PromiseOrValue, + _name: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[string, string] & { insr: string; rsk: string }>; + + deployMoreAssets( + index: PromiseOrValue, + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + _withdrawalFee: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + getVaults(index: PromiseOrValue, overrides?: CallOverrides): Promise; + + indexEpochs( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + indexVaults( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + marketIndex(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: CallOverrides): Promise; + + setController(_controller: PromiseOrValue, overrides?: CallOverrides): Promise; + + timelocker(overrides?: CallOverrides): Promise; + + tokenToOracle(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + transferOwnership(newOwner: PromiseOrValue, overrides?: CallOverrides): Promise; + + treasury(overrides?: CallOverrides): Promise; + }; + + filters: { + 'EpochCreated(bytes32,uint256,uint256,uint256,address,address,address,string,int256,uint256)'( + marketEpochId?: PromiseOrValue | null, + mIndex?: PromiseOrValue | null, + startEpoch?: null, + endEpoch?: null, + hedge?: null, + risk?: null, + token?: null, + name?: null, + strikePrice?: null, + withdrawalFee?: null, + ): EpochCreatedEventFilter; + EpochCreated( + marketEpochId?: PromiseOrValue | null, + mIndex?: PromiseOrValue | null, + startEpoch?: null, + endEpoch?: null, + hedge?: null, + risk?: null, + token?: null, + name?: null, + strikePrice?: null, + withdrawalFee?: null, + ): EpochCreatedEventFilter; + + 'MarketCreated(uint256,address,address,address,string,int256)'( + mIndex?: PromiseOrValue | null, + hedge?: null, + risk?: null, + token?: null, + name?: null, + strikePrice?: null, + ): MarketCreatedEventFilter; + MarketCreated( + mIndex?: PromiseOrValue | null, + hedge?: null, + risk?: null, + token?: null, + name?: null, + strikePrice?: null, + ): MarketCreatedEventFilter; + + 'OwnershipTransferred(address,address)'( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null, + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null, + ): OwnershipTransferredEventFilter; + + 'changedController(uint256,address)'( + _marketIndex?: PromiseOrValue | null, + controller?: PromiseOrValue | null, + ): changedControllerEventFilter; + changedController( + _marketIndex?: PromiseOrValue | null, + controller?: PromiseOrValue | null, + ): changedControllerEventFilter; + + 'changedOracle(address,address)'(_token?: PromiseOrValue | null, _oracle?: null): changedOracleEventFilter; + changedOracle(_token?: PromiseOrValue | null, _oracle?: null): changedOracleEventFilter; + + 'changedTreasury(address,uint256)'( + _treasury?: null, + _marketIndex?: PromiseOrValue | null, + ): changedTreasuryEventFilter; + changedTreasury(_treasury?: null, _marketIndex?: PromiseOrValue | null): changedTreasuryEventFilter; + + 'changedVaultFee(uint256,uint256)'( + _marketIndex?: PromiseOrValue | null, + _feeRate?: null, + ): changedVaultFeeEventFilter; + changedVaultFee(_marketIndex?: PromiseOrValue | null, _feeRate?: null): changedVaultFeeEventFilter; + + 'controllerSet(address)'(newController?: PromiseOrValue | null): controllerSetEventFilter; + controllerSet(newController?: PromiseOrValue | null): controllerSetEventFilter; + }; + + estimateGas: { + WETH(overrides?: CallOverrides): Promise; + + changeController( + _marketIndex: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeOracle( + _token: PromiseOrValue, + _oracle: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeTreasury( + _treasury: PromiseOrValue, + _marketIndex: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + controller(overrides?: CallOverrides): Promise; + + createNewMarket( + _withdrawalFee: PromiseOrValue, + _token: PromiseOrValue, + _strikePrice: PromiseOrValue, + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + _oracle: PromiseOrValue, + _name: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + deployMoreAssets( + index: PromiseOrValue, + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + _withdrawalFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + getVaults(index: PromiseOrValue, overrides?: CallOverrides): Promise; + + indexEpochs( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + indexVaults( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + marketIndex(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + setController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + timelocker(overrides?: CallOverrides): Promise; + + tokenToOracle(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + treasury(overrides?: CallOverrides): Promise; + }; + + populateTransaction: { + WETH(overrides?: CallOverrides): Promise; + + changeController( + _marketIndex: PromiseOrValue, + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeOracle( + _token: PromiseOrValue, + _oracle: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeTreasury( + _treasury: PromiseOrValue, + _marketIndex: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + controller(overrides?: CallOverrides): Promise; + + createNewMarket( + _withdrawalFee: PromiseOrValue, + _token: PromiseOrValue, + _strikePrice: PromiseOrValue, + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + _oracle: PromiseOrValue, + _name: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + deployMoreAssets( + index: PromiseOrValue, + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + _withdrawalFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + getVaults(index: PromiseOrValue, overrides?: CallOverrides): Promise; + + indexEpochs( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + indexVaults( + arg0: PromiseOrValue, + arg1: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + marketIndex(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + setController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + timelocker(overrides?: CallOverrides): Promise; + + tokenToOracle(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + treasury(overrides?: CallOverrides): Promise; + }; +} diff --git a/src/apps/y2k-finance/contracts/ethers/Y2KFinanceVaultV1.ts b/src/apps/y2k-finance/contracts/ethers/Y2KFinanceVaultV1.ts new file mode 100644 index 000000000..79dec5a27 --- /dev/null +++ b/src/apps/y2k-finance/contracts/ethers/Y2KFinanceVaultV1.ts @@ -0,0 +1,1214 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from 'ethers'; +import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi'; +import type { Listener, Provider } from '@ethersproject/providers'; +import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common'; + +export interface Y2KFinanceVaultV1Interface extends utils.Interface { + functions: { + 'asset()': FunctionFragment; + 'balanceOf(address,uint256)': FunctionFragment; + 'balanceOfBatch(address[],uint256[])': FunctionFragment; + 'calculateWithdrawalFeeValue(uint256,uint256)': FunctionFragment; + 'changeController(address)': FunctionFragment; + 'changeTreasury(address)': FunctionFragment; + 'controller()': FunctionFragment; + 'createAssets(uint256,uint256,uint256)': FunctionFragment; + 'deposit(uint256,uint256,address)': FunctionFragment; + 'depositETH(uint256,address)': FunctionFragment; + 'endEpoch(uint256)': FunctionFragment; + 'epochFee(uint256)': FunctionFragment; + 'epochNull(uint256)': FunctionFragment; + 'epochs(uint256)': FunctionFragment; + 'epochsLength()': FunctionFragment; + 'exists(uint256)': FunctionFragment; + 'factory()': FunctionFragment; + 'idClaimTVL(uint256)': FunctionFragment; + 'idEpochBegin(uint256)': FunctionFragment; + 'idEpochEnded(uint256)': FunctionFragment; + 'idExists(uint256)': FunctionFragment; + 'idFinalTVL(uint256)': FunctionFragment; + 'isApprovedForAll(address,address)': FunctionFragment; + 'name()': FunctionFragment; + 'previewWithdraw(uint256,uint256)': FunctionFragment; + 'safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)': FunctionFragment; + 'safeTransferFrom(address,address,uint256,uint256,bytes)': FunctionFragment; + 'sendTokens(uint256,address)': FunctionFragment; + 'setApprovalForAll(address,bool)': FunctionFragment; + 'setClaimTVL(uint256,uint256)': FunctionFragment; + 'setEpochNull(uint256)': FunctionFragment; + 'strikePrice()': FunctionFragment; + 'supportsInterface(bytes4)': FunctionFragment; + 'symbol()': FunctionFragment; + 'tokenInsured()': FunctionFragment; + 'totalAssets(uint256)': FunctionFragment; + 'totalSupply(uint256)': FunctionFragment; + 'treasury()': FunctionFragment; + 'uri(uint256)': FunctionFragment; + 'withdraw(uint256,uint256,address,address)': FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | 'asset' + | 'balanceOf' + | 'balanceOfBatch' + | 'calculateWithdrawalFeeValue' + | 'changeController' + | 'changeTreasury' + | 'controller' + | 'createAssets' + | 'deposit' + | 'depositETH' + | 'endEpoch' + | 'epochFee' + | 'epochNull' + | 'epochs' + | 'epochsLength' + | 'exists' + | 'factory' + | 'idClaimTVL' + | 'idEpochBegin' + | 'idEpochEnded' + | 'idExists' + | 'idFinalTVL' + | 'isApprovedForAll' + | 'name' + | 'previewWithdraw' + | 'safeBatchTransferFrom' + | 'safeTransferFrom' + | 'sendTokens' + | 'setApprovalForAll' + | 'setClaimTVL' + | 'setEpochNull' + | 'strikePrice' + | 'supportsInterface' + | 'symbol' + | 'tokenInsured' + | 'totalAssets' + | 'totalSupply' + | 'treasury' + | 'uri' + | 'withdraw', + ): FunctionFragment; + + encodeFunctionData(functionFragment: 'asset', values?: undefined): string; + encodeFunctionData( + functionFragment: 'balanceOf', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'balanceOfBatch', + values: [PromiseOrValue[], PromiseOrValue[]], + ): string; + encodeFunctionData( + functionFragment: 'calculateWithdrawalFeeValue', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'changeController', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'changeTreasury', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'controller', values?: undefined): string; + encodeFunctionData( + functionFragment: 'createAssets', + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'deposit', + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'depositETH', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'endEpoch', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'epochFee', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'epochNull', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'epochs', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'epochsLength', values?: undefined): string; + encodeFunctionData(functionFragment: 'exists', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'factory', values?: undefined): string; + encodeFunctionData(functionFragment: 'idClaimTVL', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'idEpochBegin', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'idEpochEnded', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'idExists', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'idFinalTVL', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'isApprovedForAll', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'name', values?: undefined): string; + encodeFunctionData( + functionFragment: 'previewWithdraw', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'safeBatchTransferFrom', + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[], + PromiseOrValue[], + PromiseOrValue, + ], + ): string; + encodeFunctionData( + functionFragment: 'safeTransferFrom', + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + ], + ): string; + encodeFunctionData( + functionFragment: 'sendTokens', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'setApprovalForAll', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'setClaimTVL', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'setEpochNull', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'strikePrice', values?: undefined): string; + encodeFunctionData(functionFragment: 'supportsInterface', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'symbol', values?: undefined): string; + encodeFunctionData(functionFragment: 'tokenInsured', values?: undefined): string; + encodeFunctionData(functionFragment: 'totalAssets', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'totalSupply', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'treasury', values?: undefined): string; + encodeFunctionData(functionFragment: 'uri', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'withdraw', + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + ], + ): string; + + decodeFunctionResult(functionFragment: 'asset', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'balanceOf', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'balanceOfBatch', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'calculateWithdrawalFeeValue', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'changeController', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'changeTreasury', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'controller', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'createAssets', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'deposit', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'depositETH', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'endEpoch', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'epochFee', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'epochNull', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'epochs', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'epochsLength', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'exists', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'factory', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'idClaimTVL', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'idEpochBegin', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'idEpochEnded', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'idExists', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'idFinalTVL', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'isApprovedForAll', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'name', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'previewWithdraw', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'safeBatchTransferFrom', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'safeTransferFrom', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'sendTokens', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'setApprovalForAll', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'setClaimTVL', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'setEpochNull', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'strikePrice', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'supportsInterface', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'symbol', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'tokenInsured', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'totalAssets', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'totalSupply', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'treasury', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'uri', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'withdraw', data: BytesLike): Result; + + events: { + 'ApprovalForAll(address,address,bool)': EventFragment; + 'Deposit(address,address,uint256,uint256)': EventFragment; + 'TransferBatch(address,address,address,uint256[],uint256[])': EventFragment; + 'TransferSingle(address,address,address,uint256,uint256)': EventFragment; + 'URI(string,uint256)': EventFragment; + 'Withdraw(address,address,address,uint256,uint256,uint256)': EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: 'ApprovalForAll'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'Deposit'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'TransferBatch'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'TransferSingle'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'URI'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'Withdraw'): EventFragment; +} + +export interface ApprovalForAllEventObject { + account: string; + operator: string; + approved: boolean; +} +export type ApprovalForAllEvent = TypedEvent<[string, string, boolean], ApprovalForAllEventObject>; + +export type ApprovalForAllEventFilter = TypedEventFilter; + +export interface DepositEventObject { + caller: string; + owner: string; + id: BigNumber; + assets: BigNumber; +} +export type DepositEvent = TypedEvent<[string, string, BigNumber, BigNumber], DepositEventObject>; + +export type DepositEventFilter = TypedEventFilter; + +export interface TransferBatchEventObject { + operator: string; + from: string; + to: string; + ids: BigNumber[]; + values: BigNumber[]; +} +export type TransferBatchEvent = TypedEvent< + [string, string, string, BigNumber[], BigNumber[]], + TransferBatchEventObject +>; + +export type TransferBatchEventFilter = TypedEventFilter; + +export interface TransferSingleEventObject { + operator: string; + from: string; + to: string; + id: BigNumber; + value: BigNumber; +} +export type TransferSingleEvent = TypedEvent<[string, string, string, BigNumber, BigNumber], TransferSingleEventObject>; + +export type TransferSingleEventFilter = TypedEventFilter; + +export interface URIEventObject { + value: string; + id: BigNumber; +} +export type URIEvent = TypedEvent<[string, BigNumber], URIEventObject>; + +export type URIEventFilter = TypedEventFilter; + +export interface WithdrawEventObject { + caller: string; + receiver: string; + owner: string; + id: BigNumber; + assets: BigNumber; + shares: BigNumber; +} +export type WithdrawEvent = TypedEvent<[string, string, string, BigNumber, BigNumber, BigNumber], WithdrawEventObject>; + +export type WithdrawEventFilter = TypedEventFilter; + +export interface Y2KFinanceVaultV1 extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: Y2KFinanceVaultV1Interface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined, + ): Promise>; + + listeners(eventFilter?: TypedEventFilter): Array>; + listeners(eventName?: string): Array; + removeAllListeners(eventFilter: TypedEventFilter): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + asset(overrides?: CallOverrides): Promise<[string]>; + + balanceOf( + account: PromiseOrValue, + id: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber]>; + + balanceOfBatch( + accounts: PromiseOrValue[], + ids: PromiseOrValue[], + overrides?: CallOverrides, + ): Promise<[BigNumber[]]>; + + calculateWithdrawalFeeValue( + amount: PromiseOrValue, + _epoch: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { feeValue: BigNumber }>; + + changeController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeTreasury( + _treasury: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + controller(overrides?: CallOverrides): Promise<[string]>; + + createAssets( + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + _withdrawalFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + deposit( + id: PromiseOrValue, + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + depositETH( + id: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, + ): Promise; + + endEpoch( + id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + epochFee(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + epochNull(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + + epochs(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + epochsLength(overrides?: CallOverrides): Promise<[BigNumber]>; + + exists(id: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + + factory(overrides?: CallOverrides): Promise<[string]>; + + idClaimTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + idEpochBegin(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + idEpochEnded(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + + idExists(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + + idFinalTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + isApprovedForAll( + account: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[boolean]>; + + name(overrides?: CallOverrides): Promise<[string]>; + + previewWithdraw( + id: PromiseOrValue, + assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { entitledAmount: BigNumber }>; + + safeBatchTransferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + ids: PromiseOrValue[], + amounts: PromiseOrValue[], + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + safeTransferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + id: PromiseOrValue, + amount: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + sendTokens( + id: PromiseOrValue, + _counterparty: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setApprovalForAll( + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setClaimTVL( + id: PromiseOrValue, + claimTVL: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setEpochNull( + id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + strikePrice(overrides?: CallOverrides): Promise<[BigNumber]>; + + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + + symbol(overrides?: CallOverrides): Promise<[string]>; + + tokenInsured(overrides?: CallOverrides): Promise<[string]>; + + totalAssets(_id: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + totalSupply(id: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + treasury(overrides?: CallOverrides): Promise<[string]>; + + uri(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; + + withdraw( + id: PromiseOrValue, + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; + + asset(overrides?: CallOverrides): Promise; + + balanceOf( + account: PromiseOrValue, + id: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + balanceOfBatch( + accounts: PromiseOrValue[], + ids: PromiseOrValue[], + overrides?: CallOverrides, + ): Promise; + + calculateWithdrawalFeeValue( + amount: PromiseOrValue, + _epoch: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + changeController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeTreasury( + _treasury: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + controller(overrides?: CallOverrides): Promise; + + createAssets( + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + _withdrawalFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + deposit( + id: PromiseOrValue, + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + depositETH( + id: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, + ): Promise; + + endEpoch( + id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + epochFee(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochNull(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochs(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochsLength(overrides?: CallOverrides): Promise; + + exists(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + factory(overrides?: CallOverrides): Promise; + + idClaimTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + idEpochBegin(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + idEpochEnded(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + idExists(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + idFinalTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + isApprovedForAll( + account: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + name(overrides?: CallOverrides): Promise; + + previewWithdraw( + id: PromiseOrValue, + assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + safeBatchTransferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + ids: PromiseOrValue[], + amounts: PromiseOrValue[], + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + safeTransferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + id: PromiseOrValue, + amount: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + sendTokens( + id: PromiseOrValue, + _counterparty: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setApprovalForAll( + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setClaimTVL( + id: PromiseOrValue, + claimTVL: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setEpochNull( + id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + strikePrice(overrides?: CallOverrides): Promise; + + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + tokenInsured(overrides?: CallOverrides): Promise; + + totalAssets(_id: PromiseOrValue, overrides?: CallOverrides): Promise; + + totalSupply(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + treasury(overrides?: CallOverrides): Promise; + + uri(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + id: PromiseOrValue, + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + callStatic: { + asset(overrides?: CallOverrides): Promise; + + balanceOf( + account: PromiseOrValue, + id: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + balanceOfBatch( + accounts: PromiseOrValue[], + ids: PromiseOrValue[], + overrides?: CallOverrides, + ): Promise; + + calculateWithdrawalFeeValue( + amount: PromiseOrValue, + _epoch: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + changeController(_controller: PromiseOrValue, overrides?: CallOverrides): Promise; + + changeTreasury(_treasury: PromiseOrValue, overrides?: CallOverrides): Promise; + + controller(overrides?: CallOverrides): Promise; + + createAssets( + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + _withdrawalFee: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + deposit( + id: PromiseOrValue, + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + depositETH( + id: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + endEpoch(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochFee(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochNull(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochs(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochsLength(overrides?: CallOverrides): Promise; + + exists(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + factory(overrides?: CallOverrides): Promise; + + idClaimTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + idEpochBegin(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + idEpochEnded(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + idExists(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + idFinalTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + isApprovedForAll( + account: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + name(overrides?: CallOverrides): Promise; + + previewWithdraw( + id: PromiseOrValue, + assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + safeBatchTransferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + ids: PromiseOrValue[], + amounts: PromiseOrValue[], + data: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + safeTransferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + id: PromiseOrValue, + amount: PromiseOrValue, + data: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + sendTokens( + id: PromiseOrValue, + _counterparty: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + setApprovalForAll( + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + setClaimTVL( + id: PromiseOrValue, + claimTVL: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + setEpochNull(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + strikePrice(overrides?: CallOverrides): Promise; + + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + tokenInsured(overrides?: CallOverrides): Promise; + + totalAssets(_id: PromiseOrValue, overrides?: CallOverrides): Promise; + + totalSupply(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + treasury(overrides?: CallOverrides): Promise; + + uri(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + id: PromiseOrValue, + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + }; + + filters: { + 'ApprovalForAll(address,address,bool)'( + account?: PromiseOrValue | null, + operator?: PromiseOrValue | null, + approved?: null, + ): ApprovalForAllEventFilter; + ApprovalForAll( + account?: PromiseOrValue | null, + operator?: PromiseOrValue | null, + approved?: null, + ): ApprovalForAllEventFilter; + + 'Deposit(address,address,uint256,uint256)'( + caller?: null, + owner?: PromiseOrValue | null, + id?: PromiseOrValue | null, + assets?: null, + ): DepositEventFilter; + Deposit( + caller?: null, + owner?: PromiseOrValue | null, + id?: PromiseOrValue | null, + assets?: null, + ): DepositEventFilter; + + 'TransferBatch(address,address,address,uint256[],uint256[])'( + operator?: PromiseOrValue | null, + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + ids?: null, + values?: null, + ): TransferBatchEventFilter; + TransferBatch( + operator?: PromiseOrValue | null, + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + ids?: null, + values?: null, + ): TransferBatchEventFilter; + + 'TransferSingle(address,address,address,uint256,uint256)'( + operator?: PromiseOrValue | null, + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + id?: null, + value?: null, + ): TransferSingleEventFilter; + TransferSingle( + operator?: PromiseOrValue | null, + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + id?: null, + value?: null, + ): TransferSingleEventFilter; + + 'URI(string,uint256)'(value?: null, id?: PromiseOrValue | null): URIEventFilter; + URI(value?: null, id?: PromiseOrValue | null): URIEventFilter; + + 'Withdraw(address,address,address,uint256,uint256,uint256)'( + caller?: null, + receiver?: null, + owner?: PromiseOrValue | null, + id?: PromiseOrValue | null, + assets?: null, + shares?: null, + ): WithdrawEventFilter; + Withdraw( + caller?: null, + receiver?: null, + owner?: PromiseOrValue | null, + id?: PromiseOrValue | null, + assets?: null, + shares?: null, + ): WithdrawEventFilter; + }; + + estimateGas: { + asset(overrides?: CallOverrides): Promise; + + balanceOf( + account: PromiseOrValue, + id: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + balanceOfBatch( + accounts: PromiseOrValue[], + ids: PromiseOrValue[], + overrides?: CallOverrides, + ): Promise; + + calculateWithdrawalFeeValue( + amount: PromiseOrValue, + _epoch: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + changeController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeTreasury( + _treasury: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + controller(overrides?: CallOverrides): Promise; + + createAssets( + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + _withdrawalFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + deposit( + id: PromiseOrValue, + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + depositETH( + id: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, + ): Promise; + + endEpoch( + id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + epochFee(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochNull(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochs(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochsLength(overrides?: CallOverrides): Promise; + + exists(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + factory(overrides?: CallOverrides): Promise; + + idClaimTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + idEpochBegin(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + idEpochEnded(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + idExists(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + idFinalTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + isApprovedForAll( + account: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + name(overrides?: CallOverrides): Promise; + + previewWithdraw( + id: PromiseOrValue, + assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + safeBatchTransferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + ids: PromiseOrValue[], + amounts: PromiseOrValue[], + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + safeTransferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + id: PromiseOrValue, + amount: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + sendTokens( + id: PromiseOrValue, + _counterparty: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setApprovalForAll( + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setClaimTVL( + id: PromiseOrValue, + claimTVL: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setEpochNull( + id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + strikePrice(overrides?: CallOverrides): Promise; + + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + tokenInsured(overrides?: CallOverrides): Promise; + + totalAssets(_id: PromiseOrValue, overrides?: CallOverrides): Promise; + + totalSupply(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + treasury(overrides?: CallOverrides): Promise; + + uri(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + id: PromiseOrValue, + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; + + populateTransaction: { + asset(overrides?: CallOverrides): Promise; + + balanceOf( + account: PromiseOrValue, + id: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + balanceOfBatch( + accounts: PromiseOrValue[], + ids: PromiseOrValue[], + overrides?: CallOverrides, + ): Promise; + + calculateWithdrawalFeeValue( + amount: PromiseOrValue, + _epoch: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + changeController( + _controller: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeTreasury( + _treasury: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + controller(overrides?: CallOverrides): Promise; + + createAssets( + epochBegin: PromiseOrValue, + epochEnd: PromiseOrValue, + _withdrawalFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + deposit( + id: PromiseOrValue, + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + depositETH( + id: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, + ): Promise; + + endEpoch( + id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + epochFee(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochNull(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochs(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + epochsLength(overrides?: CallOverrides): Promise; + + exists(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + factory(overrides?: CallOverrides): Promise; + + idClaimTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + idEpochBegin(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + idEpochEnded(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + idExists(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + idFinalTVL(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + isApprovedForAll( + account: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + name(overrides?: CallOverrides): Promise; + + previewWithdraw( + id: PromiseOrValue, + assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + safeBatchTransferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + ids: PromiseOrValue[], + amounts: PromiseOrValue[], + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + safeTransferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + id: PromiseOrValue, + amount: PromiseOrValue, + data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + sendTokens( + id: PromiseOrValue, + _counterparty: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setApprovalForAll( + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setClaimTVL( + id: PromiseOrValue, + claimTVL: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setEpochNull( + id: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + strikePrice(overrides?: CallOverrides): Promise; + + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + tokenInsured(overrides?: CallOverrides): Promise; + + totalAssets(_id: PromiseOrValue, overrides?: CallOverrides): Promise; + + totalSupply(id: PromiseOrValue, overrides?: CallOverrides): Promise; + + treasury(overrides?: CallOverrides): Promise; + + uri(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + id: PromiseOrValue, + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; +} diff --git a/src/apps/y2k-finance/contracts/ethers/Y2KFinanceVotingLocked.ts b/src/apps/y2k-finance/contracts/ethers/Y2KFinanceVotingLocked.ts new file mode 100644 index 000000000..85915192f --- /dev/null +++ b/src/apps/y2k-finance/contracts/ethers/Y2KFinanceVotingLocked.ts @@ -0,0 +1,1337 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from 'ethers'; +import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi'; +import type { Listener, Provider } from '@ethersproject/providers'; +import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common'; + +export interface Y2KFinanceVotingLockedInterface extends utils.Interface { + functions: { + 'accounts(address)': FunctionFragment; + 'balanceOf(address)': FunctionFragment; + 'balanceOfInEpoch(address,uint256)': FunctionFragment; + 'changeEnforceTime(bool)': FunctionFragment; + 'changeMaxEpochs(uint256)': FunctionFragment; + 'changeRecoverWhitelist(address,bool)': FunctionFragment; + 'claimReward()': FunctionFragment; + 'currentEpoch()': FunctionFragment; + 'deposit(uint256,uint256)': FunctionFragment; + 'enforceTime()': FunctionFragment; + 'epochs(uint256)': FunctionFragment; + 'exit()': FunctionFragment; + 'getAccount(address)': FunctionFragment; + 'getCurrentEpoch()': FunctionFragment; + 'getEpoch(uint256)': FunctionFragment; + 'getEpochAccountInfo(address,uint256)': FunctionFragment; + 'getNextEpoch()': FunctionFragment; + 'lockToken()': FunctionFragment; + 'maxEpochs()': FunctionFragment; + 'minEpochs()': FunctionFragment; + 'nextUnsetEpoch()': FunctionFragment; + 'owner()': FunctionFragment; + 'pause()': FunctionFragment; + 'paused()': FunctionFragment; + 'recoverERC20(address,uint256)': FunctionFragment; + 'recoverERC721(address,uint256)': FunctionFragment; + 'renounceOwnership()': FunctionFragment; + 'rewardToken(uint256)': FunctionFragment; + 'setNextEpoch(uint256,uint256,uint256)': FunctionFragment; + 'setNextEpoch_start(uint256,uint256,uint256,uint256)': FunctionFragment; + 'totalAssets()': FunctionFragment; + 'totalLocked()': FunctionFragment; + 'transferOwnership(address)': FunctionFragment; + 'unpause()': FunctionFragment; + 'updateAccount()': FunctionFragment; + 'updateEpochs()': FunctionFragment; + 'whitelistRecoverERC20(address)': FunctionFragment; + 'withdraw(uint256)': FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | 'accounts' + | 'balanceOf' + | 'balanceOfInEpoch' + | 'changeEnforceTime' + | 'changeMaxEpochs' + | 'changeRecoverWhitelist' + | 'claimReward' + | 'currentEpoch' + | 'deposit' + | 'enforceTime' + | 'epochs' + | 'exit' + | 'getAccount' + | 'getCurrentEpoch' + | 'getEpoch' + | 'getEpochAccountInfo' + | 'getNextEpoch' + | 'lockToken' + | 'maxEpochs' + | 'minEpochs' + | 'nextUnsetEpoch' + | 'owner' + | 'pause' + | 'paused' + | 'recoverERC20' + | 'recoverERC721' + | 'renounceOwnership' + | 'rewardToken' + | 'setNextEpoch' + | 'setNextEpoch_start' + | 'totalAssets' + | 'totalLocked' + | 'transferOwnership' + | 'unpause' + | 'updateAccount' + | 'updateEpochs' + | 'whitelistRecoverERC20' + | 'withdraw', + ): FunctionFragment; + + encodeFunctionData(functionFragment: 'accounts', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'balanceOf', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'balanceOfInEpoch', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'changeEnforceTime', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'changeMaxEpochs', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'changeRecoverWhitelist', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'claimReward', values?: undefined): string; + encodeFunctionData(functionFragment: 'currentEpoch', values?: undefined): string; + encodeFunctionData( + functionFragment: 'deposit', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'enforceTime', values?: undefined): string; + encodeFunctionData(functionFragment: 'epochs', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'exit', values?: undefined): string; + encodeFunctionData(functionFragment: 'getAccount', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'getCurrentEpoch', values?: undefined): string; + encodeFunctionData(functionFragment: 'getEpoch', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'getEpochAccountInfo', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'getNextEpoch', values?: undefined): string; + encodeFunctionData(functionFragment: 'lockToken', values?: undefined): string; + encodeFunctionData(functionFragment: 'maxEpochs', values?: undefined): string; + encodeFunctionData(functionFragment: 'minEpochs', values?: undefined): string; + encodeFunctionData(functionFragment: 'nextUnsetEpoch', values?: undefined): string; + encodeFunctionData(functionFragment: 'owner', values?: undefined): string; + encodeFunctionData(functionFragment: 'pause', values?: undefined): string; + encodeFunctionData(functionFragment: 'paused', values?: undefined): string; + encodeFunctionData( + functionFragment: 'recoverERC20', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'recoverERC721', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string; + encodeFunctionData(functionFragment: 'rewardToken', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'setNextEpoch', + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData( + functionFragment: 'setNextEpoch_start', + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + ], + ): string; + encodeFunctionData(functionFragment: 'totalAssets', values?: undefined): string; + encodeFunctionData(functionFragment: 'totalLocked', values?: undefined): string; + encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'unpause', values?: undefined): string; + encodeFunctionData(functionFragment: 'updateAccount', values?: undefined): string; + encodeFunctionData(functionFragment: 'updateEpochs', values?: undefined): string; + encodeFunctionData(functionFragment: 'whitelistRecoverERC20', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'withdraw', values: [PromiseOrValue]): string; + + decodeFunctionResult(functionFragment: 'accounts', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'balanceOf', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'balanceOfInEpoch', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'changeEnforceTime', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'changeMaxEpochs', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'changeRecoverWhitelist', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'claimReward', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'currentEpoch', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'deposit', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'enforceTime', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'epochs', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'exit', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getAccount', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getCurrentEpoch', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getEpoch', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getEpochAccountInfo', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'getNextEpoch', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'lockToken', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'maxEpochs', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'minEpochs', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'nextUnsetEpoch', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'pause', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'paused', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'recoverERC20', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'recoverERC721', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'rewardToken', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'setNextEpoch', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'setNextEpoch_start', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'totalAssets', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'totalLocked', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'unpause', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'updateAccount', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'updateEpochs', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'whitelistRecoverERC20', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'withdraw', data: BytesLike): Result; + + events: { + 'ChangeERC20Whiltelist(address,bool)': EventFragment; + 'ChangeEnforceTime(uint256,bool)': EventFragment; + 'ChangeMaxLockEpochs(uint256,uint256,uint256)': EventFragment; + 'Deposit(address,uint256,uint256)': EventFragment; + 'OwnershipTransferred(address,address)': EventFragment; + 'Paused(address)': EventFragment; + 'RecoveredERC20(address,uint256)': EventFragment; + 'RecoveredERC721(address,uint256)': EventFragment; + 'Relock(address,uint256,uint256)': EventFragment; + 'RewardPaid(address,address,uint256)': EventFragment; + 'SetNextReward(uint256,uint256,uint256,uint256,uint256)': EventFragment; + 'Unpaused(address)': EventFragment; + 'UpdatedEpoch(uint256)': EventFragment; + 'Withdrawn(address,uint256)': EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: 'ChangeERC20Whiltelist'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'ChangeEnforceTime'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'ChangeMaxLockEpochs'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'Deposit'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'Paused'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'RecoveredERC20'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'RecoveredERC721'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'Relock'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'RewardPaid'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'SetNextReward'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'Unpaused'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'UpdatedEpoch'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'Withdrawn'): EventFragment; +} + +export interface ChangeERC20WhiltelistEventObject { + token: string; + tokenState: boolean; +} +export type ChangeERC20WhiltelistEvent = TypedEvent<[string, boolean], ChangeERC20WhiltelistEventObject>; + +export type ChangeERC20WhiltelistEventFilter = TypedEventFilter; + +export interface ChangeEnforceTimeEventObject { + currentTime: BigNumber; + flag: boolean; +} +export type ChangeEnforceTimeEvent = TypedEvent<[BigNumber, boolean], ChangeEnforceTimeEventObject>; + +export type ChangeEnforceTimeEventFilter = TypedEventFilter; + +export interface ChangeMaxLockEpochsEventObject { + currentTime: BigNumber; + oldEpochs: BigNumber; + newEpochs: BigNumber; +} +export type ChangeMaxLockEpochsEvent = TypedEvent<[BigNumber, BigNumber, BigNumber], ChangeMaxLockEpochsEventObject>; + +export type ChangeMaxLockEpochsEventFilter = TypedEventFilter; + +export interface DepositEventObject { + user: string; + amount: BigNumber; + lockedEpochs: BigNumber; +} +export type DepositEvent = TypedEvent<[string, BigNumber, BigNumber], DepositEventObject>; + +export type DepositEventFilter = TypedEventFilter; + +export interface OwnershipTransferredEventObject { + previousOwner: string; + newOwner: string; +} +export type OwnershipTransferredEvent = TypedEvent<[string, string], OwnershipTransferredEventObject>; + +export type OwnershipTransferredEventFilter = TypedEventFilter; + +export interface PausedEventObject { + account: string; +} +export type PausedEvent = TypedEvent<[string], PausedEventObject>; + +export type PausedEventFilter = TypedEventFilter; + +export interface RecoveredERC20EventObject { + token: string; + amount: BigNumber; +} +export type RecoveredERC20Event = TypedEvent<[string, BigNumber], RecoveredERC20EventObject>; + +export type RecoveredERC20EventFilter = TypedEventFilter; + +export interface RecoveredERC721EventObject { + token: string; + tokenId: BigNumber; +} +export type RecoveredERC721Event = TypedEvent<[string, BigNumber], RecoveredERC721EventObject>; + +export type RecoveredERC721EventFilter = TypedEventFilter; + +export interface RelockEventObject { + user: string; + totalBalance: BigNumber; + lockedEpochs: BigNumber; +} +export type RelockEvent = TypedEvent<[string, BigNumber, BigNumber], RelockEventObject>; + +export type RelockEventFilter = TypedEventFilter; + +export interface RewardPaidEventObject { + user: string; + token: string; + reward: BigNumber; +} +export type RewardPaidEvent = TypedEvent<[string, string, BigNumber], RewardPaidEventObject>; + +export type RewardPaidEventFilter = TypedEventFilter; + +export interface SetNextRewardEventObject { + epochId: BigNumber; + reward1: BigNumber; + reward2: BigNumber; + start: BigNumber; + finish: BigNumber; +} +export type SetNextRewardEvent = TypedEvent< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber], + SetNextRewardEventObject +>; + +export type SetNextRewardEventFilter = TypedEventFilter; + +export interface UnpausedEventObject { + account: string; +} +export type UnpausedEvent = TypedEvent<[string], UnpausedEventObject>; + +export type UnpausedEventFilter = TypedEventFilter; + +export interface UpdatedEpochEventObject { + currentId: BigNumber; +} +export type UpdatedEpochEvent = TypedEvent<[BigNumber], UpdatedEpochEventObject>; + +export type UpdatedEpochEventFilter = TypedEventFilter; + +export interface WithdrawnEventObject { + user: string; + amount: BigNumber; +} +export type WithdrawnEvent = TypedEvent<[string, BigNumber], WithdrawnEventObject>; + +export type WithdrawnEventFilter = TypedEventFilter; + +export interface Y2KFinanceVotingLocked extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: Y2KFinanceVotingLockedInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined, + ): Promise>; + + listeners(eventFilter?: TypedEventFilter): Array>; + listeners(eventName?: string): Array; + removeAllListeners(eventFilter: TypedEventFilter): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + accounts( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber] & { + balance: BigNumber; + lockEpochs: BigNumber; + lastEpochPaid: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + } + >; + + balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; + + balanceOfInEpoch( + owner: PromiseOrValue, + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber]>; + + changeEnforceTime( + flag: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeMaxEpochs( + _maxEpochs: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeRecoverWhitelist( + tokenAddress: PromiseOrValue, + flag: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + claimReward(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + currentEpoch(overrides?: CallOverrides): Promise<[BigNumber]>; + + deposit( + amount: PromiseOrValue, + lockEpochs: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + enforceTime(overrides?: CallOverrides): Promise<[boolean]>; + + epochs( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, boolean] & { + start: BigNumber; + finish: BigNumber; + totalLocked: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + isSet: boolean; + } + >; + + exit(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + getAccount( + owner: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber] & { + balance: BigNumber; + lockEpochs: BigNumber; + lastEpochPaid: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + } + >; + + getCurrentEpoch(overrides?: CallOverrides): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, boolean] & { + start: BigNumber; + finish: BigNumber; + locked: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + isSet: boolean; + } + >; + + getEpoch( + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, boolean] & { + start: BigNumber; + finish: BigNumber; + locked: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + isSet: boolean; + } + >; + + getEpochAccountInfo( + owner: PromiseOrValue, + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, boolean] & { + balance: BigNumber; + start: BigNumber; + finish: BigNumber; + locked: BigNumber; + userRewards1: BigNumber; + userRewards2: BigNumber; + isSet: boolean; + } + >; + + getNextEpoch(overrides?: CallOverrides): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, boolean] & { + start: BigNumber; + finish: BigNumber; + locked: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + isSet: boolean; + } + >; + + lockToken(overrides?: CallOverrides): Promise<[string]>; + + maxEpochs(overrides?: CallOverrides): Promise<[BigNumber]>; + + minEpochs(overrides?: CallOverrides): Promise<[BigNumber]>; + + nextUnsetEpoch(overrides?: CallOverrides): Promise<[BigNumber]>; + + owner(overrides?: CallOverrides): Promise<[string]>; + + pause(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + paused(overrides?: CallOverrides): Promise<[boolean]>; + + recoverERC20( + tokenAddress: PromiseOrValue, + tokenAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + recoverERC721( + tokenAddress: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + rewardToken( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [string, BigNumber, BigNumber] & { + addr: string; + rewards: BigNumber; + rewardsPaid: BigNumber; + } + >; + + setNextEpoch( + reward1: PromiseOrValue, + reward2: PromiseOrValue, + epochDurationInDays: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setNextEpoch_start( + reward1: PromiseOrValue, + reward2: PromiseOrValue, + epochDurationInDays: PromiseOrValue, + epochStart: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + totalAssets(overrides?: CallOverrides): Promise<[BigNumber]>; + + totalLocked(overrides?: CallOverrides): Promise<[BigNumber]>; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + unpause(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + updateAccount(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + updateEpochs(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + whitelistRecoverERC20(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; + + withdraw( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; + + accounts( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber] & { + balance: BigNumber; + lockEpochs: BigNumber; + lastEpochPaid: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + } + >; + + balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + balanceOfInEpoch( + owner: PromiseOrValue, + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + changeEnforceTime( + flag: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeMaxEpochs( + _maxEpochs: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeRecoverWhitelist( + tokenAddress: PromiseOrValue, + flag: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + claimReward(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + currentEpoch(overrides?: CallOverrides): Promise; + + deposit( + amount: PromiseOrValue, + lockEpochs: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + enforceTime(overrides?: CallOverrides): Promise; + + epochs( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, boolean] & { + start: BigNumber; + finish: BigNumber; + totalLocked: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + isSet: boolean; + } + >; + + exit(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + getAccount( + owner: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber] & { + balance: BigNumber; + lockEpochs: BigNumber; + lastEpochPaid: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + } + >; + + getCurrentEpoch(overrides?: CallOverrides): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, boolean] & { + start: BigNumber; + finish: BigNumber; + locked: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + isSet: boolean; + } + >; + + getEpoch( + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, boolean] & { + start: BigNumber; + finish: BigNumber; + locked: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + isSet: boolean; + } + >; + + getEpochAccountInfo( + owner: PromiseOrValue, + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, boolean] & { + balance: BigNumber; + start: BigNumber; + finish: BigNumber; + locked: BigNumber; + userRewards1: BigNumber; + userRewards2: BigNumber; + isSet: boolean; + } + >; + + getNextEpoch(overrides?: CallOverrides): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, boolean] & { + start: BigNumber; + finish: BigNumber; + locked: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + isSet: boolean; + } + >; + + lockToken(overrides?: CallOverrides): Promise; + + maxEpochs(overrides?: CallOverrides): Promise; + + minEpochs(overrides?: CallOverrides): Promise; + + nextUnsetEpoch(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + pause(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + paused(overrides?: CallOverrides): Promise; + + recoverERC20( + tokenAddress: PromiseOrValue, + tokenAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + recoverERC721( + tokenAddress: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + rewardToken( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [string, BigNumber, BigNumber] & { + addr: string; + rewards: BigNumber; + rewardsPaid: BigNumber; + } + >; + + setNextEpoch( + reward1: PromiseOrValue, + reward2: PromiseOrValue, + epochDurationInDays: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setNextEpoch_start( + reward1: PromiseOrValue, + reward2: PromiseOrValue, + epochDurationInDays: PromiseOrValue, + epochStart: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + totalAssets(overrides?: CallOverrides): Promise; + + totalLocked(overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + unpause(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + updateAccount(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + updateEpochs(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + whitelistRecoverERC20(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + callStatic: { + accounts( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber] & { + balance: BigNumber; + lockEpochs: BigNumber; + lastEpochPaid: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + } + >; + + balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + balanceOfInEpoch( + owner: PromiseOrValue, + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + changeEnforceTime(flag: PromiseOrValue, overrides?: CallOverrides): Promise; + + changeMaxEpochs(_maxEpochs: PromiseOrValue, overrides?: CallOverrides): Promise; + + changeRecoverWhitelist( + tokenAddress: PromiseOrValue, + flag: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + claimReward(overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>; + + currentEpoch(overrides?: CallOverrides): Promise; + + deposit( + amount: PromiseOrValue, + lockEpochs: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + enforceTime(overrides?: CallOverrides): Promise; + + epochs( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, boolean] & { + start: BigNumber; + finish: BigNumber; + totalLocked: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + isSet: boolean; + } + >; + + exit(overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>; + + getAccount( + owner: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber] & { + balance: BigNumber; + lockEpochs: BigNumber; + lastEpochPaid: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + } + >; + + getCurrentEpoch(overrides?: CallOverrides): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, boolean] & { + start: BigNumber; + finish: BigNumber; + locked: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + isSet: boolean; + } + >; + + getEpoch( + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, boolean] & { + start: BigNumber; + finish: BigNumber; + locked: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + isSet: boolean; + } + >; + + getEpochAccountInfo( + owner: PromiseOrValue, + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, boolean] & { + balance: BigNumber; + start: BigNumber; + finish: BigNumber; + locked: BigNumber; + userRewards1: BigNumber; + userRewards2: BigNumber; + isSet: boolean; + } + >; + + getNextEpoch(overrides?: CallOverrides): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, boolean] & { + start: BigNumber; + finish: BigNumber; + locked: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + isSet: boolean; + } + >; + + lockToken(overrides?: CallOverrides): Promise; + + maxEpochs(overrides?: CallOverrides): Promise; + + minEpochs(overrides?: CallOverrides): Promise; + + nextUnsetEpoch(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + pause(overrides?: CallOverrides): Promise; + + paused(overrides?: CallOverrides): Promise; + + recoverERC20( + tokenAddress: PromiseOrValue, + tokenAmount: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + recoverERC721( + tokenAddress: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + renounceOwnership(overrides?: CallOverrides): Promise; + + rewardToken( + arg0: PromiseOrValue, + overrides?: CallOverrides, + ): Promise< + [string, BigNumber, BigNumber] & { + addr: string; + rewards: BigNumber; + rewardsPaid: BigNumber; + } + >; + + setNextEpoch( + reward1: PromiseOrValue, + reward2: PromiseOrValue, + epochDurationInDays: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + setNextEpoch_start( + reward1: PromiseOrValue, + reward2: PromiseOrValue, + epochDurationInDays: PromiseOrValue, + epochStart: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + totalAssets(overrides?: CallOverrides): Promise; + + totalLocked(overrides?: CallOverrides): Promise; + + transferOwnership(newOwner: PromiseOrValue, overrides?: CallOverrides): Promise; + + unpause(overrides?: CallOverrides): Promise; + + updateAccount(overrides?: CallOverrides): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber, BigNumber] & { + balance: BigNumber; + lockEpochs: BigNumber; + lastEpochPaid: BigNumber; + rewards1: BigNumber; + rewards2: BigNumber; + } + >; + + updateEpochs(overrides?: CallOverrides): Promise; + + whitelistRecoverERC20(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw(amount: PromiseOrValue, overrides?: CallOverrides): Promise; + }; + + filters: { + 'ChangeERC20Whiltelist(address,bool)'(token?: null, tokenState?: null): ChangeERC20WhiltelistEventFilter; + ChangeERC20Whiltelist(token?: null, tokenState?: null): ChangeERC20WhiltelistEventFilter; + + 'ChangeEnforceTime(uint256,bool)'( + currentTime?: PromiseOrValue | null, + flag?: null, + ): ChangeEnforceTimeEventFilter; + ChangeEnforceTime(currentTime?: PromiseOrValue | null, flag?: null): ChangeEnforceTimeEventFilter; + + 'ChangeMaxLockEpochs(uint256,uint256,uint256)'( + currentTime?: PromiseOrValue | null, + oldEpochs?: null, + newEpochs?: null, + ): ChangeMaxLockEpochsEventFilter; + ChangeMaxLockEpochs( + currentTime?: PromiseOrValue | null, + oldEpochs?: null, + newEpochs?: null, + ): ChangeMaxLockEpochsEventFilter; + + 'Deposit(address,uint256,uint256)'( + user?: PromiseOrValue | null, + amount?: null, + lockedEpochs?: null, + ): DepositEventFilter; + Deposit(user?: PromiseOrValue | null, amount?: null, lockedEpochs?: null): DepositEventFilter; + + 'OwnershipTransferred(address,address)'( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null, + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null, + ): OwnershipTransferredEventFilter; + + 'Paused(address)'(account?: null): PausedEventFilter; + Paused(account?: null): PausedEventFilter; + + 'RecoveredERC20(address,uint256)'(token?: null, amount?: null): RecoveredERC20EventFilter; + RecoveredERC20(token?: null, amount?: null): RecoveredERC20EventFilter; + + 'RecoveredERC721(address,uint256)'(token?: null, tokenId?: null): RecoveredERC721EventFilter; + RecoveredERC721(token?: null, tokenId?: null): RecoveredERC721EventFilter; + + 'Relock(address,uint256,uint256)'( + user?: PromiseOrValue | null, + totalBalance?: null, + lockedEpochs?: null, + ): RelockEventFilter; + Relock(user?: PromiseOrValue | null, totalBalance?: null, lockedEpochs?: null): RelockEventFilter; + + 'RewardPaid(address,address,uint256)'( + user?: PromiseOrValue | null, + token?: null, + reward?: null, + ): RewardPaidEventFilter; + RewardPaid(user?: PromiseOrValue | null, token?: null, reward?: null): RewardPaidEventFilter; + + 'SetNextReward(uint256,uint256,uint256,uint256,uint256)'( + epochId?: PromiseOrValue | null, + reward1?: null, + reward2?: null, + start?: null, + finish?: null, + ): SetNextRewardEventFilter; + SetNextReward( + epochId?: PromiseOrValue | null, + reward1?: null, + reward2?: null, + start?: null, + finish?: null, + ): SetNextRewardEventFilter; + + 'Unpaused(address)'(account?: null): UnpausedEventFilter; + Unpaused(account?: null): UnpausedEventFilter; + + 'UpdatedEpoch(uint256)'(currentId?: null): UpdatedEpochEventFilter; + UpdatedEpoch(currentId?: null): UpdatedEpochEventFilter; + + 'Withdrawn(address,uint256)'(user?: PromiseOrValue | null, amount?: null): WithdrawnEventFilter; + Withdrawn(user?: PromiseOrValue | null, amount?: null): WithdrawnEventFilter; + }; + + estimateGas: { + accounts(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + balanceOfInEpoch( + owner: PromiseOrValue, + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + changeEnforceTime( + flag: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeMaxEpochs( + _maxEpochs: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeRecoverWhitelist( + tokenAddress: PromiseOrValue, + flag: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + claimReward(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + currentEpoch(overrides?: CallOverrides): Promise; + + deposit( + amount: PromiseOrValue, + lockEpochs: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + enforceTime(overrides?: CallOverrides): Promise; + + epochs(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + exit(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + getAccount(owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + getCurrentEpoch(overrides?: CallOverrides): Promise; + + getEpoch(epochId: PromiseOrValue, overrides?: CallOverrides): Promise; + + getEpochAccountInfo( + owner: PromiseOrValue, + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + getNextEpoch(overrides?: CallOverrides): Promise; + + lockToken(overrides?: CallOverrides): Promise; + + maxEpochs(overrides?: CallOverrides): Promise; + + minEpochs(overrides?: CallOverrides): Promise; + + nextUnsetEpoch(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + pause(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + paused(overrides?: CallOverrides): Promise; + + recoverERC20( + tokenAddress: PromiseOrValue, + tokenAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + recoverERC721( + tokenAddress: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + rewardToken(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + setNextEpoch( + reward1: PromiseOrValue, + reward2: PromiseOrValue, + epochDurationInDays: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setNextEpoch_start( + reward1: PromiseOrValue, + reward2: PromiseOrValue, + epochDurationInDays: PromiseOrValue, + epochStart: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + totalAssets(overrides?: CallOverrides): Promise; + + totalLocked(overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + unpause(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + updateAccount(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + updateEpochs(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + whitelistRecoverERC20(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; + + populateTransaction: { + accounts(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + balanceOfInEpoch( + owner: PromiseOrValue, + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + changeEnforceTime( + flag: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeMaxEpochs( + _maxEpochs: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + changeRecoverWhitelist( + tokenAddress: PromiseOrValue, + flag: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + claimReward(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + currentEpoch(overrides?: CallOverrides): Promise; + + deposit( + amount: PromiseOrValue, + lockEpochs: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + enforceTime(overrides?: CallOverrides): Promise; + + epochs(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + exit(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + getAccount(owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + getCurrentEpoch(overrides?: CallOverrides): Promise; + + getEpoch(epochId: PromiseOrValue, overrides?: CallOverrides): Promise; + + getEpochAccountInfo( + owner: PromiseOrValue, + epochId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + getNextEpoch(overrides?: CallOverrides): Promise; + + lockToken(overrides?: CallOverrides): Promise; + + maxEpochs(overrides?: CallOverrides): Promise; + + minEpochs(overrides?: CallOverrides): Promise; + + nextUnsetEpoch(overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + pause(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + paused(overrides?: CallOverrides): Promise; + + recoverERC20( + tokenAddress: PromiseOrValue, + tokenAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + recoverERC721( + tokenAddress: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + rewardToken(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + setNextEpoch( + reward1: PromiseOrValue, + reward2: PromiseOrValue, + epochDurationInDays: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + setNextEpoch_start( + reward1: PromiseOrValue, + reward2: PromiseOrValue, + epochDurationInDays: PromiseOrValue, + epochStart: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + totalAssets(overrides?: CallOverrides): Promise; + + totalLocked(overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + unpause(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + updateAccount(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + updateEpochs(overrides?: Overrides & { from?: PromiseOrValue }): Promise; + + whitelistRecoverERC20(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; +} diff --git a/src/apps/y2k-finance/contracts/ethers/common.ts b/src/apps/y2k-finance/contracts/ethers/common.ts new file mode 100644 index 000000000..35f31be99 --- /dev/null +++ b/src/apps/y2k-finance/contracts/ethers/common.ts @@ -0,0 +1,32 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { Listener } from '@ethersproject/providers'; +import type { Event, EventFilter } from 'ethers'; + +export interface TypedEvent = any, TArgsObject = any> extends Event { + args: TArgsArray & TArgsObject; +} + +export interface TypedEventFilter<_TEvent extends TypedEvent> extends EventFilter {} + +export interface TypedListener { + (...listenerArg: [...__TypechainArgsArray, TEvent]): void; +} + +type __TypechainArgsArray = T extends TypedEvent ? U : never; + +export interface OnEvent { + (eventFilter: TypedEventFilter, listener: TypedListener): TRes; + (eventName: string, listener: Listener): TRes; +} + +export type MinEthersFactory = { + deploy(...a: ARGS[]): Promise; +}; + +export type GetContractTypeFromFactory = F extends MinEthersFactory ? C : never; + +export type GetARGsTypeFromFactory = F extends MinEthersFactory ? Parameters : never; + +export type PromiseOrValue = T | Promise; diff --git a/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceCarouselFactory__factory.ts b/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceCarouselFactory__factory.ts new file mode 100644 index 000000000..447153e7d --- /dev/null +++ b/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceCarouselFactory__factory.ts @@ -0,0 +1,847 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from 'ethers'; +import type { Provider } from '@ethersproject/providers'; +import type { Y2KFinanceCarouselFactory, Y2KFinanceCarouselFactoryInterface } from '../Y2KFinanceCarouselFactory'; + +const _abi = [ + { + inputs: [ + { + internalType: 'address', + name: '_weth', + type: 'address', + }, + { + internalType: 'address', + name: '_treasury', + type: 'address', + }, + { + internalType: 'address', + name: '_timelocker', + type: 'address', + }, + ], + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + inputs: [], + name: 'AddressZero', + type: 'error', + }, + { + inputs: [], + name: 'ControllerNotSet', + type: 'error', + }, + { + inputs: [], + name: 'FeeCannotBe0', + type: 'error', + }, + { + inputs: [], + name: 'MarketAlreadyExists', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'marketId', + type: 'uint256', + }, + ], + name: 'MarketDoesNotExist', + type: 'error', + }, + { + inputs: [], + name: 'NotAuthorized', + type: 'error', + }, + { + inputs: [], + name: 'NotTimeLocker', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: '_wAddress', + type: 'address', + }, + { + indexed: true, + internalType: 'uint256', + name: '_marketId', + type: 'uint256', + }, + ], + name: 'AddressWhitelisted', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'marketId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'controller', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'premium', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'collateral', + type: 'address', + }, + ], + name: 'ControllerChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: '_controller', + type: 'address', + }, + ], + name: 'ControllerWhitelisted', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'epochId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'uint256', + name: 'marketId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint40', + name: 'startEpoch', + type: 'uint40', + }, + { + indexed: false, + internalType: 'uint40', + name: 'endEpoch', + type: 'uint40', + }, + { + indexed: false, + internalType: 'address', + name: 'premium', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'collateral', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'token', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'strike', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint16', + name: 'withdrawalFee', + type: 'uint16', + }, + ], + name: 'EpochCreated', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'marketId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'address', + name: 'premium', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'collateral', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'underlyingAsset', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'token', + type: 'address', + }, + { + indexed: false, + internalType: 'string', + name: 'name', + type: 'string', + }, + { + indexed: false, + internalType: 'uint256', + name: 'strike', + type: 'uint256', + }, + { + indexed: false, + internalType: 'address', + name: 'controller', + type: 'address', + }, + ], + name: 'MarketCreated', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: '_marketId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'address', + name: '_oracle', + type: 'address', + }, + ], + name: 'OracleChanged', + 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: false, + internalType: 'address', + name: '_treasury', + type: 'address', + }, + ], + name: 'TreasurySet', + type: 'event', + }, + { + inputs: [], + name: 'WETH', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_marketId', + type: 'uint256', + }, + { + internalType: 'address', + name: '_controller', + type: 'address', + }, + ], + name: 'changeController', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_marketId', + type: 'uint256', + }, + { + internalType: 'address', + name: '_oracle', + type: 'address', + }, + ], + name: 'changeOracle', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'controllers', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_marketId', + type: 'uint256', + }, + { + internalType: 'uint40', + name: '_epochBegin', + type: 'uint40', + }, + { + internalType: 'uint40', + name: '_epochEnd', + type: 'uint40', + }, + { + internalType: 'uint16', + name: '_withdrawalFee', + type: 'uint16', + }, + ], + name: 'createEpoch', + outputs: [ + { + internalType: 'uint256', + name: 'epochId', + type: 'uint256', + }, + { + internalType: 'address[2]', + name: 'vaults', + type: 'address[2]', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + internalType: 'address', + name: 'token', + type: 'address', + }, + { + internalType: 'uint256', + name: 'strike', + type: 'uint256', + }, + { + internalType: 'address', + name: 'oracle', + type: 'address', + }, + { + internalType: 'address', + name: 'underlyingAsset', + type: 'address', + }, + { + internalType: 'string', + name: 'name', + type: 'string', + }, + { + internalType: 'string', + name: 'tokenURI', + type: 'string', + }, + { + internalType: 'address', + name: 'controller', + type: 'address', + }, + ], + internalType: 'struct VaultFactoryV2.MarketConfigurationCalldata', + name: '_marketCalldata', + type: 'tuple', + }, + ], + name: 'createNewMarket', + outputs: [ + { + internalType: 'address', + name: 'premium', + type: 'address', + }, + { + internalType: 'address', + name: 'collateral', + type: 'address', + }, + { + internalType: 'uint256', + name: 'marketId', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'epochFee', + outputs: [ + { + internalType: 'uint16', + name: '', + type: 'uint16', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'epochId', + type: 'uint256', + }, + ], + name: 'getEpochFee', + outputs: [ + { + internalType: 'uint16', + name: 'fee', + type: 'uint16', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'marketId', + type: 'uint256', + }, + { + internalType: 'uint40', + name: 'epochBegin', + type: 'uint40', + }, + { + internalType: 'uint40', + name: 'epochEnd', + type: 'uint40', + }, + ], + name: 'getEpochId', + outputs: [ + { + internalType: 'uint256', + name: 'epochId', + type: 'uint256', + }, + ], + stateMutability: 'pure', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'marketId', + type: 'uint256', + }, + ], + name: 'getEpochsByMarketId', + outputs: [ + { + internalType: 'uint256[]', + name: '', + type: 'uint256[]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_token', + type: 'address', + }, + { + internalType: 'uint256', + name: '_strikePrice', + type: 'uint256', + }, + { + internalType: 'address', + name: '_underlying', + type: 'address', + }, + ], + name: 'getMarketId', + outputs: [ + { + internalType: 'uint256', + name: 'marketId', + type: 'uint256', + }, + ], + stateMutability: 'pure', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_marketId', + type: 'uint256', + }, + ], + name: 'getMarketInfo', + outputs: [ + { + internalType: 'address', + name: 'token', + type: 'address', + }, + { + internalType: 'uint256', + name: 'strike', + type: 'uint256', + }, + { + internalType: 'address', + name: 'underlyingAsset', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'index', + type: 'uint256', + }, + ], + name: 'getVaults', + outputs: [ + { + internalType: 'address[2]', + name: 'vaults', + type: 'address[2]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'marketIdInfo', + outputs: [ + { + internalType: 'address', + name: 'token', + type: 'address', + }, + { + internalType: 'uint256', + name: 'strike', + type: 'uint256', + }, + { + internalType: 'address', + name: 'underlyingAsset', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'marketIdToEpochs', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'marketIdToVaults', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'marketToOracle', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'owner', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'renounceOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_treasury', + type: 'address', + }, + ], + name: 'setTreasury', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'timelocker', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_owner', + type: 'address', + }, + ], + name: 'transferOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'treasury', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_marketId', + type: 'uint256', + }, + { + internalType: 'address', + name: '_wAddress', + type: 'address', + }, + ], + name: 'whitelistAddressOnMarket', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_controller', + type: 'address', + }, + ], + name: 'whitelistController', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, +]; + +export class Y2KFinanceCarouselFactory__factory { + static readonly abi = _abi; + static createInterface(): Y2KFinanceCarouselFactoryInterface { + return new utils.Interface(_abi) as Y2KFinanceCarouselFactoryInterface; + } + static connect(address: string, signerOrProvider: Signer | Provider): Y2KFinanceCarouselFactory { + return new Contract(address, _abi, signerOrProvider) as Y2KFinanceCarouselFactory; + } +} diff --git a/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceCarousel__factory.ts b/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceCarousel__factory.ts new file mode 100644 index 000000000..b231dd2b5 --- /dev/null +++ b/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceCarousel__factory.ts @@ -0,0 +1,1967 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from 'ethers'; +import type { Provider } from '@ethersproject/providers'; +import type { Y2KFinanceCarousel, Y2KFinanceCarouselInterface, Carousel } from '../Y2KFinanceCarousel'; + +const _abi = [ + { + inputs: [ + { + components: [ + { + internalType: 'bool', + name: 'isWETH', + type: 'bool', + }, + { + internalType: 'address', + name: 'assetAddress', + type: 'address', + }, + { + internalType: 'string', + name: 'name', + type: 'string', + }, + { + internalType: 'string', + name: 'symbol', + type: 'string', + }, + { + internalType: 'string', + name: 'tokenURI', + type: 'string', + }, + { + internalType: 'address', + name: 'token', + type: 'address', + }, + { + internalType: 'uint256', + name: 'strike', + type: 'uint256', + }, + { + internalType: 'address', + name: 'controller', + type: 'address', + }, + { + internalType: 'address', + name: 'emissionsToken', + type: 'address', + }, + { + internalType: 'uint256', + name: 'relayerFee', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'depositFee', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'minQueueDeposit', + type: 'uint256', + }, + ], + internalType: 'struct Carousel.ConstructorArgs', + name: '_data', + type: 'tuple', + }, + ], + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + inputs: [ + { + internalType: 'address', + name: '_contract', + type: 'address', + }, + ], + name: 'AddressNotController', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: '_contract', + type: 'address', + }, + ], + name: 'AddressNotFactory', + type: 'error', + }, + { + inputs: [], + name: 'AddressZero', + type: 'error', + }, + { + inputs: [], + name: 'AlreadyInitialized', + type: 'error', + }, + { + inputs: [], + name: 'AlreadyRollingOver', + type: 'error', + }, + { + inputs: [], + name: 'AmountExceedsTVL', + type: 'error', + }, + { + inputs: [], + name: 'BPSToHigh', + type: 'error', + }, + { + inputs: [], + name: 'CanNotDepositETH', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: '_counterparty', + type: 'address', + }, + ], + name: 'DestinationNotAuthorized', + type: 'error', + }, + { + inputs: [], + name: 'EpochAlreadyEnded', + type: 'error', + }, + { + inputs: [], + name: 'EpochAlreadyExists', + type: 'error', + }, + { + inputs: [], + name: 'EpochAlreadyStarted', + type: 'error', + }, + { + inputs: [], + name: 'EpochDoesNotExist', + type: 'error', + }, + { + inputs: [], + name: 'EpochEndMustBeAfterBegin', + type: 'error', + }, + { + inputs: [], + name: 'EpochNotResolved', + type: 'error', + }, + { + inputs: [], + name: 'EpochNotStarted', + type: 'error', + }, + { + inputs: [], + name: 'InsufficientBalance', + type: 'error', + }, + { + inputs: [], + name: 'InvalidEpoch', + type: 'error', + }, + { + inputs: [], + name: 'InvalidEpochId', + type: 'error', + }, + { + inputs: [], + name: 'MinDeposit', + type: 'error', + }, + { + inputs: [], + name: 'NoRolloverQueued', + type: 'error', + }, + { + inputs: [], + name: 'OverflowQueue', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: '_sender', + type: 'address', + }, + { + internalType: 'address', + name: '_owner', + type: 'address', + }, + ], + name: 'OwnerDidNotAuthorize', + type: 'error', + }, + { + inputs: [], + name: 'RelayerFeeToLow', + type: 'error', + }, + { + inputs: [], + name: 'ZeroValue', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + indexed: false, + internalType: 'bool', + name: 'approved', + type: 'bool', + }, + ], + name: 'ApprovalForAll', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'caller', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + indexed: true, + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + ], + name: 'Deposit', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'receiver', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'epochId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + ], + name: 'DepositInQueue', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'epochId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'operations', + type: 'uint256', + }, + ], + name: 'RelayerMinted', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'epochId', + type: 'uint256', + }, + ], + name: 'RolloverQueued', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256[]', + name: 'ids', + type: 'uint256[]', + }, + { + indexed: false, + internalType: 'uint256[]', + name: 'values', + type: 'uint256[]', + }, + ], + name: 'TransferBatch', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'value', + type: 'uint256', + }, + ], + name: 'TransferSingle', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'string', + name: 'value', + type: 'string', + }, + { + indexed: true, + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + ], + name: 'URI', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'caller', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'receiver', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + indexed: true, + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + ], + name: 'Withdraw', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'caller', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'receiver', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + indexed: true, + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'emissions', + type: 'uint256', + }, + ], + name: 'WithdrawWithEmissions', + type: 'event', + }, + { + inputs: [], + name: 'asset', + outputs: [ + { + internalType: 'contract IERC20', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + ], + name: 'balanceOf', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address[]', + name: 'accounts', + type: 'address[]', + }, + { + internalType: 'uint256[]', + name: 'ids', + type: 'uint256[]', + }, + ], + name: 'balanceOfBatch', + outputs: [ + { + internalType: 'uint256[]', + name: '', + type: 'uint256[]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'int256', + name: 'minX', + type: 'int256', + }, + { + internalType: 'int256', + name: 'maxX', + type: 'int256', + }, + ], + name: 'calculateFeePercent', + outputs: [ + { + internalType: 'uint256', + name: '_y', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_controller', + type: 'address', + }, + ], + name: 'changeController', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_depositFee', + type: 'uint256', + }, + ], + name: 'changeDepositFee', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_relayerFee', + type: 'uint256', + }, + ], + name: 'changeRelayerFee', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'claimTVL', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address[]', + name: '_addressesToDelist', + type: 'address[]', + }, + ], + name: 'cleanUpRolloverQueue', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'controller', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'counterPartyVault', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_owner', + type: 'address', + }, + ], + name: 'delistInRollover', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_id', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_assets', + type: 'uint256', + }, + { + internalType: 'address', + name: '_receiver', + type: 'address', + }, + ], + name: 'deposit', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_id', + type: 'uint256', + }, + { + internalType: 'address', + name: '_receiver', + type: 'address', + }, + ], + name: 'depositETH', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [], + name: 'depositFee', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'depositQueue', + outputs: [ + { + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + { + internalType: 'uint256', + name: 'epochId', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'emissions', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'emissionsToken', + outputs: [ + { + internalType: 'contract IERC20', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_epochId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_shares', + type: 'uint256', + }, + { + internalType: 'address', + name: '_receiver', + type: 'address', + }, + ], + name: 'enlistInRollover', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'epochAccounting', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'epochConfig', + outputs: [ + { + internalType: 'uint40', + name: 'epochBegin', + type: 'uint40', + }, + { + internalType: 'uint40', + name: 'epochEnd', + type: 'uint40', + }, + { + internalType: 'uint40', + name: 'epochCreation', + type: 'uint40', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'epochExists', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'epochNull', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'epochResolved', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'epochs', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + ], + name: 'exists', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'factory', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'finalTVL', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getAllEpochs', + outputs: [ + { + internalType: 'uint256[]', + name: '', + type: 'uint256[]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getDepositQueueLength', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getDepositQueueTVL', + outputs: [ + { + internalType: 'uint256', + name: 'tvl', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_id', + type: 'uint256', + }, + ], + name: 'getEpochConfig', + outputs: [ + { + internalType: 'uint40', + name: 'epochBegin', + type: 'uint40', + }, + { + internalType: 'uint40', + name: 'epochEnd', + type: 'uint40', + }, + { + internalType: 'uint40', + name: 'epochCreation', + type: 'uint40', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_id', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_assets', + type: 'uint256', + }, + ], + name: 'getEpochDepositFee', + outputs: [ + { + internalType: 'uint256', + name: 'feeAmount', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'assetsAfterFee', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getEpochsLength', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_owner', + type: 'address', + }, + ], + name: 'getRolloverIndex', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_owner', + type: 'address', + }, + ], + name: 'getRolloverPosition', + outputs: [ + { + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'epochId', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_index', + type: 'uint256', + }, + ], + name: 'getRolloverQueueItem', + outputs: [ + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + { + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'epochId', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getRolloverQueueLength', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getRolloverTVL', + outputs: [ + { + internalType: 'uint256', + name: 'tvl', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_epochId', + type: 'uint256', + }, + ], + name: 'getRolloverTVLByEpochId', + outputs: [ + { + internalType: 'uint256', + name: 'tvl', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + ], + name: 'isApprovedForAll', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_owner', + type: 'address', + }, + ], + name: 'isEnlistedInRolloverQueue', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'isWETH', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'minQueueDeposit', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_epochId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_operations', + type: 'uint256', + }, + ], + name: 'mintDepositInQueue', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_epochId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_operations', + type: 'uint256', + }, + ], + name: 'mintRollovers', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'name', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'ownerToRollOverQueueIndex', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_id', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_assets', + type: 'uint256', + }, + ], + name: 'previewAmountInShares', + outputs: [ + { + internalType: 'uint256', + name: 'entitledShareAmount', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_id', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_assets', + type: 'uint256', + }, + ], + name: 'previewEmissionsWithdraw', + outputs: [ + { + internalType: 'uint256', + name: 'entitledAmount', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_id', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_shares', + type: 'uint256', + }, + ], + name: 'previewWithdraw', + outputs: [ + { + internalType: 'uint256', + name: 'entitledAssets', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'relayerFee', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_id', + type: 'uint256', + }, + ], + name: 'resolveEpoch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'rolloverAccounting', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'rolloverQueue', + outputs: [ + { + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + { + internalType: 'uint256', + name: 'epochId', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + { + internalType: 'address', + name: '', + type: 'address', + }, + { + internalType: 'uint256[]', + name: '', + type: 'uint256[]', + }, + { + internalType: 'uint256[]', + name: '', + type: 'uint256[]', + }, + { + internalType: 'bytes', + name: '', + type: 'bytes', + }, + ], + name: 'safeBatchTransferFrom', + outputs: [], + stateMutability: 'pure', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + name: 'safeTransferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_id', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_amount', + type: 'uint256', + }, + { + internalType: 'address', + name: '_receiver', + type: 'address', + }, + ], + name: 'sendTokens', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + internalType: 'bool', + name: 'approved', + type: 'bool', + }, + ], + name: 'setApprovalForAll', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_id', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_claimTVL', + type: 'uint256', + }, + ], + name: 'setClaimTVL', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_counterPartyVault', + type: 'address', + }, + ], + name: 'setCounterPartyVault', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_epochId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_emissionAmount', + type: 'uint256', + }, + ], + name: 'setEmissions', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint40', + name: '_epochBegin', + type: 'uint40', + }, + { + internalType: 'uint40', + name: '_epochEnd', + type: 'uint40', + }, + { + internalType: 'uint256', + name: '_epochId', + type: 'uint256', + }, + ], + name: 'setEpoch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_id', + type: 'uint256', + }, + ], + name: 'setEpochNull', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'strike', + 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: 'token', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_id', + type: 'uint256', + }, + ], + name: 'totalAssets', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + ], + name: 'totalSupply', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'treasury', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'uri', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_wAddress', + type: 'address', + }, + ], + name: 'whiteListAddress', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'whitelistedAddresses', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_id', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_shares', + type: 'uint256', + }, + { + internalType: 'address', + name: '_receiver', + type: 'address', + }, + { + internalType: 'address', + name: '_owner', + type: 'address', + }, + ], + name: 'withdraw', + outputs: [ + { + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, +]; + +export class Y2KFinanceCarousel__factory { + static readonly abi = _abi; + static createInterface(): Y2KFinanceCarouselInterface { + return new utils.Interface(_abi) as Y2KFinanceCarouselInterface; + } + static connect(address: string, signerOrProvider: Signer | Provider): Y2KFinanceCarousel { + return new Contract(address, _abi, signerOrProvider) as Y2KFinanceCarousel; + } +} diff --git a/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceRewardsFactory__factory.ts b/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceRewardsFactory__factory.ts new file mode 100644 index 000000000..e4dbb807b --- /dev/null +++ b/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceRewardsFactory__factory.ts @@ -0,0 +1,190 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from 'ethers'; +import type { Provider } from '@ethersproject/providers'; +import type { Y2KFinanceRewardsFactory, Y2KFinanceRewardsFactoryInterface } from '../Y2KFinanceRewardsFactory'; + +const _abi = [ + { + inputs: [ + { + internalType: 'address', + name: '_govToken', + type: 'address', + }, + { + internalType: 'address', + name: '_factory', + type: 'address', + }, + ], + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + inputs: [], + name: 'EpochDoesNotExist', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'marketId', + type: 'uint256', + }, + ], + name: 'MarketDoesNotExist', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'marketEpochId', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'uint256', + name: 'mIndex', + type: 'uint256', + }, + { + indexed: false, + internalType: 'address', + name: 'hedgeFarm', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'riskFarm', + type: 'address', + }, + ], + name: 'CreatedStakingReward', + 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: [ + { + internalType: 'uint256', + name: '_marketIndex', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_epochEnd', + type: 'uint256', + }, + ], + name: 'createStakingRewards', + outputs: [ + { + internalType: 'address', + name: 'insr', + type: 'address', + }, + { + internalType: 'address', + name: 'risk', + type: 'address', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'factory', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'govToken', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'owner', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'renounceOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'newOwner', + type: 'address', + }, + ], + name: 'transferOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, +]; + +export class Y2KFinanceRewardsFactory__factory { + static readonly abi = _abi; + static createInterface(): Y2KFinanceRewardsFactoryInterface { + return new utils.Interface(_abi) as Y2KFinanceRewardsFactoryInterface; + } + static connect(address: string, signerOrProvider: Signer | Provider): Y2KFinanceRewardsFactory { + return new Contract(address, _abi, signerOrProvider) as Y2KFinanceRewardsFactory; + } +} diff --git a/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceStakingRewards__factory.ts b/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceStakingRewards__factory.ts new file mode 100644 index 000000000..54b84ca4d --- /dev/null +++ b/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceStakingRewards__factory.ts @@ -0,0 +1,735 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from 'ethers'; +import type { Provider } from '@ethersproject/providers'; +import type { Y2KFinanceStakingRewards, Y2KFinanceStakingRewardsInterface } from '../Y2KFinanceStakingRewards'; + +const _abi = [ + { + inputs: [ + { + internalType: 'address', + name: '_owner', + type: 'address', + }, + { + internalType: 'address', + name: '_rewardsDistribution', + type: 'address', + }, + { + internalType: 'address', + name: '_rewardsToken', + type: 'address', + }, + { + internalType: 'address', + name: '_stakingToken', + type: 'address', + }, + { + internalType: 'uint256', + name: '_epochEnd', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'oldOwner', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'newOwner', + type: 'address', + }, + ], + name: 'OwnerChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'newOwner', + type: 'address', + }, + ], + name: 'OwnerNominated', + 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: 'token', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'Recovered', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'reward', + type: 'uint256', + }, + ], + name: 'RewardAdded', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'user', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'reward', + type: 'uint256', + }, + ], + name: 'RewardPaid', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'newDuration', + type: 'uint256', + }, + ], + name: 'RewardsDurationUpdated', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'user', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'Staked', + 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: 'user', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'Withdrawn', + type: 'event', + }, + { + inputs: [], + name: 'acceptOwnership', + outputs: [], + 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: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'earned', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'exit', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'getReward', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'getRewardForDuration', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'id', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'lastTimeRewardApplicable', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'lastUpdateTime', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_owner', + type: 'address', + }, + ], + name: 'nominateNewOwner', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'nominatedOwner', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'reward', + type: 'uint256', + }, + ], + name: 'notifyRewardAmount', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + { + internalType: 'address', + name: '', + type: 'address', + }, + { + internalType: 'uint256[]', + name: '', + type: 'uint256[]', + }, + { + internalType: 'uint256[]', + name: '', + type: 'uint256[]', + }, + { + internalType: 'bytes', + name: '', + type: 'bytes', + }, + ], + name: 'onERC1155BatchReceived', + outputs: [ + { + internalType: 'bytes4', + name: '', + type: 'bytes4', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + { + internalType: 'address', + name: '', + type: 'address', + }, + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + { + internalType: 'bytes', + name: '', + type: 'bytes', + }, + ], + name: 'onERC1155Received', + outputs: [ + { + internalType: 'bytes4', + name: '', + type: 'bytes4', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'owner', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'pause', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'paused', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'periodFinish', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'tokenAddress', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenAmount', + type: 'uint256', + }, + ], + name: 'recoverERC20', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'rewardPerToken', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'rewardPerTokenStored', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'rewardRate', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'rewards', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'rewardsDistribution', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'rewardsDuration', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'rewardsToken', + outputs: [ + { + internalType: 'contract ERC20', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_rewardsDistribution', + type: 'address', + }, + ], + name: 'setRewardsDistribution', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_rewardsDuration', + type: 'uint256', + }, + ], + name: 'setRewardsDuration', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'stake', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'stakingToken', + outputs: [ + { + internalType: 'contract IERC1155', + 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: 'totalSupply', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'unpause', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'userRewardPerTokenPaid', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'withdraw', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, +]; + +export class Y2KFinanceStakingRewards__factory { + static readonly abi = _abi; + static createInterface(): Y2KFinanceStakingRewardsInterface { + return new utils.Interface(_abi) as Y2KFinanceStakingRewardsInterface; + } + static connect(address: string, signerOrProvider: Signer | Provider): Y2KFinanceStakingRewards { + return new Contract(address, _abi, signerOrProvider) as Y2KFinanceStakingRewards; + } +} diff --git a/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceVaultFactoryV1__factory.ts b/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceVaultFactoryV1__factory.ts new file mode 100644 index 000000000..b00387133 --- /dev/null +++ b/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceVaultFactoryV1__factory.ts @@ -0,0 +1,633 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from 'ethers'; +import type { Provider } from '@ethersproject/providers'; +import type { Y2KFinanceVaultFactoryV1, Y2KFinanceVaultFactoryV1Interface } from '../Y2KFinanceVaultFactoryV1'; + +const _abi = [ + { + inputs: [ + { + internalType: 'address', + name: '_treasury', + type: 'address', + }, + { + internalType: 'address', + name: '_weth', + type: 'address', + }, + { + internalType: 'address', + name: '_policy', + type: 'address', + }, + ], + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + inputs: [], + name: 'AddressFactoryNotInController', + type: 'error', + }, + { + inputs: [], + name: 'AddressNotController', + type: 'error', + }, + { + inputs: [], + name: 'AddressZero', + type: 'error', + }, + { + inputs: [], + name: 'ControllerAlreadySet', + type: 'error', + }, + { + inputs: [], + name: 'ControllerNotSet', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'marketIndex', + type: 'uint256', + }, + ], + name: 'MarketDoesNotExist', + type: 'error', + }, + { + inputs: [], + name: 'NotTimeLocker', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'marketEpochId', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'uint256', + name: 'mIndex', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'startEpoch', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'endEpoch', + type: 'uint256', + }, + { + indexed: false, + internalType: 'address', + name: 'hedge', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'risk', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'token', + type: 'address', + }, + { + indexed: false, + internalType: 'string', + name: 'name', + type: 'string', + }, + { + indexed: false, + internalType: 'int256', + name: 'strikePrice', + type: 'int256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'withdrawalFee', + type: 'uint256', + }, + ], + name: 'EpochCreated', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'mIndex', + type: 'uint256', + }, + { + indexed: false, + internalType: 'address', + name: 'hedge', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'risk', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'token', + type: 'address', + }, + { + indexed: false, + internalType: 'string', + name: 'name', + type: 'string', + }, + { + indexed: false, + internalType: 'int256', + name: 'strikePrice', + type: 'int256', + }, + ], + name: 'MarketCreated', + 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: 'uint256', + name: '_marketIndex', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'controller', + type: 'address', + }, + ], + name: 'changedController', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: '_token', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: '_oracle', + type: 'address', + }, + ], + name: 'changedOracle', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: '_treasury', + type: 'address', + }, + { + indexed: true, + internalType: 'uint256', + name: '_marketIndex', + type: 'uint256', + }, + ], + name: 'changedTreasury', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: '_marketIndex', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: '_feeRate', + type: 'uint256', + }, + ], + name: 'changedVaultFee', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'newController', + type: 'address', + }, + ], + name: 'controllerSet', + type: 'event', + }, + { + inputs: [], + name: 'WETH', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_marketIndex', + type: 'uint256', + }, + { + internalType: 'address', + name: '_controller', + type: 'address', + }, + ], + name: 'changeController', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_token', + type: 'address', + }, + { + internalType: 'address', + name: '_oracle', + type: 'address', + }, + ], + name: 'changeOracle', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_treasury', + type: 'address', + }, + { + internalType: 'uint256', + name: '_marketIndex', + type: 'uint256', + }, + ], + name: 'changeTreasury', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'controller', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_withdrawalFee', + type: 'uint256', + }, + { + internalType: 'address', + name: '_token', + type: 'address', + }, + { + internalType: 'int256', + name: '_strikePrice', + type: 'int256', + }, + { + internalType: 'uint256', + name: 'epochBegin', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'epochEnd', + type: 'uint256', + }, + { + internalType: 'address', + name: '_oracle', + type: 'address', + }, + { + internalType: 'string', + name: '_name', + type: 'string', + }, + ], + name: 'createNewMarket', + outputs: [ + { + internalType: 'address', + name: 'insr', + type: 'address', + }, + { + internalType: 'address', + name: 'rsk', + type: 'address', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'index', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'epochBegin', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'epochEnd', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_withdrawalFee', + type: 'uint256', + }, + ], + name: 'deployMoreAssets', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'index', + type: 'uint256', + }, + ], + name: 'getVaults', + outputs: [ + { + internalType: 'address[]', + name: 'vaults', + type: 'address[]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'indexEpochs', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'indexVaults', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'marketIndex', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'owner', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'renounceOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_controller', + type: 'address', + }, + ], + name: 'setController', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'timelocker', + outputs: [ + { + internalType: 'contract TimeLock', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'tokenToOracle', + 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: [], + name: 'treasury', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, +]; + +export class Y2KFinanceVaultFactoryV1__factory { + static readonly abi = _abi; + static createInterface(): Y2KFinanceVaultFactoryV1Interface { + return new utils.Interface(_abi) as Y2KFinanceVaultFactoryV1Interface; + } + static connect(address: string, signerOrProvider: Signer | Provider): Y2KFinanceVaultFactoryV1 { + return new Contract(address, _abi, signerOrProvider) as Y2KFinanceVaultFactoryV1; + } +} diff --git a/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceVaultV1__factory.ts b/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceVaultV1__factory.ts new file mode 100644 index 000000000..60de2b60e --- /dev/null +++ b/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceVaultV1__factory.ts @@ -0,0 +1,1096 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from 'ethers'; +import type { Provider } from '@ethersproject/providers'; +import type { Y2KFinanceVaultV1, Y2KFinanceVaultV1Interface } from '../Y2KFinanceVaultV1'; + +const _abi = [ + { + inputs: [ + { + internalType: 'address', + name: '_assetAddress', + type: 'address', + }, + { + internalType: 'string', + name: '_name', + type: 'string', + }, + { + internalType: 'string', + name: '_symbol', + type: 'string', + }, + { + internalType: 'address', + name: '_treasury', + type: 'address', + }, + { + internalType: 'address', + name: '_token', + type: 'address', + }, + { + internalType: 'int256', + name: '_strikePrice', + type: 'int256', + }, + { + internalType: 'address', + name: '_controller', + type: 'address', + }, + ], + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + inputs: [ + { + internalType: 'address', + name: '_contract', + type: 'address', + }, + ], + name: 'AddressNotController', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: '_contract', + type: 'address', + }, + ], + name: 'AddressNotFactory', + type: 'error', + }, + { + inputs: [], + name: 'AddressZero', + type: 'error', + }, + { + inputs: [], + name: 'EpochAlreadyStarted', + type: 'error', + }, + { + inputs: [], + name: 'EpochEndMustBeAfterBegin', + type: 'error', + }, + { + inputs: [], + name: 'EpochNotFinished', + type: 'error', + }, + { + inputs: [], + name: 'FeeCannotBe0', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_fee', + type: 'uint256', + }, + ], + name: 'FeeMoreThan150', + type: 'error', + }, + { + inputs: [], + name: 'MarketEpochDoesNotExist', + type: 'error', + }, + { + inputs: [], + name: 'MarketEpochExists', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: '_sender', + type: 'address', + }, + { + internalType: 'address', + name: '_owner', + type: 'address', + }, + ], + name: 'OwnerDidNotAuthorize', + type: 'error', + }, + { + inputs: [], + name: 'ZeroValue', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + indexed: false, + internalType: 'bool', + name: 'approved', + type: 'bool', + }, + ], + name: 'ApprovalForAll', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'caller', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + indexed: true, + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + ], + name: 'Deposit', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256[]', + name: 'ids', + type: 'uint256[]', + }, + { + indexed: false, + internalType: 'uint256[]', + name: 'values', + type: 'uint256[]', + }, + ], + name: 'TransferBatch', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'value', + type: 'uint256', + }, + ], + name: 'TransferSingle', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'string', + name: 'value', + type: 'string', + }, + { + indexed: true, + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + ], + name: 'URI', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'caller', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'receiver', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + indexed: true, + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + ], + name: 'Withdraw', + type: 'event', + }, + { + inputs: [], + name: 'asset', + outputs: [ + { + internalType: 'contract ERC20', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + ], + name: 'balanceOf', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address[]', + name: 'accounts', + type: 'address[]', + }, + { + internalType: 'uint256[]', + name: 'ids', + type: 'uint256[]', + }, + ], + name: 'balanceOfBatch', + outputs: [ + { + internalType: 'uint256[]', + name: '', + type: 'uint256[]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_epoch', + type: 'uint256', + }, + ], + name: 'calculateWithdrawalFeeValue', + outputs: [ + { + internalType: 'uint256', + name: 'feeValue', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_controller', + type: 'address', + }, + ], + name: 'changeController', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_treasury', + type: 'address', + }, + ], + name: 'changeTreasury', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'controller', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'epochBegin', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'epochEnd', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_withdrawalFee', + type: 'uint256', + }, + ], + name: 'createAssets', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + ], + name: 'deposit', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + ], + name: 'depositETH', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + ], + name: 'endEpoch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'epochFee', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'epochNull', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'epochs', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'epochsLength', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + ], + name: 'exists', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'factory', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'idClaimTVL', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'idEpochBegin', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'idEpochEnded', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'idExists', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'idFinalTVL', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'account', + type: 'address', + }, + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + ], + name: 'isApprovedForAll', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'name', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + ], + name: 'previewWithdraw', + outputs: [ + { + internalType: 'uint256', + name: 'entitledAmount', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256[]', + name: 'ids', + type: 'uint256[]', + }, + { + internalType: 'uint256[]', + name: 'amounts', + type: 'uint256[]', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + name: 'safeBatchTransferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + name: 'safeTransferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + internalType: 'address', + name: '_counterparty', + type: 'address', + }, + ], + name: 'sendTokens', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'operator', + type: 'address', + }, + { + internalType: 'bool', + name: 'approved', + type: 'bool', + }, + ], + name: 'setApprovalForAll', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'claimTVL', + type: 'uint256', + }, + ], + name: 'setClaimTVL', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + ], + name: 'setEpochNull', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'strikePrice', + outputs: [ + { + internalType: 'int256', + name: '', + type: 'int256', + }, + ], + 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: 'tokenInsured', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_id', + type: 'uint256', + }, + ], + name: 'totalAssets', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + ], + name: 'totalSupply', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'treasury', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'uri', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'id', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'withdraw', + outputs: [ + { + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, +]; + +export class Y2KFinanceVaultV1__factory { + static readonly abi = _abi; + static createInterface(): Y2KFinanceVaultV1Interface { + return new utils.Interface(_abi) as Y2KFinanceVaultV1Interface; + } + static connect(address: string, signerOrProvider: Signer | Provider): Y2KFinanceVaultV1 { + return new Contract(address, _abi, signerOrProvider) as Y2KFinanceVaultV1; + } +} diff --git a/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceVotingLocked__factory.ts b/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceVotingLocked__factory.ts new file mode 100644 index 000000000..cd5ea4a4f --- /dev/null +++ b/src/apps/y2k-finance/contracts/ethers/factories/Y2KFinanceVotingLocked__factory.ts @@ -0,0 +1,1242 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from 'ethers'; +import type { Provider } from '@ethersproject/providers'; +import type { Y2KFinanceVotingLocked, Y2KFinanceVotingLockedInterface } from '../Y2KFinanceVotingLocked'; + +const _abi = [ + { + inputs: [ + { + internalType: 'address', + name: '_lockToken', + type: 'address', + }, + { + internalType: 'address', + name: '_rewardAddr1', + type: 'address', + }, + { + internalType: 'address', + name: '_rewardAddr2', + type: 'address', + }, + { + internalType: 'uint256', + name: '_maxEpochs', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_minEpochs', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + inputs: [ + { + internalType: 'address', + name: 'governanceToken', + type: 'address', + }, + ], + name: 'CannotWhitelistGovernanceToken', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'maxEpochs', + type: 'uint256', + }, + ], + name: 'EpochMaxReached', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'epochStart', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'now', + type: 'uint256', + }, + ], + name: 'EpochStartInvalid', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'balance', + type: 'uint256', + }, + ], + name: 'FundsInLockPeriod', + type: 'error', + }, + { + inputs: [], + name: 'IncreaseLockEpochsNotGTZero', + type: 'error', + }, + { + inputs: [], + name: 'InsufficientAmount', + type: 'error', + }, + { + inputs: [], + name: 'InsufficientBalance', + type: 'error', + }, + { + inputs: [ + { + internalType: 'address', + name: 'token', + type: 'address', + }, + { + internalType: 'uint256', + name: 'available', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'rewardAmount', + type: 'uint256', + }, + ], + name: 'InsufficientFundsForRewards', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'maxEpochs', + type: 'uint256', + }, + ], + name: 'LockEpochsMax', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'minEpochs', + type: 'uint256', + }, + ], + name: 'LockEpochsMin', + type: 'error', + }, + { + inputs: [], + name: 'NotWhitelisted', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'token', + type: 'address', + }, + { + indexed: false, + internalType: 'bool', + name: 'tokenState', + type: 'bool', + }, + ], + name: 'ChangeERC20Whiltelist', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'currentTime', + type: 'uint256', + }, + { + indexed: false, + internalType: 'bool', + name: 'flag', + type: 'bool', + }, + ], + name: 'ChangeEnforceTime', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'currentTime', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'oldEpochs', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'newEpochs', + type: 'uint256', + }, + ], + name: 'ChangeMaxLockEpochs', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'user', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'lockedEpochs', + type: 'uint256', + }, + ], + name: 'Deposit', + 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: false, + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'Paused', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'token', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'RecoveredERC20', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'token', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'RecoveredERC721', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'user', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'totalBalance', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'lockedEpochs', + type: 'uint256', + }, + ], + name: 'Relock', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'user', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'token', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'reward', + type: 'uint256', + }, + ], + name: 'RewardPaid', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'epochId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'reward1', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'reward2', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'start', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'finish', + type: 'uint256', + }, + ], + name: 'SetNextReward', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'Unpaused', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'currentId', + type: 'uint256', + }, + ], + name: 'UpdatedEpoch', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'user', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'Withdrawn', + type: 'event', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'accounts', + outputs: [ + { + internalType: 'uint256', + name: 'balance', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'lockEpochs', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'lastEpochPaid', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'rewards1', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'rewards2', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'balanceOf', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + internalType: 'uint256', + name: 'epochId', + type: 'uint256', + }, + ], + name: 'balanceOfInEpoch', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bool', + name: 'flag', + type: 'bool', + }, + ], + name: 'changeEnforceTime', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_maxEpochs', + type: 'uint256', + }, + ], + name: 'changeMaxEpochs', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'tokenAddress', + type: 'address', + }, + { + internalType: 'bool', + name: 'flag', + type: 'bool', + }, + ], + name: 'changeRecoverWhitelist', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'claimReward', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'currentEpoch', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'lockEpochs', + type: 'uint256', + }, + ], + name: 'deposit', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'enforceTime', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'epochs', + outputs: [ + { + internalType: 'uint256', + name: 'start', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'finish', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'totalLocked', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'rewards1', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'rewards2', + type: 'uint256', + }, + { + internalType: 'bool', + name: 'isSet', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'exit', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'getAccount', + outputs: [ + { + internalType: 'uint256', + name: 'balance', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'lockEpochs', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'lastEpochPaid', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'rewards1', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'rewards2', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getCurrentEpoch', + outputs: [ + { + internalType: 'uint256', + name: 'start', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'finish', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'locked', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'rewards1', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'rewards2', + type: 'uint256', + }, + { + internalType: 'bool', + name: 'isSet', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'epochId', + type: 'uint256', + }, + ], + name: 'getEpoch', + outputs: [ + { + internalType: 'uint256', + name: 'start', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'finish', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'locked', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'rewards1', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'rewards2', + type: 'uint256', + }, + { + internalType: 'bool', + name: 'isSet', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + internalType: 'uint256', + name: 'epochId', + type: 'uint256', + }, + ], + name: 'getEpochAccountInfo', + outputs: [ + { + internalType: 'uint256', + name: 'balance', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'start', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'finish', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'locked', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'userRewards1', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'userRewards2', + type: 'uint256', + }, + { + internalType: 'bool', + name: 'isSet', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getNextEpoch', + outputs: [ + { + internalType: 'uint256', + name: 'start', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'finish', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'locked', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'rewards1', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'rewards2', + type: 'uint256', + }, + { + internalType: 'bool', + name: 'isSet', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'lockToken', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'maxEpochs', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'minEpochs', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'nextUnsetEpoch', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'owner', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'pause', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'paused', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'tokenAddress', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenAmount', + type: 'uint256', + }, + ], + name: 'recoverERC20', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'tokenAddress', + type: 'address', + }, + { + internalType: 'uint256', + name: 'tokenId', + type: 'uint256', + }, + ], + name: 'recoverERC721', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'renounceOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'rewardToken', + outputs: [ + { + internalType: 'address', + name: 'addr', + type: 'address', + }, + { + internalType: 'uint256', + name: 'rewards', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'rewardsPaid', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'reward1', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'reward2', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'epochDurationInDays', + type: 'uint256', + }, + ], + name: 'setNextEpoch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'reward1', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'reward2', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'epochDurationInDays', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'epochStart', + type: 'uint256', + }, + ], + name: 'setNextEpoch_start', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'totalAssets', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'totalLocked', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'newOwner', + type: 'address', + }, + ], + name: 'transferOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'unpause', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'updateAccount', + outputs: [ + { + internalType: 'uint256', + name: 'balance', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'lockEpochs', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'lastEpochPaid', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'rewards1', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'rewards2', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'updateEpochs', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'whitelistRecoverERC20', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'withdraw', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, +]; + +export class Y2KFinanceVotingLocked__factory { + static readonly abi = _abi; + static createInterface(): Y2KFinanceVotingLockedInterface { + return new utils.Interface(_abi) as Y2KFinanceVotingLockedInterface; + } + static connect(address: string, signerOrProvider: Signer | Provider): Y2KFinanceVotingLocked { + return new Contract(address, _abi, signerOrProvider) as Y2KFinanceVotingLocked; + } +} diff --git a/src/apps/y2k-finance/contracts/ethers/factories/index.ts b/src/apps/y2k-finance/contracts/ethers/factories/index.ts new file mode 100644 index 000000000..bb90e8d05 --- /dev/null +++ b/src/apps/y2k-finance/contracts/ethers/factories/index.ts @@ -0,0 +1,10 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { Y2KFinanceCarousel__factory } from './Y2KFinanceCarousel__factory'; +export { Y2KFinanceCarouselFactory__factory } from './Y2KFinanceCarouselFactory__factory'; +export { Y2KFinanceRewardsFactory__factory } from './Y2KFinanceRewardsFactory__factory'; +export { Y2KFinanceStakingRewards__factory } from './Y2KFinanceStakingRewards__factory'; +export { Y2KFinanceVaultFactoryV1__factory } from './Y2KFinanceVaultFactoryV1__factory'; +export { Y2KFinanceVaultV1__factory } from './Y2KFinanceVaultV1__factory'; +export { Y2KFinanceVotingLocked__factory } from './Y2KFinanceVotingLocked__factory'; diff --git a/src/apps/y2k-finance/contracts/ethers/index.ts b/src/apps/y2k-finance/contracts/ethers/index.ts new file mode 100644 index 000000000..33ed30aed --- /dev/null +++ b/src/apps/y2k-finance/contracts/ethers/index.ts @@ -0,0 +1,18 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { Y2KFinanceCarousel } from './Y2KFinanceCarousel'; +export type { Y2KFinanceCarouselFactory } from './Y2KFinanceCarouselFactory'; +export type { Y2KFinanceRewardsFactory } from './Y2KFinanceRewardsFactory'; +export type { Y2KFinanceStakingRewards } from './Y2KFinanceStakingRewards'; +export type { Y2KFinanceVaultFactoryV1 } from './Y2KFinanceVaultFactoryV1'; +export type { Y2KFinanceVaultV1 } from './Y2KFinanceVaultV1'; +export type { Y2KFinanceVotingLocked } from './Y2KFinanceVotingLocked'; +export * as factories from './factories'; +export { Y2KFinanceCarouselFactory__factory } from './factories/Y2KFinanceCarouselFactory__factory'; +export { Y2KFinanceCarousel__factory } from './factories/Y2KFinanceCarousel__factory'; +export { Y2KFinanceRewardsFactory__factory } from './factories/Y2KFinanceRewardsFactory__factory'; +export { Y2KFinanceStakingRewards__factory } from './factories/Y2KFinanceStakingRewards__factory'; +export { Y2KFinanceVaultFactoryV1__factory } from './factories/Y2KFinanceVaultFactoryV1__factory'; +export { Y2KFinanceVaultV1__factory } from './factories/Y2KFinanceVaultV1__factory'; +export { Y2KFinanceVotingLocked__factory } from './factories/Y2KFinanceVotingLocked__factory'; diff --git a/src/apps/y2k-finance/contracts/index.ts b/src/apps/y2k-finance/contracts/index.ts new file mode 100644 index 000000000..47489a6c4 --- /dev/null +++ b/src/apps/y2k-finance/contracts/index.ts @@ -0,0 +1,55 @@ +import { Injectable, Inject } from '@nestjs/common'; + +import { IAppToolkit, APP_TOOLKIT } from '~app-toolkit/app-toolkit.interface'; +import { ContractFactory } from '~contract/contracts'; +import { Network } from '~types/network.interface'; + +import { + Y2KFinanceCarousel__factory, + Y2KFinanceCarouselFactory__factory, + Y2KFinanceRewardsFactory__factory, + Y2KFinanceStakingRewards__factory, + Y2KFinanceVaultFactoryV1__factory, + Y2KFinanceVaultV1__factory, + Y2KFinanceVotingLocked__factory, +} from './ethers'; + +// eslint-disable-next-line +type ContractOpts = { address: string; network: Network }; + +@Injectable() +export class Y2KFinanceContractFactory extends ContractFactory { + constructor(@Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit) { + super((network: Network) => appToolkit.getNetworkProvider(network)); + } + + y2KFinanceCarousel({ address, network }: ContractOpts) { + return Y2KFinanceCarousel__factory.connect(address, this.appToolkit.getNetworkProvider(network)); + } + y2KFinanceCarouselFactory({ address, network }: ContractOpts) { + return Y2KFinanceCarouselFactory__factory.connect(address, this.appToolkit.getNetworkProvider(network)); + } + y2KFinanceRewardsFactory({ address, network }: ContractOpts) { + return Y2KFinanceRewardsFactory__factory.connect(address, this.appToolkit.getNetworkProvider(network)); + } + y2KFinanceStakingRewards({ address, network }: ContractOpts) { + return Y2KFinanceStakingRewards__factory.connect(address, this.appToolkit.getNetworkProvider(network)); + } + y2KFinanceVaultFactoryV1({ address, network }: ContractOpts) { + return Y2KFinanceVaultFactoryV1__factory.connect(address, this.appToolkit.getNetworkProvider(network)); + } + y2KFinanceVaultV1({ address, network }: ContractOpts) { + return Y2KFinanceVaultV1__factory.connect(address, this.appToolkit.getNetworkProvider(network)); + } + y2KFinanceVotingLocked({ address, network }: ContractOpts) { + return Y2KFinanceVotingLocked__factory.connect(address, this.appToolkit.getNetworkProvider(network)); + } +} + +export type { Y2KFinanceCarousel } from './ethers'; +export type { Y2KFinanceCarouselFactory } from './ethers'; +export type { Y2KFinanceRewardsFactory } from './ethers'; +export type { Y2KFinanceStakingRewards } from './ethers'; +export type { Y2KFinanceVaultFactoryV1 } from './ethers'; +export type { Y2KFinanceVaultV1 } from './ethers'; +export type { Y2KFinanceVotingLocked } from './ethers'; diff --git a/src/apps/y2k-finance/y2k-finance.module.ts b/src/apps/y2k-finance/y2k-finance.module.ts new file mode 100644 index 000000000..b8f117b05 --- /dev/null +++ b/src/apps/y2k-finance/y2k-finance.module.ts @@ -0,0 +1,21 @@ +import { Module } from '@nestjs/common'; + +import { AbstractApp } from '~app/app.dynamic-module'; + +import { ArbitrumY2KFinanceFarmV1ContractPositionFetcher } from './arbitrum/y2k-finance.farm-v1.contract-position-fetcher'; +import { ArbitrumY2KFinanceMintV1ContractPositionFetcher } from './arbitrum/y2k-finance.mint-v1.contract-position-fetcher'; +import { ArbitrumY2KFinanceMintV2ContractPositionFetcher } from './arbitrum/y2k-finance.mint-v2.contract-position-fetcher'; +import { ArbitrumY2KFinanceVotingLockedContractPositionFetcher } from './arbitrum/y2k-finance.voting-locked.contract-position-fetcher'; +import { Y2KFinanceContractFactory } from './contracts'; + +@Module({ + providers: [ + Y2KFinanceContractFactory, + // Arbitrum + ArbitrumY2KFinanceFarmV1ContractPositionFetcher, + ArbitrumY2KFinanceMintV1ContractPositionFetcher, + ArbitrumY2KFinanceMintV2ContractPositionFetcher, + ArbitrumY2KFinanceVotingLockedContractPositionFetcher, + ], +}) +export class Y2KFinanceAppModule extends AbstractApp() {}