From 0706febc5eac5cce53da8813a720e2518932e52f Mon Sep 17 00:00:00 2001 From: 0xmDreamy <124707942+0xmDreamy@users.noreply.github.com> Date: Tue, 21 Feb 2023 23:00:06 +0100 Subject: [PATCH] feat(abracadabra): Add support for magicAPE (#2341) * feat: Add abstract Erc4626VaultTemplateTokenFetcher * feat(abracadabra): Add support for magicAPE * feat(abracadabra): Add support for magicAPE cauldron * refactor: Use Erc4627VaultTemplateTokenFetcher for magicGLP --------- Co-authored-by: William Poulin --- src/apps/abracadabra/abracadabra.module.ts | 2 + .../abracadabra.arbitrum.constants.ts | 1 - .../abracadabra.magic-glp.token-fetcher.ts | 67 +- ...abra.cauldron.contract-position-fetcher.ts | 1 + .../abracadabra.magic-ape.token-fetcher.ts | 14 + src/contract/contracts/abis/erc-4626.json | 460 +++++++++++ src/contract/contracts/ethers/Erc1155.ts | 748 ++++++++++-------- src/contract/contracts/ethers/Erc20.ts | 184 +++-- src/contract/contracts/ethers/Erc4626.ts | 736 +++++++++++++++++ src/contract/contracts/ethers/Erc721.ts | 748 ++++++++++-------- src/contract/contracts/ethers/Multicall.ts | 62 +- src/contract/contracts/ethers/common.ts | 2 + .../ethers/factories/Erc4626__factory.ts | 583 ++++++++++++++ .../contracts/ethers/factories/index.ts | 1 + src/contract/contracts/ethers/index.ts | 2 + src/contract/contracts/index.ts | 16 +- .../erc4626-vault.template.token-fetcher.ts | 41 + 17 files changed, 2871 insertions(+), 797 deletions(-) create mode 100644 src/apps/abracadabra/ethereum/abracadabra.magic-ape.token-fetcher.ts create mode 100644 src/contract/contracts/abis/erc-4626.json create mode 100644 src/contract/contracts/ethers/Erc4626.ts create mode 100644 src/contract/contracts/ethers/factories/Erc4626__factory.ts create mode 100644 src/position/template/erc4626-vault.template.token-fetcher.ts diff --git a/src/apps/abracadabra/abracadabra.module.ts b/src/apps/abracadabra/abracadabra.module.ts index 05248b815..48c05be07 100644 --- a/src/apps/abracadabra/abracadabra.module.ts +++ b/src/apps/abracadabra/abracadabra.module.ts @@ -16,6 +16,7 @@ import { AbracadabraContractFactory } from './contracts'; import { EthereumAbracadabraCauldronContractPositionFetcher } from './ethereum/abracadabra.cauldron.contract-position-fetcher'; import { EthereumAbracadabraFarmContractPositionFetcher } from './ethereum/abracadabra.farm.contract-position-fetcher'; import { EthereumAbracadabraMspellContractPositionFetcher } from './ethereum/abracadabra.m-spell.contract-position-fetcher'; +import { EthereumAbracadabraMagicApeTokenFetcher } from './ethereum/abracadabra.magic-ape.token-fetcher'; import { EthereumAbracadabraStakedSpellTokenFetcher } from './ethereum/abracadabra.staked-spell.token-fetcher'; import { FantomAbracadabraCauldronContractPositionFetcher } from './fantom/abracadabra.cauldron.contract-position-fetcher'; import { FantomAbracadabraFarmContractPositionFetcher } from './fantom/abracadabra.farm.contract-position-fetcher'; @@ -37,6 +38,7 @@ import { FantomAbracadabraStakedSpellTokenFetcher } from './fantom/abracadabra.s BinanceSmartChainAbracadabraCauldronContractPositionFetcher, EthereumAbracadabraCauldronContractPositionFetcher, EthereumAbracadabraFarmContractPositionFetcher, + EthereumAbracadabraMagicApeTokenFetcher, EthereumAbracadabraMspellContractPositionFetcher, EthereumAbracadabraStakedSpellTokenFetcher, FantomAbracadabraCauldronContractPositionFetcher, diff --git a/src/apps/abracadabra/arbitrum/abracadabra.arbitrum.constants.ts b/src/apps/abracadabra/arbitrum/abracadabra.arbitrum.constants.ts index 3f076879a..a770e25e3 100644 --- a/src/apps/abracadabra/arbitrum/abracadabra.arbitrum.constants.ts +++ b/src/apps/abracadabra/arbitrum/abracadabra.arbitrum.constants.ts @@ -11,4 +11,3 @@ export const S_SPELL_ADDRESS = '0xf7428ffcb2581a2804998efbb036a43255c8a8d3'; export const SPELL_ADDRESS = '0xf7428ffcb2581a2804998efbb036a43255c8a8d3'; export const MAGIC_GLP_ADDRESS = '0x85667409a723684fe1e57dd1abde8d88c2f54214'; -export const S_GLP_ADDRESS = '0x5402b5f40310bded796c7d0f3ff6683f5c0cffdf'; diff --git a/src/apps/abracadabra/arbitrum/abracadabra.magic-glp.token-fetcher.ts b/src/apps/abracadabra/arbitrum/abracadabra.magic-glp.token-fetcher.ts index 8fb196bd2..9e6bd935f 100644 --- a/src/apps/abracadabra/arbitrum/abracadabra.magic-glp.token-fetcher.ts +++ b/src/apps/abracadabra/arbitrum/abracadabra.magic-glp.token-fetcher.ts @@ -1,45 +1,17 @@ -import { Inject } from '@nestjs/common'; -import { ethers } from 'ethers'; - -import { APP_TOOLKIT, IAppToolkit } from '~app-toolkit/app-toolkit.interface'; import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; import { Erc20 } from '~contract/contracts'; -import { AppTokenTemplatePositionFetcher } from '~position/template/app-token.template.position-fetcher'; -import { - GetAddressesParams, - DefaultAppTokenDefinition, - GetUnderlyingTokensParams, - UnderlyingTokenDefinition, - GetPricePerShareParams, - DefaultAppTokenDataProps, -} from '~position/template/app-token.template.types'; - -import { AbracadabraContractFactory } from '../contracts'; +import { GetDisplayPropsParams, UnderlyingTokenDefinition } from '~position/template/app-token.template.types'; +import { Erc4626VaultTemplateTokenFetcher } from '~position/template/erc4626-vault.template.token-fetcher'; -import { MAGIC_GLP_ADDRESS, S_GLP_ADDRESS } from './abracadabra.arbitrum.constants'; +import { MAGIC_GLP_ADDRESS } from './abracadabra.arbitrum.constants'; @PositionTemplate() -export class ArbitrumAbracadabraMagicGlpTokenFetcher extends AppTokenTemplatePositionFetcher { +export class ArbitrumAbracadabraMagicGlpTokenFetcher extends Erc4626VaultTemplateTokenFetcher { groupLabel = 'Magic GLP'; + vaultAddress = MAGIC_GLP_ADDRESS; - constructor( - @Inject(APP_TOOLKIT) public readonly appToolkit: IAppToolkit, - @Inject(AbracadabraContractFactory) private readonly abracadabraContractFactory: AbracadabraContractFactory, - ) { - super(appToolkit); - } - - getContract(_address: string): Erc20 { - return this.abracadabraContractFactory.erc20({ address: _address, network: this.network }); - } - - async getAddresses(_params: GetAddressesParams): Promise { - return [MAGIC_GLP_ADDRESS]; - } - - async getUnderlyingTokenDefinitions( - _params: GetUnderlyingTokensParams, - ): Promise { + // Override as the underlying is sGLP, but users expect to see GLP + async getUnderlyingTokenDefinitions(): Promise { const glpTokenDefinitions = await this.appToolkit.getAppTokenPositionsFromDatabase({ appId: 'gmx', groupIds: ['glp'], @@ -51,28 +23,7 @@ export class ArbitrumAbracadabraMagicGlpTokenFetcher extends AppTokenTemplatePos return [{ address: glpUnderlying.address, network: this.network }]; } - async getPricePerShare({ - contract, - appToken, - }: GetPricePerShareParams): Promise { - const glpContract = this.abracadabraContractFactory.erc20({ - address: S_GLP_ADDRESS, - network: this.network, - }); - const [totalSupply, balanceOf] = await Promise.all([ - contract.totalSupply(), - glpContract.balanceOf(appToken.address), - ]); - - const glpDecimals = await glpContract.decimals(); - const pricePerShare = - parseFloat(ethers.utils.formatUnits(balanceOf, glpDecimals)) / - parseFloat(ethers.utils.formatUnits(totalSupply, glpDecimals)); - - return [pricePerShare]; - } - - async getLabel(): Promise { - return 'magicGLP'; + async getLabel({ contract }: GetDisplayPropsParams): Promise { + return contract.name(); } } diff --git a/src/apps/abracadabra/ethereum/abracadabra.cauldron.contract-position-fetcher.ts b/src/apps/abracadabra/ethereum/abracadabra.cauldron.contract-position-fetcher.ts index ec88a9164..69118faca 100644 --- a/src/apps/abracadabra/ethereum/abracadabra.cauldron.contract-position-fetcher.ts +++ b/src/apps/abracadabra/ethereum/abracadabra.cauldron.contract-position-fetcher.ts @@ -44,5 +44,6 @@ export class EthereumAbracadabraCauldronContractPositionFetcher extends Abracada '0x85f60D3ea4E86Af43c9D4E9CC9095281fC25c405', // Migrated WBTC '0x7259e152103756e1616A77Ae982353c3751A6a90', // yvCrv3Crypto '0x1062eB452f8C7A94276437ec1F4aAca9b1495B72', // Stargate USDT (POF) + '0x692887E8877C6Dd31593cda44c382DB5b289B684', // magicAPE ]; } diff --git a/src/apps/abracadabra/ethereum/abracadabra.magic-ape.token-fetcher.ts b/src/apps/abracadabra/ethereum/abracadabra.magic-ape.token-fetcher.ts new file mode 100644 index 000000000..9f8ff77b5 --- /dev/null +++ b/src/apps/abracadabra/ethereum/abracadabra.magic-ape.token-fetcher.ts @@ -0,0 +1,14 @@ +import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; +import { Erc20 } from '~contract/contracts'; +import { GetDisplayPropsParams } from '~position/template/app-token.template.types'; +import { Erc4626VaultTemplateTokenFetcher } from '~position/template/erc4626-vault.template.token-fetcher'; + +@PositionTemplate() +export class EthereumAbracadabraMagicApeTokenFetcher extends Erc4626VaultTemplateTokenFetcher { + groupLabel = 'Magic APE'; + vaultAddress = '0xf35b31B941D94B249EaDED041DB1b05b7097fEb6'; + + async getLabel({ contract }: GetDisplayPropsParams): Promise { + return contract.name(); + } +} diff --git a/src/contract/contracts/abis/erc-4626.json b/src/contract/contracts/abis/erc-4626.json new file mode 100644 index 000000000..733c6acf3 --- /dev/null +++ b/src/contract/contracts/abis/erc-4626.json @@ -0,0 +1,460 @@ +[ + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [{ "name": "", "type": "string" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { "name": "_spender", "type": "address" }, + { "name": "_value", "type": "uint256" } + ], + "name": "approve", + "outputs": [{ "name": "", "type": "bool" }], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [{ "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { "name": "_from", "type": "address" }, + { "name": "_to", "type": "address" }, + { "name": "_value", "type": "uint256" } + ], + "name": "transferFrom", + "outputs": [{ "name": "", "type": "bool" }], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [{ "name": "", "type": "uint8" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [{ "name": "_owner", "type": "address" }], + "name": "balanceOf", + "outputs": [{ "name": "balance", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [{ "name": "", "type": "string" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { "name": "_to", "type": "address" }, + { "name": "_value", "type": "uint256" } + ], + "name": "transfer", + "outputs": [{ "name": "", "type": "bool" }], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { "name": "_owner", "type": "address" }, + { "name": "_spender", "type": "address" } + ], + "name": "allowance", + "outputs": [{ "name": "", "type": "uint256" }], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { "payable": true, "stateMutability": "payable", "type": "fallback" }, + { + "anonymous": false, + "inputs": [ + { "indexed": true, "name": "owner", "type": "address" }, + { "indexed": true, "name": "spender", "type": "address" }, + { "indexed": false, "name": "value", "type": "uint256" } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { "indexed": true, "name": "from", "type": "address" }, + { "indexed": true, "name": "to", "type": "address" }, + { "indexed": false, "name": "value", "type": "uint256" } + ], + "name": "Transfer", + "type": "event" + }, + { + "name": "asset", + "type": "function", + "stateMutability": "view", + "inputs": [], + "outputs": [ + { + "name": "assetTokenAddress", + "type": "address" + } + ] + }, + { + "name": "totalAssets", + "type": "function", + "stateMutability": "view", + "inputs": [], + "outputs": [ + { + "name": "totalManagedAssets", + "type": "uint256" + } + ] + }, + { + "name": "convertToShares", + "type": "function", + "stateMutability": "view", + "inputs": [ + { + "name": "assets", + "type": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256" + } + ] + }, + { + "name": "convertToAssets", + "type": "function", + "stateMutability": "view", + "inputs": [ + { + "name": "shares", + "type": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256" + } + ] + }, + { + "name": "maxDeposit", + "type": "function", + "stateMutability": "view", + "inputs": [ + { + "name": "receiver", + "type": "address" + } + ], + "outputs": [ + { + "name": "maxAssets", + "type": "uint256" + } + ] + }, + { + "name": "previewDeposit", + "type": "function", + "stateMutability": "view", + "inputs": [ + { + "name": "assets", + "type": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256" + } + ] + }, + { + "name": "deposit", + "type": "function", + "stateMutability": "nonpayable", + "inputs": [ + { + "name": "assets", + "type": "uint256" + }, + { + "name": "receiver", + "type": "address" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256" + } + ] + }, + { + "name": "maxMint", + "type": "function", + "stateMutability": "view", + "inputs": [ + { + "name": "receiver", + "type": "address" + } + ], + "outputs": [ + { + "name": "maxShares", + "type": "uint256" + } + ] + }, + { + "name": "previewMint", + "type": "function", + "stateMutability": "view", + "inputs": [ + { + "name": "shares", + "type": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256" + } + ] + }, + { + "name": "mint", + "type": "function", + "stateMutability": "nonpayable", + "inputs": [ + { + "name": "shares", + "type": "uint256" + }, + { + "name": "receiver", + "type": "address" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256" + } + ] + }, + { + "name": "maxWithdraw", + "type": "function", + "stateMutability": "view", + "inputs": [ + { + "name": "owner", + "type": "address" + } + ], + "outputs": [ + { + "name": "maxAssets", + "type": "uint256" + } + ] + }, + { + "name": "previewWithdraw", + "type": "function", + "stateMutability": "view", + "inputs": [ + { + "name": "assets", + "type": "uint256" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256" + } + ] + }, + { + "name": "withdraw", + "type": "function", + "stateMutability": "nonpayable", + "inputs": [ + { + "name": "assets", + "type": "uint256" + }, + { + "name": "receiver", + "type": "address" + }, + { + "name": "owner", + "type": "address" + } + ], + "outputs": [ + { + "name": "shares", + "type": "uint256" + } + ] + }, + { + "name": "maxRedeem", + "type": "function", + "stateMutability": "view", + "inputs": [ + { + "name": "owner", + "type": "address" + } + ], + "outputs": [ + { + "name": "maxShares", + "type": "uint256" + } + ] + }, + { + "name": "previewRedeem", + "type": "function", + "stateMutability": "view", + "inputs": [ + { + "name": "shares", + "type": "uint256" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256" + } + ] + }, + { + "name": "redeem", + "type": "function", + "stateMutability": "nonpayable", + "inputs": [ + { + "name": "shares", + "type": "uint256" + }, + { + "name": "receiver", + "type": "address" + }, + { + "name": "owner", + "type": "address" + } + ], + "outputs": [ + { + "name": "assets", + "type": "uint256" + } + ] + }, + { + "name": "Deposit", + "type": "event", + "inputs": [ + { + "name": "_caller", + "indexed": true, + "type": "address" + }, + { + "name": "owner", + "indexed": true, + "type": "address" + }, + { + "name": "assets", + "indexed": false, + "type": "uint256" + }, + { + "name": "shares", + "indexed": false, + "type": "uint256" + } + ] + }, + { + "name": "Withdraw", + "type": "event", + "inputs": [ + { + "name": "_caller", + "indexed": true, + "type": "address" + }, + { + "name": "receiver", + "indexed": true, + "type": "address" + }, + { + "name": "owner", + "indexed": true, + "type": "address" + }, + { + "name": "assets", + "indexed": false, + "type": "uint256" + }, + { + "name": "shares", + "indexed": false, + "type": "uint256" + } + ] + } +] diff --git a/src/contract/contracts/ethers/Erc1155.ts b/src/contract/contracts/ethers/Erc1155.ts index ffec19e41..158ecbde1 100644 --- a/src/contract/contracts/ethers/Erc1155.ts +++ b/src/contract/contracts/ethers/Erc1155.ts @@ -16,7 +16,7 @@ import type { } from 'ethers'; import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi'; import type { Listener, Provider } from '@ethersproject/providers'; -import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from './common'; +import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common'; export interface Erc1155Interface extends utils.Interface { functions: { @@ -119,57 +119,78 @@ export interface Erc1155Interface extends utils.Interface { ): FunctionFragment; encodeFunctionData(functionFragment: 'MAX_MINTS_PER_TXN', values?: undefined): string; - encodeFunctionData(functionFragment: 'approve', values: [string, BigNumberish]): string; - encodeFunctionData(functionFragment: 'balanceOf', values: [string]): string; + encodeFunctionData( + functionFragment: 'approve', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'balanceOf', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'baseURI', values?: undefined): string; - encodeFunctionData(functionFragment: 'burn', values: [BigNumberish]): string; + encodeFunctionData(functionFragment: 'burn', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'emergencySetStartingIndexBlock', values?: undefined): string; encodeFunctionData(functionFragment: 'flipPreSaleState', values?: undefined): string; encodeFunctionData(functionFragment: 'flipSaleState', values?: undefined): string; - encodeFunctionData(functionFragment: 'getApproved', values: [BigNumberish]): string; - encodeFunctionData(functionFragment: 'isApprovedForAll', values: [string, string]): string; + encodeFunctionData(functionFragment: 'getApproved', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'isApprovedForAll', + values: [PromiseOrValue, PromiseOrValue], + ): string; encodeFunctionData(functionFragment: 'maxTokenSupply', values?: undefined): string; encodeFunctionData(functionFragment: 'maxTokensPerTicket', values?: undefined): string; encodeFunctionData(functionFragment: 'mintPrice', values?: undefined): string; - encodeFunctionData(functionFragment: 'mintTOR', values: [BigNumberish]): string; - encodeFunctionData(functionFragment: 'mintUsingTicket', values: [BigNumberish]): string; + encodeFunctionData(functionFragment: 'mintTOR', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'mintUsingTicket', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'name', values?: undefined): string; encodeFunctionData(functionFragment: 'owner', values?: undefined): string; - encodeFunctionData(functionFragment: 'ownerOf', values: [BigNumberish]): string; + encodeFunctionData(functionFragment: 'ownerOf', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'preSaleIsActive', values?: undefined): string; encodeFunctionData(functionFragment: 'provenance', values?: undefined): string; encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string; - encodeFunctionData(functionFragment: 'reserveMint(uint256)', values: [BigNumberish]): string; - encodeFunctionData(functionFragment: 'reserveMint(uint256,address)', values: [BigNumberish, string]): string; + encodeFunctionData(functionFragment: 'reserveMint(uint256)', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'reserveMint(uint256,address)', + values: [PromiseOrValue, PromiseOrValue], + ): string; encodeFunctionData( functionFragment: 'safeTransferFrom(address,address,uint256)', - values: [string, string, BigNumberish], + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue], ): string; encodeFunctionData( functionFragment: 'safeTransferFrom(address,address,uint256,bytes)', - values: [string, string, BigNumberish, BytesLike], + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue], ): string; encodeFunctionData(functionFragment: 'saleIsActive', values?: undefined): string; - encodeFunctionData(functionFragment: 'setApprovalForAll', values: [string, boolean]): string; - encodeFunctionData(functionFragment: 'setBaseURI', values: [string]): string; - encodeFunctionData(functionFragment: 'setMaxTokenSupply', values: [BigNumberish]): string; - encodeFunctionData(functionFragment: 'setMaxTokensPerTicket', values: [BigNumberish]): string; - encodeFunctionData(functionFragment: 'setMintPrice', values: [BigNumberish]): string; - encodeFunctionData(functionFragment: 'setProvenanceHash', values: [string]): string; + encodeFunctionData( + functionFragment: 'setApprovalForAll', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'setBaseURI', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'setMaxTokenSupply', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'setMaxTokensPerTicket', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'setMintPrice', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'setProvenanceHash', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'setStartingIndex', values?: undefined): string; - encodeFunctionData(functionFragment: 'setTicketContractAddress', values: [string]): string; + encodeFunctionData(functionFragment: 'setTicketContractAddress', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'startingIndex', values?: undefined): string; encodeFunctionData(functionFragment: 'startingIndexBlock', values?: undefined): string; - encodeFunctionData(functionFragment: 'supportsInterface', values: [BytesLike]): string; + encodeFunctionData(functionFragment: 'supportsInterface', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'symbol', values?: undefined): string; - encodeFunctionData(functionFragment: 'tokenByIndex', values: [BigNumberish]): string; - encodeFunctionData(functionFragment: 'tokenOfOwnerByIndex', values: [string, BigNumberish]): string; - encodeFunctionData(functionFragment: 'tokenURI', values: [BigNumberish]): string; + encodeFunctionData(functionFragment: 'tokenByIndex', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'tokenOfOwnerByIndex', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'tokenURI', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'totalSupply', values?: undefined): string; - encodeFunctionData(functionFragment: 'transferFrom', values: [string, string, BigNumberish]): string; - encodeFunctionData(functionFragment: 'transferOwnership', values: [string]): string; - encodeFunctionData(functionFragment: 'withdraw', values: [BigNumberish]): string; - encodeFunctionData(functionFragment: 'withdrawForGiveaway', values: [BigNumberish, string]): string; + encodeFunctionData( + functionFragment: 'transferFrom', + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'withdraw', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'withdrawForGiveaway', + values: [PromiseOrValue, PromiseOrValue], + ): string; decodeFunctionResult(functionFragment: 'MAX_MINTS_PER_TXN', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'approve', data: BytesLike): Result; @@ -302,31 +323,35 @@ export interface Erc1155 extends BaseContract { MAX_MINTS_PER_TXN(overrides?: CallOverrides): Promise<[BigNumber]>; approve( - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - balanceOf(owner: string, overrides?: CallOverrides): Promise<[BigNumber]>; + balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; baseURI(overrides?: CallOverrides): Promise<[string]>; burn( - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; emergencySetStartingIndexBlock( - overrides?: Overrides & { from?: string | Promise }, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - flipPreSaleState(overrides?: Overrides & { from?: string | Promise }): Promise; + flipPreSaleState(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - flipSaleState(overrides?: Overrides & { from?: string | Promise }): Promise; + flipSaleState(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - getApproved(tokenId: BigNumberish, overrides?: CallOverrides): Promise<[string]>; + getApproved(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; - isApprovedForAll(owner: string, operator: string, overrides?: CallOverrides): Promise<[boolean]>; + isApprovedForAll( + owner: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[boolean]>; maxTokenSupply(overrides?: CallOverrides): Promise<[BigNumber]>; @@ -335,161 +360,169 @@ export interface Erc1155 extends BaseContract { mintPrice(overrides?: CallOverrides): Promise<[BigNumber]>; mintTOR( - numberOfTokens: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise }, + numberOfTokens: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise; mintUsingTicket( - numberOfTokens: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise }, + numberOfTokens: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise; name(overrides?: CallOverrides): Promise<[string]>; owner(overrides?: CallOverrides): Promise<[string]>; - ownerOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise<[string]>; + ownerOf(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; preSaleIsActive(overrides?: CallOverrides): Promise<[boolean]>; provenance(overrides?: CallOverrides): Promise<[string]>; - renounceOwnership(overrides?: Overrides & { from?: string | Promise }): Promise; + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; 'reserveMint(uint256)'( - reservedAmount: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + reservedAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'reserveMint(uint256,address)'( - reservedAmount: BigNumberish, - mintAddress: string, - overrides?: Overrides & { from?: string | Promise }, + reservedAmount: PromiseOrValue, + mintAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'safeTransferFrom(address,address,uint256)'( - from: string, - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'safeTransferFrom(address,address,uint256,bytes)'( - from: string, - to: string, - tokenId: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; saleIsActive(overrides?: CallOverrides): Promise<[boolean]>; setApprovalForAll( - operator: string, - approved: boolean, - overrides?: Overrides & { from?: string | Promise }, + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setBaseURI( - newBaseURI: string, - overrides?: Overrides & { from?: string | Promise }, + newBaseURI: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMaxTokenSupply( - maxTorSupply: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + maxTorSupply: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMaxTokensPerTicket( - maxTokensPerMintTicket: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + maxTokensPerMintTicket: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMintPrice( - newPrice: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + newPrice: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setProvenanceHash( - provenanceHash: string, - overrides?: Overrides & { from?: string | Promise }, + provenanceHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - setStartingIndex(overrides?: Overrides & { from?: string | Promise }): Promise; + setStartingIndex(overrides?: Overrides & { from?: PromiseOrValue }): Promise; setTicketContractAddress( - mintTicketContractAddress: string, - overrides?: Overrides & { from?: string | Promise }, + mintTicketContractAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; startingIndex(overrides?: CallOverrides): Promise<[BigNumber]>; startingIndexBlock(overrides?: CallOverrides): Promise<[BigNumber]>; - supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>; + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; symbol(overrides?: CallOverrides): Promise<[string]>; - tokenByIndex(index: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; + tokenByIndex(index: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; - tokenOfOwnerByIndex(owner: string, index: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; + tokenOfOwnerByIndex( + owner: PromiseOrValue, + index: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber]>; - tokenURI(tokenId: BigNumberish, overrides?: CallOverrides): Promise<[string]>; + tokenURI(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; transferFrom( - from: string, - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; transferOwnership( - newOwner: string, - overrides?: Overrides & { from?: string | Promise }, + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; withdraw( - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; withdrawForGiveaway( - amount: BigNumberish, - to: string, - overrides?: Overrides & { from?: string | Promise }, + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; }; MAX_MINTS_PER_TXN(overrides?: CallOverrides): Promise; approve( - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - balanceOf(owner: string, overrides?: CallOverrides): Promise; + balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise; baseURI(overrides?: CallOverrides): Promise; burn( - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; emergencySetStartingIndexBlock( - overrides?: Overrides & { from?: string | Promise }, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - flipPreSaleState(overrides?: Overrides & { from?: string | Promise }): Promise; + flipPreSaleState(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - flipSaleState(overrides?: Overrides & { from?: string | Promise }): Promise; + flipSaleState(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - getApproved(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + getApproved(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; - isApprovedForAll(owner: string, operator: string, overrides?: CallOverrides): Promise; + isApprovedForAll( + owner: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; maxTokenSupply(overrides?: CallOverrides): Promise; @@ -498,142 +531,150 @@ export interface Erc1155 extends BaseContract { mintPrice(overrides?: CallOverrides): Promise; mintTOR( - numberOfTokens: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise }, + numberOfTokens: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise; mintUsingTicket( - numberOfTokens: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise }, + numberOfTokens: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise; name(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; - ownerOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + ownerOf(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; preSaleIsActive(overrides?: CallOverrides): Promise; provenance(overrides?: CallOverrides): Promise; - renounceOwnership(overrides?: Overrides & { from?: string | Promise }): Promise; + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; 'reserveMint(uint256)'( - reservedAmount: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + reservedAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'reserveMint(uint256,address)'( - reservedAmount: BigNumberish, - mintAddress: string, - overrides?: Overrides & { from?: string | Promise }, + reservedAmount: PromiseOrValue, + mintAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'safeTransferFrom(address,address,uint256)'( - from: string, - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'safeTransferFrom(address,address,uint256,bytes)'( - from: string, - to: string, - tokenId: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; saleIsActive(overrides?: CallOverrides): Promise; setApprovalForAll( - operator: string, - approved: boolean, - overrides?: Overrides & { from?: string | Promise }, + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setBaseURI( - newBaseURI: string, - overrides?: Overrides & { from?: string | Promise }, + newBaseURI: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMaxTokenSupply( - maxTorSupply: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + maxTorSupply: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMaxTokensPerTicket( - maxTokensPerMintTicket: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + maxTokensPerMintTicket: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMintPrice( - newPrice: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + newPrice: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setProvenanceHash( - provenanceHash: string, - overrides?: Overrides & { from?: string | Promise }, + provenanceHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - setStartingIndex(overrides?: Overrides & { from?: string | Promise }): Promise; + setStartingIndex(overrides?: Overrides & { from?: PromiseOrValue }): Promise; setTicketContractAddress( - mintTicketContractAddress: string, - overrides?: Overrides & { from?: string | Promise }, + mintTicketContractAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; startingIndex(overrides?: CallOverrides): Promise; startingIndexBlock(overrides?: CallOverrides): Promise; - supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; - tokenByIndex(index: BigNumberish, overrides?: CallOverrides): Promise; + tokenByIndex(index: PromiseOrValue, overrides?: CallOverrides): Promise; - tokenOfOwnerByIndex(owner: string, index: BigNumberish, overrides?: CallOverrides): Promise; + tokenOfOwnerByIndex( + owner: PromiseOrValue, + index: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; - tokenURI(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + tokenURI(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transferFrom( - from: string, - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; transferOwnership( - newOwner: string, - overrides?: Overrides & { from?: string | Promise }, + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; withdraw( - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; withdrawForGiveaway( - amount: BigNumberish, - to: string, - overrides?: Overrides & { from?: string | Promise }, + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; callStatic: { MAX_MINTS_PER_TXN(overrides?: CallOverrides): Promise; - approve(to: string, tokenId: BigNumberish, overrides?: CallOverrides): Promise; + approve( + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; - balanceOf(owner: string, overrides?: CallOverrides): Promise; + balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise; baseURI(overrides?: CallOverrides): Promise; - burn(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + burn(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; emergencySetStartingIndexBlock(overrides?: CallOverrides): Promise; @@ -641,9 +682,13 @@ export interface Erc1155 extends BaseContract { flipSaleState(overrides?: CallOverrides): Promise; - getApproved(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + getApproved(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; - isApprovedForAll(owner: string, operator: string, overrides?: CallOverrides): Promise; + isApprovedForAll( + owner: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; maxTokenSupply(overrides?: CallOverrides): Promise; @@ -651,15 +696,15 @@ export interface Erc1155 extends BaseContract { mintPrice(overrides?: CallOverrides): Promise; - mintTOR(numberOfTokens: BigNumberish, overrides?: CallOverrides): Promise; + mintTOR(numberOfTokens: PromiseOrValue, overrides?: CallOverrides): Promise; - mintUsingTicket(numberOfTokens: BigNumberish, overrides?: CallOverrides): Promise; + mintUsingTicket(numberOfTokens: PromiseOrValue, overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; - ownerOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + ownerOf(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; preSaleIsActive(overrides?: CallOverrides): Promise; @@ -667,128 +712,173 @@ export interface Erc1155 extends BaseContract { renounceOwnership(overrides?: CallOverrides): Promise; - 'reserveMint(uint256)'(reservedAmount: BigNumberish, overrides?: CallOverrides): Promise; + 'reserveMint(uint256)'(reservedAmount: PromiseOrValue, overrides?: CallOverrides): Promise; 'reserveMint(uint256,address)'( - reservedAmount: BigNumberish, - mintAddress: string, + reservedAmount: PromiseOrValue, + mintAddress: PromiseOrValue, overrides?: CallOverrides, ): Promise; 'safeTransferFrom(address,address,uint256)'( - from: string, - to: string, - tokenId: BigNumberish, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, overrides?: CallOverrides, ): Promise; 'safeTransferFrom(address,address,uint256,bytes)'( - from: string, - to: string, - tokenId: BigNumberish, - _data: BytesLike, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + _data: PromiseOrValue, overrides?: CallOverrides, ): Promise; saleIsActive(overrides?: CallOverrides): Promise; - setApprovalForAll(operator: string, approved: boolean, overrides?: CallOverrides): Promise; + setApprovalForAll( + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; - setBaseURI(newBaseURI: string, overrides?: CallOverrides): Promise; + setBaseURI(newBaseURI: PromiseOrValue, overrides?: CallOverrides): Promise; - setMaxTokenSupply(maxTorSupply: BigNumberish, overrides?: CallOverrides): Promise; + setMaxTokenSupply(maxTorSupply: PromiseOrValue, overrides?: CallOverrides): Promise; - setMaxTokensPerTicket(maxTokensPerMintTicket: BigNumberish, overrides?: CallOverrides): Promise; + setMaxTokensPerTicket( + maxTokensPerMintTicket: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; - setMintPrice(newPrice: BigNumberish, overrides?: CallOverrides): Promise; + setMintPrice(newPrice: PromiseOrValue, overrides?: CallOverrides): Promise; - setProvenanceHash(provenanceHash: string, overrides?: CallOverrides): Promise; + setProvenanceHash(provenanceHash: PromiseOrValue, overrides?: CallOverrides): Promise; setStartingIndex(overrides?: CallOverrides): Promise; - setTicketContractAddress(mintTicketContractAddress: string, overrides?: CallOverrides): Promise; + setTicketContractAddress( + mintTicketContractAddress: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; startingIndex(overrides?: CallOverrides): Promise; startingIndexBlock(overrides?: CallOverrides): Promise; - supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; - tokenByIndex(index: BigNumberish, overrides?: CallOverrides): Promise; + tokenByIndex(index: PromiseOrValue, overrides?: CallOverrides): Promise; - tokenOfOwnerByIndex(owner: string, index: BigNumberish, overrides?: CallOverrides): Promise; + tokenOfOwnerByIndex( + owner: PromiseOrValue, + index: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; - tokenURI(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + tokenURI(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; - transferFrom(from: string, to: string, tokenId: BigNumberish, overrides?: CallOverrides): Promise; + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; - transferOwnership(newOwner: string, overrides?: CallOverrides): Promise; + transferOwnership(newOwner: PromiseOrValue, overrides?: CallOverrides): Promise; - withdraw(amount: BigNumberish, overrides?: CallOverrides): Promise; + withdraw(amount: PromiseOrValue, overrides?: CallOverrides): Promise; - withdrawForGiveaway(amount: BigNumberish, to: string, overrides?: CallOverrides): Promise; + withdrawForGiveaway( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; }; filters: { 'Approval(address,address,uint256)'( - owner?: string | null, - approved?: string | null, - tokenId?: BigNumberish | null, + owner?: PromiseOrValue | null, + approved?: PromiseOrValue | null, + tokenId?: PromiseOrValue | null, + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + approved?: PromiseOrValue | null, + tokenId?: PromiseOrValue | null, ): ApprovalEventFilter; - Approval(owner?: string | null, approved?: string | null, tokenId?: BigNumberish | null): ApprovalEventFilter; 'ApprovalForAll(address,address,bool)'( - owner?: string | null, - operator?: string | null, + owner?: PromiseOrValue | null, + operator?: PromiseOrValue | null, + approved?: null, + ): ApprovalForAllEventFilter; + ApprovalForAll( + owner?: PromiseOrValue | null, + operator?: PromiseOrValue | null, approved?: null, ): ApprovalForAllEventFilter; - ApprovalForAll(owner?: string | null, operator?: string | null, approved?: null): ApprovalForAllEventFilter; 'OwnershipTransferred(address,address)'( - previousOwner?: string | null, - newOwner?: string | null, + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null, + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null, ): OwnershipTransferredEventFilter; - OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter; 'PaymentReleased(address,uint256)'(to?: null, amount?: null): PaymentReleasedEventFilter; PaymentReleased(to?: null, amount?: null): PaymentReleasedEventFilter; 'Transfer(address,address,uint256)'( - from?: string | null, - to?: string | null, - tokenId?: BigNumberish | null, + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + tokenId?: PromiseOrValue | null, + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + tokenId?: PromiseOrValue | null, ): TransferEventFilter; - Transfer(from?: string | null, to?: string | null, tokenId?: BigNumberish | null): TransferEventFilter; }; estimateGas: { MAX_MINTS_PER_TXN(overrides?: CallOverrides): Promise; approve( - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - balanceOf(owner: string, overrides?: CallOverrides): Promise; + balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise; baseURI(overrides?: CallOverrides): Promise; - burn(tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise }): Promise; + burn( + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; - emergencySetStartingIndexBlock(overrides?: Overrides & { from?: string | Promise }): Promise; + emergencySetStartingIndexBlock(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - flipPreSaleState(overrides?: Overrides & { from?: string | Promise }): Promise; + flipPreSaleState(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - flipSaleState(overrides?: Overrides & { from?: string | Promise }): Promise; + flipSaleState(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - getApproved(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + getApproved(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; - isApprovedForAll(owner: string, operator: string, overrides?: CallOverrides): Promise; + isApprovedForAll( + owner: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; maxTokenSupply(overrides?: CallOverrides): Promise; @@ -797,124 +887,134 @@ export interface Erc1155 extends BaseContract { mintPrice(overrides?: CallOverrides): Promise; mintTOR( - numberOfTokens: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise }, + numberOfTokens: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise; mintUsingTicket( - numberOfTokens: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise }, + numberOfTokens: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise; name(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; - ownerOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + ownerOf(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; preSaleIsActive(overrides?: CallOverrides): Promise; provenance(overrides?: CallOverrides): Promise; - renounceOwnership(overrides?: Overrides & { from?: string | Promise }): Promise; + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; 'reserveMint(uint256)'( - reservedAmount: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + reservedAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'reserveMint(uint256,address)'( - reservedAmount: BigNumberish, - mintAddress: string, - overrides?: Overrides & { from?: string | Promise }, + reservedAmount: PromiseOrValue, + mintAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'safeTransferFrom(address,address,uint256)'( - from: string, - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'safeTransferFrom(address,address,uint256,bytes)'( - from: string, - to: string, - tokenId: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; saleIsActive(overrides?: CallOverrides): Promise; setApprovalForAll( - operator: string, - approved: boolean, - overrides?: Overrides & { from?: string | Promise }, + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - setBaseURI(newBaseURI: string, overrides?: Overrides & { from?: string | Promise }): Promise; + setBaseURI( + newBaseURI: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; setMaxTokenSupply( - maxTorSupply: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + maxTorSupply: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMaxTokensPerTicket( - maxTokensPerMintTicket: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + maxTokensPerMintTicket: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMintPrice( - newPrice: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + newPrice: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setProvenanceHash( - provenanceHash: string, - overrides?: Overrides & { from?: string | Promise }, + provenanceHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - setStartingIndex(overrides?: Overrides & { from?: string | Promise }): Promise; + setStartingIndex(overrides?: Overrides & { from?: PromiseOrValue }): Promise; setTicketContractAddress( - mintTicketContractAddress: string, - overrides?: Overrides & { from?: string | Promise }, + mintTicketContractAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; startingIndex(overrides?: CallOverrides): Promise; startingIndexBlock(overrides?: CallOverrides): Promise; - supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; - tokenByIndex(index: BigNumberish, overrides?: CallOverrides): Promise; + tokenByIndex(index: PromiseOrValue, overrides?: CallOverrides): Promise; - tokenOfOwnerByIndex(owner: string, index: BigNumberish, overrides?: CallOverrides): Promise; + tokenOfOwnerByIndex( + owner: PromiseOrValue, + index: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; - tokenURI(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + tokenURI(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transferFrom( - from: string, - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; transferOwnership( - newOwner: string, - overrides?: Overrides & { from?: string | Promise }, + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - withdraw(amount: BigNumberish, overrides?: Overrides & { from?: string | Promise }): Promise; + withdraw( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; withdrawForGiveaway( - amount: BigNumberish, - to: string, - overrides?: Overrides & { from?: string | Promise }, + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; }; @@ -922,31 +1022,35 @@ export interface Erc1155 extends BaseContract { MAX_MINTS_PER_TXN(overrides?: CallOverrides): Promise; approve( - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - balanceOf(owner: string, overrides?: CallOverrides): Promise; + balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise; baseURI(overrides?: CallOverrides): Promise; burn( - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; emergencySetStartingIndexBlock( - overrides?: Overrides & { from?: string | Promise }, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - flipPreSaleState(overrides?: Overrides & { from?: string | Promise }): Promise; + flipPreSaleState(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - flipSaleState(overrides?: Overrides & { from?: string | Promise }): Promise; + flipSaleState(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - getApproved(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + getApproved(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; - isApprovedForAll(owner: string, operator: string, overrides?: CallOverrides): Promise; + isApprovedForAll( + owner: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; maxTokenSupply(overrides?: CallOverrides): Promise; @@ -955,130 +1059,134 @@ export interface Erc1155 extends BaseContract { mintPrice(overrides?: CallOverrides): Promise; mintTOR( - numberOfTokens: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise }, + numberOfTokens: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise; mintUsingTicket( - numberOfTokens: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise }, + numberOfTokens: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise; name(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; - ownerOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + ownerOf(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; preSaleIsActive(overrides?: CallOverrides): Promise; provenance(overrides?: CallOverrides): Promise; - renounceOwnership(overrides?: Overrides & { from?: string | Promise }): Promise; + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; 'reserveMint(uint256)'( - reservedAmount: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + reservedAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'reserveMint(uint256,address)'( - reservedAmount: BigNumberish, - mintAddress: string, - overrides?: Overrides & { from?: string | Promise }, + reservedAmount: PromiseOrValue, + mintAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'safeTransferFrom(address,address,uint256)'( - from: string, - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'safeTransferFrom(address,address,uint256,bytes)'( - from: string, - to: string, - tokenId: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; saleIsActive(overrides?: CallOverrides): Promise; setApprovalForAll( - operator: string, - approved: boolean, - overrides?: Overrides & { from?: string | Promise }, + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setBaseURI( - newBaseURI: string, - overrides?: Overrides & { from?: string | Promise }, + newBaseURI: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMaxTokenSupply( - maxTorSupply: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + maxTorSupply: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMaxTokensPerTicket( - maxTokensPerMintTicket: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + maxTokensPerMintTicket: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMintPrice( - newPrice: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + newPrice: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setProvenanceHash( - provenanceHash: string, - overrides?: Overrides & { from?: string | Promise }, + provenanceHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - setStartingIndex(overrides?: Overrides & { from?: string | Promise }): Promise; + setStartingIndex(overrides?: Overrides & { from?: PromiseOrValue }): Promise; setTicketContractAddress( - mintTicketContractAddress: string, - overrides?: Overrides & { from?: string | Promise }, + mintTicketContractAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; startingIndex(overrides?: CallOverrides): Promise; startingIndexBlock(overrides?: CallOverrides): Promise; - supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; - tokenByIndex(index: BigNumberish, overrides?: CallOverrides): Promise; + tokenByIndex(index: PromiseOrValue, overrides?: CallOverrides): Promise; - tokenOfOwnerByIndex(owner: string, index: BigNumberish, overrides?: CallOverrides): Promise; + tokenOfOwnerByIndex( + owner: PromiseOrValue, + index: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; - tokenURI(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + tokenURI(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transferFrom( - from: string, - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; transferOwnership( - newOwner: string, - overrides?: Overrides & { from?: string | Promise }, + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; withdraw( - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; withdrawForGiveaway( - amount: BigNumberish, - to: string, - overrides?: Overrides & { from?: string | Promise }, + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; }; } diff --git a/src/contract/contracts/ethers/Erc20.ts b/src/contract/contracts/ethers/Erc20.ts index 7caf0cf82..2a232abc1 100644 --- a/src/contract/contracts/ethers/Erc20.ts +++ b/src/contract/contracts/ethers/Erc20.ts @@ -15,7 +15,7 @@ import type { } from 'ethers'; import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi'; import type { Listener, Provider } from '@ethersproject/providers'; -import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from './common'; +import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common'; export interface Erc20Interface extends utils.Interface { functions: { @@ -44,14 +44,23 @@ export interface Erc20Interface extends utils.Interface { ): FunctionFragment; encodeFunctionData(functionFragment: 'name', values?: undefined): string; - encodeFunctionData(functionFragment: 'approve', values: [string, BigNumberish]): string; + encodeFunctionData( + functionFragment: 'approve', + values: [PromiseOrValue, PromiseOrValue], + ): string; encodeFunctionData(functionFragment: 'totalSupply', values?: undefined): string; - encodeFunctionData(functionFragment: 'transferFrom', values: [string, string, BigNumberish]): string; + encodeFunctionData( + functionFragment: 'transferFrom', + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue], + ): string; encodeFunctionData(functionFragment: 'decimals', values?: undefined): string; - encodeFunctionData(functionFragment: 'balanceOf', values: [string]): string; + encodeFunctionData(functionFragment: 'balanceOf', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'symbol', values?: undefined): string; - encodeFunctionData(functionFragment: 'transfer', values: [string, BigNumberish]): string; - encodeFunctionData(functionFragment: 'allowance', values: [string, string]): string; + encodeFunctionData( + functionFragment: 'transfer', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'allowance', values: [PromiseOrValue, PromiseOrValue]): string; decodeFunctionResult(functionFragment: 'name', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'approve', data: BytesLike): Result; @@ -116,161 +125,206 @@ export interface Erc20 extends BaseContract { name(overrides?: CallOverrides): Promise<[string]>; approve( - _spender: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + _spender: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; transferFrom( - _from: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + _from: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; decimals(overrides?: CallOverrides): Promise<[number]>; - balanceOf(_owner: string, overrides?: CallOverrides): Promise<[BigNumber] & { balance: BigNumber }>; + balanceOf(_owner: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber] & { balance: BigNumber }>; symbol(overrides?: CallOverrides): Promise<[string]>; transfer( - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - allowance(_owner: string, _spender: string, overrides?: CallOverrides): Promise<[BigNumber]>; + allowance( + _owner: PromiseOrValue, + _spender: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber]>; }; name(overrides?: CallOverrides): Promise; approve( - _spender: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + _spender: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; totalSupply(overrides?: CallOverrides): Promise; transferFrom( - _from: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + _from: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; decimals(overrides?: CallOverrides): Promise; - balanceOf(_owner: string, overrides?: CallOverrides): Promise; + balanceOf(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; transfer( - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - allowance(_owner: string, _spender: string, overrides?: CallOverrides): Promise; + allowance( + _owner: PromiseOrValue, + _spender: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; callStatic: { name(overrides?: CallOverrides): Promise; - approve(_spender: string, _value: BigNumberish, overrides?: CallOverrides): Promise; + approve( + _spender: PromiseOrValue, + _value: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; totalSupply(overrides?: CallOverrides): Promise; - transferFrom(_from: string, _to: string, _value: BigNumberish, overrides?: CallOverrides): Promise; + transferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; decimals(overrides?: CallOverrides): Promise; - balanceOf(_owner: string, overrides?: CallOverrides): Promise; + balanceOf(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; - transfer(_to: string, _value: BigNumberish, overrides?: CallOverrides): Promise; - - allowance(_owner: string, _spender: string, overrides?: CallOverrides): Promise; + transfer( + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + allowance( + _owner: PromiseOrValue, + _spender: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; }; filters: { 'Approval(address,address,uint256)'( - owner?: string | null, - spender?: string | null, + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null, + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, value?: null, ): ApprovalEventFilter; - Approval(owner?: string | null, spender?: string | null, value?: null): ApprovalEventFilter; - 'Transfer(address,address,uint256)'(from?: string | null, to?: string | null, value?: null): TransferEventFilter; - Transfer(from?: string | null, to?: string | null, value?: null): TransferEventFilter; + 'Transfer(address,address,uint256)'( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null, + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null, + ): TransferEventFilter; }; estimateGas: { name(overrides?: CallOverrides): Promise; approve( - _spender: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + _spender: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; totalSupply(overrides?: CallOverrides): Promise; transferFrom( - _from: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + _from: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; decimals(overrides?: CallOverrides): Promise; - balanceOf(_owner: string, overrides?: CallOverrides): Promise; + balanceOf(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; transfer( - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - allowance(_owner: string, _spender: string, overrides?: CallOverrides): Promise; + allowance( + _owner: PromiseOrValue, + _spender: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; }; populateTransaction: { name(overrides?: CallOverrides): Promise; approve( - _spender: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + _spender: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; totalSupply(overrides?: CallOverrides): Promise; transferFrom( - _from: string, - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + _from: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; decimals(overrides?: CallOverrides): Promise; - balanceOf(_owner: string, overrides?: CallOverrides): Promise; + balanceOf(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; transfer( - _to: string, - _value: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - allowance(_owner: string, _spender: string, overrides?: CallOverrides): Promise; + allowance( + _owner: PromiseOrValue, + _spender: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; }; } diff --git a/src/contract/contracts/ethers/Erc4626.ts b/src/contract/contracts/ethers/Erc4626.ts new file mode 100644 index 000000000..4ae2091ea --- /dev/null +++ b/src/contract/contracts/ethers/Erc4626.ts @@ -0,0 +1,736 @@ +/* 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 Erc4626Interface extends utils.Interface { + functions: { + 'name()': FunctionFragment; + 'approve(address,uint256)': FunctionFragment; + 'totalSupply()': FunctionFragment; + 'transferFrom(address,address,uint256)': FunctionFragment; + 'decimals()': FunctionFragment; + 'balanceOf(address)': FunctionFragment; + 'symbol()': FunctionFragment; + 'transfer(address,uint256)': FunctionFragment; + 'allowance(address,address)': FunctionFragment; + 'asset()': FunctionFragment; + 'totalAssets()': FunctionFragment; + 'convertToShares(uint256)': FunctionFragment; + 'convertToAssets(uint256)': FunctionFragment; + 'maxDeposit(address)': FunctionFragment; + 'previewDeposit(uint256)': FunctionFragment; + 'deposit(uint256,address)': FunctionFragment; + 'maxMint(address)': FunctionFragment; + 'previewMint(uint256)': FunctionFragment; + 'mint(uint256,address)': FunctionFragment; + 'maxWithdraw(address)': FunctionFragment; + 'previewWithdraw(uint256)': FunctionFragment; + 'withdraw(uint256,address,address)': FunctionFragment; + 'maxRedeem(address)': FunctionFragment; + 'previewRedeem(uint256)': FunctionFragment; + 'redeem(uint256,address,address)': FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | 'name' + | 'approve' + | 'totalSupply' + | 'transferFrom' + | 'decimals' + | 'balanceOf' + | 'symbol' + | 'transfer' + | 'allowance' + | 'asset' + | 'totalAssets' + | 'convertToShares' + | 'convertToAssets' + | 'maxDeposit' + | 'previewDeposit' + | 'deposit' + | 'maxMint' + | 'previewMint' + | 'mint' + | 'maxWithdraw' + | 'previewWithdraw' + | 'withdraw' + | 'maxRedeem' + | 'previewRedeem' + | 'redeem', + ): FunctionFragment; + + encodeFunctionData(functionFragment: 'name', values?: undefined): string; + encodeFunctionData( + functionFragment: 'approve', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'totalSupply', values?: undefined): string; + encodeFunctionData( + functionFragment: 'transferFrom', + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'decimals', values?: undefined): string; + encodeFunctionData(functionFragment: 'balanceOf', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'symbol', values?: undefined): string; + encodeFunctionData( + functionFragment: 'transfer', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'allowance', values: [PromiseOrValue, PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'asset', values?: undefined): string; + encodeFunctionData(functionFragment: 'totalAssets', values?: undefined): string; + encodeFunctionData(functionFragment: 'convertToShares', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'convertToAssets', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'maxDeposit', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'previewDeposit', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'deposit', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'maxMint', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'previewMint', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'mint', values: [PromiseOrValue, PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'maxWithdraw', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'previewWithdraw', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'withdraw', + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'maxRedeem', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'previewRedeem', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'redeem', + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue], + ): string; + + decodeFunctionResult(functionFragment: 'name', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'approve', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'totalSupply', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'transferFrom', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'decimals', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'balanceOf', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'symbol', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'transfer', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'allowance', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'asset', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'totalAssets', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'convertToShares', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'convertToAssets', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'maxDeposit', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'previewDeposit', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'deposit', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'maxMint', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'previewMint', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'mint', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'maxWithdraw', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'previewWithdraw', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'withdraw', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'maxRedeem', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'previewRedeem', data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'redeem', data: BytesLike): Result; + + events: { + 'Approval(address,address,uint256)': EventFragment; + 'Transfer(address,address,uint256)': EventFragment; + 'Deposit(address,address,uint256,uint256)': EventFragment; + 'Withdraw(address,address,address,uint256,uint256)': EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: 'Approval'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'Transfer'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'Deposit'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'Withdraw'): EventFragment; +} + +export interface ApprovalEventObject { + owner: string; + spender: string; + value: BigNumber; +} +export type ApprovalEvent = TypedEvent<[string, string, BigNumber], ApprovalEventObject>; + +export type ApprovalEventFilter = TypedEventFilter; + +export interface TransferEventObject { + from: string; + to: string; + value: BigNumber; +} +export type TransferEvent = TypedEvent<[string, string, BigNumber], TransferEventObject>; + +export type TransferEventFilter = TypedEventFilter; + +export interface DepositEventObject { + _caller: string; + owner: string; + assets: BigNumber; + shares: BigNumber; +} +export type DepositEvent = TypedEvent<[string, string, BigNumber, BigNumber], DepositEventObject>; + +export type DepositEventFilter = TypedEventFilter; + +export interface WithdrawEventObject { + _caller: string; + receiver: string; + owner: string; + assets: BigNumber; + shares: BigNumber; +} +export type WithdrawEvent = TypedEvent<[string, string, string, BigNumber, BigNumber], WithdrawEventObject>; + +export type WithdrawEventFilter = TypedEventFilter; + +export interface Erc4626 extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: Erc4626Interface; + + 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: { + name(overrides?: CallOverrides): Promise<[string]>; + + approve( + _spender: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; + + transferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + decimals(overrides?: CallOverrides): Promise<[number]>; + + balanceOf(_owner: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber] & { balance: BigNumber }>; + + symbol(overrides?: CallOverrides): Promise<[string]>; + + transfer( + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + allowance( + _owner: PromiseOrValue, + _spender: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber]>; + + asset(overrides?: CallOverrides): Promise<[string] & { assetTokenAddress: string }>; + + totalAssets(overrides?: CallOverrides): Promise<[BigNumber] & { totalManagedAssets: BigNumber }>; + + convertToShares( + assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { shares: BigNumber }>; + + convertToAssets( + shares: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { assets: BigNumber }>; + + maxDeposit( + receiver: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { maxAssets: BigNumber }>; + + previewDeposit( + assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { shares: BigNumber }>; + + deposit( + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + maxMint( + receiver: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { maxShares: BigNumber }>; + + previewMint( + shares: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { assets: BigNumber }>; + + mint( + shares: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + maxWithdraw( + owner: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { maxAssets: BigNumber }>; + + previewWithdraw( + assets: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { shares: BigNumber }>; + + withdraw( + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + maxRedeem( + owner: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { maxShares: BigNumber }>; + + previewRedeem( + shares: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { assets: BigNumber }>; + + redeem( + shares: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; + + name(overrides?: CallOverrides): Promise; + + approve( + _spender: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + balanceOf(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + transfer( + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + allowance( + _owner: PromiseOrValue, + _spender: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + asset(overrides?: CallOverrides): Promise; + + totalAssets(overrides?: CallOverrides): Promise; + + convertToShares(assets: PromiseOrValue, overrides?: CallOverrides): Promise; + + convertToAssets(shares: PromiseOrValue, overrides?: CallOverrides): Promise; + + maxDeposit(receiver: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewDeposit(assets: PromiseOrValue, overrides?: CallOverrides): Promise; + + deposit( + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + maxMint(receiver: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewMint(shares: PromiseOrValue, overrides?: CallOverrides): Promise; + + mint( + shares: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + maxWithdraw(owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewWithdraw(assets: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + maxRedeem(owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewRedeem(shares: PromiseOrValue, overrides?: CallOverrides): Promise; + + redeem( + shares: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + callStatic: { + name(overrides?: CallOverrides): Promise; + + approve( + _spender: PromiseOrValue, + _value: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + balanceOf(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + transfer( + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + allowance( + _owner: PromiseOrValue, + _spender: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + asset(overrides?: CallOverrides): Promise; + + totalAssets(overrides?: CallOverrides): Promise; + + convertToShares(assets: PromiseOrValue, overrides?: CallOverrides): Promise; + + convertToAssets(shares: PromiseOrValue, overrides?: CallOverrides): Promise; + + maxDeposit(receiver: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewDeposit(assets: PromiseOrValue, overrides?: CallOverrides): Promise; + + deposit( + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + maxMint(receiver: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewMint(shares: PromiseOrValue, overrides?: CallOverrides): Promise; + + mint( + shares: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + maxWithdraw(owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewWithdraw(assets: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + maxRedeem(owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewRedeem(shares: PromiseOrValue, overrides?: CallOverrides): Promise; + + redeem( + shares: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + }; + + filters: { + 'Approval(address,address,uint256)'( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null, + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + spender?: PromiseOrValue | null, + value?: null, + ): ApprovalEventFilter; + + 'Transfer(address,address,uint256)'( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null, + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + value?: null, + ): TransferEventFilter; + + 'Deposit(address,address,uint256,uint256)'( + _caller?: PromiseOrValue | null, + owner?: PromiseOrValue | null, + assets?: null, + shares?: null, + ): DepositEventFilter; + Deposit( + _caller?: PromiseOrValue | null, + owner?: PromiseOrValue | null, + assets?: null, + shares?: null, + ): DepositEventFilter; + + 'Withdraw(address,address,address,uint256,uint256)'( + _caller?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + owner?: PromiseOrValue | null, + assets?: null, + shares?: null, + ): WithdrawEventFilter; + Withdraw( + _caller?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + owner?: PromiseOrValue | null, + assets?: null, + shares?: null, + ): WithdrawEventFilter; + }; + + estimateGas: { + name(overrides?: CallOverrides): Promise; + + approve( + _spender: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + balanceOf(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + transfer( + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + allowance( + _owner: PromiseOrValue, + _spender: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + asset(overrides?: CallOverrides): Promise; + + totalAssets(overrides?: CallOverrides): Promise; + + convertToShares(assets: PromiseOrValue, overrides?: CallOverrides): Promise; + + convertToAssets(shares: PromiseOrValue, overrides?: CallOverrides): Promise; + + maxDeposit(receiver: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewDeposit(assets: PromiseOrValue, overrides?: CallOverrides): Promise; + + deposit( + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + maxMint(receiver: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewMint(shares: PromiseOrValue, overrides?: CallOverrides): Promise; + + mint( + shares: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + maxWithdraw(owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewWithdraw(assets: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + maxRedeem(owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewRedeem(shares: PromiseOrValue, overrides?: CallOverrides): Promise; + + redeem( + shares: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; + + populateTransaction: { + name(overrides?: CallOverrides): Promise; + + approve( + _spender: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + totalSupply(overrides?: CallOverrides): Promise; + + transferFrom( + _from: PromiseOrValue, + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + decimals(overrides?: CallOverrides): Promise; + + balanceOf(_owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + symbol(overrides?: CallOverrides): Promise; + + transfer( + _to: PromiseOrValue, + _value: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + allowance( + _owner: PromiseOrValue, + _spender: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; + + asset(overrides?: CallOverrides): Promise; + + totalAssets(overrides?: CallOverrides): Promise; + + convertToShares(assets: PromiseOrValue, overrides?: CallOverrides): Promise; + + convertToAssets(shares: PromiseOrValue, overrides?: CallOverrides): Promise; + + maxDeposit(receiver: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewDeposit(assets: PromiseOrValue, overrides?: CallOverrides): Promise; + + deposit( + assets: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + maxMint(receiver: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewMint(shares: PromiseOrValue, overrides?: CallOverrides): Promise; + + mint( + shares: PromiseOrValue, + receiver: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + maxWithdraw(owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewWithdraw(assets: PromiseOrValue, overrides?: CallOverrides): Promise; + + withdraw( + assets: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + + maxRedeem(owner: PromiseOrValue, overrides?: CallOverrides): Promise; + + previewRedeem(shares: PromiseOrValue, overrides?: CallOverrides): Promise; + + redeem( + shares: PromiseOrValue, + receiver: PromiseOrValue, + owner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; + }; +} diff --git a/src/contract/contracts/ethers/Erc721.ts b/src/contract/contracts/ethers/Erc721.ts index 2330ba7ff..626c66c4a 100644 --- a/src/contract/contracts/ethers/Erc721.ts +++ b/src/contract/contracts/ethers/Erc721.ts @@ -16,7 +16,7 @@ import type { } from 'ethers'; import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi'; import type { Listener, Provider } from '@ethersproject/providers'; -import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from './common'; +import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common'; export interface Erc721Interface extends utils.Interface { functions: { @@ -119,57 +119,78 @@ export interface Erc721Interface extends utils.Interface { ): FunctionFragment; encodeFunctionData(functionFragment: 'MAX_MINTS_PER_TXN', values?: undefined): string; - encodeFunctionData(functionFragment: 'approve', values: [string, BigNumberish]): string; - encodeFunctionData(functionFragment: 'balanceOf', values: [string]): string; + encodeFunctionData( + functionFragment: 'approve', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'balanceOf', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'baseURI', values?: undefined): string; - encodeFunctionData(functionFragment: 'burn', values: [BigNumberish]): string; + encodeFunctionData(functionFragment: 'burn', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'emergencySetStartingIndexBlock', values?: undefined): string; encodeFunctionData(functionFragment: 'flipPreSaleState', values?: undefined): string; encodeFunctionData(functionFragment: 'flipSaleState', values?: undefined): string; - encodeFunctionData(functionFragment: 'getApproved', values: [BigNumberish]): string; - encodeFunctionData(functionFragment: 'isApprovedForAll', values: [string, string]): string; + encodeFunctionData(functionFragment: 'getApproved', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'isApprovedForAll', + values: [PromiseOrValue, PromiseOrValue], + ): string; encodeFunctionData(functionFragment: 'maxTokenSupply', values?: undefined): string; encodeFunctionData(functionFragment: 'maxTokensPerTicket', values?: undefined): string; encodeFunctionData(functionFragment: 'mintPrice', values?: undefined): string; - encodeFunctionData(functionFragment: 'mintTOR', values: [BigNumberish]): string; - encodeFunctionData(functionFragment: 'mintUsingTicket', values: [BigNumberish]): string; + encodeFunctionData(functionFragment: 'mintTOR', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'mintUsingTicket', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'name', values?: undefined): string; encodeFunctionData(functionFragment: 'owner', values?: undefined): string; - encodeFunctionData(functionFragment: 'ownerOf', values: [BigNumberish]): string; + encodeFunctionData(functionFragment: 'ownerOf', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'preSaleIsActive', values?: undefined): string; encodeFunctionData(functionFragment: 'provenance', values?: undefined): string; encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string; - encodeFunctionData(functionFragment: 'reserveMint(uint256)', values: [BigNumberish]): string; - encodeFunctionData(functionFragment: 'reserveMint(uint256,address)', values: [BigNumberish, string]): string; + encodeFunctionData(functionFragment: 'reserveMint(uint256)', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'reserveMint(uint256,address)', + values: [PromiseOrValue, PromiseOrValue], + ): string; encodeFunctionData( functionFragment: 'safeTransferFrom(address,address,uint256)', - values: [string, string, BigNumberish], + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue], ): string; encodeFunctionData( functionFragment: 'safeTransferFrom(address,address,uint256,bytes)', - values: [string, string, BigNumberish, BytesLike], + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue], ): string; encodeFunctionData(functionFragment: 'saleIsActive', values?: undefined): string; - encodeFunctionData(functionFragment: 'setApprovalForAll', values: [string, boolean]): string; - encodeFunctionData(functionFragment: 'setBaseURI', values: [string]): string; - encodeFunctionData(functionFragment: 'setMaxTokenSupply', values: [BigNumberish]): string; - encodeFunctionData(functionFragment: 'setMaxTokensPerTicket', values: [BigNumberish]): string; - encodeFunctionData(functionFragment: 'setMintPrice', values: [BigNumberish]): string; - encodeFunctionData(functionFragment: 'setProvenanceHash', values: [string]): string; + encodeFunctionData( + functionFragment: 'setApprovalForAll', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'setBaseURI', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'setMaxTokenSupply', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'setMaxTokensPerTicket', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'setMintPrice', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'setProvenanceHash', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'setStartingIndex', values?: undefined): string; - encodeFunctionData(functionFragment: 'setTicketContractAddress', values: [string]): string; + encodeFunctionData(functionFragment: 'setTicketContractAddress', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'startingIndex', values?: undefined): string; encodeFunctionData(functionFragment: 'startingIndexBlock', values?: undefined): string; - encodeFunctionData(functionFragment: 'supportsInterface', values: [BytesLike]): string; + encodeFunctionData(functionFragment: 'supportsInterface', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'symbol', values?: undefined): string; - encodeFunctionData(functionFragment: 'tokenByIndex', values: [BigNumberish]): string; - encodeFunctionData(functionFragment: 'tokenOfOwnerByIndex', values: [string, BigNumberish]): string; - encodeFunctionData(functionFragment: 'tokenURI', values: [BigNumberish]): string; + encodeFunctionData(functionFragment: 'tokenByIndex', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'tokenOfOwnerByIndex', + values: [PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'tokenURI', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'totalSupply', values?: undefined): string; - encodeFunctionData(functionFragment: 'transferFrom', values: [string, string, BigNumberish]): string; - encodeFunctionData(functionFragment: 'transferOwnership', values: [string]): string; - encodeFunctionData(functionFragment: 'withdraw', values: [BigNumberish]): string; - encodeFunctionData(functionFragment: 'withdrawForGiveaway', values: [BigNumberish, string]): string; + encodeFunctionData( + functionFragment: 'transferFrom', + values: [PromiseOrValue, PromiseOrValue, PromiseOrValue], + ): string; + encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'withdraw', values: [PromiseOrValue]): string; + encodeFunctionData( + functionFragment: 'withdrawForGiveaway', + values: [PromiseOrValue, PromiseOrValue], + ): string; decodeFunctionResult(functionFragment: 'MAX_MINTS_PER_TXN', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'approve', data: BytesLike): Result; @@ -302,31 +323,35 @@ export interface Erc721 extends BaseContract { MAX_MINTS_PER_TXN(overrides?: CallOverrides): Promise<[BigNumber]>; approve( - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - balanceOf(owner: string, overrides?: CallOverrides): Promise<[BigNumber]>; + balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; baseURI(overrides?: CallOverrides): Promise<[string]>; burn( - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; emergencySetStartingIndexBlock( - overrides?: Overrides & { from?: string | Promise }, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - flipPreSaleState(overrides?: Overrides & { from?: string | Promise }): Promise; + flipPreSaleState(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - flipSaleState(overrides?: Overrides & { from?: string | Promise }): Promise; + flipSaleState(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - getApproved(tokenId: BigNumberish, overrides?: CallOverrides): Promise<[string]>; + getApproved(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; - isApprovedForAll(owner: string, operator: string, overrides?: CallOverrides): Promise<[boolean]>; + isApprovedForAll( + owner: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[boolean]>; maxTokenSupply(overrides?: CallOverrides): Promise<[BigNumber]>; @@ -335,161 +360,169 @@ export interface Erc721 extends BaseContract { mintPrice(overrides?: CallOverrides): Promise<[BigNumber]>; mintTOR( - numberOfTokens: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise }, + numberOfTokens: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise; mintUsingTicket( - numberOfTokens: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise }, + numberOfTokens: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise; name(overrides?: CallOverrides): Promise<[string]>; owner(overrides?: CallOverrides): Promise<[string]>; - ownerOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise<[string]>; + ownerOf(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; preSaleIsActive(overrides?: CallOverrides): Promise<[boolean]>; provenance(overrides?: CallOverrides): Promise<[string]>; - renounceOwnership(overrides?: Overrides & { from?: string | Promise }): Promise; + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; 'reserveMint(uint256)'( - reservedAmount: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + reservedAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'reserveMint(uint256,address)'( - reservedAmount: BigNumberish, - mintAddress: string, - overrides?: Overrides & { from?: string | Promise }, + reservedAmount: PromiseOrValue, + mintAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'safeTransferFrom(address,address,uint256)'( - from: string, - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'safeTransferFrom(address,address,uint256,bytes)'( - from: string, - to: string, - tokenId: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; saleIsActive(overrides?: CallOverrides): Promise<[boolean]>; setApprovalForAll( - operator: string, - approved: boolean, - overrides?: Overrides & { from?: string | Promise }, + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setBaseURI( - newBaseURI: string, - overrides?: Overrides & { from?: string | Promise }, + newBaseURI: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMaxTokenSupply( - maxTorSupply: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + maxTorSupply: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMaxTokensPerTicket( - maxTokensPerMintTicket: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + maxTokensPerMintTicket: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMintPrice( - newPrice: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + newPrice: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setProvenanceHash( - provenanceHash: string, - overrides?: Overrides & { from?: string | Promise }, + provenanceHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - setStartingIndex(overrides?: Overrides & { from?: string | Promise }): Promise; + setStartingIndex(overrides?: Overrides & { from?: PromiseOrValue }): Promise; setTicketContractAddress( - mintTicketContractAddress: string, - overrides?: Overrides & { from?: string | Promise }, + mintTicketContractAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; startingIndex(overrides?: CallOverrides): Promise<[BigNumber]>; startingIndexBlock(overrides?: CallOverrides): Promise<[BigNumber]>; - supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>; + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; symbol(overrides?: CallOverrides): Promise<[string]>; - tokenByIndex(index: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; + tokenByIndex(index: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; - tokenOfOwnerByIndex(owner: string, index: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; + tokenOfOwnerByIndex( + owner: PromiseOrValue, + index: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber]>; - tokenURI(tokenId: BigNumberish, overrides?: CallOverrides): Promise<[string]>; + tokenURI(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; transferFrom( - from: string, - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; transferOwnership( - newOwner: string, - overrides?: Overrides & { from?: string | Promise }, + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; withdraw( - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; withdrawForGiveaway( - amount: BigNumberish, - to: string, - overrides?: Overrides & { from?: string | Promise }, + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; }; MAX_MINTS_PER_TXN(overrides?: CallOverrides): Promise; approve( - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - balanceOf(owner: string, overrides?: CallOverrides): Promise; + balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise; baseURI(overrides?: CallOverrides): Promise; burn( - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; emergencySetStartingIndexBlock( - overrides?: Overrides & { from?: string | Promise }, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - flipPreSaleState(overrides?: Overrides & { from?: string | Promise }): Promise; + flipPreSaleState(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - flipSaleState(overrides?: Overrides & { from?: string | Promise }): Promise; + flipSaleState(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - getApproved(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + getApproved(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; - isApprovedForAll(owner: string, operator: string, overrides?: CallOverrides): Promise; + isApprovedForAll( + owner: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; maxTokenSupply(overrides?: CallOverrides): Promise; @@ -498,142 +531,150 @@ export interface Erc721 extends BaseContract { mintPrice(overrides?: CallOverrides): Promise; mintTOR( - numberOfTokens: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise }, + numberOfTokens: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise; mintUsingTicket( - numberOfTokens: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise }, + numberOfTokens: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise; name(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; - ownerOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + ownerOf(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; preSaleIsActive(overrides?: CallOverrides): Promise; provenance(overrides?: CallOverrides): Promise; - renounceOwnership(overrides?: Overrides & { from?: string | Promise }): Promise; + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; 'reserveMint(uint256)'( - reservedAmount: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + reservedAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'reserveMint(uint256,address)'( - reservedAmount: BigNumberish, - mintAddress: string, - overrides?: Overrides & { from?: string | Promise }, + reservedAmount: PromiseOrValue, + mintAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'safeTransferFrom(address,address,uint256)'( - from: string, - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'safeTransferFrom(address,address,uint256,bytes)'( - from: string, - to: string, - tokenId: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; saleIsActive(overrides?: CallOverrides): Promise; setApprovalForAll( - operator: string, - approved: boolean, - overrides?: Overrides & { from?: string | Promise }, + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setBaseURI( - newBaseURI: string, - overrides?: Overrides & { from?: string | Promise }, + newBaseURI: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMaxTokenSupply( - maxTorSupply: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + maxTorSupply: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMaxTokensPerTicket( - maxTokensPerMintTicket: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + maxTokensPerMintTicket: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMintPrice( - newPrice: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + newPrice: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setProvenanceHash( - provenanceHash: string, - overrides?: Overrides & { from?: string | Promise }, + provenanceHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - setStartingIndex(overrides?: Overrides & { from?: string | Promise }): Promise; + setStartingIndex(overrides?: Overrides & { from?: PromiseOrValue }): Promise; setTicketContractAddress( - mintTicketContractAddress: string, - overrides?: Overrides & { from?: string | Promise }, + mintTicketContractAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; startingIndex(overrides?: CallOverrides): Promise; startingIndexBlock(overrides?: CallOverrides): Promise; - supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; - tokenByIndex(index: BigNumberish, overrides?: CallOverrides): Promise; + tokenByIndex(index: PromiseOrValue, overrides?: CallOverrides): Promise; - tokenOfOwnerByIndex(owner: string, index: BigNumberish, overrides?: CallOverrides): Promise; + tokenOfOwnerByIndex( + owner: PromiseOrValue, + index: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; - tokenURI(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + tokenURI(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transferFrom( - from: string, - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; transferOwnership( - newOwner: string, - overrides?: Overrides & { from?: string | Promise }, + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; withdraw( - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; withdrawForGiveaway( - amount: BigNumberish, - to: string, - overrides?: Overrides & { from?: string | Promise }, + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; callStatic: { MAX_MINTS_PER_TXN(overrides?: CallOverrides): Promise; - approve(to: string, tokenId: BigNumberish, overrides?: CallOverrides): Promise; + approve( + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; - balanceOf(owner: string, overrides?: CallOverrides): Promise; + balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise; baseURI(overrides?: CallOverrides): Promise; - burn(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + burn(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; emergencySetStartingIndexBlock(overrides?: CallOverrides): Promise; @@ -641,9 +682,13 @@ export interface Erc721 extends BaseContract { flipSaleState(overrides?: CallOverrides): Promise; - getApproved(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + getApproved(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; - isApprovedForAll(owner: string, operator: string, overrides?: CallOverrides): Promise; + isApprovedForAll( + owner: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; maxTokenSupply(overrides?: CallOverrides): Promise; @@ -651,15 +696,15 @@ export interface Erc721 extends BaseContract { mintPrice(overrides?: CallOverrides): Promise; - mintTOR(numberOfTokens: BigNumberish, overrides?: CallOverrides): Promise; + mintTOR(numberOfTokens: PromiseOrValue, overrides?: CallOverrides): Promise; - mintUsingTicket(numberOfTokens: BigNumberish, overrides?: CallOverrides): Promise; + mintUsingTicket(numberOfTokens: PromiseOrValue, overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; - ownerOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + ownerOf(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; preSaleIsActive(overrides?: CallOverrides): Promise; @@ -667,128 +712,173 @@ export interface Erc721 extends BaseContract { renounceOwnership(overrides?: CallOverrides): Promise; - 'reserveMint(uint256)'(reservedAmount: BigNumberish, overrides?: CallOverrides): Promise; + 'reserveMint(uint256)'(reservedAmount: PromiseOrValue, overrides?: CallOverrides): Promise; 'reserveMint(uint256,address)'( - reservedAmount: BigNumberish, - mintAddress: string, + reservedAmount: PromiseOrValue, + mintAddress: PromiseOrValue, overrides?: CallOverrides, ): Promise; 'safeTransferFrom(address,address,uint256)'( - from: string, - to: string, - tokenId: BigNumberish, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, overrides?: CallOverrides, ): Promise; 'safeTransferFrom(address,address,uint256,bytes)'( - from: string, - to: string, - tokenId: BigNumberish, - _data: BytesLike, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + _data: PromiseOrValue, overrides?: CallOverrides, ): Promise; saleIsActive(overrides?: CallOverrides): Promise; - setApprovalForAll(operator: string, approved: boolean, overrides?: CallOverrides): Promise; + setApprovalForAll( + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; - setBaseURI(newBaseURI: string, overrides?: CallOverrides): Promise; + setBaseURI(newBaseURI: PromiseOrValue, overrides?: CallOverrides): Promise; - setMaxTokenSupply(maxTorSupply: BigNumberish, overrides?: CallOverrides): Promise; + setMaxTokenSupply(maxTorSupply: PromiseOrValue, overrides?: CallOverrides): Promise; - setMaxTokensPerTicket(maxTokensPerMintTicket: BigNumberish, overrides?: CallOverrides): Promise; + setMaxTokensPerTicket( + maxTokensPerMintTicket: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; - setMintPrice(newPrice: BigNumberish, overrides?: CallOverrides): Promise; + setMintPrice(newPrice: PromiseOrValue, overrides?: CallOverrides): Promise; - setProvenanceHash(provenanceHash: string, overrides?: CallOverrides): Promise; + setProvenanceHash(provenanceHash: PromiseOrValue, overrides?: CallOverrides): Promise; setStartingIndex(overrides?: CallOverrides): Promise; - setTicketContractAddress(mintTicketContractAddress: string, overrides?: CallOverrides): Promise; + setTicketContractAddress( + mintTicketContractAddress: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; startingIndex(overrides?: CallOverrides): Promise; startingIndexBlock(overrides?: CallOverrides): Promise; - supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; - tokenByIndex(index: BigNumberish, overrides?: CallOverrides): Promise; + tokenByIndex(index: PromiseOrValue, overrides?: CallOverrides): Promise; - tokenOfOwnerByIndex(owner: string, index: BigNumberish, overrides?: CallOverrides): Promise; + tokenOfOwnerByIndex( + owner: PromiseOrValue, + index: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; - tokenURI(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + tokenURI(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; - transferFrom(from: string, to: string, tokenId: BigNumberish, overrides?: CallOverrides): Promise; + transferFrom( + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; - transferOwnership(newOwner: string, overrides?: CallOverrides): Promise; + transferOwnership(newOwner: PromiseOrValue, overrides?: CallOverrides): Promise; - withdraw(amount: BigNumberish, overrides?: CallOverrides): Promise; + withdraw(amount: PromiseOrValue, overrides?: CallOverrides): Promise; - withdrawForGiveaway(amount: BigNumberish, to: string, overrides?: CallOverrides): Promise; + withdrawForGiveaway( + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; }; filters: { 'Approval(address,address,uint256)'( - owner?: string | null, - approved?: string | null, - tokenId?: BigNumberish | null, + owner?: PromiseOrValue | null, + approved?: PromiseOrValue | null, + tokenId?: PromiseOrValue | null, + ): ApprovalEventFilter; + Approval( + owner?: PromiseOrValue | null, + approved?: PromiseOrValue | null, + tokenId?: PromiseOrValue | null, ): ApprovalEventFilter; - Approval(owner?: string | null, approved?: string | null, tokenId?: BigNumberish | null): ApprovalEventFilter; 'ApprovalForAll(address,address,bool)'( - owner?: string | null, - operator?: string | null, + owner?: PromiseOrValue | null, + operator?: PromiseOrValue | null, + approved?: null, + ): ApprovalForAllEventFilter; + ApprovalForAll( + owner?: PromiseOrValue | null, + operator?: PromiseOrValue | null, approved?: null, ): ApprovalForAllEventFilter; - ApprovalForAll(owner?: string | null, operator?: string | null, approved?: null): ApprovalForAllEventFilter; 'OwnershipTransferred(address,address)'( - previousOwner?: string | null, - newOwner?: string | null, + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null, + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null, ): OwnershipTransferredEventFilter; - OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter; 'PaymentReleased(address,uint256)'(to?: null, amount?: null): PaymentReleasedEventFilter; PaymentReleased(to?: null, amount?: null): PaymentReleasedEventFilter; 'Transfer(address,address,uint256)'( - from?: string | null, - to?: string | null, - tokenId?: BigNumberish | null, + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + tokenId?: PromiseOrValue | null, + ): TransferEventFilter; + Transfer( + from?: PromiseOrValue | null, + to?: PromiseOrValue | null, + tokenId?: PromiseOrValue | null, ): TransferEventFilter; - Transfer(from?: string | null, to?: string | null, tokenId?: BigNumberish | null): TransferEventFilter; }; estimateGas: { MAX_MINTS_PER_TXN(overrides?: CallOverrides): Promise; approve( - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - balanceOf(owner: string, overrides?: CallOverrides): Promise; + balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise; baseURI(overrides?: CallOverrides): Promise; - burn(tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise }): Promise; + burn( + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; - emergencySetStartingIndexBlock(overrides?: Overrides & { from?: string | Promise }): Promise; + emergencySetStartingIndexBlock(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - flipPreSaleState(overrides?: Overrides & { from?: string | Promise }): Promise; + flipPreSaleState(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - flipSaleState(overrides?: Overrides & { from?: string | Promise }): Promise; + flipSaleState(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - getApproved(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + getApproved(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; - isApprovedForAll(owner: string, operator: string, overrides?: CallOverrides): Promise; + isApprovedForAll( + owner: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; maxTokenSupply(overrides?: CallOverrides): Promise; @@ -797,124 +887,134 @@ export interface Erc721 extends BaseContract { mintPrice(overrides?: CallOverrides): Promise; mintTOR( - numberOfTokens: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise }, + numberOfTokens: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise; mintUsingTicket( - numberOfTokens: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise }, + numberOfTokens: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise; name(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; - ownerOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + ownerOf(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; preSaleIsActive(overrides?: CallOverrides): Promise; provenance(overrides?: CallOverrides): Promise; - renounceOwnership(overrides?: Overrides & { from?: string | Promise }): Promise; + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; 'reserveMint(uint256)'( - reservedAmount: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + reservedAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'reserveMint(uint256,address)'( - reservedAmount: BigNumberish, - mintAddress: string, - overrides?: Overrides & { from?: string | Promise }, + reservedAmount: PromiseOrValue, + mintAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'safeTransferFrom(address,address,uint256)'( - from: string, - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'safeTransferFrom(address,address,uint256,bytes)'( - from: string, - to: string, - tokenId: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; saleIsActive(overrides?: CallOverrides): Promise; setApprovalForAll( - operator: string, - approved: boolean, - overrides?: Overrides & { from?: string | Promise }, + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - setBaseURI(newBaseURI: string, overrides?: Overrides & { from?: string | Promise }): Promise; + setBaseURI( + newBaseURI: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; setMaxTokenSupply( - maxTorSupply: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + maxTorSupply: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMaxTokensPerTicket( - maxTokensPerMintTicket: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + maxTokensPerMintTicket: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMintPrice( - newPrice: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + newPrice: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setProvenanceHash( - provenanceHash: string, - overrides?: Overrides & { from?: string | Promise }, + provenanceHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - setStartingIndex(overrides?: Overrides & { from?: string | Promise }): Promise; + setStartingIndex(overrides?: Overrides & { from?: PromiseOrValue }): Promise; setTicketContractAddress( - mintTicketContractAddress: string, - overrides?: Overrides & { from?: string | Promise }, + mintTicketContractAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; startingIndex(overrides?: CallOverrides): Promise; startingIndexBlock(overrides?: CallOverrides): Promise; - supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; - tokenByIndex(index: BigNumberish, overrides?: CallOverrides): Promise; + tokenByIndex(index: PromiseOrValue, overrides?: CallOverrides): Promise; - tokenOfOwnerByIndex(owner: string, index: BigNumberish, overrides?: CallOverrides): Promise; + tokenOfOwnerByIndex( + owner: PromiseOrValue, + index: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; - tokenURI(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + tokenURI(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transferFrom( - from: string, - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; transferOwnership( - newOwner: string, - overrides?: Overrides & { from?: string | Promise }, + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - withdraw(amount: BigNumberish, overrides?: Overrides & { from?: string | Promise }): Promise; + withdraw( + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, + ): Promise; withdrawForGiveaway( - amount: BigNumberish, - to: string, - overrides?: Overrides & { from?: string | Promise }, + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; }; @@ -922,31 +1022,35 @@ export interface Erc721 extends BaseContract { MAX_MINTS_PER_TXN(overrides?: CallOverrides): Promise; approve( - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - balanceOf(owner: string, overrides?: CallOverrides): Promise; + balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise; baseURI(overrides?: CallOverrides): Promise; burn( - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; emergencySetStartingIndexBlock( - overrides?: Overrides & { from?: string | Promise }, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - flipPreSaleState(overrides?: Overrides & { from?: string | Promise }): Promise; + flipPreSaleState(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - flipSaleState(overrides?: Overrides & { from?: string | Promise }): Promise; + flipSaleState(overrides?: Overrides & { from?: PromiseOrValue }): Promise; - getApproved(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + getApproved(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; - isApprovedForAll(owner: string, operator: string, overrides?: CallOverrides): Promise; + isApprovedForAll( + owner: PromiseOrValue, + operator: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; maxTokenSupply(overrides?: CallOverrides): Promise; @@ -955,130 +1059,134 @@ export interface Erc721 extends BaseContract { mintPrice(overrides?: CallOverrides): Promise; mintTOR( - numberOfTokens: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise }, + numberOfTokens: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise; mintUsingTicket( - numberOfTokens: BigNumberish, - overrides?: PayableOverrides & { from?: string | Promise }, + numberOfTokens: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise; name(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; - ownerOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + ownerOf(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; preSaleIsActive(overrides?: CallOverrides): Promise; provenance(overrides?: CallOverrides): Promise; - renounceOwnership(overrides?: Overrides & { from?: string | Promise }): Promise; + renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue }): Promise; 'reserveMint(uint256)'( - reservedAmount: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + reservedAmount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'reserveMint(uint256,address)'( - reservedAmount: BigNumberish, - mintAddress: string, - overrides?: Overrides & { from?: string | Promise }, + reservedAmount: PromiseOrValue, + mintAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'safeTransferFrom(address,address,uint256)'( - from: string, - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; 'safeTransferFrom(address,address,uint256,bytes)'( - from: string, - to: string, - tokenId: BigNumberish, - _data: BytesLike, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + _data: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; saleIsActive(overrides?: CallOverrides): Promise; setApprovalForAll( - operator: string, - approved: boolean, - overrides?: Overrides & { from?: string | Promise }, + operator: PromiseOrValue, + approved: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setBaseURI( - newBaseURI: string, - overrides?: Overrides & { from?: string | Promise }, + newBaseURI: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMaxTokenSupply( - maxTorSupply: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + maxTorSupply: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMaxTokensPerTicket( - maxTokensPerMintTicket: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + maxTokensPerMintTicket: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setMintPrice( - newPrice: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + newPrice: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; setProvenanceHash( - provenanceHash: string, - overrides?: Overrides & { from?: string | Promise }, + provenanceHash: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - setStartingIndex(overrides?: Overrides & { from?: string | Promise }): Promise; + setStartingIndex(overrides?: Overrides & { from?: PromiseOrValue }): Promise; setTicketContractAddress( - mintTicketContractAddress: string, - overrides?: Overrides & { from?: string | Promise }, + mintTicketContractAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; startingIndex(overrides?: CallOverrides): Promise; startingIndexBlock(overrides?: CallOverrides): Promise; - supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; + supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; - tokenByIndex(index: BigNumberish, overrides?: CallOverrides): Promise; + tokenByIndex(index: PromiseOrValue, overrides?: CallOverrides): Promise; - tokenOfOwnerByIndex(owner: string, index: BigNumberish, overrides?: CallOverrides): Promise; + tokenOfOwnerByIndex( + owner: PromiseOrValue, + index: PromiseOrValue, + overrides?: CallOverrides, + ): Promise; - tokenURI(tokenId: BigNumberish, overrides?: CallOverrides): Promise; + tokenURI(tokenId: PromiseOrValue, overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transferFrom( - from: string, - to: string, - tokenId: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + from: PromiseOrValue, + to: PromiseOrValue, + tokenId: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; transferOwnership( - newOwner: string, - overrides?: Overrides & { from?: string | Promise }, + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; withdraw( - amount: BigNumberish, - overrides?: Overrides & { from?: string | Promise }, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; withdrawForGiveaway( - amount: BigNumberish, - to: string, - overrides?: Overrides & { from?: string | Promise }, + amount: PromiseOrValue, + to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; }; } diff --git a/src/contract/contracts/ethers/Multicall.ts b/src/contract/contracts/ethers/Multicall.ts index c5630e8b3..f5524ee5d 100644 --- a/src/contract/contracts/ethers/Multicall.ts +++ b/src/contract/contracts/ethers/Multicall.ts @@ -15,17 +15,23 @@ import type { } from 'ethers'; import type { FunctionFragment, Result } from '@ethersproject/abi'; import type { Listener, Provider } from '@ethersproject/providers'; -import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from './common'; +import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common'; export declare namespace Multicall { - export type CallStruct = { target: string; callData: BytesLike }; + export type CallStruct = { + target: PromiseOrValue; + callData: PromiseOrValue; + }; export type CallStructOutput = [string, string] & { target: string; callData: string; }; - export type ReturnStruct = { success: boolean; data: BytesLike }; + export type ReturnStruct = { + success: PromiseOrValue; + data: PromiseOrValue; + }; export type ReturnStructOutput = [boolean, string] & { success: boolean; @@ -57,13 +63,13 @@ export interface MulticallInterface extends utils.Interface { | 'getLastBlockHash', ): FunctionFragment; - encodeFunctionData(functionFragment: 'aggregate', values: [Multicall.CallStruct[], boolean]): string; - encodeFunctionData(functionFragment: 'getBlockHash', values: [BigNumberish]): string; + encodeFunctionData(functionFragment: 'aggregate', values: [Multicall.CallStruct[], PromiseOrValue]): string; + encodeFunctionData(functionFragment: 'getBlockHash', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'getCurrentBlockCoinbase', values?: undefined): string; encodeFunctionData(functionFragment: 'getCurrentBlockDifficulty', values?: undefined): string; encodeFunctionData(functionFragment: 'getCurrentBlockGasLimit', values?: undefined): string; encodeFunctionData(functionFragment: 'getCurrentBlockTimestamp', values?: undefined): string; - encodeFunctionData(functionFragment: 'getEthBalance', values: [string]): string; + encodeFunctionData(functionFragment: 'getEthBalance', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'getLastBlockHash', values?: undefined): string; decodeFunctionResult(functionFragment: 'aggregate', data: BytesLike): Result; @@ -103,11 +109,14 @@ export interface Multicall extends BaseContract { functions: { aggregate( calls: Multicall.CallStruct[], - strict: boolean, - overrides?: Overrides & { from?: string | Promise }, + strict: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - getBlockHash(blockNumber: BigNumberish, overrides?: CallOverrides): Promise<[string] & { blockHash: string }>; + getBlockHash( + blockNumber: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[string] & { blockHash: string }>; getCurrentBlockCoinbase(overrides?: CallOverrides): Promise<[string] & { coinbase: string }>; @@ -117,18 +126,21 @@ export interface Multicall extends BaseContract { getCurrentBlockTimestamp(overrides?: CallOverrides): Promise<[BigNumber] & { timestamp: BigNumber }>; - getEthBalance(addr: string, overrides?: CallOverrides): Promise<[BigNumber] & { balance: BigNumber }>; + getEthBalance( + addr: PromiseOrValue, + overrides?: CallOverrides, + ): Promise<[BigNumber] & { balance: BigNumber }>; getLastBlockHash(overrides?: CallOverrides): Promise<[string] & { blockHash: string }>; }; aggregate( calls: Multicall.CallStruct[], - strict: boolean, - overrides?: Overrides & { from?: string | Promise }, + strict: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - getBlockHash(blockNumber: BigNumberish, overrides?: CallOverrides): Promise; + getBlockHash(blockNumber: PromiseOrValue, overrides?: CallOverrides): Promise; getCurrentBlockCoinbase(overrides?: CallOverrides): Promise; @@ -138,14 +150,14 @@ export interface Multicall extends BaseContract { getCurrentBlockTimestamp(overrides?: CallOverrides): Promise; - getEthBalance(addr: string, overrides?: CallOverrides): Promise; + getEthBalance(addr: PromiseOrValue, overrides?: CallOverrides): Promise; getLastBlockHash(overrides?: CallOverrides): Promise; callStatic: { aggregate( calls: Multicall.CallStruct[], - strict: boolean, + strict: PromiseOrValue, overrides?: CallOverrides, ): Promise< [BigNumber, Multicall.ReturnStructOutput[]] & { @@ -154,7 +166,7 @@ export interface Multicall extends BaseContract { } >; - getBlockHash(blockNumber: BigNumberish, overrides?: CallOverrides): Promise; + getBlockHash(blockNumber: PromiseOrValue, overrides?: CallOverrides): Promise; getCurrentBlockCoinbase(overrides?: CallOverrides): Promise; @@ -164,7 +176,7 @@ export interface Multicall extends BaseContract { getCurrentBlockTimestamp(overrides?: CallOverrides): Promise; - getEthBalance(addr: string, overrides?: CallOverrides): Promise; + getEthBalance(addr: PromiseOrValue, overrides?: CallOverrides): Promise; getLastBlockHash(overrides?: CallOverrides): Promise; }; @@ -174,11 +186,11 @@ export interface Multicall extends BaseContract { estimateGas: { aggregate( calls: Multicall.CallStruct[], - strict: boolean, - overrides?: Overrides & { from?: string | Promise }, + strict: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - getBlockHash(blockNumber: BigNumberish, overrides?: CallOverrides): Promise; + getBlockHash(blockNumber: PromiseOrValue, overrides?: CallOverrides): Promise; getCurrentBlockCoinbase(overrides?: CallOverrides): Promise; @@ -188,7 +200,7 @@ export interface Multicall extends BaseContract { getCurrentBlockTimestamp(overrides?: CallOverrides): Promise; - getEthBalance(addr: string, overrides?: CallOverrides): Promise; + getEthBalance(addr: PromiseOrValue, overrides?: CallOverrides): Promise; getLastBlockHash(overrides?: CallOverrides): Promise; }; @@ -196,11 +208,11 @@ export interface Multicall extends BaseContract { populateTransaction: { aggregate( calls: Multicall.CallStruct[], - strict: boolean, - overrides?: Overrides & { from?: string | Promise }, + strict: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue }, ): Promise; - getBlockHash(blockNumber: BigNumberish, overrides?: CallOverrides): Promise; + getBlockHash(blockNumber: PromiseOrValue, overrides?: CallOverrides): Promise; getCurrentBlockCoinbase(overrides?: CallOverrides): Promise; @@ -210,7 +222,7 @@ export interface Multicall extends BaseContract { getCurrentBlockTimestamp(overrides?: CallOverrides): Promise; - getEthBalance(addr: string, overrides?: CallOverrides): Promise; + getEthBalance(addr: PromiseOrValue, overrides?: CallOverrides): Promise; getLastBlockHash(overrides?: CallOverrides): Promise; }; diff --git a/src/contract/contracts/ethers/common.ts b/src/contract/contracts/ethers/common.ts index 6cfb10425..35f31be99 100644 --- a/src/contract/contracts/ethers/common.ts +++ b/src/contract/contracts/ethers/common.ts @@ -28,3 +28,5 @@ export type MinEthersFactory = { 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/contract/contracts/ethers/factories/Erc4626__factory.ts b/src/contract/contracts/ethers/factories/Erc4626__factory.ts new file mode 100644 index 000000000..78be28465 --- /dev/null +++ b/src/contract/contracts/ethers/factories/Erc4626__factory.ts @@ -0,0 +1,583 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from 'ethers'; +import type { Provider } from '@ethersproject/providers'; +import type { Erc4626, Erc4626Interface } from '../Erc4626'; + +const _abi = [ + { + constant: true, + inputs: [], + name: 'name', + outputs: [ + { + name: '', + type: 'string', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_spender', + type: 'address', + }, + { + name: '_value', + type: 'uint256', + }, + ], + name: 'approve', + outputs: [ + { + name: '', + type: 'bool', + }, + ], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'totalSupply', + outputs: [ + { + name: '', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_from', + type: 'address', + }, + { + name: '_to', + type: 'address', + }, + { + name: '_value', + type: 'uint256', + }, + ], + name: 'transferFrom', + outputs: [ + { + name: '', + type: 'bool', + }, + ], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'decimals', + outputs: [ + { + name: '', + type: 'uint8', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: '_owner', + type: 'address', + }, + ], + name: 'balanceOf', + outputs: [ + { + name: 'balance', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: true, + inputs: [], + name: 'symbol', + outputs: [ + { + name: '', + type: 'string', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + constant: false, + inputs: [ + { + name: '_to', + type: 'address', + }, + { + name: '_value', + type: 'uint256', + }, + ], + name: 'transfer', + outputs: [ + { + name: '', + type: 'bool', + }, + ], + payable: false, + stateMutability: 'nonpayable', + type: 'function', + }, + { + constant: true, + inputs: [ + { + name: '_owner', + type: 'address', + }, + { + name: '_spender', + type: 'address', + }, + ], + name: 'allowance', + outputs: [ + { + name: '', + type: 'uint256', + }, + ], + payable: false, + stateMutability: 'view', + type: 'function', + }, + { + payable: true, + stateMutability: 'payable', + type: 'fallback', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'owner', + type: 'address', + }, + { + indexed: true, + name: 'spender', + type: 'address', + }, + { + indexed: false, + name: 'value', + type: 'uint256', + }, + ], + name: 'Approval', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'from', + type: 'address', + }, + { + indexed: true, + name: 'to', + type: 'address', + }, + { + indexed: false, + name: 'value', + type: 'uint256', + }, + ], + name: 'Transfer', + type: 'event', + }, + { + name: 'asset', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [ + { + name: 'assetTokenAddress', + type: 'address', + }, + ], + }, + { + name: 'totalAssets', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [ + { + name: 'totalManagedAssets', + type: 'uint256', + }, + ], + }, + { + name: 'convertToShares', + type: 'function', + stateMutability: 'view', + inputs: [ + { + name: 'assets', + type: 'uint256', + }, + ], + outputs: [ + { + name: 'shares', + type: 'uint256', + }, + ], + }, + { + name: 'convertToAssets', + type: 'function', + stateMutability: 'view', + inputs: [ + { + name: 'shares', + type: 'uint256', + }, + ], + outputs: [ + { + name: 'assets', + type: 'uint256', + }, + ], + }, + { + name: 'maxDeposit', + type: 'function', + stateMutability: 'view', + inputs: [ + { + name: 'receiver', + type: 'address', + }, + ], + outputs: [ + { + name: 'maxAssets', + type: 'uint256', + }, + ], + }, + { + name: 'previewDeposit', + type: 'function', + stateMutability: 'view', + inputs: [ + { + name: 'assets', + type: 'uint256', + }, + ], + outputs: [ + { + name: 'shares', + type: 'uint256', + }, + ], + }, + { + name: 'deposit', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { + name: 'assets', + type: 'uint256', + }, + { + name: 'receiver', + type: 'address', + }, + ], + outputs: [ + { + name: 'shares', + type: 'uint256', + }, + ], + }, + { + name: 'maxMint', + type: 'function', + stateMutability: 'view', + inputs: [ + { + name: 'receiver', + type: 'address', + }, + ], + outputs: [ + { + name: 'maxShares', + type: 'uint256', + }, + ], + }, + { + name: 'previewMint', + type: 'function', + stateMutability: 'view', + inputs: [ + { + name: 'shares', + type: 'uint256', + }, + ], + outputs: [ + { + name: 'assets', + type: 'uint256', + }, + ], + }, + { + name: 'mint', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { + name: 'shares', + type: 'uint256', + }, + { + name: 'receiver', + type: 'address', + }, + ], + outputs: [ + { + name: 'assets', + type: 'uint256', + }, + ], + }, + { + name: 'maxWithdraw', + type: 'function', + stateMutability: 'view', + inputs: [ + { + name: 'owner', + type: 'address', + }, + ], + outputs: [ + { + name: 'maxAssets', + type: 'uint256', + }, + ], + }, + { + name: 'previewWithdraw', + type: 'function', + stateMutability: 'view', + inputs: [ + { + name: 'assets', + type: 'uint256', + }, + ], + outputs: [ + { + name: 'shares', + type: 'uint256', + }, + ], + }, + { + name: 'withdraw', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { + name: 'assets', + type: 'uint256', + }, + { + name: 'receiver', + type: 'address', + }, + { + name: 'owner', + type: 'address', + }, + ], + outputs: [ + { + name: 'shares', + type: 'uint256', + }, + ], + }, + { + name: 'maxRedeem', + type: 'function', + stateMutability: 'view', + inputs: [ + { + name: 'owner', + type: 'address', + }, + ], + outputs: [ + { + name: 'maxShares', + type: 'uint256', + }, + ], + }, + { + name: 'previewRedeem', + type: 'function', + stateMutability: 'view', + inputs: [ + { + name: 'shares', + type: 'uint256', + }, + ], + outputs: [ + { + name: 'assets', + type: 'uint256', + }, + ], + }, + { + name: 'redeem', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { + name: 'shares', + type: 'uint256', + }, + { + name: 'receiver', + type: 'address', + }, + { + name: 'owner', + type: 'address', + }, + ], + outputs: [ + { + name: 'assets', + type: 'uint256', + }, + ], + }, + { + name: 'Deposit', + type: 'event', + inputs: [ + { + name: '_caller', + indexed: true, + type: 'address', + }, + { + name: 'owner', + indexed: true, + type: 'address', + }, + { + name: 'assets', + indexed: false, + type: 'uint256', + }, + { + name: 'shares', + indexed: false, + type: 'uint256', + }, + ], + }, + { + name: 'Withdraw', + type: 'event', + inputs: [ + { + name: '_caller', + indexed: true, + type: 'address', + }, + { + name: 'receiver', + indexed: true, + type: 'address', + }, + { + name: 'owner', + indexed: true, + type: 'address', + }, + { + name: 'assets', + indexed: false, + type: 'uint256', + }, + { + name: 'shares', + indexed: false, + type: 'uint256', + }, + ], + }, +]; + +export class Erc4626__factory { + static readonly abi = _abi; + static createInterface(): Erc4626Interface { + return new utils.Interface(_abi) as Erc4626Interface; + } + static connect(address: string, signerOrProvider: Signer | Provider): Erc4626 { + return new Contract(address, _abi, signerOrProvider) as Erc4626; + } +} diff --git a/src/contract/contracts/ethers/factories/index.ts b/src/contract/contracts/ethers/factories/index.ts index 84d20e742..238df1a26 100644 --- a/src/contract/contracts/ethers/factories/index.ts +++ b/src/contract/contracts/ethers/factories/index.ts @@ -3,5 +3,6 @@ /* eslint-disable */ export { Erc1155__factory } from './Erc1155__factory'; export { Erc20__factory } from './Erc20__factory'; +export { Erc4626__factory } from './Erc4626__factory'; export { Erc721__factory } from './Erc721__factory'; export { Multicall__factory } from './Multicall__factory'; diff --git a/src/contract/contracts/ethers/index.ts b/src/contract/contracts/ethers/index.ts index a811ae59b..d2ab76af8 100644 --- a/src/contract/contracts/ethers/index.ts +++ b/src/contract/contracts/ethers/index.ts @@ -3,10 +3,12 @@ /* eslint-disable */ export type { Erc1155 } from './Erc1155'; export type { Erc20 } from './Erc20'; +export type { Erc4626 } from './Erc4626'; export type { Erc721 } from './Erc721'; export type { Multicall } from './Multicall'; export * as factories from './factories'; export { Erc1155__factory } from './factories/Erc1155__factory'; export { Erc20__factory } from './factories/Erc20__factory'; +export { Erc4626__factory } from './factories/Erc4626__factory'; export { Erc721__factory } from './factories/Erc721__factory'; export { Multicall__factory } from './factories/Multicall__factory'; diff --git a/src/contract/contracts/index.ts b/src/contract/contracts/index.ts index 4f1616287..8660544f1 100644 --- a/src/contract/contracts/index.ts +++ b/src/contract/contracts/index.ts @@ -3,21 +3,17 @@ import { Injectable } from '@nestjs/common'; import { Network } from '~types/network.interface'; -import { Erc1155__factory } from './ethers'; -import { Erc20__factory } from './ethers'; -import { Erc721__factory } from './ethers'; -import { Multicall__factory } from './ethers'; -import type { Erc1155 } from './ethers'; -import type { Erc20 } from './ethers'; -import type { Erc721 } from './ethers'; -import type { Multicall } from './ethers'; +import { Erc1155__factory, Erc20__factory, Erc4626__factory, Erc721__factory, Multicall__factory } from './ethers'; +import type { Erc1155, Erc20, Erc4626, Erc721, Multicall } from './ethers'; +// eslint-disable-next-line type ContractOpts = { address: string; network: Network }; type NetworkProviderResolver = (network: Network) => StaticJsonRpcProvider; export interface IContractFactory { erc1155(opts: ContractOpts): Erc1155; erc20(opts: ContractOpts): Erc20; + erc4626(opts: ContractOpts): Erc4626; erc721(opts: ContractOpts): Erc721; multicall(opts: ContractOpts): Multicall; } @@ -32,6 +28,9 @@ export class ContractFactory implements IContractFactory { erc20({ address, network }: ContractOpts) { return Erc20__factory.connect(address, this.networkProviderResolver(network)); } + erc4626({ address, network }: ContractOpts) { + return Erc4626__factory.connect(address, this.networkProviderResolver(network)); + } erc721({ address, network }: ContractOpts) { return Erc721__factory.connect(address, this.networkProviderResolver(network)); } @@ -42,5 +41,6 @@ export class ContractFactory implements IContractFactory { export type { Erc1155 } from './ethers'; export type { Erc20 } from './ethers'; +export type { Erc4626 } from './ethers'; export type { Erc721 } from './ethers'; export type { Multicall } from './ethers'; diff --git a/src/position/template/erc4626-vault.template.token-fetcher.ts b/src/position/template/erc4626-vault.template.token-fetcher.ts new file mode 100644 index 000000000..a9c39a3f1 --- /dev/null +++ b/src/position/template/erc4626-vault.template.token-fetcher.ts @@ -0,0 +1,41 @@ +import { Erc20, Erc4626 } from '~contract/contracts'; +import { AppTokenTemplatePositionFetcher } from '~position/template/app-token.template.position-fetcher'; +import { GetDataPropsParams, GetPricePerShareParams, GetUnderlyingTokensParams } from './app-token.template.types'; + +export abstract class Erc4626VaultTemplateTokenFetcher extends AppTokenTemplatePositionFetcher { + abstract get vaultAddress(): string | Promise; + + getContract(address: string): Erc4626 { + return this.appToolkit.globalContracts.erc4626({ address, network: this.network }); + } + + async getAddresses(): Promise { + const vaultAddress = await this.vaultAddress; + return [vaultAddress]; + } + + async getUnderlyingTokenDefinitions({ contract }: GetUnderlyingTokensParams) { + const underlyingToken = await contract.asset(); + return [{ address: underlyingToken, network: this.network }]; + } + + async getPricePerShare({ contract, appToken }: GetPricePerShareParams) { + const reserveRaw = await contract.totalAssets(); + const reserve = Number(reserveRaw) / 10 ** appToken.tokens[0].decimals; + const pricePerShare = reserve / appToken.supply; + return [pricePerShare]; + } + + async getLiquidity({ contract, appToken }: GetDataPropsParams) { + const reserveRaw = await contract.totalAssets(); + const reserve = Number(reserveRaw) / 10 ** appToken.tokens[0].decimals; + const liquidity = reserve * appToken.tokens[0].price; + return liquidity; + } + + async getReserves({ contract, appToken }: GetDataPropsParams) { + const reserveRaw = await contract.totalAssets(); + const reserve = Number(reserveRaw) / 10 ** appToken.tokens[0].decimals; + return [reserve]; + } +}