diff --git a/hardhat.config.ts b/hardhat.config.ts index 0ecea877..e9361a2d 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -43,7 +43,8 @@ const config: HardhatUserConfig = { }, viaIR: true, }, - }, { + }, + { version: "0.8.21", settings: { optimizer: { @@ -70,7 +71,7 @@ const config: HardhatUserConfig = { }, typechain: { target: "ethers-v6", - outDir: "types/", + outDir: "pkg/types/", externalArtifacts: ["deps/**/*.json"], }, tracer: { diff --git a/package.json b/package.json index eeccd00a..15a28ee4 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,10 @@ "url": "https://github.com/morpho-labs/morpho-blue-bundlers/issues" }, "homepage": "https://github.com/morpho-labs/morpho-blue-bundlers#readme", + "main": "dist/index.js", + "files": [ + "dist" + ], "scripts": { "prepare": "husky install && forge install", "build:pkg": "yarn build:hardhat --force && tsc --build ./tsconfig.build.json", diff --git a/pkg/BundlerAction.ts b/pkg/BundlerAction.ts index 678abc9f..332bf92e 100644 --- a/pkg/BundlerAction.ts +++ b/pkg/BundlerAction.ts @@ -17,8 +17,8 @@ import { EthereumPermitBundler__factory, IAllowanceTransfer, ERC20WrapperBundler__factory, -} from "../types"; -import { AuthorizationStruct, MarketParamsStruct, WithdrawalStruct } from "../types/src/MorphoBundler"; +} from "./types"; +import { AuthorizationStruct, MarketParamsStruct, WithdrawalStruct } from "./types/src/MorphoBundler"; export type BundlerCall = string; diff --git a/pkg/index.ts b/pkg/index.ts index c7031171..ea876827 100644 --- a/pkg/index.ts +++ b/pkg/index.ts @@ -1 +1,2 @@ export { BundlerAction, BundlerCall } from "./BundlerAction"; +export * from "./types"; diff --git a/pkg/types/common.ts b/pkg/types/common.ts new file mode 100644 index 00000000..56b5f21e --- /dev/null +++ b/pkg/types/common.ts @@ -0,0 +1,131 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + FunctionFragment, + Typed, + EventFragment, + ContractTransaction, + ContractTransactionResponse, + DeferredTopicFilter, + EventLog, + TransactionRequest, + LogDescription, +} from "ethers"; + +export interface TypedDeferredTopicFilter<_TCEvent extends TypedContractEvent> + extends DeferredTopicFilter {} + +export interface TypedContractEvent< + InputTuple extends Array = any, + OutputTuple extends Array = any, + OutputObject = any +> { + (...args: Partial): TypedDeferredTopicFilter< + TypedContractEvent + >; + name: string; + fragment: EventFragment; + getFragment(...args: Partial): EventFragment; +} + +type __TypechainAOutputTuple = T extends TypedContractEvent< + infer _U, + infer W +> + ? W + : never; +type __TypechainOutputObject = T extends TypedContractEvent< + infer _U, + infer _W, + infer V +> + ? V + : never; + +export interface TypedEventLog + extends Omit { + args: __TypechainAOutputTuple & __TypechainOutputObject; +} + +export interface TypedLogDescription + extends Omit { + args: __TypechainAOutputTuple & __TypechainOutputObject; +} + +export type TypedListener = ( + ...listenerArg: [ + ...__TypechainAOutputTuple, + TypedEventLog, + ...undefined[] + ] +) => void; + +export type MinEthersFactory = { + deploy(...a: ARGS[]): Promise; +}; + +export type GetContractTypeFromFactory = F extends MinEthersFactory< + infer C, + any +> + ? C + : never; +export type GetARGsTypeFromFactory = F extends MinEthersFactory + ? Parameters + : never; + +export type StateMutability = "nonpayable" | "payable" | "view"; + +export type BaseOverrides = Omit; +export type NonPayableOverrides = Omit< + BaseOverrides, + "value" | "blockTag" | "enableCcipRead" +>; +export type PayableOverrides = Omit< + BaseOverrides, + "blockTag" | "enableCcipRead" +>; +export type ViewOverrides = Omit; +export type Overrides = S extends "nonpayable" + ? NonPayableOverrides + : S extends "payable" + ? PayableOverrides + : ViewOverrides; + +export type PostfixOverrides, S extends StateMutability> = + | A + | [...A, Overrides]; +export type ContractMethodArgs< + A extends Array, + S extends StateMutability +> = PostfixOverrides<{ [I in keyof A]-?: A[I] | Typed }, S>; + +export type DefaultReturnType = R extends Array ? R[0] : R; + +// export interface ContractMethod = Array, R = any, D extends R | ContractTransactionResponse = R | ContractTransactionResponse> { +export interface TypedContractMethod< + A extends Array = Array, + R = any, + S extends StateMutability = "payable" +> { + (...args: ContractMethodArgs): S extends "view" + ? Promise> + : Promise; + + name: string; + + fragment: FunctionFragment; + + getFragment(...args: ContractMethodArgs): FunctionFragment; + + populateTransaction( + ...args: ContractMethodArgs + ): Promise; + staticCall( + ...args: ContractMethodArgs + ): Promise>; + send(...args: ContractMethodArgs): Promise; + estimateGas(...args: ContractMethodArgs): Promise; + staticCallResult(...args: ContractMethodArgs): Promise; +} diff --git a/pkg/types/factories/index.ts b/pkg/types/factories/index.ts new file mode 100644 index 00000000..02f590e2 --- /dev/null +++ b/pkg/types/factories/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as lib from "./lib"; +export * as solmate from "./solmate"; +export * as src from "./src"; diff --git a/pkg/types/factories/lib/index.ts b/pkg/types/factories/lib/index.ts new file mode 100644 index 00000000..560373aa --- /dev/null +++ b/pkg/types/factories/lib/index.ts @@ -0,0 +1,11 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as metamorpho from "./metamorpho"; +export * as morphoBlue from "./morpho-blue"; +export * as morphoBlueIrm from "./morpho-blue-irm"; +export * as openzeppelinContracts from "./openzeppelin-contracts"; +export * as permit2 from "./permit2"; +export * as publicAllocator from "./public-allocator"; +export * as solmate from "./solmate"; +export * as universalRewardsDistributor from "./universal-rewards-distributor"; diff --git a/pkg/types/factories/lib/metamorpho/index.ts b/pkg/types/factories/lib/metamorpho/index.ts new file mode 100644 index 00000000..c22a39aa --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as lib from "./lib"; +export * as src from "./src"; diff --git a/pkg/types/factories/lib/metamorpho/lib/index.ts b/pkg/types/factories/lib/metamorpho/lib/index.ts new file mode 100644 index 00000000..01316807 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as morphoBlue from "./morpho-blue"; +export * as openzeppelinContracts from "./openzeppelin-contracts"; diff --git a/pkg/types/factories/lib/metamorpho/lib/morpho-blue/index.ts b/pkg/types/factories/lib/metamorpho/lib/morpho-blue/index.ts new file mode 100644 index 00000000..ba4b1074 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/morpho-blue/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as src from "./src"; diff --git a/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/index.ts b/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/index.ts new file mode 100644 index 00000000..1d3444d5 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; diff --git a/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IIrm__factory.ts b/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IIrm__factory.ts new file mode 100644 index 00000000..427821d3 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IIrm__factory.ts @@ -0,0 +1,188 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IIrm, + IIrmInterface, +} from "../../../../../../../lib/metamorpho/lib/morpho-blue/src/interfaces/IIrm"; + +const _abi = [ + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "market", + type: "tuple", + }, + ], + name: "borrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "market", + type: "tuple", + }, + ], + name: "borrowRateView", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IIrm__factory { + static readonly abi = _abi; + static createInterface(): IIrmInterface { + return new Interface(_abi) as IIrmInterface; + } + static connect(address: string, runner?: ContractRunner | null): IIrm { + return new Contract(address, _abi, runner) as unknown as IIrm; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase__factory.ts b/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase__factory.ts new file mode 100644 index 00000000..a8200946 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase__factory.ts @@ -0,0 +1,906 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorphoBase, + IMorphoBaseInterface, +} from "../../../../../../../../lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "accrueInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "borrow", + outputs: [ + { + internalType: "uint256", + name: "assetsBorrowed", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesBorrowed", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "createMarket", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "enableIrm", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "enableLltv", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "slots", + type: "bytes32[]", + }, + ], + name: "extSloads", + outputs: [ + { + internalType: "bytes32[]", + name: "", + type: "bytes32[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "flashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + ], + name: "isAuthorized", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "isIrmEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "isLltvEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "address", + name: "borrower", + type: "address", + }, + { + internalType: "uint256", + name: "seizedAssets", + type: "uint256", + }, + { + internalType: "uint256", + name: "repaidShares", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "liquidate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + ], + name: "nonce", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "repay", + outputs: [ + { + internalType: "uint256", + name: "assetsRepaid", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesRepaid", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "newIsAuthorized", + type: "bool", + }, + ], + name: "setAuthorization", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "setAuthorizationWithSig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supply", + outputs: [ + { + internalType: "uint256", + name: "assetsSupplied", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesSupplied", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "assetsWithdrawn", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesWithdrawn", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdrawCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorphoBase__factory { + static readonly abi = _abi; + static createInterface(): IMorphoBaseInterface { + return new Interface(_abi) as IMorphoBaseInterface; + } + static connect(address: string, runner?: ContractRunner | null): IMorphoBase { + return new Contract(address, _abi, runner) as unknown as IMorphoBase; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping__factory.ts b/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping__factory.ts new file mode 100644 index 00000000..b663cb37 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping__factory.ts @@ -0,0 +1,1030 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorphoStaticTyping, + IMorphoStaticTypingInterface, +} from "../../../../../../../../lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "accrueInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "borrow", + outputs: [ + { + internalType: "uint256", + name: "assetsBorrowed", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesBorrowed", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "createMarket", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "enableIrm", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "enableLltv", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "slots", + type: "bytes32[]", + }, + ], + name: "extSloads", + outputs: [ + { + internalType: "bytes32[]", + name: "", + type: "bytes32[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "flashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "idToMarketParams", + outputs: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + ], + name: "isAuthorized", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "isIrmEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "isLltvEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "address", + name: "borrower", + type: "address", + }, + { + internalType: "uint256", + name: "seizedAssets", + type: "uint256", + }, + { + internalType: "uint256", + name: "repaidShares", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "liquidate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "market", + outputs: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + ], + name: "nonce", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + internalType: "address", + name: "user", + type: "address", + }, + ], + name: "position", + outputs: [ + { + internalType: "uint256", + name: "supplyShares", + type: "uint256", + }, + { + internalType: "uint128", + name: "borrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "collateral", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "repay", + outputs: [ + { + internalType: "uint256", + name: "assetsRepaid", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesRepaid", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "newIsAuthorized", + type: "bool", + }, + ], + name: "setAuthorization", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "setAuthorizationWithSig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supply", + outputs: [ + { + internalType: "uint256", + name: "assetsSupplied", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesSupplied", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "assetsWithdrawn", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesWithdrawn", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdrawCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorphoStaticTyping__factory { + static readonly abi = _abi; + static createInterface(): IMorphoStaticTypingInterface { + return new Interface(_abi) as IMorphoStaticTypingInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IMorphoStaticTyping { + return new Contract( + address, + _abi, + runner + ) as unknown as IMorphoStaticTyping; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho__factory.ts b/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho__factory.ts new file mode 100644 index 00000000..ef392154 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho__factory.ts @@ -0,0 +1,1044 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorpho, + IMorphoInterface, +} from "../../../../../../../../lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "accrueInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "borrow", + outputs: [ + { + internalType: "uint256", + name: "assetsBorrowed", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesBorrowed", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "createMarket", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "enableIrm", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "enableLltv", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "slots", + type: "bytes32[]", + }, + ], + name: "extSloads", + outputs: [ + { + internalType: "bytes32[]", + name: "", + type: "bytes32[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "flashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "idToMarketParams", + outputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + ], + name: "isAuthorized", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "isIrmEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "isLltvEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "address", + name: "borrower", + type: "address", + }, + { + internalType: "uint256", + name: "seizedAssets", + type: "uint256", + }, + { + internalType: "uint256", + name: "repaidShares", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "liquidate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "market", + outputs: [ + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "m", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + ], + name: "nonce", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + internalType: "address", + name: "user", + type: "address", + }, + ], + name: "position", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "supplyShares", + type: "uint256", + }, + { + internalType: "uint128", + name: "borrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "collateral", + type: "uint128", + }, + ], + internalType: "struct Position", + name: "p", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "repay", + outputs: [ + { + internalType: "uint256", + name: "assetsRepaid", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesRepaid", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "newIsAuthorized", + type: "bool", + }, + ], + name: "setAuthorization", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "setAuthorizationWithSig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supply", + outputs: [ + { + internalType: "uint256", + name: "assetsSupplied", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesSupplied", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "assetsWithdrawn", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesWithdrawn", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdrawCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorpho__factory { + static readonly abi = _abi; + static createInterface(): IMorphoInterface { + return new Interface(_abi) as IMorphoInterface; + } + static connect(address: string, runner?: ContractRunner | null): IMorpho { + return new Contract(address, _abi, runner) as unknown as IMorpho; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts b/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts new file mode 100644 index 00000000..833828f9 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IMorpho__factory } from "./IMorpho__factory"; +export { IMorphoBase__factory } from "./IMorphoBase__factory"; +export { IMorphoStaticTyping__factory } from "./IMorphoStaticTyping__factory"; diff --git a/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/index.ts b/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/index.ts new file mode 100644 index 00000000..6fc3661e --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/morpho-blue/src/interfaces/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as iMorphoSol from "./IMorpho.sol"; +export { IIrm__factory } from "./IIrm__factory"; diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable2Step__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable2Step__factory.ts new file mode 100644 index 00000000..96e37a3e --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable2Step__factory.ts @@ -0,0 +1,138 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + Ownable2Step, + Ownable2StepInterface, +} from "../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable2Step"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "OwnableInvalidOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "OwnableUnauthorizedAccount", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "previousOwner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "OwnershipTransferStarted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "previousOwner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "OwnershipTransferred", + type: "event", + }, + { + inputs: [], + name: "acceptOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingOwner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class Ownable2Step__factory { + static readonly abi = _abi; + static createInterface(): Ownable2StepInterface { + return new Interface(_abi) as Ownable2StepInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): Ownable2Step { + return new Contract(address, _abi, runner) as unknown as Ownable2Step; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable__factory.ts new file mode 100644 index 00000000..847c1c1f --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable__factory.ts @@ -0,0 +1,96 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + Ownable, + OwnableInterface, +} from "../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "OwnableInvalidOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "OwnableUnauthorizedAccount", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "previousOwner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "OwnershipTransferred", + type: "event", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class Ownable__factory { + static readonly abi = _abi; + static createInterface(): OwnableInterface { + return new Interface(_abi) as OwnableInterface; + } + static connect(address: string, runner?: ContractRunner | null): Ownable { + return new Contract(address, _abi, runner) as unknown as Ownable; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/index.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/index.ts new file mode 100644 index 00000000..bd6222d9 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { Ownable__factory } from "./Ownable__factory"; +export { Ownable2Step__factory } from "./Ownable2Step__factory"; diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/index.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/index.ts new file mode 100644 index 00000000..d81ac1af --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as access from "./access"; +export * as interfaces from "./interfaces"; +export * as token from "./token"; +export * as utils from "./utils"; diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC4626__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC4626__factory.ts new file mode 100644 index 00000000..3ee4b369 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC4626__factory.ts @@ -0,0 +1,634 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC4626, + IERC4626Interface, +} from "../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC4626"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Deposit", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Withdraw", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "asset", + outputs: [ + { + internalType: "address", + name: "assetTokenAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "convertToAssets", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "convertToShares", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "maxDeposit", + outputs: [ + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "maxMint", + outputs: [ + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxRedeem", + outputs: [ + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxWithdraw", + outputs: [ + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewDeposit", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewMint", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewRedeem", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewWithdraw", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalAssets", + outputs: [ + { + internalType: "uint256", + name: "totalManagedAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC4626__factory { + static readonly abi = _abi; + static createInterface(): IERC4626Interface { + return new Interface(_abi) as IERC4626Interface; + } + static connect(address: string, runner?: ContractRunner | null): IERC4626 { + return new Contract(address, _abi, runner) as unknown as IERC4626; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC5267__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC5267__factory.ts new file mode 100644 index 00000000..cafdf71f --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC5267__factory.ts @@ -0,0 +1,71 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC5267, + IERC5267Interface, +} from "../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC5267"; + +const _abi = [ + { + anonymous: false, + inputs: [], + name: "EIP712DomainChanged", + type: "event", + }, + { + inputs: [], + name: "eip712Domain", + outputs: [ + { + internalType: "bytes1", + name: "fields", + type: "bytes1", + }, + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "version", + type: "string", + }, + { + internalType: "uint256", + name: "chainId", + type: "uint256", + }, + { + internalType: "address", + name: "verifyingContract", + type: "address", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "uint256[]", + name: "extensions", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IERC5267__factory { + static readonly abi = _abi; + static createInterface(): IERC5267Interface { + return new Interface(_abi) as IERC5267Interface; + } + static connect(address: string, runner?: ContractRunner | null): IERC5267 { + return new Contract(address, _abi, runner) as unknown as IERC5267; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.ts new file mode 100644 index 00000000..18215ce5 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.ts @@ -0,0 +1,127 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC1155Errors, + IERC1155ErrorsInterface, +} from "../../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC1155InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC1155InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "idsLength", + type: "uint256", + }, + { + internalType: "uint256", + name: "valuesLength", + type: "uint256", + }, + ], + name: "ERC1155InvalidArrayLength", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC1155InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC1155InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC1155InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC1155MissingApprovalForAll", + type: "error", + }, +] as const; + +export class IERC1155Errors__factory { + static readonly abi = _abi; + static createInterface(): IERC1155ErrorsInterface { + return new Interface(_abi) as IERC1155ErrorsInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IERC1155Errors { + return new Contract(address, _abi, runner) as unknown as IERC1155Errors; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.ts new file mode 100644 index 00000000..0e7e3186 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.ts @@ -0,0 +1,111 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20Errors, + IERC20ErrorsInterface, +} from "../../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC20Errors"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientAllowance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC20InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC20InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC20InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "ERC20InvalidSpender", + type: "error", + }, +] as const; + +export class IERC20Errors__factory { + static readonly abi = _abi; + static createInterface(): IERC20ErrorsInterface { + return new Interface(_abi) as IERC20ErrorsInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IERC20Errors { + return new Contract(address, _abi, runner) as unknown as IERC20Errors; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.ts new file mode 100644 index 00000000..ba69fa30 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.ts @@ -0,0 +1,128 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC721Errors, + IERC721ErrorsInterface, +} from "../../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC721Errors"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721IncorrectOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721InsufficientApproval", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC721InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC721InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721InvalidOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC721InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC721InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721NonexistentToken", + type: "error", + }, +] as const; + +export class IERC721Errors__factory { + static readonly abi = _abi; + static createInterface(): IERC721ErrorsInterface { + return new Interface(_abi) as IERC721ErrorsInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IERC721Errors { + return new Contract(address, _abi, runner) as unknown as IERC721Errors; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/index.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/index.ts new file mode 100644 index 00000000..571330ea --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IERC1155Errors__factory } from "./IERC1155Errors__factory"; +export { IERC20Errors__factory } from "./IERC20Errors__factory"; +export { IERC721Errors__factory } from "./IERC721Errors__factory"; diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/index.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/index.ts new file mode 100644 index 00000000..3304af78 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as draftIerc6093Sol from "./draft-IERC6093.sol"; +export { IERC4626__factory } from "./IERC4626__factory"; +export { IERC5267__factory } from "./IERC5267__factory"; diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20__factory.ts new file mode 100644 index 00000000..247b9730 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20__factory.ts @@ -0,0 +1,330 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ERC20, + ERC20Interface, +} from "../../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientAllowance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC20InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC20InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC20InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "ERC20InvalidSpender", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ERC20__factory { + static readonly abi = _abi; + static createInterface(): ERC20Interface { + return new Interface(_abi) as ERC20Interface; + } + static connect(address: string, runner?: ContractRunner | null): ERC20 { + return new Contract(address, _abi, runner) as unknown as ERC20; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20__factory.ts new file mode 100644 index 00000000..afca9d34 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20__factory.ts @@ -0,0 +1,205 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20, + IERC20Interface, +} from "../../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC20__factory { + static readonly abi = _abi; + static createInterface(): IERC20Interface { + return new Interface(_abi) as IERC20Interface; + } + static connect(address: string, runner?: ContractRunner | null): IERC20 { + return new Contract(address, _abi, runner) as unknown as IERC20; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit__factory.ts new file mode 100644 index 00000000..f1700aef --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit__factory.ts @@ -0,0 +1,540 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ERC20Permit, + ERC20PermitInterface, +} from "../../../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit"; + +const _abi = [ + { + inputs: [], + name: "ECDSAInvalidSignature", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "length", + type: "uint256", + }, + ], + name: "ECDSAInvalidSignatureLength", + type: "error", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "ECDSAInvalidSignatureS", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientAllowance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC20InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC20InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC20InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "ERC20InvalidSpender", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + name: "ERC2612ExpiredSignature", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "signer", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC2612InvalidSigner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "currentNonce", + type: "uint256", + }, + ], + name: "InvalidAccountNonce", + type: "error", + }, + { + inputs: [], + name: "InvalidShortString", + type: "error", + }, + { + inputs: [ + { + internalType: "string", + name: "str", + type: "string", + }, + ], + name: "StringTooLong", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [], + name: "EIP712DomainChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "eip712Domain", + outputs: [ + { + internalType: "bytes1", + name: "fields", + type: "bytes1", + }, + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "version", + type: "string", + }, + { + internalType: "uint256", + name: "chainId", + type: "uint256", + }, + { + internalType: "address", + name: "verifyingContract", + type: "address", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "uint256[]", + name: "extensions", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ERC20Permit__factory { + static readonly abi = _abi; + static createInterface(): ERC20PermitInterface { + return new Interface(_abi) as ERC20PermitInterface; + } + static connect(address: string, runner?: ContractRunner | null): ERC20Permit { + return new Contract(address, _abi, runner) as unknown as ERC20Permit; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626__factory.ts new file mode 100644 index 00000000..215fe951 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626__factory.ts @@ -0,0 +1,847 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ERC4626, + ERC4626Interface, +} from "../../../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + ], + name: "AddressEmptyCode", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "AddressInsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientAllowance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC20InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC20InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC20InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "ERC20InvalidSpender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "max", + type: "uint256", + }, + ], + name: "ERC4626ExceededMaxDeposit", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "max", + type: "uint256", + }, + ], + name: "ERC4626ExceededMaxMint", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "max", + type: "uint256", + }, + ], + name: "ERC4626ExceededMaxRedeem", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "max", + type: "uint256", + }, + ], + name: "ERC4626ExceededMaxWithdraw", + type: "error", + }, + { + inputs: [], + name: "FailedInnerCall", + type: "error", + }, + { + inputs: [], + name: "MathOverflowedMulDiv", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + ], + name: "SafeERC20FailedOperation", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Deposit", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Withdraw", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "asset", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "convertToAssets", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "convertToShares", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "maxDeposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "maxMint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxRedeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxWithdraw", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewDeposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewMint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewRedeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewWithdraw", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalAssets", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ERC4626__factory { + static readonly abi = _abi; + static createInterface(): ERC4626Interface { + return new Interface(_abi) as ERC4626Interface; + } + static connect(address: string, runner?: ContractRunner | null): ERC4626 { + return new Contract(address, _abi, runner) as unknown as ERC4626; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts new file mode 100644 index 00000000..3ee1b351 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts @@ -0,0 +1,247 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20Metadata, + IERC20MetadataInterface, +} from "../../../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC20Metadata__factory { + static readonly abi = _abi; + static createInterface(): IERC20MetadataInterface { + return new Interface(_abi) as IERC20MetadataInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IERC20Metadata { + return new Contract(address, _abi, runner) as unknown as IERC20Metadata; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit__factory.ts new file mode 100644 index 00000000..d597b67f --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit__factory.ts @@ -0,0 +1,100 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20Permit, + IERC20PermitInterface, +} from "../../../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC20Permit__factory { + static readonly abi = _abi; + static createInterface(): IERC20PermitInterface { + return new Interface(_abi) as IERC20PermitInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IERC20Permit { + return new Contract(address, _abi, runner) as unknown as IERC20Permit; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts new file mode 100644 index 00000000..f318738c --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ERC20Permit__factory } from "./ERC20Permit__factory"; +export { ERC4626__factory } from "./ERC4626__factory"; +export { IERC20Metadata__factory } from "./IERC20Metadata__factory"; +export { IERC20Permit__factory } from "./IERC20Permit__factory"; diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts new file mode 100644 index 00000000..d187f966 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as extensions from "./extensions"; +export * as utils from "./utils"; +export { ERC20__factory } from "./ERC20__factory"; +export { IERC20__factory } from "./IERC20__factory"; diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20__factory.ts new file mode 100644 index 00000000..5d6bf1ac --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20__factory.ts @@ -0,0 +1,96 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../../../../common"; +import type { + SafeERC20, + SafeERC20Interface, +} from "../../../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "currentAllowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "requestedDecrease", + type: "uint256", + }, + ], + name: "SafeERC20FailedDecreaseAllowance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + ], + name: "SafeERC20FailedOperation", + type: "error", + }, +] as const; + +const _bytecode = + "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212207d353a7822f8e16d913f75afc88e3bb47ac2b60e306dcc8f585387d0a91f11d664736f6c63430008180033"; + +type SafeERC20ConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: SafeERC20ConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class SafeERC20__factory extends ContractFactory { + constructor(...args: SafeERC20ConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + SafeERC20 & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): SafeERC20__factory { + return super.connect(runner) as SafeERC20__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): SafeERC20Interface { + return new Interface(_abi) as SafeERC20Interface; + } + static connect(address: string, runner?: ContractRunner | null): SafeERC20 { + return new Contract(address, _abi, runner) as unknown as SafeERC20; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/utils/index.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/utils/index.ts new file mode 100644 index 00000000..56fb056e --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/utils/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { SafeERC20__factory } from "./SafeERC20__factory"; diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/index.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/index.ts new file mode 100644 index 00000000..da1e061e --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as erc20 from "./ERC20"; diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Address__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Address__factory.ts new file mode 100644 index 00000000..e7208340 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Address__factory.ts @@ -0,0 +1,91 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../../common"; +import type { + Address, + AddressInterface, +} from "../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Address"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + ], + name: "AddressEmptyCode", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "AddressInsufficientBalance", + type: "error", + }, + { + inputs: [], + name: "FailedInnerCall", + type: "error", + }, +] as const; + +const _bytecode = + "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122033c96a39c25c60b8a9501e99b414f65ee88ed7759fd745de3e4eebd1469ae0b764736f6c63430008180033"; + +type AddressConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: AddressConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Address__factory extends ContractFactory { + constructor(...args: AddressConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + Address & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Address__factory { + return super.connect(runner) as Address__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): AddressInterface { + return new Interface(_abi) as AddressInterface; + } + static connect(address: string, runner?: ContractRunner | null): Address { + return new Contract(address, _abi, runner) as unknown as Address; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Multicall__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Multicall__factory.ts new file mode 100644 index 00000000..67e0836a --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Multicall__factory.ts @@ -0,0 +1,57 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + Multicall, + MulticallInterface, +} from "../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Multicall"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + ], + name: "AddressEmptyCode", + type: "error", + }, + { + inputs: [], + name: "FailedInnerCall", + type: "error", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [ + { + internalType: "bytes[]", + name: "results", + type: "bytes[]", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class Multicall__factory { + static readonly abi = _abi; + static createInterface(): MulticallInterface { + return new Interface(_abi) as MulticallInterface; + } + static connect(address: string, runner?: ContractRunner | null): Multicall { + return new Contract(address, _abi, runner) as unknown as Multicall; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Nonces__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Nonces__factory.ts new file mode 100644 index 00000000..19f31a36 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Nonces__factory.ts @@ -0,0 +1,57 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + Nonces, + NoncesInterface, +} from "../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Nonces"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "currentNonce", + type: "uint256", + }, + ], + name: "InvalidAccountNonce", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class Nonces__factory { + static readonly abi = _abi; + static createInterface(): NoncesInterface { + return new Interface(_abi) as NoncesInterface; + } + static connect(address: string, runner?: ContractRunner | null): Nonces { + return new Contract(address, _abi, runner) as unknown as Nonces; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/ShortStrings__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/ShortStrings__factory.ts new file mode 100644 index 00000000..d99aec19 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/ShortStrings__factory.ts @@ -0,0 +1,83 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../../common"; +import type { + ShortStrings, + ShortStringsInterface, +} from "../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/ShortStrings"; + +const _abi = [ + { + inputs: [], + name: "InvalidShortString", + type: "error", + }, + { + inputs: [ + { + internalType: "string", + name: "str", + type: "string", + }, + ], + name: "StringTooLong", + type: "error", + }, +] as const; + +const _bytecode = + "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122031029c285ff7fe90f5b656372fd2102ecab8c7af65dce60efa71d573ce87bf2c64736f6c63430008180033"; + +type ShortStringsConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ShortStringsConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ShortStrings__factory extends ContractFactory { + constructor(...args: ShortStringsConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + ShortStrings & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): ShortStrings__factory { + return super.connect(runner) as ShortStrings__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ShortStringsInterface { + return new Interface(_abi) as ShortStringsInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ShortStrings { + return new Contract(address, _abi, runner) as unknown as ShortStrings; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Strings__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Strings__factory.ts new file mode 100644 index 00000000..369fc153 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Strings__factory.ts @@ -0,0 +1,80 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../../common"; +import type { + Strings, + StringsInterface, +} from "../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Strings"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "length", + type: "uint256", + }, + ], + name: "StringsInsufficientHexLength", + type: "error", + }, +] as const; + +const _bytecode = + "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212205dc93bbc1f2f9df8c20e42918b561a5df2f6c8fed48c89aef883b7044723fb4264736f6c63430008180033"; + +type StringsConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: StringsConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Strings__factory extends ContractFactory { + constructor(...args: StringsConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + Strings & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Strings__factory { + return super.connect(runner) as Strings__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): StringsInterface { + return new Interface(_abi) as StringsInterface; + } + static connect(address: string, runner?: ContractRunner | null): Strings { + return new Contract(address, _abi, runner) as unknown as Strings; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA__factory.ts new file mode 100644 index 00000000..73f0f5bf --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA__factory.ts @@ -0,0 +1,91 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../../../common"; +import type { + ECDSA, + ECDSAInterface, +} from "../../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA"; + +const _abi = [ + { + inputs: [], + name: "ECDSAInvalidSignature", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "length", + type: "uint256", + }, + ], + name: "ECDSAInvalidSignatureLength", + type: "error", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "ECDSAInvalidSignatureS", + type: "error", + }, +] as const; + +const _bytecode = + "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212208cac3dfe2ff6001c305f2fa89b152c7a749f56dc6be4c01a8395c2110f55595364736f6c63430008180033"; + +type ECDSAConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ECDSAConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ECDSA__factory extends ContractFactory { + constructor(...args: ECDSAConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + ECDSA & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): ECDSA__factory { + return super.connect(runner) as ECDSA__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ECDSAInterface { + return new Interface(_abi) as ECDSAInterface; + } + static connect(address: string, runner?: ContractRunner | null): ECDSA { + return new Contract(address, _abi, runner) as unknown as ECDSA; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712__factory.ts new file mode 100644 index 00000000..14e30bcf --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712__factory.ts @@ -0,0 +1,87 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + EIP712, + EIP712Interface, +} from "../../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712"; + +const _abi = [ + { + inputs: [], + name: "InvalidShortString", + type: "error", + }, + { + inputs: [ + { + internalType: "string", + name: "str", + type: "string", + }, + ], + name: "StringTooLong", + type: "error", + }, + { + anonymous: false, + inputs: [], + name: "EIP712DomainChanged", + type: "event", + }, + { + inputs: [], + name: "eip712Domain", + outputs: [ + { + internalType: "bytes1", + name: "fields", + type: "bytes1", + }, + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "version", + type: "string", + }, + { + internalType: "uint256", + name: "chainId", + type: "uint256", + }, + { + internalType: "address", + name: "verifyingContract", + type: "address", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "uint256[]", + name: "extensions", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class EIP712__factory { + static readonly abi = _abi; + static createInterface(): EIP712Interface { + return new Interface(_abi) as EIP712Interface; + } + static connect(address: string, runner?: ContractRunner | null): EIP712 { + return new Contract(address, _abi, runner) as unknown as EIP712; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/index.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/index.ts new file mode 100644 index 00000000..d3e92b8f --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ECDSA__factory } from "./ECDSA__factory"; +export { EIP712__factory } from "./EIP712__factory"; diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/index.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/index.ts new file mode 100644 index 00000000..415ff923 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/index.ts @@ -0,0 +1,10 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as cryptography from "./cryptography"; +export * as math from "./math"; +export { Address__factory } from "./Address__factory"; +export { Multicall__factory } from "./Multicall__factory"; +export { Nonces__factory } from "./Nonces__factory"; +export { ShortStrings__factory } from "./ShortStrings__factory"; +export { Strings__factory } from "./Strings__factory"; diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/Math__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/Math__factory.ts new file mode 100644 index 00000000..484a668b --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/Math__factory.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../../../common"; +import type { + Math, + MathInterface, +} from "../../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/Math"; + +const _abi = [ + { + inputs: [], + name: "MathOverflowedMulDiv", + type: "error", + }, +] as const; + +const _bytecode = + "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220657076d407852e10ca3efb758ea3e51153fdaa9adb385c9b4e43b31dd82d926064736f6c63430008180033"; + +type MathConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: MathConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Math__factory extends ContractFactory { + constructor(...args: MathConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + Math & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Math__factory { + return super.connect(runner) as Math__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): MathInterface { + return new Interface(_abi) as MathInterface; + } + static connect(address: string, runner?: ContractRunner | null): Math { + return new Contract(address, _abi, runner) as unknown as Math; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/SafeCast__factory.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/SafeCast__factory.ts new file mode 100644 index 00000000..46329ca6 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/SafeCast__factory.ts @@ -0,0 +1,118 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../../../common"; +import type { + SafeCast, + SafeCastInterface, +} from "../../../../../../../../lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/SafeCast"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint8", + name: "bits", + type: "uint8", + }, + { + internalType: "int256", + name: "value", + type: "int256", + }, + ], + name: "SafeCastOverflowedIntDowncast", + type: "error", + }, + { + inputs: [ + { + internalType: "int256", + name: "value", + type: "int256", + }, + ], + name: "SafeCastOverflowedIntToUint", + type: "error", + }, + { + inputs: [ + { + internalType: "uint8", + name: "bits", + type: "uint8", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "SafeCastOverflowedUintDowncast", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "SafeCastOverflowedUintToInt", + type: "error", + }, +] as const; + +const _bytecode = + "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122041d0be54500a4a8a057bd84691a9ee5e50ab50b8393bf36942bf230a8a2b858664736f6c63430008180033"; + +type SafeCastConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: SafeCastConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class SafeCast__factory extends ContractFactory { + constructor(...args: SafeCastConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + SafeCast & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): SafeCast__factory { + return super.connect(runner) as SafeCast__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): SafeCastInterface { + return new Interface(_abi) as SafeCastInterface; + } + static connect(address: string, runner?: ContractRunner | null): SafeCast { + return new Contract(address, _abi, runner) as unknown as SafeCast; + } +} diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/index.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/index.ts new file mode 100644 index 00000000..097e4229 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { Math__factory } from "./Math__factory"; +export { SafeCast__factory } from "./SafeCast__factory"; diff --git a/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/index.ts b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/index.ts new file mode 100644 index 00000000..6397da09 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/lib/openzeppelin-contracts/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as contracts from "./contracts"; diff --git a/pkg/types/factories/lib/metamorpho/src/MetaMorpho__factory.ts b/pkg/types/factories/lib/metamorpho/src/MetaMorpho__factory.ts new file mode 100644 index 00000000..9a229dd5 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/src/MetaMorpho__factory.ts @@ -0,0 +1,2604 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BigNumberish, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + MetaMorpho, + MetaMorphoInterface, +} from "../../../../lib/metamorpho/src/MetaMorpho"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "morpho", + type: "address", + }, + { + internalType: "uint256", + name: "initialTimelock", + type: "uint256", + }, + { + internalType: "address", + name: "_asset", + type: "address", + }, + { + internalType: "string", + name: "_name", + type: "string", + }, + { + internalType: "string", + name: "_symbol", + type: "string", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "AboveMaxTimelock", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + ], + name: "AddressEmptyCode", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "AddressInsufficientBalance", + type: "error", + }, + { + inputs: [], + name: "AllCapsReached", + type: "error", + }, + { + inputs: [], + name: "AlreadyPending", + type: "error", + }, + { + inputs: [], + name: "AlreadySet", + type: "error", + }, + { + inputs: [], + name: "BelowMinTimelock", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "DuplicateMarket", + type: "error", + }, + { + inputs: [], + name: "ECDSAInvalidSignature", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "length", + type: "uint256", + }, + ], + name: "ECDSAInvalidSignatureLength", + type: "error", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "ECDSAInvalidSignatureS", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientAllowance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC20InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC20InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC20InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "ERC20InvalidSpender", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + name: "ERC2612ExpiredSignature", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "signer", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC2612InvalidSigner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "max", + type: "uint256", + }, + ], + name: "ERC4626ExceededMaxDeposit", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "max", + type: "uint256", + }, + ], + name: "ERC4626ExceededMaxMint", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "max", + type: "uint256", + }, + ], + name: "ERC4626ExceededMaxRedeem", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "max", + type: "uint256", + }, + ], + name: "ERC4626ExceededMaxWithdraw", + type: "error", + }, + { + inputs: [], + name: "FailedInnerCall", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "InconsistentAsset", + type: "error", + }, + { + inputs: [], + name: "InconsistentReallocation", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "currentNonce", + type: "uint256", + }, + ], + name: "InvalidAccountNonce", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "InvalidMarketRemovalNonZeroCap", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "InvalidMarketRemovalNonZeroSupply", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "InvalidMarketRemovalTimelockNotElapsed", + type: "error", + }, + { + inputs: [], + name: "InvalidShortString", + type: "error", + }, + { + inputs: [], + name: "MarketNotCreated", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "MarketNotEnabled", + type: "error", + }, + { + inputs: [], + name: "MathOverflowedMulDiv", + type: "error", + }, + { + inputs: [], + name: "MaxFeeExceeded", + type: "error", + }, + { + inputs: [], + name: "MaxQueueLengthExceeded", + type: "error", + }, + { + inputs: [], + name: "NoPendingValue", + type: "error", + }, + { + inputs: [], + name: "NonZeroCap", + type: "error", + }, + { + inputs: [], + name: "NotAllocatorRole", + type: "error", + }, + { + inputs: [], + name: "NotCuratorNorGuardianRole", + type: "error", + }, + { + inputs: [], + name: "NotCuratorRole", + type: "error", + }, + { + inputs: [], + name: "NotEnoughLiquidity", + type: "error", + }, + { + inputs: [], + name: "NotGuardianRole", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "OwnableInvalidOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "OwnableUnauthorizedAccount", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "PendingCap", + type: "error", + }, + { + inputs: [], + name: "PendingRemoval", + type: "error", + }, + { + inputs: [ + { + internalType: "uint8", + name: "bits", + type: "uint8", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "SafeCastOverflowedUintDowncast", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + ], + name: "SafeERC20FailedOperation", + type: "error", + }, + { + inputs: [ + { + internalType: "string", + name: "str", + type: "string", + }, + ], + name: "StringTooLong", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "SupplyCapExceeded", + type: "error", + }, + { + inputs: [], + name: "TimelockNotElapsed", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "UnauthorizedMarket", + type: "error", + }, + { + inputs: [], + name: "ZeroAddress", + type: "error", + }, + { + inputs: [], + name: "ZeroFeeRecipient", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "newTotalAssets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "feeShares", + type: "uint256", + }, + ], + name: "AccrueInterest", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Deposit", + type: "event", + }, + { + anonymous: false, + inputs: [], + name: "EIP712DomainChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "previousOwner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "OwnershipTransferStarted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "previousOwner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "OwnershipTransferred", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "suppliedAssets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "suppliedShares", + type: "uint256", + }, + ], + name: "ReallocateSupply", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "withdrawnAssets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "withdrawnShares", + type: "uint256", + }, + ], + name: "ReallocateWithdraw", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "RevokePendingCap", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + ], + name: "RevokePendingGuardian", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "RevokePendingMarketRemoval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + ], + name: "RevokePendingTimelock", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "cap", + type: "uint256", + }, + ], + name: "SetCap", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newCurator", + type: "address", + }, + ], + name: "SetCurator", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "SetFee", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "SetFeeRecipient", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "guardian", + type: "address", + }, + ], + name: "SetGuardian", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "allocator", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "isAllocator", + type: "bool", + }, + ], + name: "SetIsAllocator", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newSkimRecipient", + type: "address", + }, + ], + name: "SetSkimRecipient", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: false, + internalType: "Id[]", + name: "newSupplyQueue", + type: "bytes32[]", + }, + ], + name: "SetSupplyQueue", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "newTimelock", + type: "uint256", + }, + ], + name: "SetTimelock", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: false, + internalType: "Id[]", + name: "newWithdrawQueue", + type: "bytes32[]", + }, + ], + name: "SetWithdrawQueue", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Skim", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "cap", + type: "uint256", + }, + ], + name: "SubmitCap", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newGuardian", + type: "address", + }, + ], + name: "SubmitGuardian", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "SubmitMarketRemoval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "newTimelock", + type: "uint256", + }, + ], + name: "SubmitTimelock", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "updatedTotalAssets", + type: "uint256", + }, + ], + name: "UpdateLastTotalAssets", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Withdraw", + type: "event", + }, + { + inputs: [], + name: "DECIMALS_OFFSET", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "acceptCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "acceptGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "acceptOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "acceptTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "asset", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "config", + outputs: [ + { + internalType: "uint184", + name: "cap", + type: "uint184", + }, + { + internalType: "bool", + name: "enabled", + type: "bool", + }, + { + internalType: "uint64", + name: "removableAt", + type: "uint64", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "convertToAssets", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "convertToShares", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "curator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "eip712Domain", + outputs: [ + { + internalType: "bytes1", + name: "fields", + type: "bytes1", + }, + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "version", + type: "string", + }, + { + internalType: "uint256", + name: "chainId", + type: "uint256", + }, + { + internalType: "address", + name: "verifyingContract", + type: "address", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "uint256[]", + name: "extensions", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "fee", + outputs: [ + { + internalType: "uint96", + name: "", + type: "uint96", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "guardian", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "isAllocator", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "lastTotalAssets", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "maxDeposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "maxMint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxRedeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxWithdraw", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [ + { + internalType: "bytes[]", + name: "results", + type: "bytes[]", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "pendingCap", + outputs: [ + { + internalType: "uint192", + name: "value", + type: "uint192", + }, + { + internalType: "uint64", + name: "validAt", + type: "uint64", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingGuardian", + outputs: [ + { + internalType: "address", + name: "value", + type: "address", + }, + { + internalType: "uint64", + name: "validAt", + type: "uint64", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingOwner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingTimelock", + outputs: [ + { + internalType: "uint192", + name: "value", + type: "uint192", + }, + { + internalType: "uint64", + name: "validAt", + type: "uint64", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewDeposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewMint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewRedeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewWithdraw", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + internalType: "struct MarketAllocation[]", + name: "allocations", + type: "tuple[]", + }, + ], + name: "reallocate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "revokePendingCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "revokePendingGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "revokePendingMarketRemoval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "revokePendingTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newCurator", + type: "address", + }, + ], + name: "setCurator", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newAllocator", + type: "address", + }, + { + internalType: "bool", + name: "newIsAllocator", + type: "bool", + }, + ], + name: "setIsAllocator", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newSkimRecipient", + type: "address", + }, + ], + name: "setSkimRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id[]", + name: "newSupplyQueue", + type: "bytes32[]", + }, + ], + name: "setSupplyQueue", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + ], + name: "skim", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "skimRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newSupplyCap", + type: "uint256", + }, + ], + name: "submitCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newGuardian", + type: "address", + }, + ], + name: "submitGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "submitMarketRemoval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newTimelock", + type: "uint256", + }, + ], + name: "submitTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "supplyQueue", + outputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "supplyQueueLength", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "timelock", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalAssets", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256[]", + name: "indexes", + type: "uint256[]", + }, + ], + name: "updateWithdrawQueue", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "withdrawQueue", + outputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "withdrawQueueLength", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x6101e080604052346200087e5762006bd48038038091620000218285620008bb565b833981019060c0818303126200087e576200003c81620008df565b916200004b60208301620008df565b916040810151916200006060608301620008df565b60808301519092906001600160401b0381116200087e57826200008591830162000935565b60a08201519092906001600160401b0381116200087e57620000a8920162000935565b9360405194620000b88662000883565b60018652603160f81b6020870190815283519091906001600160401b0381116200062b57600354600181811c9116801562000873575b60208210146200075357601f811162000809575b50806020601f8211600114620007805760009162000774575b508160011b916000199060031b1c1916176003555b8051906001600160401b0382116200062b5760045490600182811c9216801562000769575b6020831014620007535781601f849311620006e1575b50602090601f831160011462000656576000926200064a575b50508160011b916000199060031b1c1916176004555b620001ae6001600160a01b038516620009b7565b901562000641575b60a0526001600160a01b038416608052620001d18362000b3d565b91610160928352620001e38762000ce2565b9361018094855260208151910120916101209783895251902090610140928284524660e0526040519260208401917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352604085015260608401524660808401523060a084015260a0835260c083019083821060018060401b038311176200062b5760408290528351902060c05230610100908152996001600160a01b031692831562000614575050600980546001600160a01b0319908116909155600880549182168417905560405192906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a36001600160a01b03169081156200060557506101a081815260405163313ce56760e01b81529095906020816004816001600160a01b0386165afa908115620005f957600091620005ae575b5060ff169660ff6101c0988060120390601211021688526212750081116200059c576201518081106200058a5780600e556040519081527fd28e9b90ee9b37c5936ff84392d71f29ff18117d7e76bcee60615262a90a3f7560203392a2600060115560405190602082019260008063095ea7b360e01b958681528360248701528119604487015260448652620003be866200089f565b855190826001600160a01b0387165af1620003d862000982565b8162000556575b508062000542575b15620004eb575b5050505060405195615d9a978862000e3a893960805188818161283c01528181612bcb01528181614e790152614ff3015260a05188612c95015260c05188613cec015260e05188613da701525187613cbd01525186613d3b01525185613d61015251846113740152518361139d015251828181611aac01528181611c76015281816125cf015281816128d901528181612b7a015281816143cc0152818161499001528181614a3d015281816151220152818161521d015281816155d9015281816156fa01528181615b070152615bf2015251818181610d1701528181612c7101528181614b5d01528181614ba001528181614d790152614dbc0152f35b620005389362000529916040519160208301526024820152600060448201526044815262000519816200089f565b6001600160a01b03831662000a5a565b6001600160a01b031662000a5a565b38808080620003ee565b506001600160a01b0382163b1515620003e7565b80518015925082156200056d575b505038620003df565b62000582925060208091830101910162000a40565b388062000564565b604051631a1593df60e11b8152600490fd5b6040516346fedb5760e01b8152600490fd5b6020813d602011620005f0575b81620005ca60209383620008bb565b81010312620005ec57519060ff82168203620005e9575060ff62000328565b80fd5b5080fd5b3d9150620005bb565b6040513d6000823e3d90fd5b63d92e233d60e01b8152600490fd5b631e4fbdf760e01b8252600060c490910152602490fd5b634e487b7160e01b600052604160045260246000fd5b506012620001b6565b01519050388062000184565b600460009081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b9350601f198516905b818110620006c85750908460019594939210620006ae575b505050811b016004556200019a565b015160001960f88460031b161c191690553880806200069f565b9293602060018192878601518155019501930162000687565b60046000529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c8101602085106200074b575b90849392915b601f830160051c820181106200073b5750506200016b565b6000815585945060010162000723565b50806200071d565b634e487b7160e01b600052602260045260246000fd5b91607f169162000155565b9050850151386200011b565b600360009081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b9250601f198416905b818110620007f057509083600194939210620007d6575b5050811b0160035562000130565b87015160001960f88460031b161c191690553880620007c8565b9192602060018192868c015181550194019201620007b1565b60036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c8101916020841062000868575b601f0160051c01905b8181106200085b575062000102565b600081556001016200084c565b909150819062000843565b90607f1690620000ee565b600080fd5b604081019081106001600160401b038211176200062b57604052565b608081019081106001600160401b038211176200062b57604052565b601f909101601f19168101906001600160401b038211908210176200062b57604052565b51906001600160a01b03821682036200087e57565b6001600160401b0381116200062b57601f01601f191660200190565b60005b838110620009245750506000910152565b818101518382015260200162000913565b81601f820112156200087e5780516200094e81620008f4565b926200095e6040519485620008bb565b818452602082840101116200087e576200097f916020808501910162000910565b90565b3d15620009b2573d906200099682620008f4565b91620009a66040519384620008bb565b82523d6000602084013e565b606090565b90604051602081019063313ce56760e01b825260048152620009d98162000883565b5160009384928392916001600160a01b03165afa620009f762000982565b908062000a33575b62000a0a575b508190565b60208180518101031262000a2f576020015160ff811162000a05576001925060ff1690565b8280fd5b50602081511015620009ff565b908160209103126200087e575180151581036200087e5790565b60008062000a879260018060a01b03169360208151910182865af162000a7f62000982565b908362000ad5565b805190811515918262000ab7575b505062000a9f5750565b60249060405190635274afe760e01b82526004820152fd5b62000acc925060208091830101910162000a40565b15388062000a95565b9062000afe575080511562000aec57805190602001fd5b604051630a12f52160e11b8152600490fd5b8151158062000b33575b62000b11575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1562000b08565b8051602091908281101562000bbd575090601f82511162000b7b578082519201519080831062000b6c57501790565b82600019910360031b1b161790565b60449062000baf9260405193849263305a27a960e01b84528060048501528251928391826024870152868601910162000910565b601f01601f19168101030190fd5b6001600160401b0381116200062b576005928354926001938481811c9116801562000cd7575b838210146200075357601f811162000ca0575b5081601f841160011462000c36575092829391839260009462000c2a575b50501b916000199060031b1c191617905560ff90565b01519250388062000c14565b919083601f1981168760005284600020946000905b8883831062000c85575050501062000c6b575b505050811b01905560ff90565b015160001960f88460031b161c1916905538808062000c5e565b85870151885590960195948501948793509081019062000c4b565b8560005284601f846000209201871c820191601f8601881c015b82811062000cca57505062000bf6565b6000815501859062000cba565b90607f169062000be3565b80516020908181101562000d0f5750601f82511162000b7b578082519201519080831062000b6c57501790565b906001600160401b0382116200062b57600654926001938481811c9116801562000e2e575b838210146200075357601f811162000df4575b5081601f841160011462000d88575092829391839260009462000d7c575b50501b916000199060031b1c19161760065560ff90565b01519250388062000d65565b919083601f198116600660005284600020946000905b8883831062000dd9575050501062000dbf575b505050811b0160065560ff90565b015160001960f88460031b161c1916905538808062000db1565b85870151885590960195948501948793509081019062000d9e565b600660005284601f84600020920160051c820191601f860160051c015b82811062000e2157505062000d47565b6000815501859062000e11565b90607f169062000d3456fe6080604052600436101561001257600080fd5b60003560e01c806301e1d1141461322057806306fdde031461317357806307a2d13a14612223578063095ea7b31461314d5780630a28a47714613124578063102f7b6c1461308a57806318160ddd1461306c5780631ecca77c14612ff657806323b872dd14612fbe5780632acc56f914612d5f5780632b30997b14612ccc578063313ce56714612c5c57806333f91ebb14612c3e5780633644e51514612c23578063388af5b514612bef57806338d52e0f14612b9e5780633acb562414612b4d5780633b24c2bf146127ea578063402d267d146127c657806341b678331461235d578063452a93201461232957806346904840146123085780634b998de5146122285780634cdad506146122235780634dedf20e146121d7578063568efc07146121b957806362518ddf1461219057806369fe0e2d146120a15780636e553f651461205f5780636fda386814611fee57806370a0823114611fa7578063715018a614611f1e5780637224a51214611dfa5780637299aa3114611829578063762c31ba146117e357806379ba5097146117245780637cc4d9a1146116e15780637ecebe001461169a57806384755b5f1461148457806384b0196e1461135e5780638a2c7b39146113175780638da5cb5b146112e357806394bf804d146112a157806395d89b41146111a15780639d6b4a451461108d578063a17b31301461106f578063a31be5d614610fea578063a5f31d6114610f49578063a9059cbb14610f18578063ac9650d814610d3b578063aea70acc14610cfd578063b192a84a14610c37578063b3d7f6b914610c04578063b460af9414610bc6578063ba08765214610b85578063bc25cf7714610a64578063c63d75b614610a22578063c6e6f5921461040a578063c9649aa914610982578063cc718f7614610926578063ce96cb77146108fe578063d33219b4146108e0578063d505accf146106fd578063d905777e146106c9578063dd62ed3e1461066a578063ddca3f431461063e578063e30c39781461060a578063e66f53b7146105d6578063e74b981b146104cc578063e90956cf1461040f578063ef8b30f71461040a578063f2fde38b1461037b5763f7d185211461033f57600080fd5b3461037657602060031936011261037657600435601454811015610376576103686020916134ff565b90546040519160031b1c8152f35b600080fd5b34610376576020600319360112610376576103946132c2565b61039c6135a1565b73ffffffffffffffffffffffffffffffffffffffff80911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006009541617600955600854167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b613578565b34610376576020600319360112610376576104286132c2565b6104306135a1565b600a5473ffffffffffffffffffffffffffffffffffffffff80921691811682146104a2577fffffffffffffffffffffffff0000000000000000000000000000000000000000168117600a557fbd0a63c12948fbc9194a5839019f99c9d71db924e5c70018265bc778b8f1a506600080a2005b60046040517fa741a045000000000000000000000000000000000000000000000000000000008152fd5b34610376576020600319360112610376576104e56132c2565b6104ed6135a1565b6012549073ffffffffffffffffffffffffffffffffffffffff8116918060601c83146104a257821590816105be575b506105945761053161052c615c9e565b615c6d565b6bffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000006012549260601b169116176012557f2e979f80fe4d43055c584cf4a8467c55875ea36728fc37176c05acd784eb7a73600080a2005b60046040517fcff9f194000000000000000000000000000000000000000000000000000000008152fd5b6bffffffffffffffffffffffff91501615158361051c565b3461037657600060031936011261037657602073ffffffffffffffffffffffffffffffffffffffff600a5416604051908152f35b3461037657600060031936011261037657602073ffffffffffffffffffffffffffffffffffffffff60095416604051908152f35b346103765760006003193601126103765760206bffffffffffffffffffffffff60125416604051908152f35b34610376576040600319360112610376576106836132c2565b61068b6132e5565b9073ffffffffffffffffffffffffffffffffffffffff8091166000526001602052604060002091166000526020526020604060002054604051908152f35b346103765760206003193601126103765760206106f56106ef6106ea6132c2565b614941565b91614b95565b604051908152f35b346103765760e0600319360112610376576107166132c2565b61071e6132e5565b60443590606435926084359360ff85168503610376578042116108af5773ffffffffffffffffffffffffffffffffffffffff90818316958660005260076020526040600020908154916001830190556040519260208401927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452896040860152858816606086015288608086015260a085015260c084015260c0835260e083019183831067ffffffffffffffff841117610880576108349361082b936040525190206107e9613ca6565b90604051917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220613afc565b90929192613bd2565b1684810361084957506108479350613767565b005b60449085604051917f4b800e4600000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b602490604051907f627913020000000000000000000000000000000000000000000000000000000082526004820152fd5b34610376576000600319360112610376576020600e54604051908152f35b3461037657602060031936011261037657602061091c6106ea6132c2565b5050604051908152f35b3461037657602060031936011261037657600435600052600d60205260606040600020546040519076ffffffffffffffffffffffffffffffffffffffffffffff8116825260ff8160b81c161515602083015260c01c6040820152f35b346103765760006003193601126103765773ffffffffffffffffffffffffffffffffffffffff80600854163314159081610a13575b506109e9576000601155337f921828337692c347c634c5d2aacbc7b756014674bd236f3cc2058d8e284a951b600080a2005b60046040517ff9f2fc9a000000000000000000000000000000000000000000000000000000008152fd5b9050600c5416331415816109b7565b3461037657602060031936011261037657610a3b6132c2565b5060206106f5610a5e610a4c614a31565b610a54615cf4565b929060025461375a565b90614b95565b346103765760208060031936011261037657610a7e6132c2565b73ffffffffffffffffffffffffffffffffffffffff8060135416918215610b5b571691604051907f70a082310000000000000000000000000000000000000000000000000000000082523060048301528082602481875afa918215610b4f57600092610b1e575b50610b13827f2ae72b44f59d038340fca5739135a1d51fc5ab720bb02d983e4c5ff4119ca7b893948661429d565b6040519283523392a3005b91508082813d8311610b48575b610b3581836133de565b8101031261037657905190610b13610ae5565b503d610b2b565b6040513d6000823e3d90fd5b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b34610376576020610bc06106f5610b9b36613536565b610ba3615c9e565b91610bb18360025486614da3565b95838780809603911102615c6d565b33614f31565b34610376576020610bc06106f5610bdc36613536565b610be7929192615c9e565b92610bf58460025485614b52565b95848480899703911102615c6d565b346103765760206003193601126103765760206106f5610c2f610c25615cf4565b919060025461375a565b600435614d60565b3461037657604060031936011261037657610c506132c2565b602435908115158092036103765773ffffffffffffffffffffffffffffffffffffffff90610c7c6135a1565b169081600052600b6020528060ff604060002054161515146104a25760207f74dc60cbc81a9472d04ad1d20e151d369c41104d655ed3f2f3091166a502cd8d9183600052600b825260406000207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff8316179055604051908152a2005b3461037657600060031936011261037657602060405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610376576020806003193601126103765767ffffffffffffffff60043581811161037657610d6e903690600401613329565b610d7a8193929361398c565b92610d8860405194856133de565b8184527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610db58361398c565b018560005b828110610f095750505060005b828110610e4a57604080518781528651818901819052600092600582901b8301810191898b01918b9085015b828710610e005785850386f35b909192938280610e3a837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08a60019603018652885161323b565b9601920196019592919092610df3565b8060051b8201357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1833603018112156103765782019081358581116103765787830190803603821361037657610e9f816139d1565b91610ead60405193846133de565b818352898301948a8336920101116103765784610ee99360008c8582968396610f049b37830101525190305af4610ee2613a2c565b9030613a5c565b610ef38288613a18565b52610efe8187613a18565b506139a4565b610dc7565b60608782018301528101610dba565b3461037657604060031936011261037657610f3e610f346132c2565b6024359033613615565b602060405160018152f35b3461037657600060031936011261037657600f5467ffffffffffffffff8160a01c168015610fc0574210610f965773ffffffffffffffffffffffffffffffffffffffff61084791166153ea565b60046040517f6677a596000000000000000000000000000000000000000000000000000000008152fd5b60046040517fe5f408a5000000000000000000000000000000000000000000000000000000008152fd5b3461037657602060031936011261037657600435600052601060205261106b604060002054604051918177ffffffffffffffffffffffffffffffffffffffffffffffff849360c01c91168390929167ffffffffffffffff60209177ffffffffffffffffffffffffffffffffffffffffffffffff604085019616845216910152565b0390f35b34610376576000600319360112610376576020601454604051908152f35b34610376576020600319360112610376576110a66132c2565b6110ae6135a1565b600c5473ffffffffffffffffffffffffffffffffffffffff8281169291168281146104a257600f549067ffffffffffffffff8260a01c16611177576110f8575061084791506153ea565b9050817fffffffff000000000000000000000000000000000000000000000000000000007bffffffffffffffff0000000000000000000000000000000000000000611145600e544261375a565b60a01b1692161717600f557f7633313af54753bce8a149927263b1a55eba857ba4ef1d13c6aee25d384d3c4b600080a2005b60046040517f49b204ce000000000000000000000000000000000000000000000000000000008152fd5b34610376576000600319360112610376576040516004546000826111c4836135c2565b91828252602093600190858282169182600014611263575050600114611206575b506111f2925003836133de565b61106b60405192828493845283019061323b565b84915060046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b906000915b85831061124b5750506111f29350820101856111e5565b80548389018501528794508693909201918101611234565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016858201526111f295151560051b85010192508791506111e59050565b346103765760406003193601126103765760206004356106f56112c26132e5565b916112db6112ce615c9e565b8060165560025483614d60565b809333614de6565b3461037657600060031936011261037657602073ffffffffffffffffffffffffffffffffffffffff60085416604051908152f35b34610376576000600319360112610376576011548060c01c8015610fc0574210610f965777ffffffffffffffffffffffffffffffffffffffffffffffff61084791166153b3565b34610376576000600319360112610376576113987f0000000000000000000000000000000000000000000000000000000000000000613dcd565b6113c17f0000000000000000000000000000000000000000000000000000000000000000613f01565b60405160208082019282841067ffffffffffffffff85111761088057918161143785946114299796604052600084526040519788977f0f00000000000000000000000000000000000000000000000000000000000000895260e0858a015260e089019061323b565b90878203604089015261323b565b91466060870152306080870152600060a087015285830360c0870152519182815201929160005b82811061146d57505050500390f35b83518552869550938101939281019260010161145e565b346103765760a06003193601126103765761149e3661341f565b73ffffffffffffffffffffffffffffffffffffffff80600a5416331415908161168b575b506116615760a0902080600052600d60205260406000205460c01c6111775780600052600d60205276ffffffffffffffffffffffffffffffffffffffffffffff604060002054166116375780600052600d60205260ff60406000205460b81c16156116065780600052601060205260406000205460c01c6115d5576115ad67ffffffffffffffff611555600e544261375a565b1682600052600d60205260406000209077ffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffff00000000000000000000000000000000000000000000000083549260c01b169116179055565b337f3240fc70754c5a2b4dab10bf7081a00024bfc8491581ee3d355360ec0dd91f16600080a3005b602490604051907f463af3000000000000000000000000000000000000000000000000000000000082526004820152fd5b602490604051907f6113d8c70000000000000000000000000000000000000000000000000000000082526004820152fd5b60046040517fc48e3172000000000000000000000000000000000000000000000000000000008152fd5b60046040517fca899cec000000000000000000000000000000000000000000000000000000008152fd5b905060085416331415826114c2565b346103765760206003193601126103765773ffffffffffffffffffffffffffffffffffffffff6116c86132c2565b1660005260076020526020604060002054604051908152f35b34610376576000600319360112610376576011546040805177ffffffffffffffffffffffffffffffffffffffffffffffff8316815260c09290921c602083015290f35b346103765760006003193601126103765760095473ffffffffffffffffffffffffffffffffffffffff33818316036117b3577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166009556008549133908316176008553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b34610376576000600319360112610376576040600f5467ffffffffffffffff82519173ffffffffffffffffffffffffffffffffffffffff8116835260a01c166020820152f35b346103765760206003193601126103765767ffffffffffffffff60043511610376573660236004350112156103765767ffffffffffffffff60043560040135116103765736602460c060043560040135026004350101116103765733600052600b60205260ff604060002054161580611dd8575b80611db6575b611d8c5760008060005b6004356004013581106118ec5750036118c257005b60046040517f9e36b890000000000000000000000000000000000000000000000000000000008152fd5b9060c0820260043501907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc823603019160c083126103765760405190604082019382851067ffffffffffffffff861117610880578460405260a08091126103765760c46119b99261195c8761335a565b61196860248201613308565b875261197660448201613308565b606086015261198760648201613308565b608086015261199860848201613308565b8386015260a481013560c086015286855201356020840152842080946151ea565b50602083015180831181840302939192908415611b9d57505084600052600d60205260ff60406000205460b81c1615611b6c57600091602082015115611b60575b505191611a75604051937f5c2bea4900000000000000000000000000000000000000000000000000000000855260048501906080809173ffffffffffffffffffffffffffffffffffffffff80825116855280602083015116602086015280604083015116604086015260608201511660608501520151910152565b60a483015260c48201523060e48201523061010482015260408161012481600073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1918215610b4f57611b2693611b2093600093600091611b2b575b506040519084825260208201527fdd8bf5226dff861316e0fa7863fdb7dc7b87c614eb29a135f524eb79d5a1189a60403392a361375a565b916139a4565b6118ad565b9050611b5091935060403d604011611b59575b611b4881836133de565b8101906141f9565b92909288611ae8565b503d611b3e565b600093509150876119fa565b602485604051907f6113d8c70000000000000000000000000000000000000000000000000000000082526004820152fd5b91925093959692507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114600014611d7f575081850382861102925b8315611d705784600052600d60205276ffffffffffffffffffffffffffffffffffffffffffffff60406000205416908115611d3f5784611c189161375a565b11611d0e57906040611c5b9392518151809581927fa99aad890000000000000000000000000000000000000000000000000000000083528630916004850161420f565b0381600073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1938415610b4f57611b2694611ce794600091611ced575b506040519084825260208201527f89bf199df65bf65155e3e0a8abc4ad4a1be606220c8295840dba2ab5656c1f6d60403392a361375a565b926139a4565b611d06915060403d604011611b5957611b4881836133de565b905088611caf565b602484604051907f5e25afa50000000000000000000000000000000000000000000000000000000082526004820152fd5b602486604051907f67f0a2500000000000000000000000000000000000000000000000000000000082526004820152fd5b5050939050611b2691506139a4565b8380820391110292611bd9565b60046040517ff7137c0f000000000000000000000000000000000000000000000000000000008152fd5b5073ffffffffffffffffffffffffffffffffffffffff600854163314156118a3565b5073ffffffffffffffffffffffffffffffffffffffff600a541633141561189d565b3461037657602060031936011261037657600435611e166135a1565b600e548082146104a25760115460c01c61117757621275008211611ef457620151808210611eca5780821115611e505750610847906153b3565b7fb3aa0ade2442acf51d06713c2d1a5a3ec0373cce969d42b53f4689f97bccf380917fffffffffffffffff000000000000000000000000000000000000000000000000611e9f6020934261375a565b60c01b1676ffffffffffffffffffffffffffffffffffffffffffffff821617601155604051908152a1005b60046040517f342b27be000000000000000000000000000000000000000000000000000000008152fd5b60046040517f46fedb57000000000000000000000000000000000000000000000000000000008152fd5b3461037657600060031936011261037657611f376135a1565b600073ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff00000000000000000000000000000000000000008060095416600955600854908116600855167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103765760206003193601126103765773ffffffffffffffffffffffffffffffffffffffff611fd56132c2565b1660005260006020526020604060002054604051908152f35b346103765760a0600319360112610376576120083661341f565b60a08120600052601060205260406000205460c01c8015610fc0574210610f96578060a0610847922080600052601060205276ffffffffffffffffffffffffffffffffffffffffffffff6040600020541691615457565b346103765760406003193601126103765760206004356106f56120806132e5565b61209861208b615c9e565b8060165560025485614b95565b92839133614de6565b34610376576020600319360112610376576004356120bd6135a1565b601254906bffffffffffffffffffffffff9182811682146104a2576706f05b59d3b20000821161216657811515908161215a575b506105945761210161052c615c9e565b16807fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060125416176012556040519081527f01fe2943baee27f47add82886c2200f910c749c461c9b63c5fe83901a53bdb4960203392a2005b905060601c15836120f1565b60046040517ff4df6ae5000000000000000000000000000000000000000000000000000000008152fd5b346103765760206003193601126103765760043560155481101561037657610368602091613499565b34610376576000600319360112610376576020601654604051908152f35b346103765760206003193601126103765773ffffffffffffffffffffffffffffffffffffffff6122056132c2565b16600052600b602052602060ff604060002054166040519015158152f35b613299565b346103765760206003193601126103765760043573ffffffffffffffffffffffffffffffffffffffff80600c541633141590816122f8575b816122e9575b506122bf5780600052600d602052604060002077ffffffffffffffffffffffffffffffffffffffffffffffff8154169055337fcbeb8ecdaa5a3c133e62219b63bfc35bce3fda13065d2bed32e3b7dde60a59f4600080a3005b60046040517fd080fa31000000000000000000000000000000000000000000000000000000008152fd5b90506008541633141582612266565b809150600a541633141590612260565b3461037657600060031936011261037657602060125460601c604051908152f35b3461037657600060031936011261037657602073ffffffffffffffffffffffffffffffffffffffff600c5416604051908152f35b34610376576020806003193601126103765767ffffffffffffffff9060043582811161037657612391903690600401613329565b909233600052600b835260ff6040600020541615806127a4575b80612782575b611d8c576015546123c18161398c565b6123ce60405191826133de565b8181526123da8261398c565b957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0809701368784013761240d8561398c565b9461241b60405196876133de565b8086526124278161398c565b868801980136893760005b8181106126fe5750505060005b828110612555575050508151908111610880576801000000000000000081116108805760155481601555808210612514575b5083601560005260005b8281106124e2575050509060405191818301908284525180915260408301939160005b8281106124ce57337fe0c2db6b54586be6d7d49943139fccf0dd315ba63e55364a76c73cd8fdba724d86880387a2005b83518652948101949281019260010161249e565b81517f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec4758201559084019060010161247b565b817f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47591820191015b8181106125495750612471565b6000815560010161253c565b61255f8183613a18565b5115612574575b61256f906139a4565b61243f565b61257d81613499565b90549060031b1c80600052600d9081885276ffffffffffffffffffffffffffffffffffffffffffffff604060002054166126cd57806000526010885260406000205460c090811c61269c576125f330837f0000000000000000000000000000000000000000000000000000000000000000614117565b61260b575b5060009081529087526040812055612566565b81600052828952604060002054811c1561266b5781600052828952604060002054901c421061263a57896125f8565b602490604051907fb35446640000000000000000000000000000000000000000000000000000000082526004820152fd5b602482604051907faf8ae2870000000000000000000000000000000000000000000000000000000082526004820152fd5b602482604051907f463af3000000000000000000000000000000000000000000000000000000000082526004820152fd5b602490604051907f803b07b20000000000000000000000000000000000000000000000000000000082526004820152fd5b6127098183856140f4565b3561271381613499565b90549060031b1c906127258187613a18565b516127515790600161273b61274c949388613a18565b52612746828a613a18565b526139a4565b612432565b602482604051907f92a726c30000000000000000000000000000000000000000000000000000000082526004820152fd5b5073ffffffffffffffffffffffffffffffffffffffff600854163314156123b1565b5073ffffffffffffffffffffffffffffffffffffffff600a54163314156123ab565b34610376576020600319360112610376576127df6132c2565b5060206106f5614a31565b346103765760c0600319360112610376576128043661341f565b60a4359073ffffffffffffffffffffffffffffffffffffffff9182600a541633141580612b3f575b6116615760a082209280835116817f00000000000000000000000000000000000000000000000000000000000000001603612b0e5760405190602091828101908682526003604082015260408152612883816133a6565b51902060028101809111612adf576128d5916128a0600092614073565b9060405180809581947f7784c68500000000000000000000000000000000000000000000000000000000835260048301614038565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa908115610b4f576fffffffffffffffffffffffffffffffff9161292691600091612abc575b50613a0b565b511615612a9257836000526010815260406000205460c01c6111775783600052600d815260406000205460c01c612a685783600052600d815276ffffffffffffffffffffffffffffffffffffffffffffff80604060002054168084146104a2578310156129a25750509161299c61084793614098565b91615457565b7fe851bb5856808a50efd748be463b8f35bcfb5ec74c5bfde776fe0a4d2a26db27929350610b1390856000526010835267ffffffffffffffff612a206040600020926129ed88614098565b90600e5491167fffffffffffffffff0000000000000000000000000000000000000000000000008554161784554261375a565b825477ffffffffffffffffffffffffffffffffffffffffffffffff16911660c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016179055565b60046040517f4bec0146000000000000000000000000000000000000000000000000000000008152fd5b60046040517f96e13529000000000000000000000000000000000000000000000000000000008152fd5b612ad991503d806000833e612ad181836133de565b810190613fbe565b87612920565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b602484604051907fcf2ff49c0000000000000000000000000000000000000000000000000000000082526004820152fd5b50826008541633141561282c565b3461037657600060031936011261037657602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461037657600060031936011261037657602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461037657600060031936011261037657602073ffffffffffffffffffffffffffffffffffffffff60135416604051908152f35b346103765760006003193601126103765760206106f5613ca6565b34610376576000600319360112610376576020601554604051908152f35b346103765760006003193601126103765760ff7f00000000000000000000000000000000000000000000000000000000000000001660ff7f0000000000000000000000000000000000000000000000000000000000000000160160ff8111612adf5760209060ff60405191168152f35b3461037657602060031936011261037657612ce56132c2565b612ced6135a1565b60135473ffffffffffffffffffffffffffffffffffffffff80921691811682146104a2577fffffffffffffffffffffffff00000000000000000000000000000000000000001681176013557f2e7908865670e21b9779422cadf5f1cba271a62bb95c71eaaf615c0a1c48ebee600080a2005b34610376576020806003193601126103765767ffffffffffffffff9060043582811161037657612d93903690600401613329565b909233600052600b835260ff604060002054161580612f9c575b80612f7a575b611d8c57601e8211612f505760005b828110612ecf57508111610880576801000000000000000081116108805760145481601455808210612e8e575b5082601460005260005b828110612e5c5750509060405191808284018385525260408301939160005b828110612e4857337f6ce31538fc7fba95714ddc8a275a09252b4b1fb8f33d2550aa58a5f62ad934de86880387a2005b833586529481019492810192600101612e18565b81357fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec82015590830190600101612df9565b817fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec91820191015b818110612ec35750612def565b60008155600101612eb6565b612eda8184876140f4565b35600052600d845276ffffffffffffffffffffffffffffffffffffffffffffff6040600020541615612f1457612f0f906139a4565b612dc2565b612f2160249184876140f4565b35604051907f67f0a2500000000000000000000000000000000000000000000000000000000082526004820152fd5b60046040517f80f2f7ae000000000000000000000000000000000000000000000000000000008152fd5b5073ffffffffffffffffffffffffffffffffffffffff60085416331415612db3565b5073ffffffffffffffffffffffffffffffffffffffff600a5416331415612dad565b3461037657606060031936011261037657610f3e612fda6132c2565b612fe26132e5565b60443591612ff1833383613837565b613615565b346103765760006003193601126103765773ffffffffffffffffffffffffffffffffffffffff8060085416331415908161305d575b506109e9576000600f55337fc40a085ccfa20f5fd518ade5c3a77a7ecbdfbb4c75efcdca6146a8e3c841d663600080a2005b9050600c54163314158161302b565b34610376576000600319360112610376576020600254604051908152f35b346103765760206003193601126103765760043573ffffffffffffffffffffffffffffffffffffffff80600c54163314159081613114575b81613105575b506122bf5780600052601060205260006040812055337f1026ceca5ed3747eb5edec555732d4a6f901ce1a875ecf981064628cadde1120600080a3005b905060085416331415826130c8565b809150600a5416331415906130c2565b346103765760206003193601126103765760206106f5613145610c25615cf4565b600435614b52565b3461037657604060031936011261037657610f3e6131696132c2565b6024359033613767565b3461037657600060031936011261037657604051600354600082613196836135c2565b918282526020936001908582821691826000146112635750506001146131c357506111f2925003836133de565b84915060036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b906000915b8583106132085750506111f29350820101856111e5565b805483890185015287945086939092019181016131f1565b346103765760006003193601126103765760206106f56143c2565b919082519283825260005b8481106132855750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201613246565b346103765760206003193601126103765760206106f56132ba610c25615cf4565b600435614da3565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361037657565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361037657565b359073ffffffffffffffffffffffffffffffffffffffff8216820361037657565b9181601f840112156103765782359167ffffffffffffffff8311610376576020808501948460051b01011161037657565b60a0810190811067ffffffffffffffff82111761088057604052565b60c0810190811067ffffffffffffffff82111761088057604052565b67ffffffffffffffff811161088057604052565b6060810190811067ffffffffffffffff82111761088057604052565b6040810190811067ffffffffffffffff82111761088057604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761088057604052565b60031960a091011261037657604051906134388261335a565b8173ffffffffffffffffffffffffffffffffffffffff60043581811681036103765782526024358181168103610376576020830152604435818116810361037657604083015260643590811681036103765760608201526080608435910152565b6015548110156134d05760156000527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec4750190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6014548110156134d05760146000527fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0190600090565b6003196060910112610376576004359073ffffffffffffffffffffffffffffffffffffffff906024358281168103610376579160443590811681036103765790565b346103765760206003193601126103765760206106f5613599610c25615cf4565b600435614b95565b73ffffffffffffffffffffffffffffffffffffffff6008541633036117b357565b90600182811c9216801561360b575b60208310146135dc57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916135d1565b9173ffffffffffffffffffffffffffffffffffffffff80841692831561372957169283156136f8576000908382528160205260408220549083821061369c575091604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101839052606490fd5b0390fd5b60246040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152fd5b60246040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152fd5b91908201809211612adf57565b73ffffffffffffffffffffffffffffffffffffffff80911691821561380657169182156137d55760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60246040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152fd5b60246040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152fd5b9173ffffffffffffffffffffffffffffffffffffffff8093169160009383855260016020526040938486209183169182875260205284862054927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84036138a2575b50505050505050565b848410613936575080156139065781156138d657855260016020528385209085526020520391205538808080808080613899565b6024868651907f94280d620000000000000000000000000000000000000000000000000000000082526004820152fd5b6024868651907fe602df050000000000000000000000000000000000000000000000000000000082526004820152fd5b85517ffb8f41b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526024810184905260448101859052606490fd5b67ffffffffffffffff81116108805760051b60200190565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612adf5760010190565b67ffffffffffffffff811161088057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b8051156134d05760200190565b80518210156134d05760209160051b010190565b3d15613a57573d90613a3d826139d1565b91613a4b60405193846133de565b82523d6000602084013e565b606090565b90613a9b5750805115613a7157805190602001fd5b60046040517f1425ea42000000000000000000000000000000000000000000000000000000008152fd5b81511580613af3575b613aac575090565b60249073ffffffffffffffffffffffffffffffffffffffff604051917f9996b315000000000000000000000000000000000000000000000000000000008352166004820152fd5b50803b15613aa4565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411613b8d57926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa15613b8157805173ffffffffffffffffffffffffffffffffffffffff811615613b7857918190565b50809160019190565b604051903d90823e3d90fd5b50505060009160039190565b60041115613ba357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b613bdb81613b99565b80613be4575050565b613bed81613b99565b60018103613c1f5760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b613c2881613b99565b60028103613c6157602482604051907ffce698f70000000000000000000000000000000000000000000000000000000082526004820152fd5b80613c6d600392613b99565b14613c755750565b602490604051907fd78bce0c0000000000000000000000000000000000000000000000000000000082526004820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480613da4575b15613d0e577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152613d9e81613376565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614613ce5565b60ff8114613e235760ff811690601f8211613df95760405191613def836133c2565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554816000613e36836135c2565b808352602093600190818116908115613ec25750600114613e63575b5050613e60925003826133de565b90565b9093915060056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0936000915b818310613eaa575050613e6093508201013880613e52565b85548784018501529485019486945091830191613e92565b9050613e609593507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880613e52565b60ff8114613f235760ff811690601f8211613df95760405191613def836133c2565b50604051600654816000613f36836135c2565b808352602093600190818116908115613ec25750600114613f5f575050613e60925003826133de565b9093915060066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000915b818310613fa6575050613e6093508201013880613e52565b85548784018501529485019486945091830191613f8e565b60209081818403126103765780519067ffffffffffffffff821161037657019180601f84011215610376578251613ff48161398c565b9361400260405195866133de565b818552838086019260051b820101928311610376578301905b828210614029575050505090565b8151815290830190830161401b565b6020908160408183019282815285518094520193019160005b82811061405f575050505090565b835185529381019392810192600101614051565b60405190614080826133c2565b600182526020368184013761409482613a0b565b5290565b76ffffffffffffffffffffffffffffffffffffffffffffff908181116140bc571690565b604490604051907f6dfcc65000000000000000000000000000000000000000000000000000000000825260b860048301526024820152fd5b91908110156134d05760051b0190565b81810292918115918404141715612adf57565b6141b26000919493929461417e604096875160208101918252600289820152888152614142816133a6565b5190208751602081019173ffffffffffffffffffffffffffffffffffffffff809816835289820152888152614176816133a6565b519020614073565b86519485809481937f7784c68500000000000000000000000000000000000000000000000000000000835260048301614038565b0392165afa9081156141ee576141d19293506000916141d55750613a0b565b5190565b6141e8913d8091833e612ad181836133de565b38612920565b83513d6000823e3d90fd5b9190826040910312610376576020825192015190565b919073ffffffffffffffffffffffffffffffffffffffff6101409460009361427e86610120956080809173ffffffffffffffffffffffffffffffffffffffff80825116855280602083015116602086015280604083015116604086015260608201511660608501520151910152565b60a08601528360c08601521660e0840152806101008401528201520190565b9173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000006020850152166024830152604482015260448152608081019181831067ffffffffffffffff8411176108805761431092604052614312565b565b73ffffffffffffffffffffffffffffffffffffffff169061434a600080836020829551910182875af1614343613a2c565b9084613a5c565b908151918215159283614393575b5050506143625750565b602490604051907f5274afe70000000000000000000000000000000000000000000000000000000082526004820152fd5b8192935090602091810103126143be5760200151908115918215036143bb5750388080614358565b80fd5b5080fd5b60009060006015547f00000000000000000000000000000000000000000000000000000000000000005b8183106143f857505050565b9091936144436144499161443d61441d61441189613499565b90549060031b1c6150ae565b61443561442e3060a0842089614117565b9187614577565b505091614450565b9061375a565b946139a4565b91906143ec565b6001820192918310612adf57620f42408201809211612adf57613e609261447691614104565b8115614480570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b51906fffffffffffffffffffffffffffffffff8216820361037657565b908160c09103126103765761453e60a0604051926144e984613376565b6144f2816144af565b8452614500602082016144af565b6020850152614511604082016144af565b6040850152614522606082016144af565b6060850152614533608082016144af565b6080850152016144af565b60a082015290565b91908203918211612adf57565b9190916fffffffffffffffffffffffffffffffff80809416911601918211612adf57565b60c0919260a084209373ffffffffffffffffffffffffffffffffffffffff9384936024604097885197889384927f5c60e39a0000000000000000000000000000000000000000000000000000000084526004840152165afa9384156148a457600094614874575b5060808401926fffffffffffffffffffffffffffffffff936146038582511642614546565b9182151580614866575b80614857575b61463b575b505050508183511691606081806020870151169686015116940151169193929190565b606084015116926146b98851917f8c00bf6b00000000000000000000000000000000000000000000000000000000835260048301906080809173ffffffffffffffffffffffffffffffffffffffff80825116855280602083015116602086015280604083015116604086015260608201511660608501520151910152565b8587511660a482015260208701938685511660c483015286898901938185511660e48501528160608b01511661010485015251166101248301526020826101648160a08c01948b8651166101448301525afa801561484c578792600091614810575b5061477a61473061476f968587511693614104565b91614774671bc16d674ec800006147478580614104565b0493670de0b6b3a764000098856729a2241af62c0000614768848d99614104565b049261375a565b61375a565b90614104565b049282614792614789866148af565b82845116614553565b169052816147ab6147a2856148af565b828b5116614553565b16885251168015614618576147bf91614104565b046147cd8185875116614546565b8483511691620f42408301809311612adf5760018201809211612adf576147ff61480492614476889561478994614104565b6148af565b16905238808080614618565b91939492506020823d8211614844575b8161482d602093836133de565b810103126143bb575051909291869161477a61471b565b3d9150614820565b89513d6000823e3d90fd5b50806060850151161515614613565b50858888015116151561460d565b61489691945060c03d811161489d575b61488e81836133de565b8101906144cc565b92386145de565b503d614884565b85513d6000823e3d90fd5b6fffffffffffffffffffffffffffffffff906040516148cd816133c2565b601481527f6d61782075696e74313238206578636565646564000000000000000000000000602082015282821161490357501690565b6136f4906040519182917f08c379a000000000000000000000000000000000000000000000000000000000835260206004840152602483019061323b565b6149869061494d615cf4565b73ffffffffffffffffffffffffffffffffffffffff61497082959360025461375a565b9316600052600060205282604060002054614da3565b60155492908060007f00000000000000000000000000000000000000000000000000000000000000005b8682106149c9575b50506149c692939450614546565b92565b9092614a106149d785613499565b90549060031b1c614a0a6149f66149ed836150ae565b92309087614117565b614a008387614577565b5093918093614450565b92615b9d565b808203911102928315614a2c57614a26906139a4565b906149b0565b6149b8565b600090600080601454907f00000000000000000000000000000000000000000000000000000000000000005b828410614a6a5750505050565b90919294614a77866134ff565b90549060031b1c808452600d60205276ffffffffffffffffffffffffffffffffffffffffffffff604085205416908115614af65791614ae891614adc614aee94614ad4614ace614ac830848b614117565b926150ae565b88614577565b505091614b02565b8082039111029061375a565b956139a4565b929190614a5d565b505094614aee906139a4565b9060018101809111612adf57620f4240830191828411612adf57620f423f91614b2a91614104565b920191818311612adf57613e60926144769161375a565b60ff16604d8111612adf57600a0a90565b9190614b819061443d7f0000000000000000000000000000000000000000000000000000000000000000614b41565b60018201809211612adf57613e6092614bd8565b9190614bc49061443d7f0000000000000000000000000000000000000000000000000000000000000000614b41565b60018201809211612adf57613e6092614cbf565b9190614be5828285614cbf565b9282156144805709614bf45790565b60018101809111612adf5790565b90808202907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81840990828083109203918083039214614cae57670de0b6b3a76400009082821115614c84577faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac10669940990828211900360ee1b910360121c170290565b60046040517f227bc153000000000000000000000000000000000000000000000000000000008152fd5b5050670de0b6b3a764000091500490565b9091828202917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84820993838086109503948086039514614d535784831115614c845782910981600003821680920460028082600302188083028203028083028203028083028203028083028203028083028203028092029003029360018380600003040190848311900302920304170290565b505090613e609250614476565b909160018101809111612adf57614d9d613e609361443d7f0000000000000000000000000000000000000000000000000000000000000000614b41565b91614bd8565b909160018101809111612adf57614de0613e609361443d7f0000000000000000000000000000000000000000000000000000000000000000614b41565b91614cbf565b9261052c92917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d76040614310968151937f23b872dd000000000000000000000000000000000000000000000000000000006020860152614e9d73ffffffffffffffffffffffffffffffffffffffff8093169586602482015230604482015288606482015260648152614e778161335a565b7f0000000000000000000000000000000000000000000000000000000000000000614312565b614ea78682614ec6565b82519587875260208701521693a3614ebe816156f5565b60165461375a565b73ffffffffffffffffffffffffffffffffffffffff169081156136f8577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602082614f1560009460025461375a565b60025584845283825260408420818154019055604051908152a3565b9092919493614f3f836159d3565b73ffffffffffffffffffffffffffffffffffffffff80871694818416938387860361507c575b5050851561372957600092868452836020526040938481205499828b1061502657508188999a7ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db97989983528260205203858220558160025403600255887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60208751858152a361501787837f000000000000000000000000000000000000000000000000000000000000000061429d565b835196875260208701521693a4565b85517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481018b905260448101839052606490fd5b615086918a613837565b3883614f65565b519073ffffffffffffffffffffffffffffffffffffffff8216820361037657565b60809060409081516150bf8161335a565b6000938185809352826020820152828582015282606082015201528151907f2c3c9157000000000000000000000000000000000000000000000000000000008252600482015260a08160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9283156151df578093615158575b50505090565b9091925060a0823d82116151d7575b8161517460a093836133de565b810103126143bb575060809082519261518c8461335a565b6151958261508d565b84526151a36020830161508d565b60208501526151b381830161508d565b908401526151c36060820161508d565b606084015201516080820152388080615152565b3d9150615167565b8251903d90823e3d90fd5b906000916040928060a085516151ff81613376565b828152826020820152828782015282606082015282608082015201527f00000000000000000000000000000000000000000000000000000000000000009173ffffffffffffffffffffffffffffffffffffffff831690813b156153af5785517f151c1ade000000000000000000000000000000000000000000000000000000008152815173ffffffffffffffffffffffffffffffffffffffff908116600483015260208301518116602483015260408301518116604483015260608301511660648201526080909101516084820152828160a48183865af180156153a557906024939291615391575b5060c0908651938480927f5c60e39a0000000000000000000000000000000000000000000000000000000082528860048301525afa94851561538757509361535f575b5061533c6149c69184933091614117565b926fffffffffffffffffffffffffffffffff602081835116920151169084614450565b6149c691935061537f61533c9160c03d811161489d5761488e81836133de565b93915061532b565b51903d90823e3d90fd5b9161539e60c09293613392565b91906152e8565b86513d85823e3d90fd5b8280fd5b80600e556040519081527fd28e9b90ee9b37c5936ff84392d71f29ff18117d7e76bcee60615262a90a3f7560203392a26000601155565b73ffffffffffffffffffffffffffffffffffffffff16807fffffffffffffffffffffffff0000000000000000000000000000000000000000600c541617600c55337fcb11cc8aade2f5a556749d1b2380d108a16fac3431e6a5d5ce12ef9de0bd76e3600080a36000600f55565b919091600092808452602091600d835260409376ffffffffffffffffffffffffffffffffffffffffffffff858720911691826154f0575b5091818382937fffffffffffffffffff000000000000000000000000000000000000000000000060109796541617905585519081527fe86b6d3313d3098f4c5f689c935de8fde876a597c185def2cedab85efedac686843392a3845252812055565b60ff825460b81c1615615524575b50805477ffffffffffffffffffffffffffffffffffffffffffffffff168155601061548e565b60155490680100000000000000008210156156c85761554a600192838101601555613499565b81549060031b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88831b921b1916179055601e6015541161569f5761052c61560d91770100000000000000000000000000000000000000000000007fffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff86541617855561443d601654916144357f0000000000000000000000000000000000000000000000000000000000000000916156073060a0832085614117565b92614577565b85518581018682526015548091528782019260158a527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475918a5b81811061568c5750505050918493917fe0c2db6b54586be6d7d49943139fccf0dd315ba63e55364a76c73cd8fdba724d84601098979533930390a291509192936154fe565b8354865294890194928201928201615647565b600487517f80f2f7ae000000000000000000000000000000000000000000000000000000008152fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8116925b60145481101561599f57615745816134ff565b90549060031b1c80600052602090600d8252604076ffffffffffffffffffffffffffffffffffffffffffffff816000205416801561599257615786836150ae565b93883b1561037657889383517f151c1ade00000000000000000000000000000000000000000000000000000000815260008160a4818360049a6158108d8d8501906080809173ffffffffffffffffffffffffffffffffffffffff80825116855280602083015116602086015280604083015116604086015260608201511660608501520151910152565b5af180156148a457615983575b508351907f5c60e39a0000000000000000000000000000000000000000000000000000000082528086830152818b81602460c09586935afa928315615978579061589b94939291600093615953575b505061587a9030908b614117565b916fffffffffffffffffffffffffffffffff90818351169201511691614b02565b808203911102928387108785180280851894036158d1575b5050505082156158cb576158c6906139a4565b615732565b50505050565b83829161590a835195869384937fa99aad890000000000000000000000000000000000000000000000000000000085523092850161420f565b038160008b5af19182615938575b5050615927575b8080806158b3565b6159319193614546565b913861591f565b8161594e92903d10611b5957611b4881836133de565b615918565b61587a929350908161597092903d1061489d5761488e81836133de565b91903861586c565b86513d6000823e3d90fd5b61598c90613392565b3861581d565b505050506158c6906139a4565b505090506159a957565b60046040517fded0652d000000000000000000000000000000000000000000000000000000008152fd5b600090815b601554811015615b6a57615a306159ee82613499565b90549060031b1c615a08615a01826150ae565b91826151ea565b939190506fffffffffffffffffffffffffffffffff8085511690604080960151169084615b9d565b91828510858418028084189303615a5e575b5050508115615a5957615a54906139a4565b6159d8565b505050565b80517f5c2bea49000000000000000000000000000000000000000000000000000000008152825173ffffffffffffffffffffffffffffffffffffffff9081166004830152602084015181166024830152604084015181166044830152606084015116606482015260809092015160848301528260a48301528560c48301523060e4830152306101048301528082610124818973ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af19182615b4f575b5050615b3e575b8080615a42565b615b489192614546565b9038615b37565b81615b6592903d10611b5957611b4881836133de565b615b30565b509050615b7357565b60046040517f4323a555000000000000000000000000000000000000000000000000000000008152fd5b91615ba791614546565b90602073ffffffffffffffffffffffffffffffffffffffff80925116916024604051809481937f70a082310000000000000000000000000000000000000000000000000000000083527f00000000000000000000000000000000000000000000000000000000000000001660048301525afa908115610b4f57600091615c3c575b508181109082180218818110908218021890565b906020823d8211615c65575b81615c55602093836133de565b810103126143bb57505138615c28565b3d9150615c48565b60207f15c027cc4fd826d986cad358803439f7326d3aa4ed969ff90dbee4bc150f68e99180601655604051908152a1565b6040907ff66f28b40975dbb933913542c7e6a0f50a1d0f20aa74ea6e0efe65ab616323ec615cca615cf4565b80949180615ce0575b82519182526020820152a1565b615cef8160125460601c614ec6565b615cd3565b600090615cff6143c2565b906016548083039083110280151580615d4b575b615d1a5750565b615d48919350615d3b906bffffffffffffffffffffffff6012541690614c02565b6002546106ef8285614546565b91565b506bffffffffffffffffffffffff601254161515615d1356fea2646970667358221220d4661513979706e424caf41899ae2ec332f3b84c921c3a1d3ba45c5e7de2f49764736f6c63430008150033"; + +type MetaMorphoConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: MetaMorphoConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class MetaMorpho__factory extends ContractFactory { + constructor(...args: MetaMorphoConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + owner: AddressLike, + morpho: AddressLike, + initialTimelock: BigNumberish, + _asset: AddressLike, + _name: string, + _symbol: string, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + owner, + morpho, + initialTimelock, + _asset, + _name, + _symbol, + overrides || {} + ); + } + override deploy( + owner: AddressLike, + morpho: AddressLike, + initialTimelock: BigNumberish, + _asset: AddressLike, + _name: string, + _symbol: string, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + owner, + morpho, + initialTimelock, + _asset, + _name, + _symbol, + overrides || {} + ) as Promise< + MetaMorpho & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): MetaMorpho__factory { + return super.connect(runner) as MetaMorpho__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): MetaMorphoInterface { + return new Interface(_abi) as MetaMorphoInterface; + } + static connect(address: string, runner?: ContractRunner | null): MetaMorpho { + return new Contract(address, _abi, runner) as unknown as MetaMorpho; + } +} diff --git a/pkg/types/factories/lib/metamorpho/src/index.ts b/pkg/types/factories/lib/metamorpho/src/index.ts new file mode 100644 index 00000000..a04fe90d --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/src/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; +export * as libraries from "./libraries"; +export { MetaMorpho__factory } from "./MetaMorpho__factory"; diff --git a/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoBase__factory.ts b/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoBase__factory.ts new file mode 100644 index 00000000..4ab6cd30 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoBase__factory.ts @@ -0,0 +1,591 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMetaMorphoBase, + IMetaMorphoBaseInterface, +} from "../../../../../../lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoBase"; + +const _abi = [ + { + inputs: [], + name: "DECIMALS_OFFSET", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "acceptCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "acceptGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "acceptTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "curator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "fee", + outputs: [ + { + internalType: "uint96", + name: "", + type: "uint96", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "guardian", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + ], + name: "isAllocator", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "lastTotalAssets", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + internalType: "struct MarketAllocation[]", + name: "allocations", + type: "tuple[]", + }, + ], + name: "reallocate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "revokePendingCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "revokePendingGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "revokePendingMarketRemoval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "revokePendingTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newCurator", + type: "address", + }, + ], + name: "setCurator", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newAllocator", + type: "address", + }, + { + internalType: "bool", + name: "newIsAllocator", + type: "bool", + }, + ], + name: "setIsAllocator", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newSkimRecipient", + type: "address", + }, + ], + name: "setSkimRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id[]", + name: "newSupplyQueue", + type: "bytes32[]", + }, + ], + name: "setSupplyQueue", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "skim", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "skimRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newSupplyCap", + type: "uint256", + }, + ], + name: "submitCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newGuardian", + type: "address", + }, + ], + name: "submitGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "submitMarketRemoval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newTimelock", + type: "uint256", + }, + ], + name: "submitTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "supplyQueue", + outputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "supplyQueueLength", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "timelock", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256[]", + name: "indexes", + type: "uint256[]", + }, + ], + name: "updateWithdrawQueue", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "withdrawQueue", + outputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "withdrawQueueLength", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IMetaMorphoBase__factory { + static readonly abi = _abi; + static createInterface(): IMetaMorphoBaseInterface { + return new Interface(_abi) as IMetaMorphoBaseInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IMetaMorphoBase { + return new Contract(address, _abi, runner) as unknown as IMetaMorphoBase; + } +} diff --git a/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoStaticTyping__factory.ts b/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoStaticTyping__factory.ts new file mode 100644 index 00000000..4be474d2 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoStaticTyping__factory.ts @@ -0,0 +1,684 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMetaMorphoStaticTyping, + IMetaMorphoStaticTypingInterface, +} from "../../../../../../lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoStaticTyping"; + +const _abi = [ + { + inputs: [], + name: "DECIMALS_OFFSET", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "acceptCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "acceptGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "acceptTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "config", + outputs: [ + { + internalType: "uint184", + name: "cap", + type: "uint184", + }, + { + internalType: "bool", + name: "enabled", + type: "bool", + }, + { + internalType: "uint64", + name: "removableAt", + type: "uint64", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "curator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "fee", + outputs: [ + { + internalType: "uint96", + name: "", + type: "uint96", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "guardian", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + ], + name: "isAllocator", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "lastTotalAssets", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "pendingCap", + outputs: [ + { + internalType: "uint192", + name: "value", + type: "uint192", + }, + { + internalType: "uint64", + name: "validAt", + type: "uint64", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingGuardian", + outputs: [ + { + internalType: "address", + name: "guardian", + type: "address", + }, + { + internalType: "uint64", + name: "validAt", + type: "uint64", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingTimelock", + outputs: [ + { + internalType: "uint192", + name: "value", + type: "uint192", + }, + { + internalType: "uint64", + name: "validAt", + type: "uint64", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + internalType: "struct MarketAllocation[]", + name: "allocations", + type: "tuple[]", + }, + ], + name: "reallocate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "revokePendingCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "revokePendingGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "revokePendingMarketRemoval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "revokePendingTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newCurator", + type: "address", + }, + ], + name: "setCurator", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newAllocator", + type: "address", + }, + { + internalType: "bool", + name: "newIsAllocator", + type: "bool", + }, + ], + name: "setIsAllocator", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newSkimRecipient", + type: "address", + }, + ], + name: "setSkimRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id[]", + name: "newSupplyQueue", + type: "bytes32[]", + }, + ], + name: "setSupplyQueue", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "skim", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "skimRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newSupplyCap", + type: "uint256", + }, + ], + name: "submitCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newGuardian", + type: "address", + }, + ], + name: "submitGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "submitMarketRemoval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newTimelock", + type: "uint256", + }, + ], + name: "submitTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "supplyQueue", + outputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "supplyQueueLength", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "timelock", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256[]", + name: "indexes", + type: "uint256[]", + }, + ], + name: "updateWithdrawQueue", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "withdrawQueue", + outputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "withdrawQueueLength", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IMetaMorphoStaticTyping__factory { + static readonly abi = _abi; + static createInterface(): IMetaMorphoStaticTypingInterface { + return new Interface(_abi) as IMetaMorphoStaticTypingInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IMetaMorphoStaticTyping { + return new Contract( + address, + _abi, + runner + ) as unknown as IMetaMorphoStaticTyping; + } +} diff --git a/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorpho__factory.ts b/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorpho__factory.ts new file mode 100644 index 00000000..1c884b47 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorpho__factory.ts @@ -0,0 +1,1464 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMetaMorpho, + IMetaMorphoInterface, +} from "../../../../../../lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorpho"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Deposit", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Withdraw", + type: "event", + }, + { + inputs: [], + name: "DECIMALS_OFFSET", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "acceptCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "acceptGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "acceptOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "acceptTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "asset", + outputs: [ + { + internalType: "address", + name: "assetTokenAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "config", + outputs: [ + { + components: [ + { + internalType: "uint184", + name: "cap", + type: "uint184", + }, + { + internalType: "bool", + name: "enabled", + type: "bool", + }, + { + internalType: "uint64", + name: "removableAt", + type: "uint64", + }, + ], + internalType: "struct MarketConfig", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "convertToAssets", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "convertToShares", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "curator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "fee", + outputs: [ + { + internalType: "uint96", + name: "", + type: "uint96", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "guardian", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + ], + name: "isAllocator", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "lastTotalAssets", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "maxDeposit", + outputs: [ + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "maxMint", + outputs: [ + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxRedeem", + outputs: [ + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxWithdraw", + outputs: [ + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [ + { + internalType: "bytes[]", + name: "", + type: "bytes[]", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "pendingCap", + outputs: [ + { + components: [ + { + internalType: "uint192", + name: "value", + type: "uint192", + }, + { + internalType: "uint64", + name: "validAt", + type: "uint64", + }, + ], + internalType: "struct PendingUint192", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingGuardian", + outputs: [ + { + components: [ + { + internalType: "address", + name: "value", + type: "address", + }, + { + internalType: "uint64", + name: "validAt", + type: "uint64", + }, + ], + internalType: "struct PendingAddress", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingOwner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingTimelock", + outputs: [ + { + components: [ + { + internalType: "uint192", + name: "value", + type: "uint192", + }, + { + internalType: "uint64", + name: "validAt", + type: "uint64", + }, + ], + internalType: "struct PendingUint192", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewDeposit", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewMint", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewRedeem", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewWithdraw", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + internalType: "struct MarketAllocation[]", + name: "allocations", + type: "tuple[]", + }, + ], + name: "reallocate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "revokePendingCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "revokePendingGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "revokePendingMarketRemoval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "revokePendingTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newCurator", + type: "address", + }, + ], + name: "setCurator", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newAllocator", + type: "address", + }, + { + internalType: "bool", + name: "newIsAllocator", + type: "bool", + }, + ], + name: "setIsAllocator", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newSkimRecipient", + type: "address", + }, + ], + name: "setSkimRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id[]", + name: "newSupplyQueue", + type: "bytes32[]", + }, + ], + name: "setSupplyQueue", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "skim", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "skimRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newSupplyCap", + type: "uint256", + }, + ], + name: "submitCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newGuardian", + type: "address", + }, + ], + name: "submitGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "submitMarketRemoval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newTimelock", + type: "uint256", + }, + ], + name: "submitTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "supplyQueue", + outputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "supplyQueueLength", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "timelock", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalAssets", + outputs: [ + { + internalType: "uint256", + name: "totalManagedAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256[]", + name: "indexes", + type: "uint256[]", + }, + ], + name: "updateWithdrawQueue", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "withdrawQueue", + outputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "withdrawQueueLength", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IMetaMorpho__factory { + static readonly abi = _abi; + static createInterface(): IMetaMorphoInterface { + return new Interface(_abi) as IMetaMorphoInterface; + } + static connect(address: string, runner?: ContractRunner | null): IMetaMorpho { + return new Contract(address, _abi, runner) as unknown as IMetaMorpho; + } +} diff --git a/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMulticall__factory.ts b/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMulticall__factory.ts new file mode 100644 index 00000000..47f1b1e9 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMulticall__factory.ts @@ -0,0 +1,41 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMulticall, + IMulticallInterface, +} from "../../../../../../lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMulticall"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes[]", + name: "", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [ + { + internalType: "bytes[]", + name: "", + type: "bytes[]", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMulticall__factory { + static readonly abi = _abi; + static createInterface(): IMulticallInterface { + return new Interface(_abi) as IMulticallInterface; + } + static connect(address: string, runner?: ContractRunner | null): IMulticall { + return new Contract(address, _abi, runner) as unknown as IMulticall; + } +} diff --git a/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IOwnable__factory.ts b/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IOwnable__factory.ts new file mode 100644 index 00000000..56140a06 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IOwnable__factory.ts @@ -0,0 +1,75 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IOwnable, + IOwnableInterface, +} from "../../../../../../lib/metamorpho/src/interfaces/IMetaMorpho.sol/IOwnable"; + +const _abi = [ + { + inputs: [], + name: "acceptOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingOwner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IOwnable__factory { + static readonly abi = _abi; + static createInterface(): IOwnableInterface { + return new Interface(_abi) as IOwnableInterface; + } + static connect(address: string, runner?: ContractRunner | null): IOwnable { + return new Contract(address, _abi, runner) as unknown as IOwnable; + } +} diff --git a/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/index.ts b/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/index.ts new file mode 100644 index 00000000..29024cce --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IMetaMorpho__factory } from "./IMetaMorpho__factory"; +export { IMetaMorphoBase__factory } from "./IMetaMorphoBase__factory"; +export { IMetaMorphoStaticTyping__factory } from "./IMetaMorphoStaticTyping__factory"; +export { IMulticall__factory } from "./IMulticall__factory"; +export { IOwnable__factory } from "./IOwnable__factory"; diff --git a/pkg/types/factories/lib/metamorpho/src/interfaces/index.ts b/pkg/types/factories/lib/metamorpho/src/interfaces/index.ts new file mode 100644 index 00000000..3e19c5ce --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/src/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as iMetaMorphoSol from "./IMetaMorpho.sol"; diff --git a/pkg/types/factories/lib/metamorpho/src/libraries/ErrorsLib__factory.ts b/pkg/types/factories/lib/metamorpho/src/libraries/ErrorsLib__factory.ts new file mode 100644 index 00000000..5057a611 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/src/libraries/ErrorsLib__factory.ts @@ -0,0 +1,263 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + ErrorsLib, + ErrorsLibInterface, +} from "../../../../../lib/metamorpho/src/libraries/ErrorsLib"; + +const _abi = [ + { + inputs: [], + name: "AboveMaxTimelock", + type: "error", + }, + { + inputs: [], + name: "AllCapsReached", + type: "error", + }, + { + inputs: [], + name: "AlreadyPending", + type: "error", + }, + { + inputs: [], + name: "AlreadySet", + type: "error", + }, + { + inputs: [], + name: "BelowMinTimelock", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "DuplicateMarket", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "InconsistentAsset", + type: "error", + }, + { + inputs: [], + name: "InconsistentReallocation", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "InvalidMarketRemovalNonZeroCap", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "InvalidMarketRemovalNonZeroSupply", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "InvalidMarketRemovalTimelockNotElapsed", + type: "error", + }, + { + inputs: [], + name: "MarketNotCreated", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "MarketNotEnabled", + type: "error", + }, + { + inputs: [], + name: "MaxFeeExceeded", + type: "error", + }, + { + inputs: [], + name: "MaxQueueLengthExceeded", + type: "error", + }, + { + inputs: [], + name: "NoPendingValue", + type: "error", + }, + { + inputs: [], + name: "NonZeroCap", + type: "error", + }, + { + inputs: [], + name: "NotAllocatorRole", + type: "error", + }, + { + inputs: [], + name: "NotCuratorNorGuardianRole", + type: "error", + }, + { + inputs: [], + name: "NotCuratorRole", + type: "error", + }, + { + inputs: [], + name: "NotEnoughLiquidity", + type: "error", + }, + { + inputs: [], + name: "NotGuardianRole", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "PendingCap", + type: "error", + }, + { + inputs: [], + name: "PendingRemoval", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "SupplyCapExceeded", + type: "error", + }, + { + inputs: [], + name: "TimelockNotElapsed", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "UnauthorizedMarket", + type: "error", + }, + { + inputs: [], + name: "ZeroAddress", + type: "error", + }, + { + inputs: [], + name: "ZeroFeeRecipient", + type: "error", + }, +] as const; + +const _bytecode = + "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220c85f38b36ff486ab0606196106e20cc0be39ab0e770bfb2886599f0520218aec64736f6c63430008180033"; + +type ErrorsLibConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ErrorsLibConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ErrorsLib__factory extends ContractFactory { + constructor(...args: ErrorsLibConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + ErrorsLib & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): ErrorsLib__factory { + return super.connect(runner) as ErrorsLib__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ErrorsLibInterface { + return new Interface(_abi) as ErrorsLibInterface; + } + static connect(address: string, runner?: ContractRunner | null): ErrorsLib { + return new Contract(address, _abi, runner) as unknown as ErrorsLib; + } +} diff --git a/pkg/types/factories/lib/metamorpho/src/libraries/EventsLib__factory.ts b/pkg/types/factories/lib/metamorpho/src/libraries/EventsLib__factory.ts new file mode 100644 index 00000000..e1555d18 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/src/libraries/EventsLib__factory.ts @@ -0,0 +1,550 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + EventsLib, + EventsLibInterface, +} from "../../../../../lib/metamorpho/src/libraries/EventsLib"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "newTotalAssets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "feeShares", + type: "uint256", + }, + ], + name: "AccrueInterest", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "metaMorpho", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "initialOwner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "initialTimelock", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "asset", + type: "address", + }, + { + indexed: false, + internalType: "string", + name: "name", + type: "string", + }, + { + indexed: false, + internalType: "string", + name: "symbol", + type: "string", + }, + { + indexed: false, + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + ], + name: "CreateMetaMorpho", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "suppliedAssets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "suppliedShares", + type: "uint256", + }, + ], + name: "ReallocateSupply", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "withdrawnAssets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "withdrawnShares", + type: "uint256", + }, + ], + name: "ReallocateWithdraw", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "RevokePendingCap", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + ], + name: "RevokePendingGuardian", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "RevokePendingMarketRemoval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + ], + name: "RevokePendingTimelock", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "cap", + type: "uint256", + }, + ], + name: "SetCap", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newCurator", + type: "address", + }, + ], + name: "SetCurator", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "SetFee", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "SetFeeRecipient", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "guardian", + type: "address", + }, + ], + name: "SetGuardian", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "allocator", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "isAllocator", + type: "bool", + }, + ], + name: "SetIsAllocator", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newSkimRecipient", + type: "address", + }, + ], + name: "SetSkimRecipient", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: false, + internalType: "Id[]", + name: "newSupplyQueue", + type: "bytes32[]", + }, + ], + name: "SetSupplyQueue", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "newTimelock", + type: "uint256", + }, + ], + name: "SetTimelock", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: false, + internalType: "Id[]", + name: "newWithdrawQueue", + type: "bytes32[]", + }, + ], + name: "SetWithdrawQueue", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Skim", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "cap", + type: "uint256", + }, + ], + name: "SubmitCap", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newGuardian", + type: "address", + }, + ], + name: "SubmitGuardian", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "SubmitMarketRemoval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "newTimelock", + type: "uint256", + }, + ], + name: "SubmitTimelock", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "updatedTotalAssets", + type: "uint256", + }, + ], + name: "UpdateLastTotalAssets", + type: "event", + }, +] as const; + +const _bytecode = + "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212200c11070ef408a55194c27d4243b6f1e7a3b3773c088f259c64d038d5c86b08ac64736f6c63430008180033"; + +type EventsLibConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: EventsLibConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class EventsLib__factory extends ContractFactory { + constructor(...args: EventsLibConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + EventsLib & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): EventsLib__factory { + return super.connect(runner) as EventsLib__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): EventsLibInterface { + return new Interface(_abi) as EventsLibInterface; + } + static connect(address: string, runner?: ContractRunner | null): EventsLib { + return new Contract(address, _abi, runner) as unknown as EventsLib; + } +} diff --git a/pkg/types/factories/lib/metamorpho/src/libraries/index.ts b/pkg/types/factories/lib/metamorpho/src/libraries/index.ts new file mode 100644 index 00000000..df3d8131 --- /dev/null +++ b/pkg/types/factories/lib/metamorpho/src/libraries/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ErrorsLib__factory } from "./ErrorsLib__factory"; +export { EventsLib__factory } from "./EventsLib__factory"; diff --git a/pkg/types/factories/lib/morpho-blue-irm/index.ts b/pkg/types/factories/lib/morpho-blue-irm/index.ts new file mode 100644 index 00000000..c22a39aa --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue-irm/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as lib from "./lib"; +export * as src from "./src"; diff --git a/pkg/types/factories/lib/morpho-blue-irm/lib/index.ts b/pkg/types/factories/lib/morpho-blue-irm/lib/index.ts new file mode 100644 index 00000000..98d7516a --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue-irm/lib/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as morphoBlue from "./morpho-blue"; diff --git a/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/index.ts b/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/index.ts new file mode 100644 index 00000000..ba4b1074 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as src from "./src"; diff --git a/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/index.ts b/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/index.ts new file mode 100644 index 00000000..1d3444d5 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; diff --git a/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IIrm__factory.ts b/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IIrm__factory.ts new file mode 100644 index 00000000..beff5b79 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IIrm__factory.ts @@ -0,0 +1,188 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IIrm, + IIrmInterface, +} from "../../../../../../../lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IIrm"; + +const _abi = [ + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "market", + type: "tuple", + }, + ], + name: "borrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "market", + type: "tuple", + }, + ], + name: "borrowRateView", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IIrm__factory { + static readonly abi = _abi; + static createInterface(): IIrmInterface { + return new Interface(_abi) as IIrmInterface; + } + static connect(address: string, runner?: ContractRunner | null): IIrm { + return new Contract(address, _abi, runner) as unknown as IIrm; + } +} diff --git a/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase__factory.ts b/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase__factory.ts new file mode 100644 index 00000000..4e99221d --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase__factory.ts @@ -0,0 +1,906 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorphoBase, + IMorphoBaseInterface, +} from "../../../../../../../../lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "accrueInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "borrow", + outputs: [ + { + internalType: "uint256", + name: "assetsBorrowed", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesBorrowed", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "createMarket", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "enableIrm", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "enableLltv", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "slots", + type: "bytes32[]", + }, + ], + name: "extSloads", + outputs: [ + { + internalType: "bytes32[]", + name: "", + type: "bytes32[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "flashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + ], + name: "isAuthorized", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "isIrmEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "isLltvEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "address", + name: "borrower", + type: "address", + }, + { + internalType: "uint256", + name: "seizedAssets", + type: "uint256", + }, + { + internalType: "uint256", + name: "repaidShares", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "liquidate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + ], + name: "nonce", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "repay", + outputs: [ + { + internalType: "uint256", + name: "assetsRepaid", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesRepaid", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "newIsAuthorized", + type: "bool", + }, + ], + name: "setAuthorization", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "setAuthorizationWithSig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supply", + outputs: [ + { + internalType: "uint256", + name: "assetsSupplied", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesSupplied", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "assetsWithdrawn", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesWithdrawn", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdrawCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorphoBase__factory { + static readonly abi = _abi; + static createInterface(): IMorphoBaseInterface { + return new Interface(_abi) as IMorphoBaseInterface; + } + static connect(address: string, runner?: ContractRunner | null): IMorphoBase { + return new Contract(address, _abi, runner) as unknown as IMorphoBase; + } +} diff --git a/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping__factory.ts b/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping__factory.ts new file mode 100644 index 00000000..3aa5a754 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping__factory.ts @@ -0,0 +1,1030 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorphoStaticTyping, + IMorphoStaticTypingInterface, +} from "../../../../../../../../lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "accrueInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "borrow", + outputs: [ + { + internalType: "uint256", + name: "assetsBorrowed", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesBorrowed", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "createMarket", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "enableIrm", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "enableLltv", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "slots", + type: "bytes32[]", + }, + ], + name: "extSloads", + outputs: [ + { + internalType: "bytes32[]", + name: "", + type: "bytes32[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "flashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "idToMarketParams", + outputs: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + ], + name: "isAuthorized", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "isIrmEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "isLltvEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "address", + name: "borrower", + type: "address", + }, + { + internalType: "uint256", + name: "seizedAssets", + type: "uint256", + }, + { + internalType: "uint256", + name: "repaidShares", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "liquidate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "market", + outputs: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + ], + name: "nonce", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + internalType: "address", + name: "user", + type: "address", + }, + ], + name: "position", + outputs: [ + { + internalType: "uint256", + name: "supplyShares", + type: "uint256", + }, + { + internalType: "uint128", + name: "borrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "collateral", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "repay", + outputs: [ + { + internalType: "uint256", + name: "assetsRepaid", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesRepaid", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "newIsAuthorized", + type: "bool", + }, + ], + name: "setAuthorization", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "setAuthorizationWithSig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supply", + outputs: [ + { + internalType: "uint256", + name: "assetsSupplied", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesSupplied", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "assetsWithdrawn", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesWithdrawn", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdrawCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorphoStaticTyping__factory { + static readonly abi = _abi; + static createInterface(): IMorphoStaticTypingInterface { + return new Interface(_abi) as IMorphoStaticTypingInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IMorphoStaticTyping { + return new Contract( + address, + _abi, + runner + ) as unknown as IMorphoStaticTyping; + } +} diff --git a/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho__factory.ts b/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho__factory.ts new file mode 100644 index 00000000..f795f72e --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho__factory.ts @@ -0,0 +1,1044 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorpho, + IMorphoInterface, +} from "../../../../../../../../lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "accrueInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "borrow", + outputs: [ + { + internalType: "uint256", + name: "assetsBorrowed", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesBorrowed", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "createMarket", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "enableIrm", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "enableLltv", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "slots", + type: "bytes32[]", + }, + ], + name: "extSloads", + outputs: [ + { + internalType: "bytes32[]", + name: "", + type: "bytes32[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "flashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "idToMarketParams", + outputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + ], + name: "isAuthorized", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "isIrmEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "isLltvEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "address", + name: "borrower", + type: "address", + }, + { + internalType: "uint256", + name: "seizedAssets", + type: "uint256", + }, + { + internalType: "uint256", + name: "repaidShares", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "liquidate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "market", + outputs: [ + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "m", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + ], + name: "nonce", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + internalType: "address", + name: "user", + type: "address", + }, + ], + name: "position", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "supplyShares", + type: "uint256", + }, + { + internalType: "uint128", + name: "borrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "collateral", + type: "uint128", + }, + ], + internalType: "struct Position", + name: "p", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "repay", + outputs: [ + { + internalType: "uint256", + name: "assetsRepaid", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesRepaid", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "newIsAuthorized", + type: "bool", + }, + ], + name: "setAuthorization", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "setAuthorizationWithSig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supply", + outputs: [ + { + internalType: "uint256", + name: "assetsSupplied", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesSupplied", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "assetsWithdrawn", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesWithdrawn", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdrawCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorpho__factory { + static readonly abi = _abi; + static createInterface(): IMorphoInterface { + return new Interface(_abi) as IMorphoInterface; + } + static connect(address: string, runner?: ContractRunner | null): IMorpho { + return new Contract(address, _abi, runner) as unknown as IMorpho; + } +} diff --git a/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts b/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts new file mode 100644 index 00000000..833828f9 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IMorpho__factory } from "./IMorpho__factory"; +export { IMorphoBase__factory } from "./IMorphoBase__factory"; +export { IMorphoStaticTyping__factory } from "./IMorphoStaticTyping__factory"; diff --git a/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/index.ts b/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/index.ts new file mode 100644 index 00000000..6fc3661e --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as iMorphoSol from "./IMorpho.sol"; +export { IIrm__factory } from "./IIrm__factory"; diff --git a/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/AdaptiveCurveIrm__factory.ts b/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/AdaptiveCurveIrm__factory.ts new file mode 100644 index 00000000..6d87fa31 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/AdaptiveCurveIrm__factory.ts @@ -0,0 +1,310 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + AdaptiveCurveIrm, + AdaptiveCurveIrmInterface, +} from "../../../../../lib/morpho-blue-irm/src/adaptive-curve-irm/AdaptiveCurveIrm"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "morpho", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "avgBorrowRate", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "rateAtTarget", + type: "uint256", + }, + ], + name: "BorrowRateUpdate", + type: "event", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "market", + type: "tuple", + }, + ], + name: "borrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "market", + type: "tuple", + }, + ], + name: "borrowRateView", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "rateAtTarget", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x60a03461011c57601f19610a3538819003601f810183168401936001600160401b03939092909183861085871117610106578084926040978852833960209384918101031261011c5751926001600160a01b03841680850361011c5785519182870190811183821017610106578652600c82526b7a65726f206164647265737360a01b84830152156100ad57505050608052516109139081610122823960805181818160bc015261026b0152f35b82855192839162461bcd60e51b835280600484015283519081602485015260005b8281106100ef5750506044935080600085601f938601015201168101030190fd5b8086018201518782016044015286945081016100ce565b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604090808252600436101561001557600080fd5b600090813560e01c90816301977b571461028f575080633acb5624146102205780638c00bf6b146101f457639451fed41461004f57600080fd5b346101f15761005d366102d6565b8351939184830167ffffffffffffffff8111868210176101c4578352600a85526020947f6e6f74204d6f7270686f000000000000000000000000000000000000000000008682015273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633036101315750828061011460a07f7120161a7b3d31251e01294ab351ef15a41b91659a36032e4641bb89b121e321942094856104ff565b91878684939952808a52205581519086825287820152a251908152f35b84908685519283917f08c379a0000000000000000000000000000000000000000000000000000000008352806004840152835193846024850152825b8581106101ad57505050601f837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092604480968601015201168101030190fd5b81810183015187820160440152869450820161016d565b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80fd5b50903461021c5760209061021460a061020c366102d6565b9190206104ff565b509051908152f35b5080fd5b50903461021c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021c576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b905082346102d25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102d257602092600435815280845220548152f35b8280fd5b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820161016081126104415760a013610441576040805167ffffffffffffffff919060a081018381118282101761044657825273ffffffffffffffffffffffffffffffffffffffff6004358181168103610441578252602435818116810361044157602083015260443581811681036104415783830152606435908116810361044157817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c91606060c094015260843560808201529501126104415780519160c08301908111838210176104465781526fffffffffffffffffffffffffffffffff9060a435828116810361044157835260c435828116810361044157602084015260e435908282168203610441578301526101043581811681036104415760608301526101243581811681036104415760808301526101443590811681036104415760a082015290565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8181029291600082127f80000000000000000000000000000000000000000000000000000000000000008214166104b45781840514901517156104b457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b919091600083820193841291129080158216911516176104b457565b81519092916fffffffffffffffffffffffffffffffff91821680156000816107c357508360408401511690670de0b6b3a7640000918281029281840414901517156104b45761078f5704915b670c7d713b49da0000808413156107be575067016345785d8a00005b7ffffffffffffffffffffffffffffffffffffffffffffffffff3828ec4b626000084019384136001166104b457670de0b6b3a764000093848102908082058614901517156104b457811561078f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82147f80000000000000000000000000000000000000000000000000000000000000008214166104b4570594600052600060205260406000205491600091831560001461067a5750505050634b9a1eff8161064482955b600081121561066c57670a688906bd8b0000610475565b059082820191600084841291129080158216911516176104b45761066791610475565b059190565b6729a2241af62c0000610475565b650171268b5ad49187830292830588036107625760800151164203904282116107355790846106a99205610475565b806106bb57505081610644829561062d565b906106e1826106db6106d1869560029a976107cc565b98899205856107cc565b936104e3565b908260011b926002840503610708575060046107018593610644936104e3565b059261062d565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b610567565b9150509161054b565b6107e8906107e2670de0b6b3a764000093610807565b90610475565b05640ec41a0ddf81811290821802186301e3da5f818113908218021890565b7ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d881126108d7576805168fd0946fc0415f8112156108b95760008112156108aa577ffffffffffffffffffffffffffffffffffffffffffffffffffb30b927e6d498d2905b67099e8db03256ce5d80928201059182029003670de0b6b3a764000090600282828002050501019060008112156000146108a3571b90565b6000031d90565b6704cf46d8192b672e9061086b565b50780931d81650c7d88b800000000000000000000000000000000090565b5060009056fea2646970667358221220d4847f6facad80865a8f008ad4657ec47c398534bf2f09f326fe1518525a760664736f6c63430008130033"; + +type AdaptiveCurveIrmConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: AdaptiveCurveIrmConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class AdaptiveCurveIrm__factory extends ContractFactory { + constructor(...args: AdaptiveCurveIrmConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + morpho: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(morpho, overrides || {}); + } + override deploy( + morpho: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(morpho, overrides || {}) as Promise< + AdaptiveCurveIrm & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): AdaptiveCurveIrm__factory { + return super.connect(runner) as AdaptiveCurveIrm__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): AdaptiveCurveIrmInterface { + return new Interface(_abi) as AdaptiveCurveIrmInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): AdaptiveCurveIrm { + return new Contract(address, _abi, runner) as unknown as AdaptiveCurveIrm; + } +} diff --git a/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/index.ts b/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/index.ts new file mode 100644 index 00000000..ebd39829 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; +export * as libraries from "./libraries"; +export { AdaptiveCurveIrm__factory } from "./AdaptiveCurveIrm__factory"; diff --git a/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/interfaces/IAdaptiveCurveIrm__factory.ts b/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/interfaces/IAdaptiveCurveIrm__factory.ts new file mode 100644 index 00000000..f609c1b7 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/interfaces/IAdaptiveCurveIrm__factory.ts @@ -0,0 +1,223 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IAdaptiveCurveIrm, + IAdaptiveCurveIrmInterface, +} from "../../../../../../lib/morpho-blue-irm/src/adaptive-curve-irm/interfaces/IAdaptiveCurveIrm"; + +const _abi = [ + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "market", + type: "tuple", + }, + ], + name: "borrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "market", + type: "tuple", + }, + ], + name: "borrowRateView", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "rateAtTarget", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IAdaptiveCurveIrm__factory { + static readonly abi = _abi; + static createInterface(): IAdaptiveCurveIrmInterface { + return new Interface(_abi) as IAdaptiveCurveIrmInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IAdaptiveCurveIrm { + return new Contract(address, _abi, runner) as unknown as IAdaptiveCurveIrm; + } +} diff --git a/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/interfaces/index.ts b/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/interfaces/index.ts new file mode 100644 index 00000000..313e2ccf --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IAdaptiveCurveIrm__factory } from "./IAdaptiveCurveIrm__factory"; diff --git a/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/libraries/ConstantsLib__factory.ts b/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/libraries/ConstantsLib__factory.ts new file mode 100644 index 00000000..19aa755b --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/libraries/ConstantsLib__factory.ts @@ -0,0 +1,145 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../common"; +import type { + ConstantsLib, + ConstantsLibInterface, +} from "../../../../../../lib/morpho-blue-irm/src/adaptive-curve-irm/libraries/ConstantsLib"; + +const _abi = [ + { + inputs: [], + name: "ADJUSTMENT_SPEED", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "CURVE_STEEPNESS", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "INITIAL_RATE_AT_TARGET", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "MAX_RATE_AT_TARGET", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "MIN_RATE_AT_TARGET", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "TARGET_UTILIZATION", + outputs: [ + { + internalType: "int256", + name: "", + type: "int256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x6080806040523461001a576101f29081610020823930815050f35b600080fdfe60806040818152600436101561001457600080fd5b600091823560e01c908163019ec38b146101855750806358f5cbad1461014d5780635a92fa85146101145780639a1a14d9146100d9578063d91042b5146100a25763fc4c2d541461006457600080fd5b817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009e5760209051673782dace9d9000008152f35b5080fd5b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009e5760209051634b9a1eff8152f35b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009e5760209051670c7d713b49da00008152f35b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009e5760209051650171268b5ad48152f35b50817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009e5760209051640ec41a0ddf8152f35b8390817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009e57806301e3da5f60209252f3fea26469706673582212200c0a084d17f5f6b0b775ff2bbc82c4f196c11c5c6a3c260672ea5084eb832c2364736f6c63430008180033"; + +type ConstantsLibConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ConstantsLibConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ConstantsLib__factory extends ContractFactory { + constructor(...args: ConstantsLibConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + ConstantsLib & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): ConstantsLib__factory { + return super.connect(runner) as ConstantsLib__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ConstantsLibInterface { + return new Interface(_abi) as ConstantsLibInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ConstantsLib { + return new Contract(address, _abi, runner) as unknown as ConstantsLib; + } +} diff --git a/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/libraries/index.ts b/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/libraries/index.ts new file mode 100644 index 00000000..44b7e889 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue-irm/src/adaptive-curve-irm/libraries/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ConstantsLib__factory } from "./ConstantsLib__factory"; diff --git a/pkg/types/factories/lib/morpho-blue-irm/src/index.ts b/pkg/types/factories/lib/morpho-blue-irm/src/index.ts new file mode 100644 index 00000000..07b738a1 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue-irm/src/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as adaptiveCurveIrm from "./adaptive-curve-irm"; diff --git a/pkg/types/factories/lib/morpho-blue/index.ts b/pkg/types/factories/lib/morpho-blue/index.ts new file mode 100644 index 00000000..ba4b1074 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as src from "./src"; diff --git a/pkg/types/factories/lib/morpho-blue/src/Morpho__factory.ts b/pkg/types/factories/lib/morpho-blue/src/Morpho__factory.ts new file mode 100644 index 00000000..ad971198 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/Morpho__factory.ts @@ -0,0 +1,1085 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + Morpho, + MorphoInterface, +} from "../../../../lib/morpho-blue/src/Morpho"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "accrueInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "borrow", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "createMarket", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "enableIrm", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "enableLltv", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "slots", + type: "bytes32[]", + }, + ], + name: "extSloads", + outputs: [ + { + internalType: "bytes32[]", + name: "res", + type: "bytes32[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "flashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "idToMarketParams", + outputs: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "isAuthorized", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "isIrmEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "isLltvEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "address", + name: "borrower", + type: "address", + }, + { + internalType: "uint256", + name: "seizedAssets", + type: "uint256", + }, + { + internalType: "uint256", + name: "repaidShares", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "liquidate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "market", + outputs: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "nonce", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "position", + outputs: [ + { + internalType: "uint256", + name: "supplyShares", + type: "uint256", + }, + { + internalType: "uint128", + name: "borrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "collateral", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "repay", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "newIsAuthorized", + type: "bool", + }, + ], + name: "setAuthorization", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "setAuthorizationWithSig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdrawCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60a034620001aa576001600160401b0390601f1990601f62003eb73881900391820184168301929185841183851017620001395780839260409586528339602092839181010312620001aa57516001600160a01b0381169390849003620001aa5782518381018181108782111762000139578452600c81526b7a65726f206164647265737360a01b8382015284156200014f5750508151908101917f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921883524681830152306060830152606082526080820194828610908611176200013957849052519020608052600080546001600160a01b031916821781557f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb59080a2613d079081620001b0823960805181818161188a01526124b90152f35b634e487b7160e01b600052604160045260246000fd5b82845192839162461bcd60e51b835280600484015283519081602485015260005b828110620001925750506044935080600085601f938601015201168101030190fd5b80860182015187820160440152869450810162000170565b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c806313af403514612b90578063151c1ade14612b2057806320b76e81146128c1578063238d6579146126f75780632b4f013c1461256e5780632c3c9157146124dc5780633644e5151461248357806346904840146124315780634d98a93b1461231557806350d8cd4b146120815780635a64f51e14611fa95780635c2bea4914611d485780635c60e39a14611cb757806365e4ad9e14611c3757806370ae92d214611bd45780637784c68514611a685780638069218f1461167f5780638720316d1461150f5780638c1358a2146111f85780638da5cb5b146111a757806393c520621461110e578063a99aad8914610eda578063b485f3b814610e8d578063d8eabcb8146104e5578063e0232b4214610398578063e74b981b146102cd578063eecea000146101bb5763f2b863ce1461015157600080fd5b346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85760ff604060209273ffffffffffffffffffffffffffffffffffffffff6101a4612c5a565b168152600484522054166040519015158152f35b80fd5b50346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576101f3612c5a565b602435801515908181036102c85761029790338552600660205273ffffffffffffffffffffffffffffffffffffffff604086209416938460005260205261024f60ff604060002054161515841415610249612fdd565b90612f41565b3385526006602052604085208460005260205260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b60405190815233907fd5e969f01efe921d3f766bdebad25f0a05e3f237311f56482bf132d0326309c060203392a480f35b600080fd5b50346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85761036c610308612c5a565b7fffffffffffffffffffffffff000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff91610350838654163314610249612f08565b826001549116938493610361612fdd565b908316851415612f41565b16176001557f2e979f80fe4d43055c584cf4a8467c55875ea36728fc37176c05acd784eb7a738280a280f35b50346101b85760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576103d0612c5a565b6024358260443567ffffffffffffffff81116104e15761040973ffffffffffffffffffffffffffffffffffffffff913690600401612de8565b91909461041f6104176132c2565b861515612f41565b1693846040518581527fc76f1b4fe4396ac07a9fa55a415d4ca430e72651d37d3401f3bed7cb13fc4f1260203392a361045984338761394a565b333b156104d25761049b91839160405193849283927f31f57072000000000000000000000000000000000000000000000000000000008452886004850161319c565b038183335af180156104d6576104be575b50506104bb9130903390613ab9565b80f35b6104c790612cc3565b6104d25782386104ac565b8280fd5b6040513d84823e3d90fd5b5080fd5b50346101b8576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85761051f36612d50565b9073ffffffffffffffffffffffffffffffffffffffff60a4351660a435036102c8576101043567ffffffffffffffff81116104e157610562903690600401612de8565b9160c4359260e4359260a0862093848452600360205261059f6fffffffffffffffffffffffffffffffff6002604087200154161515610249613016565b6105b46105aa6130f9565b8215881518612f41565b6105be858861336e565b6004602073ffffffffffffffffffffffffffffffffffffffff60408a015116604051928380927fa035b1fe0000000000000000000000000000000000000000000000000000000082525afa908115610e82578591610e50575b506106666106298260a435898c61376d565b156040519061063782612cf3565b601382527f706f736974696f6e206973206865616c746879000000000000000000000000006020830152612f41565b6080880151670de0b6b3a764000003670de0b6b3a76400008111610ca057670429d069189e00009080820291820403610ccd57670de0b6b3a764000090049182670de0b6b3a76400000392670de0b6b3a76400008411610e2357670de0b6b3a764000014610df4578715610cfc57506106df908761383b565b6ec097ce7bc90715b34b9f0fffffffff8101809111610ccd576ec097ce7bc90715b34b9f1000000000900480670de0b6b3a7640000810204670de0b6b3a76400001481151715610ccd57670ff59ee833b300006ec097ce7bc90715b34b9f10000000008390048082189082110281187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810111610ca057610807926107d9926ec097ce7bc90715b34b9f10000000009190910480831890831102909118906107d4907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830190670de0b6b3a76400000261316b565b61384e565b85855260036020526001604086200154906fffffffffffffffffffffffffffffffff8260801c921690613c33565b935b808452600360205261083960016040862001546fffffffffffffffffffffffffffffffff8160801c911687613c55565b9461084381613c78565b82865260026020526040862073ffffffffffffffffffffffffffffffffffffffff60a4351660005260205260016040600020016fffffffffffffffffffffffffffffffff61089582549382851661322e565b167fffffffffffffffffffffffffffffffff000000000000000000000000000000008093161790556109266108c983613c78565b84885260036020526108e6600160408a200191825460801c61322e565b6fffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b82865260036020526109576fffffffffffffffffffffffffffffffff60016040892001541688808203911102613c78565b83875260036020526fffffffffffffffffffffffffffffffff600160408920019116828254161790556109cd61098c89613c78565b84885260026020526040882073ffffffffffffffffffffffffffffffffffffffff60a435166000526020526108e6600160406000200191825460801c61322e565b8590869084885260026020526040882073ffffffffffffffffffffffffffffffffffffffff60a4351660005260205260016040600020015460801c15610b39575b506040519288845260208401528860408401526060830152608082015273ffffffffffffffffffffffffffffffffffffffff60a43516917fa4946ede45d0c6f06a0f5ce92c9ad3b4751452d2fe0e25010783bcab57a67e4160a03393a4610a90853373ffffffffffffffffffffffffffffffffffffffff60208a01511661394a565b81610acc575b505050610ac08173ffffffffffffffffffffffffffffffffffffffff604095511630903390613ab9565b82519182526020820152f35b333b156104d257610b0e91839160405193849283927fcf7ea196000000000000000000000000000000000000000000000000000000008452886004850161319c565b038183335af180156104d657610b25575b80610a96565b610b2f8291612cc3565b6101b85780610b1f565b91505082865260026020526040862073ffffffffffffffffffffffffffffffffffffffff60a435166000526020526fffffffffffffffffffffffffffffffff600160406000200154169083875260036020526001604088200154610bb46fffffffffffffffffffffffffffffffff82169160801c8285613c55565b818110908218021890610bc682613c78565b8589526003602052600160408a200190826fffffffffffffffffffffffffffffffff610bf684549382851661322e565b169116179055610c0582613c78565b85895260036020526040892090826fffffffffffffffffffffffffffffffff610c3284549382851661322e565b169116179055610c61610c4484613c78565b868a5260036020526108e6600160408c200191825460801c61322e565b84885260026020526040882073ffffffffffffffffffffffffffffffffffffffff60a43516600052602052600160406000200190815416905538610a0e565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b95965090610d78670de0b6b3a7640000918887526003602052610d73600160408920015491670ff59ee833b300009081816ec097ce7bc90715b34b9f10000000000410906ec097ce7bc90715b34b9f10000000000482180218916fffffffffffffffffffffffffffffffff8160801c91168a613c0d565b61383b565b04806ec097ce7bc90715b34b9f10000000008102046ec097ce7bc90715b34b9f10000000001481151715610dc757906ec097ce7bc90715b34b9f1000000000610dc1920261384e565b94610809565b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b90506020813d602011610e7a575b81610e6b60209383612d0f565b810103126102c8575138610617565b3d9150610e5e565b6040513d87823e3d90fd5b50346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85760ff60406020926004358152600584522054166040519015158152f35b50346101b857610ee936612e16565b849691959296958460a08520808552602096600388526fffffffffffffffffffffffffffffffff98610f288a600260408a200154161515610249613016565b1592610f3e610f356130f9565b82158618612f41565b73ffffffffffffffffffffffffffffffffffffffff809c1693610f62610417613132565b610f6c848a61336e565b6110e757505080855260038752610f8e6040862054898160801c91168b613be8565b975b81865260028852604086208360005288526040600020610fb18a825461316b565b9055610fd8610fbf8a613c78565b83885260038a526108e66040892091825460801c613178565b610fe18a613c78565b828752600389527fffffffffffffffffffffffffffffffff00000000000000000000000000000000604088209261101c845493828516613178565b1691161790556040519089825288888301527fedf8870433c83823eb071d3df1caa8d008f12f6440918c20d75a3602cda30fe060403393a48161107a575b5050508360409561107092511630903390613ab9565b8351928352820152f35b333b156104d2576110bc91839160405193849283927f2075be030000000000000000000000000000000000000000000000000000000084528b6004850161319c565b038183335af180156104d6576110d3575b8061105a565b6110dd8291612cc3565b6101b857806110cd565b61110891999a50828752600389526040872054908b8260801c921690613c55565b98610f90565b50346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85773ffffffffffffffffffffffffffffffffffffffff604061115d612ca0565b926004358152600260205220911660005260205260606040600020600181549101546040519182526fffffffffffffffffffffffffffffffff8116602083015260801c6040820152f35b50346101b857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85773ffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b50346101b85760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85761123136612d50565b60a0812090606081019173ffffffffffffffffffffffffffffffffffffffff808451168552602093600485526112a360ff6040882054166040519061127582612cf3565b600f82527f49524d206e6f7420656e61626c6564000000000000000000000000000000000088830152612f41565b6080840180518752600586526112f560ff604089205416604051906112c782612cf3565b601082527f4c4c5456206e6f7420656e61626c65640000000000000000000000000000000089830152612f41565b838752600386526fffffffffffffffffffffffffffffffff61135681600260408b20015416156040519061132882612cf3565b601682527f6d61726b657420616c72656164792063726561746564000000000000000000008a830152612f41565b84885260038752600260408920019042167fffffffffffffffffffffffffffffffff000000000000000000000000000000008254161790556008865260046040882091848751167fffffffffffffffffffffffff0000000000000000000000000000000000000000908185541617845560018401868a8a01511682825416179055600284018660408a015116828254161790556003840190868651169082541617905551910155827fac4b2400f169220b0c0afdde7a0b32e775ba727ea1cb30b35f935cdaab8683ac60a060405161147281896080809173ffffffffffffffffffffffffffffffffffffffff80825116855280602083015116602086015280604083015116604086015260608201511660608501520151910152565ba25116918261147f578480f35b6114c69284928652600383526040862091866040518096819582947f9451fed40000000000000000000000000000000000000000000000000000000084526004840161304f565b03925af18015611504576114db575b80808480f35b813d83116114fd575b6114ee8183612d0f565b810103126102c85738806114d5565b503d6114e4565b6040513d85823e3d90fd5b50346101b8576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85761154936612d50565b60a435611554612c7d565b60e4359073ffffffffffffffffffffffffffffffffffffffff90818316948584036102c8576104bb958760209361164561163d60a0862092838552600388526115ba6fffffffffffffffffffffffffffffffff6002604088200154161515610249613016565b6115cd6115c56132c2565b8c1515612f41565b6115e06115d8613132565b871515612f41565b6115f46115ec82613328565b6102496131e8565b6115fe848861336e565b611636604061160c8d613c78565b9686815260028b5220958a831696876000528a526108e6600160406000200191825460801c61322e565b838761367c565b610249613289565b60408051338152602081018a90527fe80ebd7cc9223d7382aab2e0d1d6155c65651f83d53c8b9b06901d167e3211429190a401511661394a565b50346101b857610100367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc018181126104d25760a0136104e1576040516116c581612cd7565b6116cd612c5a565b81526116d7612ca0565b906020908181019283526044359384151585036102c85760408201948552606082016064358152608435608084019080825260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c360112611a64576040516117749161174382612cf3565b601182527f7369676e6174757265206578706972656400000000000000000000000000000088830152421115612f41565b8151926117e873ffffffffffffffffffffffffffffffffffffffff94858751168b526007885260408b208054906117aa826132fb565b9055604051916117b983612cf3565b600d83527f696e76616c6964206e6f6e6365000000000000000000000000000000000000008a84015214612f41565b60405191868301907f81d0284fb0e2cde18d0553b06189d6f7613c96a01bb5b5e7828eade6a0dcac918252858751166040850152858951166060850152895115156080850152845160a08501525160c084015260c0835260e083019167ffffffffffffffff9184841083851117611a35578360405284519020908401907f190100000000000000000000000000000000000000000000000000000000000082527f00000000000000000000000000000000000000000000000000000000000000006101028601526101228501526042835261016084019183831090831117611a35578a92826040525190209060a4359360ff8516809503611a31578894608093835261018082015260c4356101a08201526101c060e43591015282805260015afa15611a26577fd5e969f01efe921d3f766bdebad25f0a05e3f237311f56482bf132d0326309c092829161197f838a51168015159081611a19575b506040519061195182612cf3565b601182527f696e76616c6964207369676e617475726500000000000000000000000000000089830152612f41565b8282511690516040519081527fa58af1a0c70dba0c7aa60d1a1a147ebd61000d1690a968828ac718bca927f2c7873392a3611a0387511515838351168a526006875260408a2084895116600052875260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b511693511693511515916040519283523392a480f35b9050848451161438611943565b6040513d88823e3d90fd5b8380fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8880fd5b50346101b8576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104e1576004359067ffffffffffffffff90818311611a315736602384011215611a31578260040135918211611a3157602491600590368482841b87010111611bd057849181611ae58893613823565b95611af36040519788612d0f565b818752611aff82613823565b947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08789019601368737845b838110611b7557505050505060405193838594850191818652518092526040850193925b828110611b5e57505050500390f35b835185528695509381019392810192600101611b4f565b9497959694611b83816132fb565b9084811015611ba457851b82018301355481861b8801529597949695611b2b565b838a7f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b8580fd5b50346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857604060209173ffffffffffffffffffffffffffffffffffffffff611c26612c5a565b168152600783522054604051908152f35b50346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857611c6f612c5a565b6040611c79612ca0565b9273ffffffffffffffffffffffffffffffffffffffff80931681526006602052209116600052602052602060ff604060002054166040519015158152f35b50346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857604060c091600435815260036020522080546002600183015492015490604051926fffffffffffffffffffffffffffffffff91828116855260801c6020850152818116604085015260801c60608401528116608083015260801c60a0820152f35b50346101b857604090611d5a36612e98565b9294939190858260a08520918288526003602052611d946fffffffffffffffffffffffffffffffff60028c8b200154161515610249613016565b1593611daa611da16130f9565b82158718612f41565b73ffffffffffffffffffffffffffffffffffffffff871694611dcd6115d8613132565b611dd96115ec86613328565b611de3848861336e565b611f4e57505092610ac0949273ffffffffffffffffffffffffffffffffffffffff9285899689526003602052611f0e8b611e37818c20546fffffffffffffffffffffffffffffffff8160801c91168b613c33565b9a5b8381526002602052878282209516948560005260205281600020611e5e8d8254613221565b9055611e85611e6c8d613c78565b85835260036020526108e684842091825460801c61322e565b611e8e8a613c78565b8482526003602052828220907fffffffffffffffffffffffffffffffff000000000000000000000000000000006fffffffffffffffffffffffffffffffff611eda84549382851661322e565b1691161790558381526003602052206fffffffffffffffffffffffffffffffff806001830154169154161015610249613250565b8a5133815260208101889052604081018a90527fa56fc0ad5702ec05ce63666221f796fb62437c32db1aa1aa075fc6484cf58fbf90606090a4511661394a565b8998509282611f0e611fa173ffffffffffffffffffffffffffffffffffffffff968b9996610ac09b99969c5260036020528c8a2054906fffffffffffffffffffffffffffffffff8260801c921690613c0d565b9a8b98611e39565b50346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857611fe1612c5a565b73ffffffffffffffffffffffffffffffffffffffff90612008828454163314610249612f08565b16808252600460205261202560ff60408420541615610249612fdd565b80825260046020526040822060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790557f590e04cdebeccba40f566186b9746ad295a4cd358ea4fefaaea6ce79630d96c08280a280f35b50346101b85761209036612e98565b909291948294869160a08220958682526003966020968888526fffffffffffffffffffffffffffffffff906120d2826002604088200154161515610249613016565b15936120e86120df6130f9565b8d158718612f41565b73ffffffffffffffffffffffffffffffffffffffff968789169561211561210d613132565b881515612f41565b6121216115ec87613328565b61212b858961336e565b6122e657508a9b5082819b98999a9b528a8a526121566001604083200154838160801c91168a613c33565b9a8b945b61216386613c78565b85845260028d528c8360408620988c8516998a60005283526040600020600101888154958187169061219491613178565b167fffffffffffffffffffffffffffffffff000000000000000000000000000000008096161790556121c590613c78565b91888752526040852060010190815460801c906121e191613178565b81546fffffffffffffffffffffffffffffffff1660809190911b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000161790558c8361222b8d613c78565b91888752526040852060010191868354928184169061224991613178565b16911617905561225a90858961367c565b612262613289565b61226b91612f41565b8382528a526040902090806001830154169154161015612289613250565b61229291612f41565b60408051338152602081018890529081018a90527f570954540bed6b1304a87dfe815a5eda4a648f7097a16240dcd85c9b5fd42a4390606090a45116916122d89261394a565b604051928352820152604090f35b9a5061230d8b9498999a9c8483528d8c52600160408420015490848260801c921690613c0d565b9b8c9861215a565b50346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8577f297b80e7a896fad470c630f6575072d609bde997260ff3db851939405ec29139602060043561239073ffffffffffffffffffffffffffffffffffffffff8554163314610249612f08565b808452600582526123ab60ff60408620541615610249612fdd565b6123f36040516123ba81612cf3565b601181527f6d6178204c4c545620657863656564656400000000000000000000000000000084820152670de0b6b3a76400008310612f41565b808452600582526040842060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055604051908152a180f35b50346101b857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b50346101b857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b50346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857604060a091600435815260086020522073ffffffffffffffffffffffffffffffffffffffff8082541691816001820154169160048160028401541691600384015416920154926040519485526020850152604084015260608301526080820152f35b50346101b85760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576125a736612d50565b7f139d6f58e9a127229667c8e3b36e88890a66cfc8ab1024ddc513e189e125b75b602060a4356125f273ffffffffffffffffffffffffffffffffffffffff8654163314610249612f08565b6126ed60a08520948587526003845261269c866fffffffffffffffffffffffffffffffff9261262e84600260408d200154161515610249613016565b818a526003875261264e600260408c20015460801c871415610249612fdd565b61269760405161265d81612cf3565b601081527f6d61782066656520657863656564656400000000000000000000000000000000898201526703782dace9d90000881115612f41565b61336e565b85875260038452821660026040882001906fffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b604051908152a280f35b50346101b8576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85761273136612d50565b9060a43561273d612c7d565b60e43567ffffffffffffffff8111611a315761275d903690600401612de8565b9060a0862080865260036020526127916fffffffffffffffffffffffffffffffff6002604089200154161515610249613016565b61279c6104176132c2565b73ffffffffffffffffffffffffffffffffffffffff809416906127c86127c0613132565b831515612f41565b6127fb6127d487613c78565b828952600260205260408920848a526020526108e6600160408b200191825460801c613178565b604051908682527fa3b9472a1399e17e123f3c2e6586c23e504184d504de59cdaa2b375e880c618460203393a481612843575b505060206104bb939401511630903390613ab9565b333b156128bd5761288591859160405193849283927fb1022fdf000000000000000000000000000000000000000000000000000000008452886004850161319c565b038183335af180156128b25761289c575b8061282e565b6104bb936128ab602092612cc3565b9350612896565b6040513d86823e3d90fd5b8480fd5b50346101b8576128d036612e16565b849691959296958460a0852080855260036020978189526fffffffffffffffffffffffffffffffff996129108b600260408b200154161515610249613016565b159361291d611da16130f9565b73ffffffffffffffffffffffffffffffffffffffff809d16946129416115d8613132565b61294b858b61336e565b612af757505081865280885261296f60016040882001548a8160801c91168c613be8565b985b61297a8a613c78565b9083885260028a52604088208589528a5260016040892001816129a182549482861661322e565b167fffffffffffffffffffffffffffffffff000000000000000000000000000000008094161790556129f06129d58c613c78565b858a52848c526108e6600160408c200191825460801c61322e565b838852828a52612a0f81600160408b200154168d808203911102613c78565b928489528a52600160408920019216908254161790556040519089825288888301527f52acb05cebbd3cd39715469f22afbf5a17496295ef3bc9bb5944056c63ccaa0960403393a481612a72575050508360409561107092511630903390613ab9565b333b156104d257918091612ab59360405194859283927f05b4591c0000000000000000000000000000000000000000000000000000000084528b6004850161319c565b038183335af1908115612aeb575095611070928692604098612adc575b509281975061105a565b612ae590612cc3565b38612ad2565b604051903d90823e3d90fd5b612b1a919a9b50838852828a526001604089200154908c8260801c921690613c55565b99612971565b50346101b85760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576104bb612b5c36612d50565b60a081209081845260036020526126976fffffffffffffffffffffffffffffffff6002604087200154161515610249613016565b50346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857612c2f612bcb612c5a565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000835473ffffffffffffffffffffffffffffffffffffffff80821693612c1a612c12612f08565b863314612f41565b16938493612c26612fdd565b90851415612f41565b161782557f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb58280a280f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036102c857565b60c4359073ffffffffffffffffffffffffffffffffffffffff821682036102c857565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036102c857565b67ffffffffffffffff8111611a3557604052565b60a0810190811067ffffffffffffffff821117611a3557604052565b6040810190811067ffffffffffffffff821117611a3557604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611a3557604052565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a09101126102c85760405190612d8782612cd7565b8173ffffffffffffffffffffffffffffffffffffffff60043581811681036102c857825260243581811681036102c857602083015260443581811681036102c857604083015260643590811681036102c85760608201526080608435910152565b9181601f840112156102c85782359167ffffffffffffffff83116102c857602083818601950101116102c857565b6101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126102c857612e4a81612d50565b9160a4359160c4359160e43573ffffffffffffffffffffffffffffffffffffffff811681036102c85791610104359067ffffffffffffffff82116102c857612e9491600401612de8565b9091565b6101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126102c857612ecc90612d50565b9060a4359060c4359073ffffffffffffffffffffffffffffffffffffffff9060e43582811681036102c857916101043590811681036102c85790565b60405190612f1582612cf3565b600982527f6e6f74206f776e657200000000000000000000000000000000000000000000006020830152565b15612f495750565b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110612fc6575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201612f85565b60405190612fea82612cf3565b600b82527f616c7265616479207365740000000000000000000000000000000000000000006020830152565b6040519061302382612cf3565b601282527f6d61726b6574206e6f74206372656174656400000000000000000000000000006020830152565b909291610140906130a9836101608101966080809173ffffffffffffffffffffffffffffffffffffffff80825116855280602083015116602086015280604083015116604086015260608201511660608501520151910152565b60028154916fffffffffffffffffffffffffffffffff9283811660a087015260801c60c0860152600181015483811660e087015260801c610100860152015490811661012084015260801c910152565b6040519061310682612cf3565b601282527f696e636f6e73697374656e7420696e70757400000000000000000000000000006020830152565b6040519061313f82612cf3565b600c82527f7a65726f206164647265737300000000000000000000000000000000000000006020830152565b91908201809211610ccd57565b9190916fffffffffffffffffffffffffffffffff80809416911601918211610ccd57565b9183606094601f927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0948652604060208701528160408701528686013760008582860101520116010190565b604051906131f582612cf3565b600c82527f756e617574686f72697a656400000000000000000000000000000000000000006020830152565b91908203918211610ccd57565b6fffffffffffffffffffffffffffffffff9182169082160391908211610ccd57565b6040519061325d82612cf3565b601682527f696e73756666696369656e74206c6971756964697479000000000000000000006020830152565b6040519061329682612cf3565b601782527f696e73756666696369656e7420636f6c6c61746572616c0000000000000000006020830152565b604051906132cf82612cf3565b600b82527f7a65726f206173736574730000000000000000000000000000000000000000006020830152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610ccd5760010190565b73ffffffffffffffffffffffffffffffffffffffff1680331490811561334c575090565b9050600052600660205260406000203360005260205260ff6040600020541690565b91906000908082526003916020928084526fffffffffffffffffffffffffffffffff936040936133a686600287872001541642613221565b80156136715773ffffffffffffffffffffffffffffffffffffffff908160608b01511680613409575b50505060029596975083525220019042167fffffffffffffffffffffffffffffffff00000000000000000000000000000000825416179055565b61344d8591858952878352898920898b519e8f94859384927f9451fed40000000000000000000000000000000000000000000000000000000084526004840161304f565b03925af1998a1561366757869a613637575b50606088999a6134f087898796898860029f8f7f9d9bd501d0657d7dfe415f779a620a62b78bc508ddc0891fbbd8b7ac0f8fce879a8387528785526134fb6134b0846001858b20015416928c61383b565b916134f5671bc16d674ec800006134c7858061383b565b0493670de0b6b3a76400009c856729a2241af62c00008f97846134e99161383b565b049261316b565b61316b565b9061383b565b049561350687613c78565b84825288865260018383200184613521825493828516613178565b167fffffffffffffffffffffffffffffffff0000000000000000000000000000000080931617905561355288613c78565b858352898752838320918561356b845493828516613178565b16911617905580978482528086526002838320015460801c998a6135aa575b505090519889525050505050888401528a83015250a287969538806133cf565b8899506135bf6135ce97989b6135e19a61383b565b04968795835252205416613221565b888d528b8b528d8d205460801c91613be8565b91868b528c89528b8b2090600154168b5288528a8a2061360283825461316b565b905561362761361083613c78565b878c528a8a526108e68d8d2091825460801c613178565b819038898f89908f8f8f8661358a565b9099508381813d8311613660575b61364f8183612d0f565b81010312611bd0575198606061345f565b503d613645565b87513d88823e3d90fd5b505050505050509050565b909291600093808552602092600284526040862073ffffffffffffffffffffffffffffffffffffffff90818516885285526fffffffffffffffffffffffffffffffff600160408920015416156137625784600491604084015116604051928380927fa035b1fe0000000000000000000000000000000000000000000000000000000082525afa948515613757578795613720575b505061371d94955061376d565b90565b9080929550813d8311613750575b6137388183612d0f565b81010312611bd05761371d9495505192859438613710565b503d61372e565b6040513d89823e3d90fd5b506001955050505050565b60806ec097ce7bc90715b34b9f100000000061381361381d949660016040670de0b6b3a7640000986000908b8252600260205273ffffffffffffffffffffffffffffffffffffffff8383209116908183526020526137f86fffffffffffffffffffffffffffffffff8d8187878720015416908552600360205286868620015491828c1c921690613c55565b9b82526002602052828220908252602052200154841c61383b565b049101519061383b565b04101590565b67ffffffffffffffff8111611a355760051b60200190565b81810292918115918404141715610ccd57565b8115610df4570490565b906138629161383b565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810191818311610ccd5761371d926107d49161316b565b604051906138a882612cf3565b600782527f6e6f20636f6465000000000000000000000000000000000000000000000000006020830152565b3d1561392d573d9067ffffffffffffffff8211611a35576040519161392160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184612d0f565b82523d6000602084013e565b606090565b908160209103126102c8575180151581036102c85790565b613a9d92600092836139da613a0673ffffffffffffffffffffffffffffffffffffffff83961694613980863b151561024961389b565b60405192839160208301967fa9059cbb000000000000000000000000000000000000000000000000000000008852602484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612d0f565b51925af1613a52613a156138d4565b9160405190613a2382612cf3565b601182527f7472616e736665722072657665727465640000000000000000000000000000006020830152612f41565b8051908115918215613a9f575b505060405190613a6e82612cf3565b601782527f7472616e736665722072657475726e65642066616c73650000000000000000006020830152612f41565b565b613ab29250602080918301019101613932565b3880613a5f565b60009291838093613a9d9673ffffffffffffffffffffffffffffffffffffffff80951694613aec863b151561024961389b565b604051928160208501967f23b872dd000000000000000000000000000000000000000000000000000000008852166024850152166044830152606482015260648152613b3781612cd7565b51925af1613b83613b466138d4565b9160405190613b5482612cf3565b601582527f7472616e7366657246726f6d20726576657274656400000000000000000000006020830152612f41565b8051908115918215613bce575b505060405190613b9f82612cf3565b601b82527f7472616e7366657246726f6d2072657475726e65642066616c736500000000006020830152612f41565b613be19250602080918301019101613932565b3880613b90565b620f42408301809311610ccd5760018201809211610ccd5761371d926107d49161383b565b6001820192918310610ccd57620f42408201809211610ccd5761371d926107d49161383b565b91620f42408101809111610ccd5760018201809211610ccd5761371d92613858565b919060018101809111610ccd57620f42408201809211610ccd5761371d92613858565b60405190613c8582612cf3565b601482527f6d61782075696e743132382065786365656465640000000000000000000000006020830152613ccd6fffffffffffffffffffffffffffffffff9283831115612f41565b169056fea2646970667358221220d6dcd18e519bc8f50e3b12881118deae10721cf5b48c687e5859a13f96a2925664736f6c63430008130033"; + +type MorphoConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: MorphoConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Morpho__factory extends ContractFactory { + constructor(...args: MorphoConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + newOwner: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(newOwner, overrides || {}); + } + override deploy( + newOwner: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(newOwner, overrides || {}) as Promise< + Morpho & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Morpho__factory { + return super.connect(runner) as Morpho__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): MorphoInterface { + return new Interface(_abi) as MorphoInterface; + } + static connect(address: string, runner?: ContractRunner | null): Morpho { + return new Contract(address, _abi, runner) as unknown as Morpho; + } +} diff --git a/pkg/types/factories/lib/morpho-blue/src/index.ts b/pkg/types/factories/lib/morpho-blue/src/index.ts new file mode 100644 index 00000000..74d91b69 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; +export * as libraries from "./libraries"; +export { Morpho__factory } from "./Morpho__factory"; diff --git a/pkg/types/factories/lib/morpho-blue/src/interfaces/IIrm__factory.ts b/pkg/types/factories/lib/morpho-blue/src/interfaces/IIrm__factory.ts new file mode 100644 index 00000000..a5180096 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/interfaces/IIrm__factory.ts @@ -0,0 +1,188 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IIrm, + IIrmInterface, +} from "../../../../../lib/morpho-blue/src/interfaces/IIrm"; + +const _abi = [ + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "market", + type: "tuple", + }, + ], + name: "borrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "market", + type: "tuple", + }, + ], + name: "borrowRateView", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IIrm__factory { + static readonly abi = _abi; + static createInterface(): IIrmInterface { + return new Interface(_abi) as IIrmInterface; + } + static connect(address: string, runner?: ContractRunner | null): IIrm { + return new Contract(address, _abi, runner) as unknown as IIrm; + } +} diff --git a/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase__factory.ts b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase__factory.ts new file mode 100644 index 00000000..9118e608 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase__factory.ts @@ -0,0 +1,906 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorphoBase, + IMorphoBaseInterface, +} from "../../../../../../lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "accrueInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "borrow", + outputs: [ + { + internalType: "uint256", + name: "assetsBorrowed", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesBorrowed", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "createMarket", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "enableIrm", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "enableLltv", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "slots", + type: "bytes32[]", + }, + ], + name: "extSloads", + outputs: [ + { + internalType: "bytes32[]", + name: "", + type: "bytes32[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "flashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + ], + name: "isAuthorized", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "isIrmEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "isLltvEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "address", + name: "borrower", + type: "address", + }, + { + internalType: "uint256", + name: "seizedAssets", + type: "uint256", + }, + { + internalType: "uint256", + name: "repaidShares", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "liquidate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + ], + name: "nonce", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "repay", + outputs: [ + { + internalType: "uint256", + name: "assetsRepaid", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesRepaid", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "newIsAuthorized", + type: "bool", + }, + ], + name: "setAuthorization", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "setAuthorizationWithSig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supply", + outputs: [ + { + internalType: "uint256", + name: "assetsSupplied", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesSupplied", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "assetsWithdrawn", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesWithdrawn", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdrawCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorphoBase__factory { + static readonly abi = _abi; + static createInterface(): IMorphoBaseInterface { + return new Interface(_abi) as IMorphoBaseInterface; + } + static connect(address: string, runner?: ContractRunner | null): IMorphoBase { + return new Contract(address, _abi, runner) as unknown as IMorphoBase; + } +} diff --git a/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping__factory.ts b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping__factory.ts new file mode 100644 index 00000000..a787ea20 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping__factory.ts @@ -0,0 +1,1030 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorphoStaticTyping, + IMorphoStaticTypingInterface, +} from "../../../../../../lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "accrueInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "borrow", + outputs: [ + { + internalType: "uint256", + name: "assetsBorrowed", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesBorrowed", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "createMarket", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "enableIrm", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "enableLltv", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "slots", + type: "bytes32[]", + }, + ], + name: "extSloads", + outputs: [ + { + internalType: "bytes32[]", + name: "", + type: "bytes32[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "flashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "idToMarketParams", + outputs: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + ], + name: "isAuthorized", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "isIrmEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "isLltvEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "address", + name: "borrower", + type: "address", + }, + { + internalType: "uint256", + name: "seizedAssets", + type: "uint256", + }, + { + internalType: "uint256", + name: "repaidShares", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "liquidate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "market", + outputs: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + ], + name: "nonce", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + internalType: "address", + name: "user", + type: "address", + }, + ], + name: "position", + outputs: [ + { + internalType: "uint256", + name: "supplyShares", + type: "uint256", + }, + { + internalType: "uint128", + name: "borrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "collateral", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "repay", + outputs: [ + { + internalType: "uint256", + name: "assetsRepaid", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesRepaid", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "newIsAuthorized", + type: "bool", + }, + ], + name: "setAuthorization", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "setAuthorizationWithSig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supply", + outputs: [ + { + internalType: "uint256", + name: "assetsSupplied", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesSupplied", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "assetsWithdrawn", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesWithdrawn", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdrawCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorphoStaticTyping__factory { + static readonly abi = _abi; + static createInterface(): IMorphoStaticTypingInterface { + return new Interface(_abi) as IMorphoStaticTypingInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IMorphoStaticTyping { + return new Contract( + address, + _abi, + runner + ) as unknown as IMorphoStaticTyping; + } +} diff --git a/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho__factory.ts b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho__factory.ts new file mode 100644 index 00000000..07c8e0c8 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho__factory.ts @@ -0,0 +1,1044 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorpho, + IMorphoInterface, +} from "../../../../../../lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "accrueInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "borrow", + outputs: [ + { + internalType: "uint256", + name: "assetsBorrowed", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesBorrowed", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "createMarket", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "enableIrm", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "enableLltv", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "slots", + type: "bytes32[]", + }, + ], + name: "extSloads", + outputs: [ + { + internalType: "bytes32[]", + name: "", + type: "bytes32[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "flashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "idToMarketParams", + outputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + ], + name: "isAuthorized", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "isIrmEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "isLltvEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "address", + name: "borrower", + type: "address", + }, + { + internalType: "uint256", + name: "seizedAssets", + type: "uint256", + }, + { + internalType: "uint256", + name: "repaidShares", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "liquidate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "market", + outputs: [ + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "m", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + ], + name: "nonce", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + internalType: "address", + name: "user", + type: "address", + }, + ], + name: "position", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "supplyShares", + type: "uint256", + }, + { + internalType: "uint128", + name: "borrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "collateral", + type: "uint128", + }, + ], + internalType: "struct Position", + name: "p", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "repay", + outputs: [ + { + internalType: "uint256", + name: "assetsRepaid", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesRepaid", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "newIsAuthorized", + type: "bool", + }, + ], + name: "setAuthorization", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "setAuthorizationWithSig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supply", + outputs: [ + { + internalType: "uint256", + name: "assetsSupplied", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesSupplied", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "assetsWithdrawn", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesWithdrawn", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdrawCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorpho__factory { + static readonly abi = _abi; + static createInterface(): IMorphoInterface { + return new Interface(_abi) as IMorphoInterface; + } + static connect(address: string, runner?: ContractRunner | null): IMorpho { + return new Contract(address, _abi, runner) as unknown as IMorpho; + } +} diff --git a/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts new file mode 100644 index 00000000..833828f9 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IMorpho__factory } from "./IMorpho__factory"; +export { IMorphoBase__factory } from "./IMorphoBase__factory"; +export { IMorphoStaticTyping__factory } from "./IMorphoStaticTyping__factory"; diff --git a/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoFlashLoanCallback__factory.ts b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoFlashLoanCallback__factory.ts new file mode 100644 index 00000000..3e68e591 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoFlashLoanCallback__factory.ts @@ -0,0 +1,47 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorphoFlashLoanCallback, + IMorphoFlashLoanCallbackInterface, +} from "../../../../../../lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoFlashLoanCallback"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoFlashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorphoFlashLoanCallback__factory { + static readonly abi = _abi; + static createInterface(): IMorphoFlashLoanCallbackInterface { + return new Interface(_abi) as IMorphoFlashLoanCallbackInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IMorphoFlashLoanCallback { + return new Contract( + address, + _abi, + runner + ) as unknown as IMorphoFlashLoanCallback; + } +} diff --git a/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoLiquidateCallback__factory.ts b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoLiquidateCallback__factory.ts new file mode 100644 index 00000000..750aeaef --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoLiquidateCallback__factory.ts @@ -0,0 +1,47 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorphoLiquidateCallback, + IMorphoLiquidateCallbackInterface, +} from "../../../../../../lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoLiquidateCallback"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint256", + name: "repaidAssets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoLiquidate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorphoLiquidateCallback__factory { + static readonly abi = _abi; + static createInterface(): IMorphoLiquidateCallbackInterface { + return new Interface(_abi) as IMorphoLiquidateCallbackInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IMorphoLiquidateCallback { + return new Contract( + address, + _abi, + runner + ) as unknown as IMorphoLiquidateCallback; + } +} diff --git a/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoRepayCallback__factory.ts b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoRepayCallback__factory.ts new file mode 100644 index 00000000..dd8af73f --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoRepayCallback__factory.ts @@ -0,0 +1,47 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorphoRepayCallback, + IMorphoRepayCallbackInterface, +} from "../../../../../../lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoRepayCallback"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoRepay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorphoRepayCallback__factory { + static readonly abi = _abi; + static createInterface(): IMorphoRepayCallbackInterface { + return new Interface(_abi) as IMorphoRepayCallbackInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IMorphoRepayCallback { + return new Contract( + address, + _abi, + runner + ) as unknown as IMorphoRepayCallback; + } +} diff --git a/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCallback__factory.ts b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCallback__factory.ts new file mode 100644 index 00000000..69a2c518 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCallback__factory.ts @@ -0,0 +1,47 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorphoSupplyCallback, + IMorphoSupplyCallbackInterface, +} from "../../../../../../lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCallback"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupply", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorphoSupplyCallback__factory { + static readonly abi = _abi; + static createInterface(): IMorphoSupplyCallbackInterface { + return new Interface(_abi) as IMorphoSupplyCallbackInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IMorphoSupplyCallback { + return new Contract( + address, + _abi, + runner + ) as unknown as IMorphoSupplyCallback; + } +} diff --git a/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCollateralCallback__factory.ts b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCollateralCallback__factory.ts new file mode 100644 index 00000000..924a497c --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCollateralCallback__factory.ts @@ -0,0 +1,47 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorphoSupplyCollateralCallback, + IMorphoSupplyCollateralCallbackInterface, +} from "../../../../../../lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCollateralCallback"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorphoSupplyCollateralCallback__factory { + static readonly abi = _abi; + static createInterface(): IMorphoSupplyCollateralCallbackInterface { + return new Interface(_abi) as IMorphoSupplyCollateralCallbackInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IMorphoSupplyCollateralCallback { + return new Contract( + address, + _abi, + runner + ) as unknown as IMorphoSupplyCollateralCallback; + } +} diff --git a/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/index.ts b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/index.ts new file mode 100644 index 00000000..f53d8dc2 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IMorphoFlashLoanCallback__factory } from "./IMorphoFlashLoanCallback__factory"; +export { IMorphoLiquidateCallback__factory } from "./IMorphoLiquidateCallback__factory"; +export { IMorphoRepayCallback__factory } from "./IMorphoRepayCallback__factory"; +export { IMorphoSupplyCallback__factory } from "./IMorphoSupplyCallback__factory"; +export { IMorphoSupplyCollateralCallback__factory } from "./IMorphoSupplyCollateralCallback__factory"; diff --git a/pkg/types/factories/lib/morpho-blue/src/interfaces/IOracle__factory.ts b/pkg/types/factories/lib/morpho-blue/src/interfaces/IOracle__factory.ts new file mode 100644 index 00000000..5491dbfe --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/interfaces/IOracle__factory.ts @@ -0,0 +1,35 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IOracle, + IOracleInterface, +} from "../../../../../lib/morpho-blue/src/interfaces/IOracle"; + +const _abi = [ + { + inputs: [], + name: "price", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IOracle__factory { + static readonly abi = _abi; + static createInterface(): IOracleInterface { + return new Interface(_abi) as IOracleInterface; + } + static connect(address: string, runner?: ContractRunner | null): IOracle { + return new Contract(address, _abi, runner) as unknown as IOracle; + } +} diff --git a/pkg/types/factories/lib/morpho-blue/src/interfaces/index.ts b/pkg/types/factories/lib/morpho-blue/src/interfaces/index.ts new file mode 100644 index 00000000..87a834d9 --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/interfaces/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as iMorphoSol from "./IMorpho.sol"; +export * as iMorphoCallbacksSol from "./IMorphoCallbacks.sol"; +export { IIrm__factory } from "./IIrm__factory"; +export { IOracle__factory } from "./IOracle__factory"; diff --git a/pkg/types/factories/lib/morpho-blue/src/libraries/EventsLib__factory.ts b/pkg/types/factories/lib/morpho-blue/src/libraries/EventsLib__factory.ts new file mode 100644 index 00000000..157f599e --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/libraries/EventsLib__factory.ts @@ -0,0 +1,576 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + EventsLib, + EventsLibInterface, +} from "../../../../../lib/morpho-blue/src/libraries/EventsLib"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "prevBorrowRate", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "interest", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "feeShares", + type: "uint256", + }, + ], + name: "AccrueInterest", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: false, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Borrow", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + indexed: false, + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "CreateMarket", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "EnableIrm", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "EnableLltv", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "FlashLoan", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "authorizer", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "usedNonce", + type: "uint256", + }, + ], + name: "IncrementNonce", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "borrower", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "repaidAssets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "repaidShares", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "seizedAssets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "badDebtAssets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "badDebtShares", + type: "uint256", + }, + ], + name: "Liquidate", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Repay", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "authorizer", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "authorized", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "newIsAuthorized", + type: "bool", + }, + ], + name: "SetAuthorization", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "SetFee", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "SetFeeRecipient", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "SetOwner", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Supply", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "SupplyCollateral", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: false, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Withdraw", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: false, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "WithdrawCollateral", + type: "event", + }, +] as const; + +const _bytecode = + "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122010495d4b9fd3c434aa9e26558f9c95867dd1b992e430da420e72a6582750f16464736f6c63430008180033"; + +type EventsLibConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: EventsLibConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class EventsLib__factory extends ContractFactory { + constructor(...args: EventsLibConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + EventsLib & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): EventsLib__factory { + return super.connect(runner) as EventsLib__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): EventsLibInterface { + return new Interface(_abi) as EventsLibInterface; + } + static connect(address: string, runner?: ContractRunner | null): EventsLib { + return new Contract(address, _abi, runner) as unknown as EventsLib; + } +} diff --git a/pkg/types/factories/lib/morpho-blue/src/libraries/SafeTransferLib.sol/IERC20Internal__factory.ts b/pkg/types/factories/lib/morpho-blue/src/libraries/SafeTransferLib.sol/IERC20Internal__factory.ts new file mode 100644 index 00000000..ff563b1c --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/libraries/SafeTransferLib.sol/IERC20Internal__factory.ts @@ -0,0 +1,78 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20Internal, + IERC20InternalInterface, +} from "../../../../../../lib/morpho-blue/src/libraries/SafeTransferLib.sol/IERC20Internal"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC20Internal__factory { + static readonly abi = _abi; + static createInterface(): IERC20InternalInterface { + return new Interface(_abi) as IERC20InternalInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IERC20Internal { + return new Contract(address, _abi, runner) as unknown as IERC20Internal; + } +} diff --git a/pkg/types/factories/lib/morpho-blue/src/libraries/SafeTransferLib.sol/index.ts b/pkg/types/factories/lib/morpho-blue/src/libraries/SafeTransferLib.sol/index.ts new file mode 100644 index 00000000..8390c0ff --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/libraries/SafeTransferLib.sol/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IERC20Internal__factory } from "./IERC20Internal__factory"; diff --git a/pkg/types/factories/lib/morpho-blue/src/libraries/index.ts b/pkg/types/factories/lib/morpho-blue/src/libraries/index.ts new file mode 100644 index 00000000..d11e42dd --- /dev/null +++ b/pkg/types/factories/lib/morpho-blue/src/libraries/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as safeTransferLibSol from "./SafeTransferLib.sol"; +export { EventsLib__factory } from "./EventsLib__factory"; diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/index.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/index.ts new file mode 100644 index 00000000..e306527f --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; +export * as token from "./token"; +export * as utils from "./utils"; diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/interfaces/IERC4626__factory.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/interfaces/IERC4626__factory.ts new file mode 100644 index 00000000..113dd284 --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/interfaces/IERC4626__factory.ts @@ -0,0 +1,634 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC4626, + IERC4626Interface, +} from "../../../../../lib/openzeppelin-contracts/contracts/interfaces/IERC4626"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Deposit", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Withdraw", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "asset", + outputs: [ + { + internalType: "address", + name: "assetTokenAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "convertToAssets", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "convertToShares", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "maxDeposit", + outputs: [ + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "maxMint", + outputs: [ + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxRedeem", + outputs: [ + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxWithdraw", + outputs: [ + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewDeposit", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewMint", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewRedeem", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewWithdraw", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalAssets", + outputs: [ + { + internalType: "uint256", + name: "totalManagedAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC4626__factory { + static readonly abi = _abi; + static createInterface(): IERC4626Interface { + return new Interface(_abi) as IERC4626Interface; + } + static connect(address: string, runner?: ContractRunner | null): IERC4626 { + return new Contract(address, _abi, runner) as unknown as IERC4626; + } +} diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/interfaces/IERC5267__factory.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/interfaces/IERC5267__factory.ts new file mode 100644 index 00000000..581dad47 --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/interfaces/IERC5267__factory.ts @@ -0,0 +1,71 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC5267, + IERC5267Interface, +} from "../../../../../lib/openzeppelin-contracts/contracts/interfaces/IERC5267"; + +const _abi = [ + { + anonymous: false, + inputs: [], + name: "EIP712DomainChanged", + type: "event", + }, + { + inputs: [], + name: "eip712Domain", + outputs: [ + { + internalType: "bytes1", + name: "fields", + type: "bytes1", + }, + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "version", + type: "string", + }, + { + internalType: "uint256", + name: "chainId", + type: "uint256", + }, + { + internalType: "address", + name: "verifyingContract", + type: "address", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "uint256[]", + name: "extensions", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IERC5267__factory { + static readonly abi = _abi; + static createInterface(): IERC5267Interface { + return new Interface(_abi) as IERC5267Interface; + } + static connect(address: string, runner?: ContractRunner | null): IERC5267 { + return new Contract(address, _abi, runner) as unknown as IERC5267; + } +} diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/interfaces/index.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/interfaces/index.ts new file mode 100644 index 00000000..86c03393 --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/interfaces/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IERC4626__factory } from "./IERC4626__factory"; +export { IERC5267__factory } from "./IERC5267__factory"; diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20__factory.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20__factory.ts new file mode 100644 index 00000000..3aa311b0 --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20__factory.ts @@ -0,0 +1,356 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../common"; +import type { + ERC20, + ERC20Interface, +} from "../../../../../../lib/openzeppelin-contracts/contracts/token/ERC20/ERC20"; + +const _abi = [ + { + inputs: [ + { + internalType: "string", + name: "name_", + type: "string", + }, + { + internalType: "string", + name: "symbol_", + type: "string", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256", + }, + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x6080604052346200031d57620010c2803803806200001d8162000322565b9283398101906040818303126200031d5780516001600160401b03908181116200031d57836200004f91840162000348565b91602093848201518381116200031d576200006b920162000348565b82518281116200021d576003918254916001958684811c9416801562000312575b88851014620002fc578190601f94858111620002a6575b5088908583116001146200023f5760009262000233575b505060001982861b1c191690861b1783555b80519384116200021d5760049586548681811c9116801562000212575b82821014620001fd57838111620001b2575b508092851160011462000144575093839491849260009562000138575b50501b92600019911b1c19161790555b604051610d079081620003bb8239f35b01519350388062000118565b92919084601f1981168860005285600020956000905b898383106200019757505050106200017c575b50505050811b01905562000128565b01519060f884600019921b161c19169055388080806200016d565b8587015189559097019694850194889350908101906200015a565b87600052816000208480880160051c820192848910620001f3575b0160051c019087905b828110620001e6575050620000fb565b60008155018790620001d6565b92508192620001cd565b602288634e487b7160e01b6000525260246000fd5b90607f1690620000e9565b634e487b7160e01b600052604160045260246000fd5b015190503880620000ba565b90889350601f19831691876000528a6000209260005b8c8282106200028f575050841162000276575b505050811b018355620000cc565b015160001983881b60f8161c1916905538808062000268565b8385015186558c9790950194938401930162000255565b90915085600052886000208580850160051c8201928b8610620002f2575b918a91869594930160051c01915b828110620002e2575050620000a3565b600081558594508a9101620002d2565b92508192620002c4565b634e487b7160e01b600052602260045260246000fd5b93607f16936200008c565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200021d57604052565b919080601f840112156200031d5782516001600160401b0381116200021d576020906200037e601f8201601f1916830162000322565b928184528282870101116200031d5760005b818110620003a657508260009394955001015290565b85810183015184820184015282016200039056fe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461075857508163095ea7b31461071057816318160ddd146106d357816323b872dd146105a5578163313ce5671461056b57816339509351146104c157816370a082311461046057816395d89b4114610268578163a457c2d71461016257508063a9059cbb146101145763dd62ed3e1461009e57600080fd5b3461011057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011057806020926100d8610902565b6100e061092a565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b5080fd5b503461011057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101105760209061015b610151610902565b6024359033610ac2565b5160018152f35b9050823461026557827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102655761019b610902565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff861682526020522054908282106101e25760208561015b858503873361094d565b60849060208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b83833461011057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101105780519082845460018160011c9060018316928315610456575b602093848410811461042a5783885287959493929181156103cf5750600114610353575b50505003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019267ffffffffffffffff841183851017610327575082918261032392528261089c565b0390f35b806041867f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8888529193925086917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106103b957505050907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092601f928201019181936102d5565b805488850187015287945092850192810161037e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016848701525050151560051b830101905081601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102d5565b60248960228c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b91607f16916102b1565b5050346101105760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610110578060209273ffffffffffffffffffffffffffffffffffffffff6104b2610902565b16815280845220549051908152f35b82843461026557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610265576104f9610902565b338252600160205282822073ffffffffffffffffffffffffffffffffffffffff821683526020528282205491602435830180931161053f5760208461015b85853361094d565b806011867f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b50503461011057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610110576020905160128152f35b839150346101105760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610110576105df610902565b6105e761092a565b91846044359473ffffffffffffffffffffffffffffffffffffffff8416815260016020528181203382526020522054907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361064d575b60208661015b878787610ac2565b848210610676575091839161066b6020969561015b9503338361094d565b91939481935061063f565b60649060208751917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b50503461011057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610110576020906002549051908152f35b50503461011057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101105760209061015b61074e610902565b602435903361094d565b8490843461089857827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610898578260035460018160011c906001831692831561088e575b602093848410811461042a5783885287959493929181156103cf57506001146108115750505003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019267ffffffffffffffff841183851017610327575082918261032392528261089c565b600388529193925086917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b82841061087857505050907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092601f928201019181936102d5565b805488850187015287945092850192810161083d565b91607f16916107a0565b8280fd5b60208082528251818301819052939260005b8581106108ee575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b8181018301518482016040015282016108ae565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361092557565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361092557565b73ffffffffffffffffffffffffffffffffffffffff809116918215610a3f57169182156109bb5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff809116918215610c4d5716918215610bc957600082815280602052604081205491808310610b4557604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220be21c534486a2dbc6c72b7df656db8f3ce5c8cc65d64d6a4a54382048667781d64736f6c63430008180033"; + +type ERC20ConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ERC20ConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ERC20__factory extends ContractFactory { + constructor(...args: ERC20ConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + name_: string, + symbol_: string, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(name_, symbol_, overrides || {}); + } + override deploy( + name_: string, + symbol_: string, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(name_, symbol_, overrides || {}) as Promise< + ERC20 & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): ERC20__factory { + return super.connect(runner) as ERC20__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ERC20Interface { + return new Interface(_abi) as ERC20Interface; + } + static connect(address: string, runner?: ContractRunner | null): ERC20 { + return new Contract(address, _abi, runner) as unknown as ERC20; + } +} diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20__factory.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20__factory.ts new file mode 100644 index 00000000..3241a154 --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20__factory.ts @@ -0,0 +1,205 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20, + IERC20Interface, +} from "../../../../../../lib/openzeppelin-contracts/contracts/token/ERC20/IERC20"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC20__factory { + static readonly abi = _abi; + static createInterface(): IERC20Interface { + return new Interface(_abi) as IERC20Interface; + } + static connect(address: string, runner?: ContractRunner | null): IERC20 { + return new Contract(address, _abi, runner) as unknown as IERC20; + } +} diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit__factory.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit__factory.ts new file mode 100644 index 00000000..fd7b1144 --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit__factory.ts @@ -0,0 +1,432 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ERC20Permit, + ERC20PermitInterface, +} from "../../../../../../../lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit"; + +const _abi = [ + { + inputs: [], + name: "InvalidShortString", + type: "error", + }, + { + inputs: [ + { + internalType: "string", + name: "str", + type: "string", + }, + ], + name: "StringTooLong", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [], + name: "EIP712DomainChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256", + }, + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "eip712Domain", + outputs: [ + { + internalType: "bytes1", + name: "fields", + type: "bytes1", + }, + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "version", + type: "string", + }, + { + internalType: "uint256", + name: "chainId", + type: "uint256", + }, + { + internalType: "address", + name: "verifyingContract", + type: "address", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "uint256[]", + name: "extensions", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ERC20Permit__factory { + static readonly abi = _abi; + static createInterface(): ERC20PermitInterface { + return new Interface(_abi) as ERC20PermitInterface; + } + static connect(address: string, runner?: ContractRunner | null): ERC20Permit { + return new Contract(address, _abi, runner) as unknown as ERC20Permit; + } +} diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper__factory.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper__factory.ts new file mode 100644 index 00000000..e57b9a6c --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper__factory.ts @@ -0,0 +1,356 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ERC20Wrapper, + ERC20WrapperInterface, +} from "../../../../../../../lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256", + }, + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "depositFor", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "underlying", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdrawTo", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ERC20Wrapper__factory { + static readonly abi = _abi; + static createInterface(): ERC20WrapperInterface { + return new Interface(_abi) as ERC20WrapperInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ERC20Wrapper { + return new Contract(address, _abi, runner) as unknown as ERC20Wrapper; + } +} diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626__factory.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626__factory.ts new file mode 100644 index 00000000..0d7b8ee8 --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626__factory.ts @@ -0,0 +1,682 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ERC4626, + ERC4626Interface, +} from "../../../../../../../lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Deposit", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Withdraw", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "asset", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "convertToAssets", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "convertToShares", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256", + }, + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "maxDeposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "maxMint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxRedeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxWithdraw", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewDeposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewMint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewRedeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewWithdraw", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalAssets", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ERC4626__factory { + static readonly abi = _abi; + static createInterface(): ERC4626Interface { + return new Interface(_abi) as ERC4626Interface; + } + static connect(address: string, runner?: ContractRunner | null): ERC4626 { + return new Contract(address, _abi, runner) as unknown as ERC4626; + } +} diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts new file mode 100644 index 00000000..fe532894 --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts @@ -0,0 +1,247 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20Metadata, + IERC20MetadataInterface, +} from "../../../../../../../lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC20Metadata__factory { + static readonly abi = _abi; + static createInterface(): IERC20MetadataInterface { + return new Interface(_abi) as IERC20MetadataInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IERC20Metadata { + return new Contract(address, _abi, runner) as unknown as IERC20Metadata; + } +} diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit__factory.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit__factory.ts new file mode 100644 index 00000000..5fb86b14 --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit__factory.ts @@ -0,0 +1,100 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20Permit, + IERC20PermitInterface, +} from "../../../../../../../lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC20Permit__factory { + static readonly abi = _abi; + static createInterface(): IERC20PermitInterface { + return new Interface(_abi) as IERC20PermitInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IERC20Permit { + return new Contract(address, _abi, runner) as unknown as IERC20Permit; + } +} diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts new file mode 100644 index 00000000..0dd28547 --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ERC20Permit__factory } from "./ERC20Permit__factory"; +export { ERC20Wrapper__factory } from "./ERC20Wrapper__factory"; +export { ERC4626__factory } from "./ERC4626__factory"; +export { IERC20Metadata__factory } from "./IERC20Metadata__factory"; +export { IERC20Permit__factory } from "./IERC20Permit__factory"; diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts new file mode 100644 index 00000000..3523dc7a --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as extensions from "./extensions"; +export { ERC20__factory } from "./ERC20__factory"; +export { IERC20__factory } from "./IERC20__factory"; diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/index.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/index.ts new file mode 100644 index 00000000..da1e061e --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/token/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as erc20 from "./ERC20"; diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/utils/ShortStrings__factory.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/utils/ShortStrings__factory.ts new file mode 100644 index 00000000..8ba05556 --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/utils/ShortStrings__factory.ts @@ -0,0 +1,83 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + ShortStrings, + ShortStringsInterface, +} from "../../../../../lib/openzeppelin-contracts/contracts/utils/ShortStrings"; + +const _abi = [ + { + inputs: [], + name: "InvalidShortString", + type: "error", + }, + { + inputs: [ + { + internalType: "string", + name: "str", + type: "string", + }, + ], + name: "StringTooLong", + type: "error", + }, +] as const; + +const _bytecode = + "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212207f05de7c633bd4e8269b543b2903b3beed63c1267134528bc5958928dd5928c164736f6c63430008180033"; + +type ShortStringsConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ShortStringsConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ShortStrings__factory extends ContractFactory { + constructor(...args: ShortStringsConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + ShortStrings & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): ShortStrings__factory { + return super.connect(runner) as ShortStrings__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ShortStringsInterface { + return new Interface(_abi) as ShortStringsInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ShortStrings { + return new Contract(address, _abi, runner) as unknown as ShortStrings; + } +} diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712__factory.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712__factory.ts new file mode 100644 index 00000000..11e19684 --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712__factory.ts @@ -0,0 +1,87 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + EIP712, + EIP712Interface, +} from "../../../../../../lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712"; + +const _abi = [ + { + inputs: [], + name: "InvalidShortString", + type: "error", + }, + { + inputs: [ + { + internalType: "string", + name: "str", + type: "string", + }, + ], + name: "StringTooLong", + type: "error", + }, + { + anonymous: false, + inputs: [], + name: "EIP712DomainChanged", + type: "event", + }, + { + inputs: [], + name: "eip712Domain", + outputs: [ + { + internalType: "bytes1", + name: "fields", + type: "bytes1", + }, + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "version", + type: "string", + }, + { + internalType: "uint256", + name: "chainId", + type: "uint256", + }, + { + internalType: "address", + name: "verifyingContract", + type: "address", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "uint256[]", + name: "extensions", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class EIP712__factory { + static readonly abi = _abi; + static createInterface(): EIP712Interface { + return new Interface(_abi) as EIP712Interface; + } + static connect(address: string, runner?: ContractRunner | null): EIP712 { + return new Contract(address, _abi, runner) as unknown as EIP712; + } +} diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/utils/cryptography/index.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/utils/cryptography/index.ts new file mode 100644 index 00000000..ae7a3189 --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/utils/cryptography/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { EIP712__factory } from "./EIP712__factory"; diff --git a/pkg/types/factories/lib/openzeppelin-contracts/contracts/utils/index.ts b/pkg/types/factories/lib/openzeppelin-contracts/contracts/utils/index.ts new file mode 100644 index 00000000..5f4fe091 --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/contracts/utils/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as cryptography from "./cryptography"; +export { ShortStrings__factory } from "./ShortStrings__factory"; diff --git a/pkg/types/factories/lib/openzeppelin-contracts/index.ts b/pkg/types/factories/lib/openzeppelin-contracts/index.ts new file mode 100644 index 00000000..6397da09 --- /dev/null +++ b/pkg/types/factories/lib/openzeppelin-contracts/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as contracts from "./contracts"; diff --git a/pkg/types/factories/lib/permit2/index.ts b/pkg/types/factories/lib/permit2/index.ts new file mode 100644 index 00000000..ba4b1074 --- /dev/null +++ b/pkg/types/factories/lib/permit2/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as src from "./src"; diff --git a/pkg/types/factories/lib/permit2/src/index.ts b/pkg/types/factories/lib/permit2/src/index.ts new file mode 100644 index 00000000..3c75840e --- /dev/null +++ b/pkg/types/factories/lib/permit2/src/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; +export * as libraries from "./libraries"; diff --git a/pkg/types/factories/lib/permit2/src/interfaces/IAllowanceTransfer__factory.ts b/pkg/types/factories/lib/permit2/src/interfaces/IAllowanceTransfer__factory.ts new file mode 100644 index 00000000..9edcdaaf --- /dev/null +++ b/pkg/types/factories/lib/permit2/src/interfaces/IAllowanceTransfer__factory.ts @@ -0,0 +1,509 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IAllowanceTransfer, + IAllowanceTransferInterface, +} from "../../../../../lib/permit2/src/interfaces/IAllowanceTransfer"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + name: "AllowanceExpired", + type: "error", + }, + { + inputs: [], + name: "ExcessiveInvalidation", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "InsufficientAllowance", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + indexed: false, + internalType: "uint48", + name: "expiration", + type: "uint48", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "Lockdown", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint48", + name: "newNonce", + type: "uint48", + }, + { + indexed: false, + internalType: "uint48", + name: "oldNonce", + type: "uint48", + }, + ], + name: "NonceInvalidation", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + indexed: false, + internalType: "uint48", + name: "expiration", + type: "uint48", + }, + { + indexed: false, + internalType: "uint48", + name: "nonce", + type: "uint48", + }, + ], + name: "Permit", + type: "event", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "user", + type: "address", + }, + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + internalType: "uint48", + name: "expiration", + type: "uint48", + }, + { + internalType: "uint48", + name: "nonce", + type: "uint48", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + internalType: "uint48", + name: "expiration", + type: "uint48", + }, + ], + name: "approve", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint48", + name: "newNonce", + type: "uint48", + }, + ], + name: "invalidateNonces", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + internalType: "struct IAllowanceTransfer.TokenSpenderPair[]", + name: "approvals", + type: "tuple[]", + }, + ], + name: "lockdown", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + internalType: "uint48", + name: "expiration", + type: "uint48", + }, + { + internalType: "uint48", + name: "nonce", + type: "uint48", + }, + ], + internalType: "struct IAllowanceTransfer.PermitDetails[]", + name: "details", + type: "tuple[]", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "sigDeadline", + type: "uint256", + }, + ], + internalType: "struct IAllowanceTransfer.PermitBatch", + name: "permitBatch", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + internalType: "uint48", + name: "expiration", + type: "uint48", + }, + { + internalType: "uint48", + name: "nonce", + type: "uint48", + }, + ], + internalType: "struct IAllowanceTransfer.PermitDetails", + name: "details", + type: "tuple", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "sigDeadline", + type: "uint256", + }, + ], + internalType: "struct IAllowanceTransfer.PermitSingle", + name: "permitSingle", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + internalType: "address", + name: "token", + type: "address", + }, + ], + internalType: "struct IAllowanceTransfer.AllowanceTransferDetails[]", + name: "transferDetails", + type: "tuple[]", + }, + ], + name: "transferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + internalType: "address", + name: "token", + type: "address", + }, + ], + name: "transferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IAllowanceTransfer__factory { + static readonly abi = _abi; + static createInterface(): IAllowanceTransferInterface { + return new Interface(_abi) as IAllowanceTransferInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IAllowanceTransfer { + return new Contract(address, _abi, runner) as unknown as IAllowanceTransfer; + } +} diff --git a/pkg/types/factories/lib/permit2/src/interfaces/IDAIPermit__factory.ts b/pkg/types/factories/lib/permit2/src/interfaces/IDAIPermit__factory.ts new file mode 100644 index 00000000..19cf5509 --- /dev/null +++ b/pkg/types/factories/lib/permit2/src/interfaces/IDAIPermit__factory.ts @@ -0,0 +1,70 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IDAIPermit, + IDAIPermitInterface, +} from "../../../../../lib/permit2/src/interfaces/IDAIPermit"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "holder", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "expiry", + type: "uint256", + }, + { + internalType: "bool", + name: "allowed", + type: "bool", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IDAIPermit__factory { + static readonly abi = _abi; + static createInterface(): IDAIPermitInterface { + return new Interface(_abi) as IDAIPermitInterface; + } + static connect(address: string, runner?: ContractRunner | null): IDAIPermit { + return new Contract(address, _abi, runner) as unknown as IDAIPermit; + } +} diff --git a/pkg/types/factories/lib/permit2/src/interfaces/IEIP712__factory.ts b/pkg/types/factories/lib/permit2/src/interfaces/IEIP712__factory.ts new file mode 100644 index 00000000..1b771d49 --- /dev/null +++ b/pkg/types/factories/lib/permit2/src/interfaces/IEIP712__factory.ts @@ -0,0 +1,35 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IEIP712, + IEIP712Interface, +} from "../../../../../lib/permit2/src/interfaces/IEIP712"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IEIP712__factory { + static readonly abi = _abi; + static createInterface(): IEIP712Interface { + return new Interface(_abi) as IEIP712Interface; + } + static connect(address: string, runner?: ContractRunner | null): IEIP712 { + return new Contract(address, _abi, runner) as unknown as IEIP712; + } +} diff --git a/pkg/types/factories/lib/permit2/src/interfaces/index.ts b/pkg/types/factories/lib/permit2/src/interfaces/index.ts new file mode 100644 index 00000000..4c5c62be --- /dev/null +++ b/pkg/types/factories/lib/permit2/src/interfaces/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IAllowanceTransfer__factory } from "./IAllowanceTransfer__factory"; +export { IDAIPermit__factory } from "./IDAIPermit__factory"; +export { IEIP712__factory } from "./IEIP712__factory"; diff --git a/pkg/types/factories/lib/permit2/src/libraries/SafeCast160__factory.ts b/pkg/types/factories/lib/permit2/src/libraries/SafeCast160__factory.ts new file mode 100644 index 00000000..c534d4fa --- /dev/null +++ b/pkg/types/factories/lib/permit2/src/libraries/SafeCast160__factory.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + SafeCast160, + SafeCast160Interface, +} from "../../../../../lib/permit2/src/libraries/SafeCast160"; + +const _abi = [ + { + inputs: [], + name: "UnsafeCast", + type: "error", + }, +] as const; + +const _bytecode = + "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220b8ae5dcdbb0118ba315fe248c64d1898daf29120b0b74b959926cdf7d3651fa964736f6c63430008180033"; + +type SafeCast160ConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: SafeCast160ConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class SafeCast160__factory extends ContractFactory { + constructor(...args: SafeCast160ConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + SafeCast160 & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): SafeCast160__factory { + return super.connect(runner) as SafeCast160__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): SafeCast160Interface { + return new Interface(_abi) as SafeCast160Interface; + } + static connect(address: string, runner?: ContractRunner | null): SafeCast160 { + return new Contract(address, _abi, runner) as unknown as SafeCast160; + } +} diff --git a/pkg/types/factories/lib/permit2/src/libraries/index.ts b/pkg/types/factories/lib/permit2/src/libraries/index.ts new file mode 100644 index 00000000..82c4b477 --- /dev/null +++ b/pkg/types/factories/lib/permit2/src/libraries/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { SafeCast160__factory } from "./SafeCast160__factory"; diff --git a/pkg/types/factories/lib/public-allocator/index.ts b/pkg/types/factories/lib/public-allocator/index.ts new file mode 100644 index 00000000..c22a39aa --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as lib from "./lib"; +export * as src from "./src"; diff --git a/pkg/types/factories/lib/public-allocator/lib/index.ts b/pkg/types/factories/lib/public-allocator/lib/index.ts new file mode 100644 index 00000000..73d28d62 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as metamorpho from "./metamorpho"; diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/index.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/index.ts new file mode 100644 index 00000000..c22a39aa --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as lib from "./lib"; +export * as src from "./src"; diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/index.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/index.ts new file mode 100644 index 00000000..01316807 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as morphoBlue from "./morpho-blue"; +export * as openzeppelinContracts from "./openzeppelin-contracts"; diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/index.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/index.ts new file mode 100644 index 00000000..ba4b1074 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as src from "./src"; diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/index.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/index.ts new file mode 100644 index 00000000..1d3444d5 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IIrm__factory.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IIrm__factory.ts new file mode 100644 index 00000000..ad682b49 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IIrm__factory.ts @@ -0,0 +1,188 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IIrm, + IIrmInterface, +} from "../../../../../../../../../lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IIrm"; + +const _abi = [ + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "market", + type: "tuple", + }, + ], + name: "borrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "market", + type: "tuple", + }, + ], + name: "borrowRateView", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IIrm__factory { + static readonly abi = _abi; + static createInterface(): IIrmInterface { + return new Interface(_abi) as IIrmInterface; + } + static connect(address: string, runner?: ContractRunner | null): IIrm { + return new Contract(address, _abi, runner) as unknown as IIrm; + } +} diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase__factory.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase__factory.ts new file mode 100644 index 00000000..8917806d --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase__factory.ts @@ -0,0 +1,906 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorphoBase, + IMorphoBaseInterface, +} from "../../../../../../../../../../lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "accrueInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "borrow", + outputs: [ + { + internalType: "uint256", + name: "assetsBorrowed", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesBorrowed", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "createMarket", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "enableIrm", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "enableLltv", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "slots", + type: "bytes32[]", + }, + ], + name: "extSloads", + outputs: [ + { + internalType: "bytes32[]", + name: "", + type: "bytes32[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "flashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + ], + name: "isAuthorized", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "isIrmEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "isLltvEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "address", + name: "borrower", + type: "address", + }, + { + internalType: "uint256", + name: "seizedAssets", + type: "uint256", + }, + { + internalType: "uint256", + name: "repaidShares", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "liquidate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + ], + name: "nonce", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "repay", + outputs: [ + { + internalType: "uint256", + name: "assetsRepaid", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesRepaid", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "newIsAuthorized", + type: "bool", + }, + ], + name: "setAuthorization", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "setAuthorizationWithSig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supply", + outputs: [ + { + internalType: "uint256", + name: "assetsSupplied", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesSupplied", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "assetsWithdrawn", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesWithdrawn", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdrawCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorphoBase__factory { + static readonly abi = _abi; + static createInterface(): IMorphoBaseInterface { + return new Interface(_abi) as IMorphoBaseInterface; + } + static connect(address: string, runner?: ContractRunner | null): IMorphoBase { + return new Contract(address, _abi, runner) as unknown as IMorphoBase; + } +} diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping__factory.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping__factory.ts new file mode 100644 index 00000000..8a6e9e7b --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping__factory.ts @@ -0,0 +1,1030 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorphoStaticTyping, + IMorphoStaticTypingInterface, +} from "../../../../../../../../../../lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "accrueInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "borrow", + outputs: [ + { + internalType: "uint256", + name: "assetsBorrowed", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesBorrowed", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "createMarket", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "enableIrm", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "enableLltv", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "slots", + type: "bytes32[]", + }, + ], + name: "extSloads", + outputs: [ + { + internalType: "bytes32[]", + name: "", + type: "bytes32[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "flashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "idToMarketParams", + outputs: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + ], + name: "isAuthorized", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "isIrmEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "isLltvEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "address", + name: "borrower", + type: "address", + }, + { + internalType: "uint256", + name: "seizedAssets", + type: "uint256", + }, + { + internalType: "uint256", + name: "repaidShares", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "liquidate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "market", + outputs: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + ], + name: "nonce", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + internalType: "address", + name: "user", + type: "address", + }, + ], + name: "position", + outputs: [ + { + internalType: "uint256", + name: "supplyShares", + type: "uint256", + }, + { + internalType: "uint128", + name: "borrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "collateral", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "repay", + outputs: [ + { + internalType: "uint256", + name: "assetsRepaid", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesRepaid", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "newIsAuthorized", + type: "bool", + }, + ], + name: "setAuthorization", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "setAuthorizationWithSig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supply", + outputs: [ + { + internalType: "uint256", + name: "assetsSupplied", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesSupplied", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "assetsWithdrawn", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesWithdrawn", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdrawCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorphoStaticTyping__factory { + static readonly abi = _abi; + static createInterface(): IMorphoStaticTypingInterface { + return new Interface(_abi) as IMorphoStaticTypingInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IMorphoStaticTyping { + return new Contract( + address, + _abi, + runner + ) as unknown as IMorphoStaticTyping; + } +} diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho__factory.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho__factory.ts new file mode 100644 index 00000000..9c9df1c0 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho__factory.ts @@ -0,0 +1,1044 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorpho, + IMorphoInterface, +} from "../../../../../../../../../../lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "accrueInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "borrow", + outputs: [ + { + internalType: "uint256", + name: "assetsBorrowed", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesBorrowed", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "createMarket", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "enableIrm", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "enableLltv", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "slots", + type: "bytes32[]", + }, + ], + name: "extSloads", + outputs: [ + { + internalType: "bytes32[]", + name: "", + type: "bytes32[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "flashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "idToMarketParams", + outputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + ], + name: "isAuthorized", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "isIrmEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "isLltvEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "address", + name: "borrower", + type: "address", + }, + { + internalType: "uint256", + name: "seizedAssets", + type: "uint256", + }, + { + internalType: "uint256", + name: "repaidShares", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "liquidate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "market", + outputs: [ + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "m", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + ], + name: "nonce", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + internalType: "address", + name: "user", + type: "address", + }, + ], + name: "position", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "supplyShares", + type: "uint256", + }, + { + internalType: "uint128", + name: "borrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "collateral", + type: "uint128", + }, + ], + internalType: "struct Position", + name: "p", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "repay", + outputs: [ + { + internalType: "uint256", + name: "assetsRepaid", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesRepaid", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "newIsAuthorized", + type: "bool", + }, + ], + name: "setAuthorization", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "setAuthorizationWithSig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supply", + outputs: [ + { + internalType: "uint256", + name: "assetsSupplied", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesSupplied", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "assetsWithdrawn", + type: "uint256", + }, + { + internalType: "uint256", + name: "sharesWithdrawn", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdrawCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorpho__factory { + static readonly abi = _abi; + static createInterface(): IMorphoInterface { + return new Interface(_abi) as IMorphoInterface; + } + static connect(address: string, runner?: ContractRunner | null): IMorpho { + return new Contract(address, _abi, runner) as unknown as IMorpho; + } +} diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts new file mode 100644 index 00000000..833828f9 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IMorpho__factory } from "./IMorpho__factory"; +export { IMorphoBase__factory } from "./IMorphoBase__factory"; +export { IMorphoStaticTyping__factory } from "./IMorphoStaticTyping__factory"; diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/index.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/index.ts new file mode 100644 index 00000000..6fc3661e --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as iMorphoSol from "./IMorpho.sol"; +export { IIrm__factory } from "./IIrm__factory"; diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/index.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/index.ts new file mode 100644 index 00000000..074241cc --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; +export * as token from "./token"; diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC4626__factory.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC4626__factory.ts new file mode 100644 index 00000000..0cdeead6 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC4626__factory.ts @@ -0,0 +1,634 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC4626, + IERC4626Interface, +} from "../../../../../../../../../lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC4626"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Deposit", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Withdraw", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "asset", + outputs: [ + { + internalType: "address", + name: "assetTokenAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "convertToAssets", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "convertToShares", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "maxDeposit", + outputs: [ + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "maxMint", + outputs: [ + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxRedeem", + outputs: [ + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxWithdraw", + outputs: [ + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewDeposit", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewMint", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewRedeem", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewWithdraw", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalAssets", + outputs: [ + { + internalType: "uint256", + name: "totalManagedAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC4626__factory { + static readonly abi = _abi; + static createInterface(): IERC4626Interface { + return new Interface(_abi) as IERC4626Interface; + } + static connect(address: string, runner?: ContractRunner | null): IERC4626 { + return new Contract(address, _abi, runner) as unknown as IERC4626; + } +} diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/index.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/index.ts new file mode 100644 index 00000000..76451598 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IERC4626__factory } from "./IERC4626__factory"; diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20__factory.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20__factory.ts new file mode 100644 index 00000000..65120ff9 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20__factory.ts @@ -0,0 +1,205 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20, + IERC20Interface, +} from "../../../../../../../../../../lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC20__factory { + static readonly abi = _abi; + static createInterface(): IERC20Interface { + return new Interface(_abi) as IERC20Interface; + } + static connect(address: string, runner?: ContractRunner | null): IERC20 { + return new Contract(address, _abi, runner) as unknown as IERC20; + } +} diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts new file mode 100644 index 00000000..aba4034d --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts @@ -0,0 +1,247 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20Metadata, + IERC20MetadataInterface, +} from "../../../../../../../../../../../lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC20Metadata__factory { + static readonly abi = _abi; + static createInterface(): IERC20MetadataInterface { + return new Interface(_abi) as IERC20MetadataInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IERC20Metadata { + return new Contract(address, _abi, runner) as unknown as IERC20Metadata; + } +} diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit__factory.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit__factory.ts new file mode 100644 index 00000000..193b1101 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit__factory.ts @@ -0,0 +1,100 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20Permit, + IERC20PermitInterface, +} from "../../../../../../../../../../../lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC20Permit__factory { + static readonly abi = _abi; + static createInterface(): IERC20PermitInterface { + return new Interface(_abi) as IERC20PermitInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IERC20Permit { + return new Contract(address, _abi, runner) as unknown as IERC20Permit; + } +} diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts new file mode 100644 index 00000000..6380f168 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IERC20Metadata__factory } from "./IERC20Metadata__factory"; +export { IERC20Permit__factory } from "./IERC20Permit__factory"; diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts new file mode 100644 index 00000000..6e86faa7 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as extensions from "./extensions"; +export { IERC20__factory } from "./IERC20__factory"; diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/index.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/index.ts new file mode 100644 index 00000000..da1e061e --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as erc20 from "./ERC20"; diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/index.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/index.ts new file mode 100644 index 00000000..6397da09 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as contracts from "./contracts"; diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/index.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/index.ts new file mode 100644 index 00000000..1d3444d5 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoBase__factory.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoBase__factory.ts new file mode 100644 index 00000000..8f32f8f1 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoBase__factory.ts @@ -0,0 +1,591 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMetaMorphoBase, + IMetaMorphoBaseInterface, +} from "../../../../../../../../lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoBase"; + +const _abi = [ + { + inputs: [], + name: "DECIMALS_OFFSET", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "acceptCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "acceptGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "acceptTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "curator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "fee", + outputs: [ + { + internalType: "uint96", + name: "", + type: "uint96", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "guardian", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + ], + name: "isAllocator", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "lastTotalAssets", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + internalType: "struct MarketAllocation[]", + name: "allocations", + type: "tuple[]", + }, + ], + name: "reallocate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "revokePendingCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "revokePendingGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "revokePendingMarketRemoval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "revokePendingTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newCurator", + type: "address", + }, + ], + name: "setCurator", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newAllocator", + type: "address", + }, + { + internalType: "bool", + name: "newIsAllocator", + type: "bool", + }, + ], + name: "setIsAllocator", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newSkimRecipient", + type: "address", + }, + ], + name: "setSkimRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id[]", + name: "newSupplyQueue", + type: "bytes32[]", + }, + ], + name: "setSupplyQueue", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "skim", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "skimRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newSupplyCap", + type: "uint256", + }, + ], + name: "submitCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newGuardian", + type: "address", + }, + ], + name: "submitGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "submitMarketRemoval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newTimelock", + type: "uint256", + }, + ], + name: "submitTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "supplyQueue", + outputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "supplyQueueLength", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "timelock", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256[]", + name: "indexes", + type: "uint256[]", + }, + ], + name: "updateWithdrawQueue", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "withdrawQueue", + outputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "withdrawQueueLength", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IMetaMorphoBase__factory { + static readonly abi = _abi; + static createInterface(): IMetaMorphoBaseInterface { + return new Interface(_abi) as IMetaMorphoBaseInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IMetaMorphoBase { + return new Contract(address, _abi, runner) as unknown as IMetaMorphoBase; + } +} diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoStaticTyping__factory.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoStaticTyping__factory.ts new file mode 100644 index 00000000..5580bd3f --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoStaticTyping__factory.ts @@ -0,0 +1,684 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMetaMorphoStaticTyping, + IMetaMorphoStaticTypingInterface, +} from "../../../../../../../../lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoStaticTyping"; + +const _abi = [ + { + inputs: [], + name: "DECIMALS_OFFSET", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "acceptCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "acceptGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "acceptTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "config", + outputs: [ + { + internalType: "uint184", + name: "cap", + type: "uint184", + }, + { + internalType: "bool", + name: "enabled", + type: "bool", + }, + { + internalType: "uint64", + name: "removableAt", + type: "uint64", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "curator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "fee", + outputs: [ + { + internalType: "uint96", + name: "", + type: "uint96", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "guardian", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + ], + name: "isAllocator", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "lastTotalAssets", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "pendingCap", + outputs: [ + { + internalType: "uint192", + name: "value", + type: "uint192", + }, + { + internalType: "uint64", + name: "validAt", + type: "uint64", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingGuardian", + outputs: [ + { + internalType: "address", + name: "guardian", + type: "address", + }, + { + internalType: "uint64", + name: "validAt", + type: "uint64", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingTimelock", + outputs: [ + { + internalType: "uint192", + name: "value", + type: "uint192", + }, + { + internalType: "uint64", + name: "validAt", + type: "uint64", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + internalType: "struct MarketAllocation[]", + name: "allocations", + type: "tuple[]", + }, + ], + name: "reallocate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "revokePendingCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "revokePendingGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "revokePendingMarketRemoval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "revokePendingTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newCurator", + type: "address", + }, + ], + name: "setCurator", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newAllocator", + type: "address", + }, + { + internalType: "bool", + name: "newIsAllocator", + type: "bool", + }, + ], + name: "setIsAllocator", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newSkimRecipient", + type: "address", + }, + ], + name: "setSkimRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id[]", + name: "newSupplyQueue", + type: "bytes32[]", + }, + ], + name: "setSupplyQueue", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "skim", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "skimRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newSupplyCap", + type: "uint256", + }, + ], + name: "submitCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newGuardian", + type: "address", + }, + ], + name: "submitGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "submitMarketRemoval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newTimelock", + type: "uint256", + }, + ], + name: "submitTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "supplyQueue", + outputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "supplyQueueLength", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "timelock", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256[]", + name: "indexes", + type: "uint256[]", + }, + ], + name: "updateWithdrawQueue", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "withdrawQueue", + outputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "withdrawQueueLength", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IMetaMorphoStaticTyping__factory { + static readonly abi = _abi; + static createInterface(): IMetaMorphoStaticTypingInterface { + return new Interface(_abi) as IMetaMorphoStaticTypingInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IMetaMorphoStaticTyping { + return new Contract( + address, + _abi, + runner + ) as unknown as IMetaMorphoStaticTyping; + } +} diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorpho__factory.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorpho__factory.ts new file mode 100644 index 00000000..1d3d1e21 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorpho__factory.ts @@ -0,0 +1,1464 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMetaMorpho, + IMetaMorphoInterface, +} from "../../../../../../../../lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorpho"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Deposit", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Withdraw", + type: "event", + }, + { + inputs: [], + name: "DECIMALS_OFFSET", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "acceptCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "acceptGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "acceptOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "acceptTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "asset", + outputs: [ + { + internalType: "address", + name: "assetTokenAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "config", + outputs: [ + { + components: [ + { + internalType: "uint184", + name: "cap", + type: "uint184", + }, + { + internalType: "bool", + name: "enabled", + type: "bool", + }, + { + internalType: "uint64", + name: "removableAt", + type: "uint64", + }, + ], + internalType: "struct MarketConfig", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "convertToAssets", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "convertToShares", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "curator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "fee", + outputs: [ + { + internalType: "uint96", + name: "", + type: "uint96", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "guardian", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + ], + name: "isAllocator", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "lastTotalAssets", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "maxDeposit", + outputs: [ + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "maxMint", + outputs: [ + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxRedeem", + outputs: [ + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxWithdraw", + outputs: [ + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [ + { + internalType: "bytes[]", + name: "", + type: "bytes[]", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "pendingCap", + outputs: [ + { + components: [ + { + internalType: "uint192", + name: "value", + type: "uint192", + }, + { + internalType: "uint64", + name: "validAt", + type: "uint64", + }, + ], + internalType: "struct PendingUint192", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingGuardian", + outputs: [ + { + components: [ + { + internalType: "address", + name: "value", + type: "address", + }, + { + internalType: "uint64", + name: "validAt", + type: "uint64", + }, + ], + internalType: "struct PendingAddress", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingOwner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingTimelock", + outputs: [ + { + components: [ + { + internalType: "uint192", + name: "value", + type: "uint192", + }, + { + internalType: "uint64", + name: "validAt", + type: "uint64", + }, + ], + internalType: "struct PendingUint192", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewDeposit", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewMint", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewRedeem", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewWithdraw", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + internalType: "struct MarketAllocation[]", + name: "allocations", + type: "tuple[]", + }, + ], + name: "reallocate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "revokePendingCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "revokePendingGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "revokePendingMarketRemoval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "revokePendingTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newCurator", + type: "address", + }, + ], + name: "setCurator", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newAllocator", + type: "address", + }, + { + internalType: "bool", + name: "newIsAllocator", + type: "bool", + }, + ], + name: "setIsAllocator", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newSkimRecipient", + type: "address", + }, + ], + name: "setSkimRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id[]", + name: "newSupplyQueue", + type: "bytes32[]", + }, + ], + name: "setSupplyQueue", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "skim", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "skimRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newSupplyCap", + type: "uint256", + }, + ], + name: "submitCap", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newGuardian", + type: "address", + }, + ], + name: "submitGuardian", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "submitMarketRemoval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newTimelock", + type: "uint256", + }, + ], + name: "submitTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "supplyQueue", + outputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "supplyQueueLength", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "timelock", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalAssets", + outputs: [ + { + internalType: "uint256", + name: "totalManagedAssets", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256[]", + name: "indexes", + type: "uint256[]", + }, + ], + name: "updateWithdrawQueue", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "withdrawQueue", + outputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "withdrawQueueLength", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IMetaMorpho__factory { + static readonly abi = _abi; + static createInterface(): IMetaMorphoInterface { + return new Interface(_abi) as IMetaMorphoInterface; + } + static connect(address: string, runner?: ContractRunner | null): IMetaMorpho { + return new Contract(address, _abi, runner) as unknown as IMetaMorpho; + } +} diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMulticall__factory.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMulticall__factory.ts new file mode 100644 index 00000000..8cfd15cc --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMulticall__factory.ts @@ -0,0 +1,41 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMulticall, + IMulticallInterface, +} from "../../../../../../../../lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMulticall"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes[]", + name: "", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [ + { + internalType: "bytes[]", + name: "", + type: "bytes[]", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMulticall__factory { + static readonly abi = _abi; + static createInterface(): IMulticallInterface { + return new Interface(_abi) as IMulticallInterface; + } + static connect(address: string, runner?: ContractRunner | null): IMulticall { + return new Contract(address, _abi, runner) as unknown as IMulticall; + } +} diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IOwnable__factory.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IOwnable__factory.ts new file mode 100644 index 00000000..4f8d7da2 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IOwnable__factory.ts @@ -0,0 +1,75 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IOwnable, + IOwnableInterface, +} from "../../../../../../../../lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IOwnable"; + +const _abi = [ + { + inputs: [], + name: "acceptOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingOwner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IOwnable__factory { + static readonly abi = _abi; + static createInterface(): IOwnableInterface { + return new Interface(_abi) as IOwnableInterface; + } + static connect(address: string, runner?: ContractRunner | null): IOwnable { + return new Contract(address, _abi, runner) as unknown as IOwnable; + } +} diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/index.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/index.ts new file mode 100644 index 00000000..29024cce --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IMetaMorpho__factory } from "./IMetaMorpho__factory"; +export { IMetaMorphoBase__factory } from "./IMetaMorphoBase__factory"; +export { IMetaMorphoStaticTyping__factory } from "./IMetaMorphoStaticTyping__factory"; +export { IMulticall__factory } from "./IMulticall__factory"; +export { IOwnable__factory } from "./IOwnable__factory"; diff --git a/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/index.ts b/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/index.ts new file mode 100644 index 00000000..3e19c5ce --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/lib/metamorpho/src/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as iMetaMorphoSol from "./IMetaMorpho.sol"; diff --git a/pkg/types/factories/lib/public-allocator/src/PublicAllocator__factory.ts b/pkg/types/factories/lib/public-allocator/src/PublicAllocator__factory.ts new file mode 100644 index 00000000..79021090 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/src/PublicAllocator__factory.ts @@ -0,0 +1,653 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + PublicAllocator, + PublicAllocatorInterface, +} from "../../../../lib/public-allocator/src/PublicAllocator"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "morpho", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "AlreadySet", + type: "error", + }, + { + inputs: [], + name: "DepositMarketInWithdrawals", + type: "error", + }, + { + inputs: [], + name: "EmptyWithdrawals", + type: "error", + }, + { + inputs: [], + name: "InconsistentWithdrawals", + type: "error", + }, + { + inputs: [], + name: "IncorrectFee", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "MarketNotEnabled", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "MaxInflowExceeded", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "MaxOutflowExceeded", + type: "error", + }, + { + inputs: [], + name: "MaxSettableFlowCapExceeded", + type: "error", + }, + { + inputs: [], + name: "NotAdminNorVaultOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "NotEnoughSupply", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "WithdrawZero", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "supplyMarketId", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "suppliedAssets", + type: "uint256", + }, + ], + name: "PublicReallocateTo", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "withdrawnAssets", + type: "uint256", + }, + ], + name: "PublicWithdrawal", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "admin", + type: "address", + }, + ], + name: "SetAdmin", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "fee", + type: "uint256", + }, + ], + name: "SetFee", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "vault", + type: "address", + }, + { + components: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + components: [ + { + internalType: "uint128", + name: "maxIn", + type: "uint128", + }, + { + internalType: "uint128", + name: "maxOut", + type: "uint128", + }, + ], + internalType: "struct FlowCaps", + name: "caps", + type: "tuple", + }, + ], + indexed: false, + internalType: "struct FlowCapsConfig[]", + name: "config", + type: "tuple[]", + }, + ], + name: "SetFlowCaps", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "feeRecipient", + type: "address", + }, + ], + name: "TransferFee", + type: "event", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "accruedFee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "fee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "flowCaps", + outputs: [ + { + internalType: "uint128", + name: "maxIn", + type: "uint128", + }, + { + internalType: "uint128", + name: "maxOut", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + internalType: "struct Withdrawal[]", + name: "withdrawals", + type: "tuple[]", + }, + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "supplyMarketParams", + type: "tuple", + }, + ], + name: "reallocateTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "setAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + components: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + components: [ + { + internalType: "uint128", + name: "maxIn", + type: "uint128", + }, + { + internalType: "uint128", + name: "maxOut", + type: "uint128", + }, + ], + internalType: "struct FlowCaps", + name: "caps", + type: "tuple", + }, + ], + internalType: "struct FlowCapsConfig[]", + name: "config", + type: "tuple[]", + }, + ], + name: "setFlowCaps", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address payable", + name: "feeRecipient", + type: "address", + }, + ], + name: "transferFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60a03461008857601f6122f738819003918201601f19168301916001600160401b0383118484101761008d5780849260209460405283398101031261008857516001600160a01b038116908190036100885760805260405161225390816100a48239608051818181610e1801528181610f2501528181611053015281816110dd0152611baa0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b60003560e01c9081630e4eecf814611bce575080633acb562414611b5f57806363a846f814611af95780636fcca69b14611a94578063833947fd1461089757806391b114b2146108325780639dbcd5b9146107a6578063c55b6bb71461064b578063e55156b5146104f55763f46180461461008d57600080fd5b346104f05760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104f0576100c4611d1b565b6024906024359067ffffffffffffffff8083116104f057366023840112156104f05782600401359081116104f0576024830192606090602436918385020101116104f05773ffffffffffffffffffffffffffffffffffffffff80931694856000526020936000855280604060002054163314159081610479575b5061044f576000939291935b8281106101e95750506040519281838501848652526040840194926000905b83821061019a5787337f709e1cb4b0ac458eb1c1a9c708e841ee963b229247afbf1437bd39e01ae4aa14888a0389a3005b90919293958380600192893581526fffffffffffffffffffffffffffffffff806101c5878d016120ac565b16868301526101d660408c016120ac565b1660408201520197019493920190610169565b6101f88184889795969761209c565b356040517fcc718f76000000000000000000000000000000000000000000000000000000008152816004820152848185818c5afa8015610443578791600091610416575b50015115806103c8575b610398576fffffffffffffffffffffffffffffffff91906f7fffffffffffffffffffffffffffffff80846102858a61027f878c8f61209c565b0161200b565b1611908484898c8515610378575b505050505061034e576001926103046040610344936102b3868b8e61209c565b908d60005260038c5282600020906000528b5281600020936102d68c830161200b565b167fffffffffffffffffffffffffffffffff000000000000000000000000000000008554161784550161200b565b6fffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b019392919361014a565b60046040517fb9860d64000000000000000000000000000000000000000000000000000000008152fd5b61038c939495509161027f9160409361209c565b1611388484898c610293565b9050604051907f6113d8c70000000000000000000000000000000000000000000000000000000082526004820152fd5b506fffffffffffffffffffffffffffffffff806103ea8861027f868a8d61209c565b1615908115916103fb575b50610246565b905061040d604061027f85898c61209c565b161515386103f5565b6104369150863d881161043c575b61042e8183611dc7565b810190611f3b565b3861023c565b503d610424565b6040513d6000823e3d90fd5b60046040517f26d3a7bf000000000000000000000000000000000000000000000000000000008152fd5b90506040517f8da5cb5b00000000000000000000000000000000000000000000000000000000815285816004818b5afa908115610443576000916104c3575b50163314153861013e565b6104e39150863d88116104e9575b6104db8183611dc7565b810190611e08565b386104b8565b503d6104d1565b600080fd5b346104f05760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104f05761052c611d1b565b60243573ffffffffffffffffffffffffffffffffffffffff809216918260005260209060008252806040600020541633141590816105e4575b5061044f57826000526001815281604060002054146105ba577f44a6d70a601a6f8a85c075467e9d7245897140cbf6dd505c9d9d764459f5fb64908360005260018152826040600020556040519283523392a3005b60046040517fa741a045000000000000000000000000000000000000000000000000000000008152fd5b90506040517f8da5cb5b0000000000000000000000000000000000000000000000000000000081528281600481885afa9081156104435760009161062e575b501633141584610565565b6106459150833d85116104e9576104db8183611dc7565b85610623565b346104f05760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104f057610682611d1b565b60243573ffffffffffffffffffffffffffffffffffffffff918282168092036104f0578216918260005260209060008252806040600020541633141580610740575b61044f578290846000526000835260406000205416146105ba577fc51248b3e510a1244e01043dffdc0132d10194bd4506382cbcf83d05f6ec57ef9083600052600081526040600020837fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790556040519283523392a3005b506040517f8da5cb5b0000000000000000000000000000000000000000000000000000000081528281600481885afa8015610443578291600091610789575b50163314156106c4565b6107a09150843d86116104e9576104db8183611dc7565b8661077f565b346104f05760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104f05773ffffffffffffffffffffffffffffffffffffffff6107f2611d1b565b1660005260036020526040600020602435600052602052604080600020548151906fffffffffffffffffffffffffffffffff8116825260801c6020820152f35b346104f05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104f05773ffffffffffffffffffffffffffffffffffffffff61087e611d1b565b1660005260026020526020604060002054604051908152f35b60e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104f0576108c9611d1b565b60243567ffffffffffffffff81116104f057366023820112156104f05767ffffffffffffffff8160040135116104f05736602460c0836004013502830101116104f05760a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc3601126104f05773ffffffffffffffffffffffffffffffffffffffff821660005260016020526040600020543403611a6a5734611a34575b806004013515611a0a5760a061097c36611e41565b20916040517fcc718f7600000000000000000000000000000000000000000000000000000000815283600482015260608160248173ffffffffffffffffffffffffffffffffffffffff86165afa8015610443576020916000916119eb575b5001511561194d57600482013560018101919082106113c7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610a36610a2084611fb4565b93610a2e6040519586611dc7565b808552611fb4565b0160005b81811061199d5750506000926000805b82600401358210610d2c57505073ffffffffffffffffffffffffffffffffffffffff821660005260036020526040600020856000526020526fffffffffffffffffffffffffffffffff93846040600020541694808216809610610cfb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92610b74602093610b989373ffffffffffffffffffffffffffffffffffffffff88166000526003865260406000208b60005286526040600020907fffffffffffffffffffffffffffffffff00000000000000000000000000000000825491610b328582851661204c565b16911617905573ffffffffffffffffffffffffffffffffffffffff87166000526003855260406000208a6000528552610304604060002091825460801c612028565b610b8281600401358761207b565b51610b8c36611e41565b9052600401358561207b565b51015273ffffffffffffffffffffffffffffffffffffffff81163b156104f05760405180927f7299aa310000000000000000000000000000000000000000000000000000000082526024820160206004840152815180915260206044840192019060005b818110610c8957505050908060009203818373ffffffffffffffffffffffffffffffffffffffff86165af19182156104435773ffffffffffffffffffffffffffffffffffffffff92610c7a575b5060405192835216907ff8ae80b0854dfc3c73d3eb4b6160df1996a5859e6c1d11d10f3980a7f469199160203392a4005b610c8390611d97565b84610c49565b91935091602060c0600192828751610ce68382516080809173ffffffffffffffffffffffffffffffffffffffff80825116855280602083015116602086015280604083015116604086015260608201511660608501520151910152565b015160a0820152019401910191859392610bfc565b602487604051907f2e581b4e0000000000000000000000000000000000000000000000000000000082526004820152fd5b949060a0610d4b36610d4684876004013560248901611fcc565b611ed9565b20916040517fcc718f7600000000000000000000000000000000000000000000000000000000815283600482015260608160248173ffffffffffffffffffffffffffffffffffffffff8a165afa80156104435760209160009161197e575b5001511561194d57610dc860a061027f84876004013560248901611fcc565b966fffffffffffffffffffffffffffffffff88161561191c578311156118f2578783146118c857610e0182856004013560248701611fcc565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163b156104f0576080604051917f151c1ade00000000000000000000000000000000000000000000000000000000835273ffffffffffffffffffffffffffffffffffffffff610e8582611d3e565b16600484015273ffffffffffffffffffffffffffffffffffffffff610eac60208301611d3e565b16602484015273ffffffffffffffffffffffffffffffffffffffff610ed360408301611d3e565b16604484015273ffffffffffffffffffffffffffffffffffffffff610efa60608301611d3e565b1660648401520135608482015260008160a4818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af18015610443576118b9575b50610f6936610d4684876004013560248901611fcc565b60a08120604051602081019182526002604082015260408152610f8b81611dab565b519020604051602081019173ffffffffffffffffffffffffffffffffffffffff89168352604082015260408152610fc181611dab565b519020604051610fd081611d5f565b6001815260208101916020368437610fe78261206e565b526040519182917f7784c685000000000000000000000000000000000000000000000000000000008352602483019060206004850152518091526044830191906000905b80821061189d575050509080600092038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa8015610443576000906117f1575b61108d915061206e565b519060a0812090604051917f5c60e39a000000000000000000000000000000000000000000000000000000008352600483015260c08260248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9182156104435760009261170b575b5060808201906111316fffffffffffffffffffffffffffffffff8351164261208f565b90811515806116ec575b806116c9575b6113f6575b5050506fffffffffffffffffffffffffffffffff602081835116920151166001820182116113c757620f4240810181116113c757611196926001620f424061119193019301906120e6565b6121e4565b73ffffffffffffffffffffffffffffffffffffffff861660005260036020526040600020846000526020526fffffffffffffffffffffffffffffffff881660406000205460801c10611396576fffffffffffffffffffffffffffffffff88168110611365576113078884936112f387948b6112d86112cf896112c98f9c8f73ffffffffffffffffffffffffffffffffffffffff60019f8e828216600052600360205260406000209060005260205260406000208d7fffffffffffffffffffffffffffffffff000000000000000000000000000000006fffffffffffffffffffffffffffffffff61128a845493828516612028565b16911617905516600052600360205260406000208d6000526020526112bb60406000206103048d825460801c61204c565b602481600401359101611fcc565b9361207b565b51913690611ed9565b90526fffffffffffffffffffffffffffffffff84169061208f565b60206112ff878d61207b565b510152612028565b976fffffffffffffffffffffffffffffffff6040519116815273ffffffffffffffffffffffffffffffffffffffff8716907f6218cdb9e8efb3d0e8136d32c91d9446eaf19e2e486bc67dfcb3d574ca60d50460203392a40190610a4a565b602484604051907f8c4bfb140000000000000000000000000000000000000000000000000000000082526004820152fd5b602484604051907fad5f61d30000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6114a46101648273ffffffffffffffffffffffffffffffffffffffff60606020950151166fffffffffffffffffffffffffffffffff60405197889586947f8c00bf6b00000000000000000000000000000000000000000000000000000000865260048601906080809173ffffffffffffffffffffffffffffffffffffffff80825116855280602083015116602086015280604083015116604086015260608201511660608501520151910152565b818a511660a485015281878b01511660c48501528160408b01511660e48501528160608b01511661010485015251166101248301526fffffffffffffffffffffffffffffffff60a0890151166101448301525afa91821561044357600092611693575b509061157a61153061156f936fffffffffffffffffffffffffffffffff604087015116936120e6565b91611574671bc16d674ec8000061154785806120e6565b0493670de0b6b3a764000095856729a2241af62c0000611568848a996120e6565b0492611e34565b611e34565b906120e6565b046fffffffffffffffffffffffffffffffff6115a4611598836120f9565b82604087015116612028565b1660408401526fffffffffffffffffffffffffffffffff6115d06115c7836120f9565b82865116612028565b1683526fffffffffffffffffffffffffffffffff60a0840151168015611146576115f9916120e6565b04611617816fffffffffffffffffffffffffffffffff84511661208f565b6fffffffffffffffffffffffffffffffff60208401511690620f4240820182116113c7576001810181116113c757611674611685926111916fffffffffffffffffffffffffffffffff95620f4240600161167996019301906120e6565b6120f9565b82602085015116612028565b1660208201528a8080611146565b91506020823d6020116116c1575b816116ae60209383611dc7565b810103126104f05790519061157a611507565b3d91506116a1565b5073ffffffffffffffffffffffffffffffffffffffff6060820151161515611141565b506fffffffffffffffffffffffffffffffff604085015116151561113b565b90915060c0813d60c0116117e9575b8161172760c09383611dc7565b810103126104f057604051908160c081011067ffffffffffffffff60c0840111176117ba5760a06117ae9160c08401604052611762816120c9565b8452611770602082016120c9565b6020850152611781604082016120c9565b6040850152611792606082016120c9565b60608501526117a3608082016120c9565b6080850152016120c9565b60a0820152908b61110e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b3d915061171a565b503d90816000823e6118038282611dc7565b60208183810103126104f05780519167ffffffffffffffff83116104f057808201601f8484010112156104f057828201519161183e83611fb4565b9361184c6040519586611dc7565b8385526020850192820160208560051b8385010101116104f057602081830101925b60208560051b8385010101841061188d57505050505061108d90611083565b835181526020938401930161186e565b919350916020806001928651815201940192018493929161102b565b6118c290611d97565b88610f52565b60046040517f898ca719000000000000000000000000000000000000000000000000000000008152fd5b60046040517fc9527748000000000000000000000000000000000000000000000000000000008152fd5b602484604051907f9565ed900000000000000000000000000000000000000000000000000000000082526004820152fd5b602483604051907f6113d8c70000000000000000000000000000000000000000000000000000000082526004820152fd5b611997915060603d60601161043c5761042e8183611dc7565b8a610da9565b6020906040516119ac81611d5f565b6040516119b881611d7b565b60008152600084820152600060408201526000606082015260006080820152815260008382015282828701015201610a3a565b611a04915060603d60601161043c5761042e8183611dc7565b856109da565b60046040517f76da5945000000000000000000000000000000000000000000000000000000008152fd5b73ffffffffffffffffffffffffffffffffffffffff821660005260026020526040600020611a63348254611e34565b9055610967565b60046040517fcd3cb2bb000000000000000000000000000000000000000000000000000000008152fd5b346104f05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104f05773ffffffffffffffffffffffffffffffffffffffff611ae0611d1b565b1660005260016020526020604060002054604051908152f35b346104f05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104f057602073ffffffffffffffffffffffffffffffffffffffff80611b48611d1b565b166000526000825260406000205416604051908152f35b346104f05760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104f057602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346104f05760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104f057611c05611d1b565b906024359173ffffffffffffffffffffffffffffffffffffffff908184168094036104f057811691826000526020916000835280604060002054163314159182611cb5575b505061044f578160005260028152604060002090600082549255600082858115611cab575b600092839283928392f115610443577f6ab9f885fa0bfd2af57586f4cdde83bbfc79294d0cd2d61d4b31e9a3d1be6e2c906040519283523392a4005b6108fc9250611c6f565b9091507f8da5cb5b0000000000000000000000000000000000000000000000000000000081528281600481875afa90811561044357600091611cfe575b50163314158480611c4a565b611d159150833d85116104e9576104db8183611dc7565b85611cf2565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036104f057565b359073ffffffffffffffffffffffffffffffffffffffff821682036104f057565b6040810190811067ffffffffffffffff8211176117ba57604052565b60a0810190811067ffffffffffffffff8211176117ba57604052565b67ffffffffffffffff81116117ba57604052565b6060810190811067ffffffffffffffff8211176117ba57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176117ba57604052565b908160209103126104f0575173ffffffffffffffffffffffffffffffffffffffff811681036104f05790565b919082018092116113c757565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc60a09101126104f05760405190611e7882611d7b565b8173ffffffffffffffffffffffffffffffffffffffff60443581811681036104f057825260643581811681036104f057602083015260843581811681036104f057604083015260a43590811681036104f0576060820152608060c435910152565b91908260a09103126104f057604051611ef181611d7b565b6080808294611eff81611d3e565b8452611f0d60208201611d3e565b6020850152611f1e60408201611d3e565b6040850152611f2f60608201611d3e565b60608501520135910152565b908160609103126104f0576040519067ffffffffffffffff9060608301828111848210176117ba57604052805176ffffffffffffffffffffffffffffffffffffffffffffff811681036104f057835260208101519081151582036104f0576040916020850152015190811681036104f057604082015290565b67ffffffffffffffff81116117ba5760051b60200190565b9190811015611fdc5760c0020190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b356fffffffffffffffffffffffffffffffff811681036104f05790565b9190916fffffffffffffffffffffffffffffffff808094169116019182116113c757565b6fffffffffffffffffffffffffffffffff91821690821603919082116113c757565b805115611fdc5760200190565b8051821015611fdc5760209160051b010190565b919082039182116113c757565b9190811015611fdc576060020190565b35906fffffffffffffffffffffffffffffffff821682036104f057565b51906fffffffffffffffffffffffffffffffff821682036104f057565b818102929181159184041417156113c757565b6fffffffffffffffffffffffffffffffff9060405161211781611d5f565b601481526020907f6d61782075696e7431323820657863656564656400000000000000000000000060208201528383116121515750501690565b60405180927f08c379a00000000000000000000000000000000000000000000000000000000082526020600483015282519283602484015260005b8481106121cd575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b81810183015186820160440152859350820161218c565b81156121ee570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea2646970667358221220c70bd3c2af023f493310f5b0c886f86462f7b47fd3392b449c6f2442deca731a64736f6c63430008180033"; + +type PublicAllocatorConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: PublicAllocatorConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class PublicAllocator__factory extends ContractFactory { + constructor(...args: PublicAllocatorConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + morpho: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(morpho, overrides || {}); + } + override deploy( + morpho: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(morpho, overrides || {}) as Promise< + PublicAllocator & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): PublicAllocator__factory { + return super.connect(runner) as PublicAllocator__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): PublicAllocatorInterface { + return new Interface(_abi) as PublicAllocatorInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): PublicAllocator { + return new Contract(address, _abi, runner) as unknown as PublicAllocator; + } +} diff --git a/pkg/types/factories/lib/public-allocator/src/index.ts b/pkg/types/factories/lib/public-allocator/src/index.ts new file mode 100644 index 00000000..671699c5 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/src/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; +export * as libraries from "./libraries"; +export { PublicAllocator__factory } from "./PublicAllocator__factory"; diff --git a/pkg/types/factories/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorBase__factory.ts b/pkg/types/factories/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorBase__factory.ts new file mode 100644 index 00000000..ec4cffb8 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorBase__factory.ts @@ -0,0 +1,284 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IPublicAllocatorBase, + IPublicAllocatorBaseInterface, +} from "../../../../../../lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorBase"; + +const _abi = [ + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "accruedFee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "fee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + internalType: "struct Withdrawal[]", + name: "withdrawals", + type: "tuple[]", + }, + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "supplyMarketParams", + type: "tuple", + }, + ], + name: "reallocateTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "setAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + components: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + components: [ + { + internalType: "uint128", + name: "maxIn", + type: "uint128", + }, + { + internalType: "uint128", + name: "maxOut", + type: "uint128", + }, + ], + internalType: "struct FlowCaps", + name: "caps", + type: "tuple", + }, + ], + internalType: "struct FlowCapsConfig[]", + name: "config", + type: "tuple[]", + }, + ], + name: "setFlowCaps", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address payable", + name: "feeRecipient", + type: "address", + }, + ], + name: "transferFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IPublicAllocatorBase__factory { + static readonly abi = _abi; + static createInterface(): IPublicAllocatorBaseInterface { + return new Interface(_abi) as IPublicAllocatorBaseInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IPublicAllocatorBase { + return new Contract( + address, + _abi, + runner + ) as unknown as IPublicAllocatorBase; + } +} diff --git a/pkg/types/factories/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorStaticTyping__factory.ts b/pkg/types/factories/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorStaticTyping__factory.ts new file mode 100644 index 00000000..b3422ff7 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorStaticTyping__factory.ts @@ -0,0 +1,313 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IPublicAllocatorStaticTyping, + IPublicAllocatorStaticTypingInterface, +} from "../../../../../../lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorStaticTyping"; + +const _abi = [ + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "accruedFee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "fee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "flowCaps", + outputs: [ + { + internalType: "uint128", + name: "", + type: "uint128", + }, + { + internalType: "uint128", + name: "", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + internalType: "struct Withdrawal[]", + name: "withdrawals", + type: "tuple[]", + }, + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "supplyMarketParams", + type: "tuple", + }, + ], + name: "reallocateTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "setAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + components: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + components: [ + { + internalType: "uint128", + name: "maxIn", + type: "uint128", + }, + { + internalType: "uint128", + name: "maxOut", + type: "uint128", + }, + ], + internalType: "struct FlowCaps", + name: "caps", + type: "tuple", + }, + ], + internalType: "struct FlowCapsConfig[]", + name: "config", + type: "tuple[]", + }, + ], + name: "setFlowCaps", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address payable", + name: "feeRecipient", + type: "address", + }, + ], + name: "transferFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IPublicAllocatorStaticTyping__factory { + static readonly abi = _abi; + static createInterface(): IPublicAllocatorStaticTypingInterface { + return new Interface(_abi) as IPublicAllocatorStaticTypingInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IPublicAllocatorStaticTyping { + return new Contract( + address, + _abi, + runner + ) as unknown as IPublicAllocatorStaticTyping; + } +} diff --git a/pkg/types/factories/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocator__factory.ts b/pkg/types/factories/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocator__factory.ts new file mode 100644 index 00000000..55d4be4a --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocator__factory.ts @@ -0,0 +1,316 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IPublicAllocator, + IPublicAllocatorInterface, +} from "../../../../../../lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocator"; + +const _abi = [ + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "accruedFee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "fee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "flowCaps", + outputs: [ + { + components: [ + { + internalType: "uint128", + name: "maxIn", + type: "uint128", + }, + { + internalType: "uint128", + name: "maxOut", + type: "uint128", + }, + ], + internalType: "struct FlowCaps", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + internalType: "struct Withdrawal[]", + name: "withdrawals", + type: "tuple[]", + }, + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "supplyMarketParams", + type: "tuple", + }, + ], + name: "reallocateTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "setAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + components: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + components: [ + { + internalType: "uint128", + name: "maxIn", + type: "uint128", + }, + { + internalType: "uint128", + name: "maxOut", + type: "uint128", + }, + ], + internalType: "struct FlowCaps", + name: "caps", + type: "tuple", + }, + ], + internalType: "struct FlowCapsConfig[]", + name: "config", + type: "tuple[]", + }, + ], + name: "setFlowCaps", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address payable", + name: "feeRecipient", + type: "address", + }, + ], + name: "transferFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IPublicAllocator__factory { + static readonly abi = _abi; + static createInterface(): IPublicAllocatorInterface { + return new Interface(_abi) as IPublicAllocatorInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IPublicAllocator { + return new Contract(address, _abi, runner) as unknown as IPublicAllocator; + } +} diff --git a/pkg/types/factories/lib/public-allocator/src/interfaces/IPublicAllocator.sol/index.ts b/pkg/types/factories/lib/public-allocator/src/interfaces/IPublicAllocator.sol/index.ts new file mode 100644 index 00000000..c304988e --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/src/interfaces/IPublicAllocator.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IPublicAllocator__factory } from "./IPublicAllocator__factory"; +export { IPublicAllocatorBase__factory } from "./IPublicAllocatorBase__factory"; +export { IPublicAllocatorStaticTyping__factory } from "./IPublicAllocatorStaticTyping__factory"; diff --git a/pkg/types/factories/lib/public-allocator/src/interfaces/index.ts b/pkg/types/factories/lib/public-allocator/src/interfaces/index.ts new file mode 100644 index 00000000..f4fbf41a --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/src/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as iPublicAllocatorSol from "./IPublicAllocator.sol"; diff --git a/pkg/types/factories/lib/public-allocator/src/libraries/ErrorsLib__factory.ts b/pkg/types/factories/lib/public-allocator/src/libraries/ErrorsLib__factory.ts new file mode 100644 index 00000000..d587490d --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/src/libraries/ErrorsLib__factory.ts @@ -0,0 +1,154 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + ErrorsLib, + ErrorsLibInterface, +} from "../../../../../lib/public-allocator/src/libraries/ErrorsLib"; + +const _abi = [ + { + inputs: [], + name: "AlreadySet", + type: "error", + }, + { + inputs: [], + name: "DepositMarketInWithdrawals", + type: "error", + }, + { + inputs: [], + name: "EmptyWithdrawals", + type: "error", + }, + { + inputs: [], + name: "InconsistentWithdrawals", + type: "error", + }, + { + inputs: [], + name: "IncorrectFee", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "MarketNotEnabled", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "MaxInflowExceeded", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "MaxOutflowExceeded", + type: "error", + }, + { + inputs: [], + name: "MaxSettableFlowCapExceeded", + type: "error", + }, + { + inputs: [], + name: "NotAdminNorVaultOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "NotEnoughSupply", + type: "error", + }, + { + inputs: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + ], + name: "WithdrawZero", + type: "error", + }, +] as const; + +const _bytecode = + "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212208e697c23ab0458fc9cba583d0c584b03baf06115866fb6080c2844ac97a2037a64736f6c63430008180033"; + +type ErrorsLibConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ErrorsLibConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ErrorsLib__factory extends ContractFactory { + constructor(...args: ErrorsLibConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + ErrorsLib & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): ErrorsLib__factory { + return super.connect(runner) as ErrorsLib__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ErrorsLibInterface { + return new Interface(_abi) as ErrorsLibInterface; + } + static connect(address: string, runner?: ContractRunner | null): ErrorsLib { + return new Contract(address, _abi, runner) as unknown as ErrorsLib; + } +} diff --git a/pkg/types/factories/lib/public-allocator/src/libraries/EventsLib__factory.ts b/pkg/types/factories/lib/public-allocator/src/libraries/EventsLib__factory.ts new file mode 100644 index 00000000..29a1027d --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/src/libraries/EventsLib__factory.ts @@ -0,0 +1,256 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + EventsLib, + EventsLibInterface, +} from "../../../../../lib/public-allocator/src/libraries/EventsLib"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "supplyMarketId", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "suppliedAssets", + type: "uint256", + }, + ], + name: "PublicReallocateTo", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: true, + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "withdrawnAssets", + type: "uint256", + }, + ], + name: "PublicWithdrawal", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "admin", + type: "address", + }, + ], + name: "SetAdmin", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "fee", + type: "uint256", + }, + ], + name: "SetFee", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "vault", + type: "address", + }, + { + components: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + components: [ + { + internalType: "uint128", + name: "maxIn", + type: "uint128", + }, + { + internalType: "uint128", + name: "maxOut", + type: "uint128", + }, + ], + internalType: "struct FlowCaps", + name: "caps", + type: "tuple", + }, + ], + indexed: false, + internalType: "struct FlowCapsConfig[]", + name: "config", + type: "tuple[]", + }, + ], + name: "SetFlowCaps", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "vault", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "feeRecipient", + type: "address", + }, + ], + name: "TransferFee", + type: "event", + }, +] as const; + +const _bytecode = + "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122082085a74dad0262232b01c3dfb414ced1b12c38e8a2d6d36530cca05968e5d4164736f6c63430008180033"; + +type EventsLibConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: EventsLibConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class EventsLib__factory extends ContractFactory { + constructor(...args: EventsLibConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + EventsLib & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): EventsLib__factory { + return super.connect(runner) as EventsLib__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): EventsLibInterface { + return new Interface(_abi) as EventsLibInterface; + } + static connect(address: string, runner?: ContractRunner | null): EventsLib { + return new Contract(address, _abi, runner) as unknown as EventsLib; + } +} diff --git a/pkg/types/factories/lib/public-allocator/src/libraries/index.ts b/pkg/types/factories/lib/public-allocator/src/libraries/index.ts new file mode 100644 index 00000000..df3d8131 --- /dev/null +++ b/pkg/types/factories/lib/public-allocator/src/libraries/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ErrorsLib__factory } from "./ErrorsLib__factory"; +export { EventsLib__factory } from "./EventsLib__factory"; diff --git a/pkg/types/factories/lib/solmate/index.ts b/pkg/types/factories/lib/solmate/index.ts new file mode 100644 index 00000000..ba4b1074 --- /dev/null +++ b/pkg/types/factories/lib/solmate/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as src from "./src"; diff --git a/pkg/types/factories/lib/solmate/src/index.ts b/pkg/types/factories/lib/solmate/src/index.ts new file mode 100644 index 00000000..423ea3c3 --- /dev/null +++ b/pkg/types/factories/lib/solmate/src/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as tokens from "./tokens"; diff --git a/pkg/types/factories/lib/solmate/src/tokens/ERC20__factory.ts b/pkg/types/factories/lib/solmate/src/tokens/ERC20__factory.ts new file mode 100644 index 00000000..51be121b --- /dev/null +++ b/pkg/types/factories/lib/solmate/src/tokens/ERC20__factory.ts @@ -0,0 +1,319 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ERC20, + ERC20Interface, +} from "../../../../../lib/solmate/src/tokens/ERC20"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ERC20__factory { + static readonly abi = _abi; + static createInterface(): ERC20Interface { + return new Interface(_abi) as ERC20Interface; + } + static connect(address: string, runner?: ContractRunner | null): ERC20 { + return new Contract(address, _abi, runner) as unknown as ERC20; + } +} diff --git a/pkg/types/factories/lib/solmate/src/tokens/index.ts b/pkg/types/factories/lib/solmate/src/tokens/index.ts new file mode 100644 index 00000000..4a39ead9 --- /dev/null +++ b/pkg/types/factories/lib/solmate/src/tokens/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ERC20__factory } from "./ERC20__factory"; diff --git a/pkg/types/factories/lib/universal-rewards-distributor/index.ts b/pkg/types/factories/lib/universal-rewards-distributor/index.ts new file mode 100644 index 00000000..c22a39aa --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as lib from "./lib"; +export * as src from "./src"; diff --git a/pkg/types/factories/lib/universal-rewards-distributor/lib/index.ts b/pkg/types/factories/lib/universal-rewards-distributor/lib/index.ts new file mode 100644 index 00000000..967aa633 --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/lib/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as openzeppelinContracts from "./openzeppelin-contracts"; diff --git a/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/index.ts b/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/index.ts new file mode 100644 index 00000000..a9780efc --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as token from "./token"; diff --git a/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20__factory.ts b/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20__factory.ts new file mode 100644 index 00000000..6fec1645 --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20__factory.ts @@ -0,0 +1,205 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20, + IERC20Interface, +} from "../../../../../../../../lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC20__factory { + static readonly abi = _abi; + static createInterface(): IERC20Interface { + return new Interface(_abi) as IERC20Interface; + } + static connect(address: string, runner?: ContractRunner | null): IERC20 { + return new Contract(address, _abi, runner) as unknown as IERC20; + } +} diff --git a/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit__factory.ts b/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit__factory.ts new file mode 100644 index 00000000..cfdea013 --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit__factory.ts @@ -0,0 +1,100 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20Permit, + IERC20PermitInterface, +} from "../../../../../../../../../lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC20Permit__factory { + static readonly abi = _abi; + static createInterface(): IERC20PermitInterface { + return new Interface(_abi) as IERC20PermitInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IERC20Permit { + return new Contract(address, _abi, runner) as unknown as IERC20Permit; + } +} diff --git a/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts b/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts new file mode 100644 index 00000000..5f347d4a --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IERC20Permit__factory } from "./IERC20Permit__factory"; diff --git a/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts b/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts new file mode 100644 index 00000000..6e86faa7 --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as extensions from "./extensions"; +export { IERC20__factory } from "./IERC20__factory"; diff --git a/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/index.ts b/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/index.ts new file mode 100644 index 00000000..da1e061e --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as erc20 from "./ERC20"; diff --git a/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/index.ts b/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/index.ts new file mode 100644 index 00000000..6397da09 --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/lib/openzeppelin-contracts/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as contracts from "./contracts"; diff --git a/pkg/types/factories/lib/universal-rewards-distributor/src/UniversalRewardsDistributor__factory.ts b/pkg/types/factories/lib/universal-rewards-distributor/src/UniversalRewardsDistributor__factory.ts new file mode 100644 index 00000000..09a320c5 --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/src/UniversalRewardsDistributor__factory.ts @@ -0,0 +1,374 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BytesLike, + BigNumberish, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + UniversalRewardsDistributor, + UniversalRewardsDistributorInterface, +} from "../../../../lib/universal-rewards-distributor/src/UniversalRewardsDistributor"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "initialOwner", + type: "address", + }, + { + internalType: "uint256", + name: "initialTimelock", + type: "uint256", + }, + { + internalType: "bytes32", + name: "initialRoot", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "initialIpfsHash", + type: "bytes32", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "acceptRoot", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "reward", + type: "address", + }, + { + internalType: "uint256", + name: "claimable", + type: "uint256", + }, + { + internalType: "bytes32[]", + name: "proof", + type: "bytes32[]", + }, + ], + name: "claim", + outputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "reward", + type: "address", + }, + ], + name: "claimed", + outputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ipfsHash", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "isUpdater", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingRoot", + outputs: [ + { + internalType: "bytes32", + name: "root", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "ipfsHash", + type: "bytes32", + }, + { + internalType: "uint256", + name: "validAt", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "revokePendingRoot", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "root", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "newRoot", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "newIpfsHash", + type: "bytes32", + }, + ], + name: "setRoot", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "updater", + type: "address", + }, + { + internalType: "bool", + name: "active", + type: "bool", + }, + ], + name: "setRootUpdater", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newTimelock", + type: "uint256", + }, + ], + name: "setTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "newRoot", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "newIpfsHash", + type: "bytes32", + }, + ], + name: "submitRoot", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "timelock", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x60803461011057601f6112a638819003918201601f19168301916001600160401b03831184841017610115578084926080946040528339810103126101105780516001600160a01b0381169190829003610110576020810151907f980b903efea70e6b1bd235b1fb05f1a5da73cbd478b73c9538053f9eb29f129f602060606040840151930151938560018060a01b03196003541617600355604051906000967f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe28880a2806005558152a1808355816001558260065582600755826008557f901232fc92ac16700a7d4b60706cbd27dec177bc85c9c2dbd2e2871d63b22a236040519380a361117a908161012c8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060408181526004908136101561001657600080fd5b600092833560e01c9081630c9cbf0e14610dd35750806313af403514610d075780631e891c0a14610c6c57806342af83fb14610b495780634b38705314610a905780634fdfb08614610a2a578063537394101461093b578063750588cf146108ed5780638da5cb5b1461089a578063c623674f1461085d578063d33219b414610820578063d61825ef146106b8578063ebf0c7171461067d578063ed075ec5146105b55763fabed412146100c957600080fd5b346105b15760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105b157610100610e44565b610108610e6c565b6044359360643567ffffffffffffffff9687821161048b573660238301121561048b57818301359780891161048e5760249260059036858c841b830101116105ad57908897916101979b8554918a519461016186610ec3565b600f865260209e8f967f726f6f74206973206e6f7420736574000000000000000000000000000000000088820152851515610fc9565b8d8c51908782019273ffffffffffffffffffffffffffffffffffffffff8091169d8e855216809e8301526060820152606081526101d381610f0e565b5190208c518681019182528681526101ea81610ec3565b5190209387955b838710610521575050505061023c925089519161020d83610ec3565b601883527f696e76616c69642070726f6f66206f72206578706972656400000000000000008d84015214610fc9565b84825260028952868220868352895261028e87832054891188519061026082610ec3565b601182527f636c61696d61626c6520746f6f206c6f770000000000000000000000000000008c830152610fc9565b848252600289528682208683528952868220548803978089116104f6579089918684526002835288842088855283528884205582808951848101907fa9059cbb00000000000000000000000000000000000000000000000000000000825289888201528c60448201526044815261030481610f0e565b7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648c519661033188610ec3565b8088528701525190828b5af13d156104e8573d8281116104bd578951927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011684019084821090821117610492578a52825261039e9291903d858d84013e5b88611044565b8051918215918a8315610467575b5050509050156103e65750507ff7a40077ff7a04c7e61f6f26fb13774259ddf1b6bce9ecf26a8276cdd3992683858451868152a351908152f35b90602a608492888751937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b91938180945001031261048e5788015190811515820361048b57508038808a6103ac565b80fd5b5080fd5b868660418a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85856041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b61039e929150606090610398565b50506011837f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b89878394959697931b85010135918281106000146105a1578952528b87205b947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105765760010194939291908e6101f1565b888860118c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b918952528b8720610540565b8380fd5b8280fd5b83823461048e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048e5760085461063c916105ff6105f761100b565b831515610fc9565b519061060a82610ec3565b601782527f74696d656c6f636b206973206e6f7420657870697265640000000000000000006020830152421015610fc9565b60065460075490808355816001558260065582600755826008557f901232fc92ac16700a7d4b60706cbd27dec177bc85c9c2dbd2e2871d63b22a238380a380f35b83823461048e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048e57602091549051908152f35b5090346105b1576106c836610e8f565b9290913385528060205260ff828620541680156107fa575b6106f2906106ec610f2a565b90610fc9565b60065483148015906107ee575b825161073d9161070e82610ec3565b600f82527f616c72656164792070656e64696e6700000000000000000000000000000000006020830152610fc9565b6005544201918242116107c2575167ffffffffffffffff6060820191821091111761079657508160065582600755600855337f922a2513428e5d51dd666942f04a14788d1db1ab35373059a8a29f025d6342cb8480a480f35b8460416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024866011847f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b506007548414156106ff565b506106f273ffffffffffffffffffffffffffffffffffffffff60035416331490506106e0565b83823461048e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048e576020906005549051908152f35b83823461048e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048e576020906001549051908152f35b83823461048e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048e5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b83823461048e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048e5760609060065490600754906008549181519384526020840152820152f35b50346105b157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105b157610972610e44565b602435801515809103610a26577fefa819ca5209d17f1dfd20e7c0c2100700ae10239d28140f00fa620742b2d8429260209273ffffffffffffffffffffffffffffffffffffffff906109cc826003541633146106ec61110b565b16948587528084526109eb8360ff848a205416151514156106ec6110d2565b85875283528086207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff841617905551908152a280f35b8480fd5b5090346105b15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105b1578160209360ff9273ffffffffffffffffffffffffffffffffffffffff610a7f610e44565b168252855220541690519015158152f35b50346105b157827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105b15760ff91338452602052822054168015610b23575b610adf906106ec610f2a565b610aef60085415156106ec61100b565b806006558060075580600855337ffc5bc87b2339664e063f6f7cd154075756d9c3b2c38ca2b950fef2f8b3f6dc408280a280f35b50610adf73ffffffffffffffffffffffffffffffffffffffff6003541633149050610ad3565b5090346105b157610bdd610b5c36610e8f565b93909233865260205260ff81862054168015610c46575b610b7f906106ec610f2a565b84548314801590610c3a575b610b97906106ec6110d2565b60055415908115610c17575b5190610bae82610ec3565b601f82527f756e617574686f72697a656420746f206368616e67652074686520726f6f74006020830152610fc9565b808355816001558260065582600755826008557f901232fc92ac16700a7d4b60706cbd27dec177bc85c9c2dbd2e2871d63b22a238380a380f35b905073ffffffffffffffffffffffffffffffffffffffff60035416331490610ba3565b50600154841415610b8b565b50610b7f73ffffffffffffffffffffffffffffffffffffffff6003541633149050610b73565b5090346105b15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105b1577f980b903efea70e6b1bd235b1fb05f1a5da73cbd478b73c9538053f9eb29f129f916020913590610cea73ffffffffffffffffffffffffffffffffffffffff6003541633146106ec61110b565b610cfb6005548314156106ec6110d2565b8160055551908152a180f35b833461048b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048b57610da7610d42610e44565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060035473ffffffffffffffffffffffffffffffffffffffff80821693610d92610d8a61110b565b863314610fc9565b16938493610d9e6110d2565b90851415610fc9565b16176003557f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe28280a280f35b925050346105b157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105b157602092610e0f610e44565b610e17610e6c565b73ffffffffffffffffffffffffffffffffffffffff91821683526002865283832091168252845220548152f35b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610e6757565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610e6757565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040910112610e67576004359060243590565b6040810190811067ffffffffffffffff821117610edf57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6080810190811067ffffffffffffffff821117610edf57604052565b60405190610f3782610ec3565b601f82527f63616c6c657220686173206e6f7420746865207570646174657220726f6c65006020830152565b60208082528251818301819052939260005b858110610fb5575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610f75565b15610fd15750565b611007906040519182917f08c379a000000000000000000000000000000000000000000000000000000000835260048301610f63565b0390fd5b6040519061101882610ec3565b600f82527f6e6f2070656e64696e6720726f6f7400000000000000000000000000000000006020830152565b919290156110bf5750815115611058575090565b3b156110615790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015610fd15750805190602001fd5b604051906110df82610ec3565b600b82527f616c7265616479207365740000000000000000000000000000000000000000006020830152565b6040519061111882610ec3565b601782527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000602083015256fea2646970667358221220d82c2d8151094638cb6c916d9de1f3915026dbb3eefb9e9406d78592bfaeb87664736f6c63430008130033"; + +type UniversalRewardsDistributorConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: UniversalRewardsDistributorConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class UniversalRewardsDistributor__factory extends ContractFactory { + constructor(...args: UniversalRewardsDistributorConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + initialOwner: AddressLike, + initialTimelock: BigNumberish, + initialRoot: BytesLike, + initialIpfsHash: BytesLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + initialOwner, + initialTimelock, + initialRoot, + initialIpfsHash, + overrides || {} + ); + } + override deploy( + initialOwner: AddressLike, + initialTimelock: BigNumberish, + initialRoot: BytesLike, + initialIpfsHash: BytesLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + initialOwner, + initialTimelock, + initialRoot, + initialIpfsHash, + overrides || {} + ) as Promise< + UniversalRewardsDistributor & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): UniversalRewardsDistributor__factory { + return super.connect(runner) as UniversalRewardsDistributor__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): UniversalRewardsDistributorInterface { + return new Interface(_abi) as UniversalRewardsDistributorInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): UniversalRewardsDistributor { + return new Contract( + address, + _abi, + runner + ) as unknown as UniversalRewardsDistributor; + } +} diff --git a/pkg/types/factories/lib/universal-rewards-distributor/src/UrdFactory__factory.ts b/pkg/types/factories/lib/universal-rewards-distributor/src/UrdFactory__factory.ts new file mode 100644 index 00000000..482696b0 --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/src/UrdFactory__factory.ts @@ -0,0 +1,122 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + UrdFactory, + UrdFactoryInterface, +} from "../../../../lib/universal-rewards-distributor/src/UrdFactory"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "initialOwner", + type: "address", + }, + { + internalType: "uint256", + name: "initialTimelock", + type: "uint256", + }, + { + internalType: "bytes32", + name: "initialRoot", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "initialIpfsHash", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + ], + name: "createUrd", + outputs: [ + { + internalType: "contract IUniversalRewardsDistributor", + name: "urd", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "isUrd", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x60808060405234610016576114fc908161001c8239f35b600080fdfe6080604090808252600436101561001557600080fd5b600090813560e01c90816309bf1423146101905750638683fbdd1461003957600080fd5b3461018d5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d576100706101f8565b9160243560443590606435608435908451936112a6948581019581871067ffffffffffffffff88111761016057908491610221823960808173ffffffffffffffffffffffffffffffffffffffff809c1698898152886020820152858b82015286606082015203019089f580156101565760209887911697888152808a522060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055855193845287840152848301526060820152837fb08f131b4d26f626f4bd2fa639786c2b37988240728dcb975897a27ddc87ddb260803393a451908152f35b86513d89823e3d90fd5b6024897f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80fd5b905082346101f45760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101f45760ff9060209373ffffffffffffffffffffffffffffffffffffffff6101e56101f8565b16815280855220541615158152f35b8280fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361021b57565b600080fdfe60803461011057601f6112a638819003918201601f19168301916001600160401b03831184841017610115578084926080946040528339810103126101105780516001600160a01b0381169190829003610110576020810151907f980b903efea70e6b1bd235b1fb05f1a5da73cbd478b73c9538053f9eb29f129f602060606040840151930151938560018060a01b03196003541617600355604051906000967f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe28880a2806005558152a1808355816001558260065582600755826008557f901232fc92ac16700a7d4b60706cbd27dec177bc85c9c2dbd2e2871d63b22a236040519380a361117a908161012c8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060408181526004908136101561001657600080fd5b600092833560e01c9081630c9cbf0e14610dd35750806313af403514610d075780631e891c0a14610c6c57806342af83fb14610b495780634b38705314610a905780634fdfb08614610a2a578063537394101461093b578063750588cf146108ed5780638da5cb5b1461089a578063c623674f1461085d578063d33219b414610820578063d61825ef146106b8578063ebf0c7171461067d578063ed075ec5146105b55763fabed412146100c957600080fd5b346105b15760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105b157610100610e44565b610108610e6c565b6044359360643567ffffffffffffffff9687821161048b573660238301121561048b57818301359780891161048e5760249260059036858c841b830101116105ad57908897916101979b8554918a519461016186610ec3565b600f865260209e8f967f726f6f74206973206e6f7420736574000000000000000000000000000000000088820152851515610fc9565b8d8c51908782019273ffffffffffffffffffffffffffffffffffffffff8091169d8e855216809e8301526060820152606081526101d381610f0e565b5190208c518681019182528681526101ea81610ec3565b5190209387955b838710610521575050505061023c925089519161020d83610ec3565b601883527f696e76616c69642070726f6f66206f72206578706972656400000000000000008d84015214610fc9565b84825260028952868220868352895261028e87832054891188519061026082610ec3565b601182527f636c61696d61626c6520746f6f206c6f770000000000000000000000000000008c830152610fc9565b848252600289528682208683528952868220548803978089116104f6579089918684526002835288842088855283528884205582808951848101907fa9059cbb00000000000000000000000000000000000000000000000000000000825289888201528c60448201526044815261030481610f0e565b7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648c519661033188610ec3565b8088528701525190828b5af13d156104e8573d8281116104bd578951927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f850116011684019084821090821117610492578a52825261039e9291903d858d84013e5b88611044565b8051918215918a8315610467575b5050509050156103e65750507ff7a40077ff7a04c7e61f6f26fb13774259ddf1b6bce9ecf26a8276cdd3992683858451868152a351908152f35b90602a608492888751937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b91938180945001031261048e5788015190811515820361048b57508038808a6103ac565b80fd5b5080fd5b868660418a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b85856041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b61039e929150606090610398565b50506011837f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b89878394959697931b85010135918281106000146105a1578952528b87205b947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105765760010194939291908e6101f1565b888860118c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b918952528b8720610540565b8380fd5b8280fd5b83823461048e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048e5760085461063c916105ff6105f761100b565b831515610fc9565b519061060a82610ec3565b601782527f74696d656c6f636b206973206e6f7420657870697265640000000000000000006020830152421015610fc9565b60065460075490808355816001558260065582600755826008557f901232fc92ac16700a7d4b60706cbd27dec177bc85c9c2dbd2e2871d63b22a238380a380f35b83823461048e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048e57602091549051908152f35b5090346105b1576106c836610e8f565b9290913385528060205260ff828620541680156107fa575b6106f2906106ec610f2a565b90610fc9565b60065483148015906107ee575b825161073d9161070e82610ec3565b600f82527f616c72656164792070656e64696e6700000000000000000000000000000000006020830152610fc9565b6005544201918242116107c2575167ffffffffffffffff6060820191821091111761079657508160065582600755600855337f922a2513428e5d51dd666942f04a14788d1db1ab35373059a8a29f025d6342cb8480a480f35b8460416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024866011847f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b506007548414156106ff565b506106f273ffffffffffffffffffffffffffffffffffffffff60035416331490506106e0565b83823461048e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048e576020906005549051908152f35b83823461048e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048e576020906001549051908152f35b83823461048e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048e5760209073ffffffffffffffffffffffffffffffffffffffff600354169051908152f35b83823461048e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048e5760609060065490600754906008549181519384526020840152820152f35b50346105b157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105b157610972610e44565b602435801515809103610a26577fefa819ca5209d17f1dfd20e7c0c2100700ae10239d28140f00fa620742b2d8429260209273ffffffffffffffffffffffffffffffffffffffff906109cc826003541633146106ec61110b565b16948587528084526109eb8360ff848a205416151514156106ec6110d2565b85875283528086207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff841617905551908152a280f35b8480fd5b5090346105b15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105b1578160209360ff9273ffffffffffffffffffffffffffffffffffffffff610a7f610e44565b168252855220541690519015158152f35b50346105b157827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105b15760ff91338452602052822054168015610b23575b610adf906106ec610f2a565b610aef60085415156106ec61100b565b806006558060075580600855337ffc5bc87b2339664e063f6f7cd154075756d9c3b2c38ca2b950fef2f8b3f6dc408280a280f35b50610adf73ffffffffffffffffffffffffffffffffffffffff6003541633149050610ad3565b5090346105b157610bdd610b5c36610e8f565b93909233865260205260ff81862054168015610c46575b610b7f906106ec610f2a565b84548314801590610c3a575b610b97906106ec6110d2565b60055415908115610c17575b5190610bae82610ec3565b601f82527f756e617574686f72697a656420746f206368616e67652074686520726f6f74006020830152610fc9565b808355816001558260065582600755826008557f901232fc92ac16700a7d4b60706cbd27dec177bc85c9c2dbd2e2871d63b22a238380a380f35b905073ffffffffffffffffffffffffffffffffffffffff60035416331490610ba3565b50600154841415610b8b565b50610b7f73ffffffffffffffffffffffffffffffffffffffff6003541633149050610b73565b5090346105b15760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105b1577f980b903efea70e6b1bd235b1fb05f1a5da73cbd478b73c9538053f9eb29f129f916020913590610cea73ffffffffffffffffffffffffffffffffffffffff6003541633146106ec61110b565b610cfb6005548314156106ec6110d2565b8160055551908152a180f35b833461048b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048b57610da7610d42610e44565b7fffffffffffffffffffffffff000000000000000000000000000000000000000060035473ffffffffffffffffffffffffffffffffffffffff80821693610d92610d8a61110b565b863314610fc9565b16938493610d9e6110d2565b90851415610fc9565b16176003557f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe28280a280f35b925050346105b157807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105b157602092610e0f610e44565b610e17610e6c565b73ffffffffffffffffffffffffffffffffffffffff91821683526002865283832091168252845220548152f35b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610e6757565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610e6757565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040910112610e67576004359060243590565b6040810190811067ffffffffffffffff821117610edf57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6080810190811067ffffffffffffffff821117610edf57604052565b60405190610f3782610ec3565b601f82527f63616c6c657220686173206e6f7420746865207570646174657220726f6c65006020830152565b60208082528251818301819052939260005b858110610fb5575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610f75565b15610fd15750565b611007906040519182917f08c379a000000000000000000000000000000000000000000000000000000000835260048301610f63565b0390fd5b6040519061101882610ec3565b600f82527f6e6f2070656e64696e6720726f6f7400000000000000000000000000000000006020830152565b919290156110bf5750815115611058575090565b3b156110615790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015610fd15750805190602001fd5b604051906110df82610ec3565b600b82527f616c7265616479207365740000000000000000000000000000000000000000006020830152565b6040519061111882610ec3565b601782527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000602083015256fea2646970667358221220d82c2d8151094638cb6c916d9de1f3915026dbb3eefb9e9406d78592bfaeb87664736f6c63430008130033a264697066735822122099b4476992d5d8aa7d81d51603dcd13b4bfc1d9d9fa867cf071354fc1109e7b164736f6c63430008130033"; + +type UrdFactoryConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: UrdFactoryConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class UrdFactory__factory extends ContractFactory { + constructor(...args: UrdFactoryConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + UrdFactory & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): UrdFactory__factory { + return super.connect(runner) as UrdFactory__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): UrdFactoryInterface { + return new Interface(_abi) as UrdFactoryInterface; + } + static connect(address: string, runner?: ContractRunner | null): UrdFactory { + return new Contract(address, _abi, runner) as unknown as UrdFactory; + } +} diff --git a/pkg/types/factories/lib/universal-rewards-distributor/src/index.ts b/pkg/types/factories/lib/universal-rewards-distributor/src/index.ts new file mode 100644 index 00000000..c7b74dbb --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/src/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; +export * as libraries from "./libraries"; +export { UniversalRewardsDistributor__factory } from "./UniversalRewardsDistributor__factory"; +export { UrdFactory__factory } from "./UrdFactory__factory"; diff --git a/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorBase__factory.ts b/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorBase__factory.ts new file mode 100644 index 00000000..fa496e54 --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorBase__factory.ts @@ -0,0 +1,252 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IUniversalRewardsDistributorBase, + IUniversalRewardsDistributorBaseInterface, +} from "../../../../../../lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorBase"; + +const _abi = [ + { + inputs: [], + name: "acceptRoot", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "reward", + type: "address", + }, + { + internalType: "uint256", + name: "claimable", + type: "uint256", + }, + { + internalType: "bytes32[]", + name: "proof", + type: "bytes32[]", + }, + ], + name: "claim", + outputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "claimed", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ipfsHash", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "isUpdater", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "revokePendingRoot", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "root", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "newRoot", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "newIpfsHash", + type: "bytes32", + }, + ], + name: "setRoot", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "updater", + type: "address", + }, + { + internalType: "bool", + name: "active", + type: "bool", + }, + ], + name: "setRootUpdater", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newTimelock", + type: "uint256", + }, + ], + name: "setTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "newRoot", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "ipfsHash", + type: "bytes32", + }, + ], + name: "submitRoot", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "timelock", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IUniversalRewardsDistributorBase__factory { + static readonly abi = _abi; + static createInterface(): IUniversalRewardsDistributorBaseInterface { + return new Interface(_abi) as IUniversalRewardsDistributorBaseInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IUniversalRewardsDistributorBase { + return new Contract( + address, + _abi, + runner + ) as unknown as IUniversalRewardsDistributorBase; + } +} diff --git a/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorStaticTyping__factory.ts b/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorStaticTyping__factory.ts new file mode 100644 index 00000000..9cdee2c2 --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorStaticTyping__factory.ts @@ -0,0 +1,277 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IUniversalRewardsDistributorStaticTyping, + IUniversalRewardsDistributorStaticTypingInterface, +} from "../../../../../../lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorStaticTyping"; + +const _abi = [ + { + inputs: [], + name: "acceptRoot", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "reward", + type: "address", + }, + { + internalType: "uint256", + name: "claimable", + type: "uint256", + }, + { + internalType: "bytes32[]", + name: "proof", + type: "bytes32[]", + }, + ], + name: "claim", + outputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "claimed", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ipfsHash", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "isUpdater", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingRoot", + outputs: [ + { + internalType: "bytes32", + name: "root", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "ipfsHash", + type: "bytes32", + }, + { + internalType: "uint256", + name: "validAt", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "revokePendingRoot", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "root", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "newRoot", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "newIpfsHash", + type: "bytes32", + }, + ], + name: "setRoot", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "updater", + type: "address", + }, + { + internalType: "bool", + name: "active", + type: "bool", + }, + ], + name: "setRootUpdater", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newTimelock", + type: "uint256", + }, + ], + name: "setTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "newRoot", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "ipfsHash", + type: "bytes32", + }, + ], + name: "submitRoot", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "timelock", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IUniversalRewardsDistributorStaticTyping__factory { + static readonly abi = _abi; + static createInterface(): IUniversalRewardsDistributorStaticTypingInterface { + return new Interface( + _abi + ) as IUniversalRewardsDistributorStaticTypingInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IUniversalRewardsDistributorStaticTyping { + return new Contract( + address, + _abi, + runner + ) as unknown as IUniversalRewardsDistributorStaticTyping; + } +} diff --git a/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributor__factory.ts b/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributor__factory.ts new file mode 100644 index 00000000..acbd0684 --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributor__factory.ts @@ -0,0 +1,282 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IUniversalRewardsDistributor, + IUniversalRewardsDistributorInterface, +} from "../../../../../../lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributor"; + +const _abi = [ + { + inputs: [], + name: "acceptRoot", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "reward", + type: "address", + }, + { + internalType: "uint256", + name: "claimable", + type: "uint256", + }, + { + internalType: "bytes32[]", + name: "proof", + type: "bytes32[]", + }, + ], + name: "claim", + outputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "claimed", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ipfsHash", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "isUpdater", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pendingRoot", + outputs: [ + { + components: [ + { + internalType: "bytes32", + name: "root", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "ipfsHash", + type: "bytes32", + }, + { + internalType: "uint256", + name: "validAt", + type: "uint256", + }, + ], + internalType: "struct PendingRoot", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "revokePendingRoot", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "root", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "newRoot", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "newIpfsHash", + type: "bytes32", + }, + ], + name: "setRoot", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "updater", + type: "address", + }, + { + internalType: "bool", + name: "active", + type: "bool", + }, + ], + name: "setRootUpdater", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newTimelock", + type: "uint256", + }, + ], + name: "setTimelock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "newRoot", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "ipfsHash", + type: "bytes32", + }, + ], + name: "submitRoot", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "timelock", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IUniversalRewardsDistributor__factory { + static readonly abi = _abi; + static createInterface(): IUniversalRewardsDistributorInterface { + return new Interface(_abi) as IUniversalRewardsDistributorInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IUniversalRewardsDistributor { + return new Contract( + address, + _abi, + runner + ) as unknown as IUniversalRewardsDistributor; + } +} diff --git a/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/index.ts b/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/index.ts new file mode 100644 index 00000000..d6b90d74 --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IUniversalRewardsDistributor__factory } from "./IUniversalRewardsDistributor__factory"; +export { IUniversalRewardsDistributorBase__factory } from "./IUniversalRewardsDistributorBase__factory"; +export { IUniversalRewardsDistributorStaticTyping__factory } from "./IUniversalRewardsDistributorStaticTyping__factory"; diff --git a/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/IUrdFactory__factory.ts b/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/IUrdFactory__factory.ts new file mode 100644 index 00000000..c4440a28 --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/IUrdFactory__factory.ts @@ -0,0 +1,80 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IUrdFactory, + IUrdFactoryInterface, +} from "../../../../../lib/universal-rewards-distributor/src/interfaces/IUrdFactory"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "initialOwner", + type: "address", + }, + { + internalType: "uint256", + name: "initialTimelock", + type: "uint256", + }, + { + internalType: "bytes32", + name: "initialRoot", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "initialIpfsHash", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + ], + name: "createUrd", + outputs: [ + { + internalType: "contract IUniversalRewardsDistributor", + name: "", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + ], + name: "isUrd", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IUrdFactory__factory { + static readonly abi = _abi; + static createInterface(): IUrdFactoryInterface { + return new Interface(_abi) as IUrdFactoryInterface; + } + static connect(address: string, runner?: ContractRunner | null): IUrdFactory { + return new Contract(address, _abi, runner) as unknown as IUrdFactory; + } +} diff --git a/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/index.ts b/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/index.ts new file mode 100644 index 00000000..e3fb2787 --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/src/interfaces/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as iUniversalRewardsDistributorSol from "./IUniversalRewardsDistributor.sol"; +export { IUrdFactory__factory } from "./IUrdFactory__factory"; diff --git a/pkg/types/factories/lib/universal-rewards-distributor/src/libraries/EventsLib__factory.ts b/pkg/types/factories/lib/universal-rewards-distributor/src/libraries/EventsLib__factory.ts new file mode 100644 index 00000000..31b200ce --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/src/libraries/EventsLib__factory.ts @@ -0,0 +1,240 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + EventsLib, + EventsLibInterface, +} from "../../../../../lib/universal-rewards-distributor/src/libraries/EventsLib"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "reward", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Claimed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "OwnerSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + ], + name: "PendingRootRevoked", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "bytes32", + name: "newRoot", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "newIpfsHash", + type: "bytes32", + }, + ], + name: "PendingRootSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "newRoot", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "newIpfsHash", + type: "bytes32", + }, + ], + name: "RootSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "rootUpdater", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "active", + type: "bool", + }, + ], + name: "RootUpdaterSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "newTimelock", + type: "uint256", + }, + ], + name: "TimelockSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "urd", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "caller", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "initialOwner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "initialTimelock", + type: "uint256", + }, + { + indexed: false, + internalType: "bytes32", + name: "initialRoot", + type: "bytes32", + }, + { + indexed: false, + internalType: "bytes32", + name: "initialIpfsHash", + type: "bytes32", + }, + { + indexed: false, + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + ], + name: "UrdCreated", + type: "event", + }, +] as const; + +const _bytecode = + "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212209ccd08dfdbeda092ad4af7d6f31d6cf6b98f7e319ef602f80cecfea81518875c64736f6c63430008180033"; + +type EventsLibConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: EventsLibConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class EventsLib__factory extends ContractFactory { + constructor(...args: EventsLibConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + EventsLib & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): EventsLib__factory { + return super.connect(runner) as EventsLib__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): EventsLibInterface { + return new Interface(_abi) as EventsLibInterface; + } + static connect(address: string, runner?: ContractRunner | null): EventsLib { + return new Contract(address, _abi, runner) as unknown as EventsLib; + } +} diff --git a/pkg/types/factories/lib/universal-rewards-distributor/src/libraries/index.ts b/pkg/types/factories/lib/universal-rewards-distributor/src/libraries/index.ts new file mode 100644 index 00000000..d9cfd688 --- /dev/null +++ b/pkg/types/factories/lib/universal-rewards-distributor/src/libraries/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { EventsLib__factory } from "./EventsLib__factory"; diff --git a/pkg/types/factories/solmate/index.ts b/pkg/types/factories/solmate/index.ts new file mode 100644 index 00000000..ba4b1074 --- /dev/null +++ b/pkg/types/factories/solmate/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as src from "./src"; diff --git a/pkg/types/factories/solmate/src/index.ts b/pkg/types/factories/solmate/src/index.ts new file mode 100644 index 00000000..423ea3c3 --- /dev/null +++ b/pkg/types/factories/solmate/src/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as tokens from "./tokens"; diff --git a/pkg/types/factories/solmate/src/tokens/ERC20__factory.ts b/pkg/types/factories/solmate/src/tokens/ERC20__factory.ts new file mode 100644 index 00000000..753662dc --- /dev/null +++ b/pkg/types/factories/solmate/src/tokens/ERC20__factory.ts @@ -0,0 +1,319 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ERC20, + ERC20Interface, +} from "../../../../solmate/src/tokens/ERC20"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ERC20__factory { + static readonly abi = _abi; + static createInterface(): ERC20Interface { + return new Interface(_abi) as ERC20Interface; + } + static connect(address: string, runner?: ContractRunner | null): ERC20 { + return new Contract(address, _abi, runner) as unknown as ERC20; + } +} diff --git a/pkg/types/factories/solmate/src/tokens/index.ts b/pkg/types/factories/solmate/src/tokens/index.ts new file mode 100644 index 00000000..4a39ead9 --- /dev/null +++ b/pkg/types/factories/solmate/src/tokens/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ERC20__factory } from "./ERC20__factory"; diff --git a/pkg/types/factories/src/BaseBundler__factory.ts b/pkg/types/factories/src/BaseBundler__factory.ts new file mode 100644 index 00000000..4fb856b7 --- /dev/null +++ b/pkg/types/factories/src/BaseBundler__factory.ts @@ -0,0 +1,45 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { BaseBundler, BaseBundlerInterface } from "../../src/BaseBundler"; + +const _abi = [ + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +export class BaseBundler__factory { + static readonly abi = _abi; + static createInterface(): BaseBundlerInterface { + return new Interface(_abi) as BaseBundlerInterface; + } + static connect(address: string, runner?: ContractRunner | null): BaseBundler { + return new Contract(address, _abi, runner) as unknown as BaseBundler; + } +} diff --git a/pkg/types/factories/src/ERC20WrapperBundler__factory.ts b/pkg/types/factories/src/ERC20WrapperBundler__factory.ts new file mode 100644 index 00000000..6e9fa85b --- /dev/null +++ b/pkg/types/factories/src/ERC20WrapperBundler__factory.ts @@ -0,0 +1,96 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ERC20WrapperBundler, + ERC20WrapperBundlerInterface, +} from "../../src/ERC20WrapperBundler"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "wrapper", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20WrapperDepositFor", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "wrapper", + type: "address", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20WrapperWithdrawTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +export class ERC20WrapperBundler__factory { + static readonly abi = _abi; + static createInterface(): ERC20WrapperBundlerInterface { + return new Interface(_abi) as ERC20WrapperBundlerInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ERC20WrapperBundler { + return new Contract( + address, + _abi, + runner + ) as unknown as ERC20WrapperBundler; + } +} diff --git a/pkg/types/factories/src/ERC4626Bundler__factory.ts b/pkg/types/factories/src/ERC4626Bundler__factory.ts new file mode 100644 index 00000000..a8024caf --- /dev/null +++ b/pkg/types/factories/src/ERC4626Bundler__factory.ts @@ -0,0 +1,173 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ERC4626Bundler, + ERC4626BundlerInterface, +} from "../../src/ERC4626Bundler"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "minShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Mint", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Redeem", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +export class ERC4626Bundler__factory { + static readonly abi = _abi; + static createInterface(): ERC4626BundlerInterface { + return new Interface(_abi) as ERC4626BundlerInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ERC4626Bundler { + return new Contract(address, _abi, runner) as unknown as ERC4626Bundler; + } +} diff --git a/pkg/types/factories/src/MorphoBundler__factory.ts b/pkg/types/factories/src/MorphoBundler__factory.ts new file mode 100644 index 00000000..78815ed0 --- /dev/null +++ b/pkg/types/factories/src/MorphoBundler__factory.ts @@ -0,0 +1,680 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + MorphoBundler, + MorphoBundlerInterface, +} from "../../src/MorphoBundler"; + +const _abi = [ + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoBorrow", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoFlashLoan", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoRepay", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "morphoSetAuthorizationWithSig", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupply", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupplyCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdrawCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoFlashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoRepay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupply", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "publicAllocator", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + internalType: "struct Withdrawal[]", + name: "withdrawals", + type: "tuple[]", + }, + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "supplyMarketParams", + type: "tuple", + }, + ], + name: "reallocateTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +export class MorphoBundler__factory { + static readonly abi = _abi; + static createInterface(): MorphoBundlerInterface { + return new Interface(_abi) as MorphoBundlerInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): MorphoBundler { + return new Contract(address, _abi, runner) as unknown as MorphoBundler; + } +} diff --git a/pkg/types/factories/src/Permit2Bundler__factory.ts b/pkg/types/factories/src/Permit2Bundler__factory.ts new file mode 100644 index 00000000..f0fbf5d9 --- /dev/null +++ b/pkg/types/factories/src/Permit2Bundler__factory.ts @@ -0,0 +1,136 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + Permit2Bundler, + Permit2BundlerInterface, +} from "../../src/Permit2Bundler"; + +const _abi = [ + { + inputs: [], + name: "UnsafeCast", + type: "error", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + internalType: "uint48", + name: "expiration", + type: "uint48", + }, + { + internalType: "uint48", + name: "nonce", + type: "uint48", + }, + ], + internalType: "struct IAllowanceTransfer.PermitDetails", + name: "details", + type: "tuple", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "sigDeadline", + type: "uint256", + }, + ], + internalType: "struct IAllowanceTransfer.PermitSingle", + name: "permitSingle", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "approve2", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom2", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +export class Permit2Bundler__factory { + static readonly abi = _abi; + static createInterface(): Permit2BundlerInterface { + return new Interface(_abi) as Permit2BundlerInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): Permit2Bundler { + return new Contract(address, _abi, runner) as unknown as Permit2Bundler; + } +} diff --git a/pkg/types/factories/src/PermitBundler__factory.ts b/pkg/types/factories/src/PermitBundler__factory.ts new file mode 100644 index 00000000..28a22d36 --- /dev/null +++ b/pkg/types/factories/src/PermitBundler__factory.ts @@ -0,0 +1,94 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + PermitBundler, + PermitBundlerInterface, +} from "../../src/PermitBundler"; + +const _abi = [ + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "permit", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +export class PermitBundler__factory { + static readonly abi = _abi; + static createInterface(): PermitBundlerInterface { + return new Interface(_abi) as PermitBundlerInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): PermitBundler { + return new Contract(address, _abi, runner) as unknown as PermitBundler; + } +} diff --git a/pkg/types/factories/src/StEthBundler__factory.ts b/pkg/types/factories/src/StEthBundler__factory.ts new file mode 100644 index 00000000..634cdf0e --- /dev/null +++ b/pkg/types/factories/src/StEthBundler__factory.ts @@ -0,0 +1,126 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + StEthBundler, + StEthBundlerInterface, +} from "../../src/StEthBundler"; + +const _abi = [ + { + inputs: [], + name: "ST_ETH", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "WST_ETH", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "minShares", + type: "uint256", + }, + { + internalType: "address", + name: "referral", + type: "address", + }, + ], + name: "stakeEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unwrapStEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "wrapStEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +export class StEthBundler__factory { + static readonly abi = _abi; + static createInterface(): StEthBundlerInterface { + return new Interface(_abi) as StEthBundlerInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): StEthBundler { + return new Contract(address, _abi, runner) as unknown as StEthBundler; + } +} diff --git a/pkg/types/factories/src/TransferBundler__factory.ts b/pkg/types/factories/src/TransferBundler__factory.ts new file mode 100644 index 00000000..5546fdf5 --- /dev/null +++ b/pkg/types/factories/src/TransferBundler__factory.ts @@ -0,0 +1,110 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + TransferBundler, + TransferBundlerInterface, +} from "../../src/TransferBundler"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20Transfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20TransferFrom", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "nativeTransfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +export class TransferBundler__factory { + static readonly abi = _abi; + static createInterface(): TransferBundlerInterface { + return new Interface(_abi) as TransferBundlerInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): TransferBundler { + return new Contract(address, _abi, runner) as unknown as TransferBundler; + } +} diff --git a/pkg/types/factories/src/UrdBundler__factory.ts b/pkg/types/factories/src/UrdBundler__factory.ts new file mode 100644 index 00000000..c21be5b0 --- /dev/null +++ b/pkg/types/factories/src/UrdBundler__factory.ts @@ -0,0 +1,83 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { UrdBundler, UrdBundlerInterface } from "../../src/UrdBundler"; + +const _abi = [ + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "distributor", + type: "address", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "reward", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "bytes32[]", + name: "proof", + type: "bytes32[]", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "urdClaim", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +export class UrdBundler__factory { + static readonly abi = _abi; + static createInterface(): UrdBundlerInterface { + return new Interface(_abi) as UrdBundlerInterface; + } + static connect(address: string, runner?: ContractRunner | null): UrdBundler { + return new Contract(address, _abi, runner) as unknown as UrdBundler; + } +} diff --git a/pkg/types/factories/src/WNativeBundler__factory.ts b/pkg/types/factories/src/WNativeBundler__factory.ts new file mode 100644 index 00000000..5c89a3b5 --- /dev/null +++ b/pkg/types/factories/src/WNativeBundler__factory.ts @@ -0,0 +1,94 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + WNativeBundler, + WNativeBundlerInterface, +} from "../../src/WNativeBundler"; + +const _abi = [ + { + inputs: [], + name: "WRAPPED_NATIVE", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unwrapNative", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "wrapNative", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +export class WNativeBundler__factory { + static readonly abi = _abi; + static createInterface(): WNativeBundlerInterface { + return new Interface(_abi) as WNativeBundlerInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): WNativeBundler { + return new Contract(address, _abi, runner) as unknown as WNativeBundler; + } +} diff --git a/pkg/types/factories/src/chain-agnostic/ChainAgnosticBundlerV2__factory.ts b/pkg/types/factories/src/chain-agnostic/ChainAgnosticBundlerV2__factory.ts new file mode 100644 index 00000000..bdbd9cc2 --- /dev/null +++ b/pkg/types/factories/src/chain-agnostic/ChainAgnosticBundlerV2__factory.ts @@ -0,0 +1,1186 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + ChainAgnosticBundlerV2, + ChainAgnosticBundlerV2Interface, +} from "../../../src/chain-agnostic/ChainAgnosticBundlerV2"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "morpho", + type: "address", + }, + { + internalType: "address", + name: "weth", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "UnsafeCast", + type: "error", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "WRAPPED_NATIVE", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + internalType: "uint48", + name: "expiration", + type: "uint48", + }, + { + internalType: "uint48", + name: "nonce", + type: "uint48", + }, + ], + internalType: "struct IAllowanceTransfer.PermitDetails", + name: "details", + type: "tuple", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "sigDeadline", + type: "uint256", + }, + ], + internalType: "struct IAllowanceTransfer.PermitSingle", + name: "permitSingle", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "approve2", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20Transfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20TransferFrom", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "wrapper", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20WrapperDepositFor", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "wrapper", + type: "address", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20WrapperWithdrawTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "minShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Mint", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Redeem", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoBorrow", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoFlashLoan", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoRepay", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "morphoSetAuthorizationWithSig", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupply", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupplyCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdrawCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "nativeTransfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoFlashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoRepay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupply", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "permit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "publicAllocator", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + internalType: "struct Withdrawal[]", + name: "withdrawals", + type: "tuple[]", + }, + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "supplyMarketParams", + type: "tuple", + }, + ], + name: "reallocateTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom2", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unwrapNative", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "distributor", + type: "address", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "reward", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "bytes32[]", + name: "proof", + type: "bytes32[]", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "urdClaim", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "wrapNative", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x60c0346200011657601f620038a438819003918201601f19168301916001600160401b038311848410176200011b57808492604094855283398101031262000116576200005a6020620000528362000131565b920162000131565b600080546001600160a01b03191660011790556001600160a01b039190620000906200008562000146565b84831615156200017f565b60805216620000ab620000a262000146565b8215156200017f565b60a0526040516136ba9081620001ea82396080518181816105bd015281816111a60152612335015260a0518181816104d4015281816106cb015281816109f50152818161128f01528181611bf2015281816120cd015281816124b101528181612874015261365f0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200011657565b60408051919082016001600160401b038111838210176200011b57604052600c82526b7a65726f206164647265737360a01b6020830152565b15620001885750565b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510620001cf575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350620001ab56fe60406080815260049081361015610020575b5050361561001e57600080fd5b005b600091823560e01c90816305b4591c14610aec57816312c0d70b146125425781631af3bbc6146124365781632075be0314610aec57816331f5707214610aec5783826334b10a6d146122d1575081633790767d1461228c57816339029ab6146120f15781633acb562414612082578382634d5fcf6814611f0e5750816354c53ef014611d5b578382635b866db614611b4f575081635c39fcc114611afe57816360244408146119055783826362577ad01461188b575081636b89026a146116d45781636ef5eeae146114f957816370dc41fe146113285783826384d287ef146112115782639169d8331461112557508163a184a5a314611024578163a7f6e60614610e1c578163ac9650d814610c67578163af50420214610af1578163b1022fdf14610aec578163bea88fda1461095057838263c9565706146107eb578263ca463673146105e557508163d999984d1461057257838263e29759121461044857508163ef65341914610219575063f2522bcd03610011577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610216576102136101ca612991565b6101f7600173ffffffffffffffffffffffffffffffffffffffff85541614156101f1612ce8565b90612d21565b61020a610202613634565b6101f1612dbd565b6024359061337c565b80f35b80fd5b90506101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104445761024e612991565b916102576129d7565b9260643567ffffffffffffffff94858211610440573660238301121561044057818501359586116104405760c09236602460c089028501011161043c5760a09660a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c360112610438576001948986936102ef73ffffffffffffffffffffffffffffffffffffffff98898094541614156101f1612ce8565b6102fa610202613634565b1693843b15610434579180919993928851997f833947fd000000000000000000000000000000000000000000000000000000008b528860e48c019216908b015260e060248b0152526101049860248a8a019601938b905b8382106103e9575050505050506084358381168091036103e457604486015260a4358381168091036103e457606486015260c4358381168091036103e457608486015260e4359283168093036103e457848080938998899660a48401523560c48301520391604435905af19081156103db57506103cb5750f35b6103d490612c3d565b6102165780f35b513d84823e3d90fd5b600080fd5b9091929394966103f98189612eac565b81880135906fffffffffffffffffffffffffffffffff82168092036104305782810191909152830196830194939291840190610351565b8d80fd5b8a80fd5b8880fd5b8780fd5b8680fd5b8280fd5b80918460607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261056e5761047d612991565b60443567ffffffffffffffff811161056a5761049c90369085016127cf565b939073ffffffffffffffffffffffffffffffffffffffff6104c660018289541614156101f1612ce8565b6104d1610202613634565b807f000000000000000000000000000000000000000000000000000000000000000016916104ff8386613440565b823b1561043c57879461055786928851998a97889687957fe0232b42000000000000000000000000000000000000000000000000000000008752169085015260243560248501526060604485015260648401916131ff565b03925af19081156103db57506103cb5750f35b8480fd5b5050fd5b5050346105e157817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105e1576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b8091847ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36016101009081811261056a5760a0136107e65760a435926106296129b4565b9060e43567ffffffffffffffff81116104405761064990369083016127cf565b73ffffffffffffffffffffffffffffffffffffffff926106726001858b541614156101f1612ce8565b61067d610202613634565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84899616986106b76106ae612f4a565b308c1415612d21565b14610752575b6106f26106c86131a5565b947f0000000000000000000000000000000000000000000000000000000000000000168095613440565b833b1561043857610557610738938a979388948a519b8c998a9889977f238d65790000000000000000000000000000000000000000000000000000000089528801612e47565b60a487015260c486015260e48501526101048401916131ff565b935060246020846107616131a5565b168851928380927f70a08231000000000000000000000000000000000000000000000000000000008252308a8301525afa9081156107dc5789916107a7575b50936106bd565b9850506020883d6020116107d4575b816107c360209383612c6d565b810103126103e4578897518a6107a0565b3d91506107b6565b87513d8b823e3d90fd5b505050fd5b92915060206107f936612bcd565b97909392919573ffffffffffffffffffffffffffffffffffffffff9061086a82845416610831610827612ce8565b6001831415612d21565b61083c610202613634565b610851610847612f11565b858a161515612d21565b838c1690308214918215610946575b50506101f1613343565b61087d610875612df6565b851515612d21565b6108de89519a8b97889687947fb460af9400000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b0393165af191821561093d57508391610907575b61021392506108ff61316c565b911115612d21565b90506020823d602011610935575b8161092260209383612c6d565b810103126103e4576102139151906108f2565b3d9150610915565b513d85823e3d90fd5b1490503880610860565b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36016101208112610ae85760a0136104445760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c360112610444576101048035928315938415036103e45773ffffffffffffffffffffffffffffffffffffffff6109e760018288541614156101f1612ce8565b6109f2610202613634565b807f00000000000000000000000000000000000000000000000000000000000000001691823b156104405751937f8069218f00000000000000000000000000000000000000000000000000000000855281610a4b612991565b1690850152610a586129d7565b1660248401526044358015158091036103e45760448401526064356064840152608435608484015260a43560ff81168091036103e457859284848094829460a484015260c43560c484015260e43560e48401525af19182610ad4575b5050610ad057610ac26132d1565b90610acb575080f35b6135b0565b5080f35b610add90612c3d565b610444578238610ab4565b8380fd5b6127fd565b9050610100367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0181811261056a5760c013610ae85760c43567ffffffffffffffff811161056a57610b4690369084016127cf565b919060e435948515958615036103e45773ffffffffffffffffffffffffffffffffffffffff9182885416610b7b610827612ce8565b610b86610202613634565b6e22d473030f116ddee9f6b43ac78ba392833b15610c635751967f2b67b57000000000000000000000000000000000000000000000000000000000885287015282610bcf612991565b16602487015260243583811680910361043857604487015260443565ffffffffffff908181168091036103e45760648801526064359081168091036103e45760848701526084359283168093036103e4578786610c4b81959383988498849660a486015260a43560c486015260e48501526101048401916131ff565b03925af19182610ad4575050610ad057610ac26132d1565b8980fd5b8383602092837ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103e457803567ffffffffffffffff918282116103e457366023830112156103e4578181013592602491818511610dee57508360051b90855194610cd789840187612c6d565b8552602488860192850101933685116103e45760248101925b858410610d8d5788600189610d848a610d578f7f616c726561647920696e697469617465640000000000000000000000000000008754955191610d3283612c51565b601183528201528573ffffffffffffffffffffffffffffffffffffffff861614612d21565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000928316331785556135f9565b82541617815580f35b83358381116103e457820190366043830112156103e4578582013590604492610db583612cae565b90610dc28c519283612c6d565b838252368585830101116103e4578d848196958296600094018386013783010152815201930192610cf0565b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b919050610e2836612bcd565b919492939073ffffffffffffffffffffffffffffffffffffffff8089541692610e5c610e52612ce8565b6001861415612d21565b610e67610202613634565b610e7c610e72612f11565b8385161515612d21565b610e978286169430861490811561101a575b506101f1613343565b168451927f70a0823100000000000000000000000000000000000000000000000000000000845288840152886020938481602481865afa908115611010578291610fd9575b5098849392918a89610f059c10908a180291828a189b8c93610efc613107565b908c1415612d21565b610f668951988996879586947fba08765200000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b03925af1928315610fd057508692610f9c575b505092610f8c610f929261021395613301565b92613301565b11156101f161316c565b9080959250813d8311610fc9575b610fb48183612c6d565b810103126103e4579251610f8c610f92610f79565b503d610faa565b513d88823e3d90fd5b8094939250858092503d8311611009575b610ff48183612c6d565b810103126103e4579151909190899084610edc565b503d610fea565b87513d84823e3d90fd5b9050851438610e8e565b91905060e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261044457611059612991565b916064359160ff83168093036103e45760c435938415948515036103e457859273ffffffffffffffffffffffffffffffffffffffff808554169261109e610e52612ce8565b6110a9610202613634565b1690813b1561056a578460e49281955197889586947fd505accf00000000000000000000000000000000000000000000000000000000865285015230602485015260243560448501526044356064850152608484015260843560a484015260a43560c48401525af19182610ad4575050610ad057610ac26132d1565b80918460207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261056e57813573ffffffffffffffffffffffffffffffffffffffff61117c60018287541614156101f1612ce8565b611187610202613634565b4782811090831802906111a461119b612df6565b83851415612d21565b7f00000000000000000000000000000000000000000000000000000000000000001693843b1561120d578592845195869384927fd0e30db000000000000000000000000000000000000000000000000000000000845218905af19081156103db57506103cb5750f35b8580fd5b9150918061121e36612b68565b9196839594919861128b73ffffffffffffffffffffffffffffffffffffffff948584541661124d610827612ce8565b611258610202613634565b88519b8c98899788967f5c2bea49000000000000000000000000000000000000000000000000000000008852870161328a565b03927f0000000000000000000000000000000000000000000000000000000000000000165af192831561131e57859286946112eb575b5050156112d55750610213916108ff61316c565b9050610213916112e361316c565b911015612d21565b809192945061130f9350903d10611317575b6113078183612c6d565b8101906131e9565b9138806112c1565b503d6112fd565b82513d87823e3d90fd5b9050817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104445761135b612991565b91602435908473ffffffffffffffffffffffffffffffffffffffff8082541695611390611386612ce8565b6001891415612d21565b61139b610202613634565b16948251957f70a0823100000000000000000000000000000000000000000000000000000000875281868801526020948588602481855afa80156114ef5786979885979697916114b4575b5091818386936064969510908218029061140a611401612df6565b83831415612d21565b8851947f23b872dd0000000000000000000000000000000000000000000000000000000086528b8601523060248601521860448401525af13d15601f3d11600187511416171615611459578380f35b6064935051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fd5b958092949395508691503d83116114e8575b6114d08183612c6d565b810103126103e45792518593889390929091846113e6565b503d6114c6565b85513d86823e3d90fd5b905061150436612a7b565b73ffffffffffffffffffffffffffffffffffffffff95929395949194906115346001838a541614156101f1612ce8565b61153f610202613634565b61155461154a612f11565b8383161515612d21565b8187168451937f38d52e0f00000000000000000000000000000000000000000000000000000000855260209384868381865afa958615611696578b966116a0575b50846024918851928380927f70a0823100000000000000000000000000000000000000000000000000000000825230878301528a165afa908115611696579085949392918c91611667575b5088811090891802958689189a8b976115f7612df6565b611603918c1415612d21565b61160c91613440565b8a87518097819582947f6e553f65000000000000000000000000000000000000000000000000000000008452830191610f669290929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b85819692503d831161168f575b61167e8183612c6d565b810103126103e457849351386115e0565b503d611674565b87513d8d823e3d90fd5b60249196506116c58691823d84116116cd575b6116bd8183612c6d565b810190613140565b969150611595565b503d6116b3565b905060c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261044457611708612991565b916117116129d7565b6044359373ffffffffffffffffffffffffffffffffffffffff928386168096036103e4576084359067ffffffffffffffff9384831161043857366023840112156104385782870135948511610438578460051b943660248786010111610c635760a435988915998a15036103e4578a93887f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff946117b760018389541614156101f1612ce8565b6117c2610202613634565b16906117d76117cf612f11565b831515612d21565b6117eb6117e2612f4a565b30841415612d21565b51997ffabed412000000000000000000000000000000000000000000000000000000008b528a01526024890152606435604489015260806064890152806084890152116102165760209460a4878681976024839701848401378101030193165af19081611860575b50610ad057610ac26132d1565b602090813d8311611884575b6118768183612c6d565b810103126103e45738611853565b503d61186c565b9150918061189836612b68565b9196839594919861128b73ffffffffffffffffffffffffffffffffffffffff94858454166118c7610827612ce8565b6118d2610202613634565b88519b8c98899788967f50d8cd4b000000000000000000000000000000000000000000000000000000008852870161328a565b905061191036612a1b565b929173ffffffffffffffffffffffffffffffffffffffff9061193b60018389541614156101f1612ce8565b611946610202613634565b611951610e72612f11565b16908451917f70a082310000000000000000000000000000000000000000000000000000000083523084840152602094878685602481865afa8015611af25787958291611ac0575b5082811090831802916119b66119ad612df6565b84831415612d21565b611a118951978896879586947f205c2878000000000000000000000000000000000000000000000000000000008652189184016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1908115611ab35792610213938592611a62575b507f7769746864726177206661696c65640000000000000000000000000000000000905192611a5684612c51565b600f8452830152612d21565b7f7769746864726177206661696c65640000000000000000000000000000000000919250611aa590843d8611611aac575b611a9d8183612c6d565b810190612e2f565b9190611a28565b503d611a93565b50505051903d90823e3d90fd5b958092508691503d8311611aeb575b611ad98183612c6d565b810103126103e4578786945138611999565b503d611acf565b508751903d90823e3d90fd5b5050346105e157817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105e15773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b809184611b5b36612adf565b9073ffffffffffffffffffffffffffffffffffffffff99939998929596949895611b8e60018887541614156101f1612ce8565b611b99610202613634565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88611bd1611bc6612f4a565b308b86161415612d21565b14611ca5575b88969492869492611c4c92611c19611bef8c9a6131c8565b987f0000000000000000000000000000000000000000000000000000000000000000168099613440565b89519c8d998a9889977fa99aad89000000000000000000000000000000000000000000000000000000008952880161323e565b03925af192831561131e5785928694611c82575b505015611c745750610213916112e361316c565b9050610213916108ff61316c565b8091929450611c9d9350903d10611317576113078183612c6d565b918580611c60565b94929095939160249a99989750602085611cbe866131c8565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa8015611d515788999a9b8499989991611d14575b509794965092949193909291611bd7565b97505091506020863d602011611d49575b81611d3260209383612c6d565b810103126103e457611c4c8b928997519091611d03565b3d9150611d25565b88513d85823e3d90fd5b8383807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105e157611d8e612991565b906024359173ffffffffffffffffffffffffffffffffffffffff90818086541691611dc4611dba612ce8565b6001851415612d21565b611dcf610202613634565b1683517f70a082310000000000000000000000000000000000000000000000000000000081528288820152602081602481855afa8015611f04578790611ed0575b611e319150868110908718029586811896611e29612df6565b911415612d21565b828511611ea85785966e22d473030f116ddee9f6b43ac78ba393843b1561043c57879460849386928851998a9788967f36c7851600000000000000000000000000000000000000000000000000000000885287015230602487015216604485015260648401525af19081156103db57506103cb5750f35b8684517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b506020813d602011611efc575b81611eea60209383612c6d565b810103126103e457611e319051611e10565b3d9150611edd565b85513d89823e3d90fd5b809184611f1a36612adf565b9073ffffffffffffffffffffffffffffffffffffffff99939998929596949895611f4d60018887541614156101f1612ce8565b611f58610202613634565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88611f85611bc6612f4a565b14611fd6575b88969492869492611c4c92611fa3611bef8c9a6131c8565b89519c8d998a9889977f20b76e81000000000000000000000000000000000000000000000000000000008952880161323e565b94929095939160249a99989750602085611fef866131c8565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa8015611d515788999a9b8499989991612045575b509794965092949193909291611f8b565b97505091506020863d60201161207a575b8161206360209383612c6d565b810103126103e457611c4c8b928997519091612034565b3d9150612056565b5050346105e157817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105e1576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9190506120fd36612a7b565b949092918673ffffffffffffffffffffffffffffffffffffffff61212a60018284541614156101f1612ce8565b612135610202613634565b61214a612140612f11565b828a161515612d21565b61215d612155613107565b841515612d21565b8416928651947f38d52e0f00000000000000000000000000000000000000000000000000000000865260209586818481895afa9081156122825784926122099b9694926121b3928a999791612265575b50613440565b8851998a95869485937f94bf804d000000000000000000000000000000000000000000000000000000008552840190929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b03925af192831561225c5750849261222a575b5061021392506108ff61316c565b90915082813d8311612255575b6122418183612c6d565b810103126103e4576102139151903861221c565b503d612237565b513d86823e3d90fd5b61227c9150893d8b116116cd576116bd8183612c6d565b386121ad565b89513d86823e3d90fd5b8361021361229936612a1b565b916122c1600173ffffffffffffffffffffffffffffffffffffffff87541614156101f1612ce8565b6122cc610202613634565b612f83565b80918460207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261056e57813573ffffffffffffffffffffffffffffffffffffffff61232860018287541614156101f1612ce8565b612333610202613634565b7f00000000000000000000000000000000000000000000000000000000000000001682517f70a082310000000000000000000000000000000000000000000000000000000081523085820152602081602481855afa90811561242c5786916123f7575b5082811090831802906123aa61119b612df6565b803b1561120d57859283602492865197889586947f2e1a7d4d00000000000000000000000000000000000000000000000000000000865218908401525af19081156103db57506103cb5750f35b9550506020853d602011612424575b8161241360209383612c6d565b810103126103e45785945187612396565b3d9150612406565b84513d88823e3d90fd5b9190507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360160e08112610ae85760a01361044457826124746129b4565b73ffffffffffffffffffffffffffffffffffffffff80835416946124a3612499612ce8565b6001881415612d21565b6124ae610202613634565b817f00000000000000000000000000000000000000000000000000000000000000001692833b1561056a57612514936101049386928851998a9788967f8720316d0000000000000000000000000000000000000000000000000000000088528701612e47565b60a43560a487015260c48601521660e48401525af19081156103db5750612539575080f35b61021390612c3d565b9050817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261044457612575612991565b906024359173ffffffffffffffffffffffffffffffffffffffff926125a360018588541614156101f1612ce8565b6125ae610202613634565b8382168551947f6f307dc30000000000000000000000000000000000000000000000000000000086528760209687818881875afa80156127c5578391839161278b575b5016918851957f70a0823100000000000000000000000000000000000000000000000000000000875230888801528887602481875afa8015612781578997849161274e575b5090818761265d9310908818029461265861264f612df6565b878a1415612d21565b613440565b815416936126bc8951978896879586947f2f4f21e2000000000000000000000000000000000000000000000000000000008652189184016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1908115611ab3579261021393859261270d575b507f6465706f736974206661696c656400000000000000000000000000000000000090519261270184612c51565b600e8452830152612d21565b7f6465706f736974206661696c656400000000000000000000000000000000000091925061274790843d8611611aac57611a9d8183612c6d565b91906126d3565b8881939992503d831161277a575b6127668183612c6d565b81010312610444575188969061265d612636565b503d61275c565b8a513d85823e3d90fd5b809250898092503d83116127be575b6127a48183612c6d565b810103126105e1575182811681036105e1578290386125f1565b503d61279a565b89513d84823e3d90fd5b9181601f840112156103e45782359167ffffffffffffffff83116103e457602083818601950101116103e457565b346103e4576040807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103e45767ffffffffffffffff906024358281116103e45761284f9036906004016127cf565b61289b61285d949294612dbd565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314612d21565b83019160209384818503126103e4578035908382116103e457019183601f840112156103e457823593818511612962578460051b91604051956128e088850188612c6d565b86528680870193860101948286116103e457878101935b8685106129075761001e886135f9565b84358381116103e457820184603f820112156103e457898101359161292b83612cae565b61293789519182612c6d565b838152868985850101116103e45760008c8581968c83970183860137830101528152019401936128f7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036103e457565b60c4359073ffffffffffffffffffffffffffffffffffffffff821682036103e457565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036103e457565b359073ffffffffffffffffffffffffffffffffffffffff821682036103e457565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60609101126103e45773ffffffffffffffffffffffffffffffffffffffff9060043582811681036103e4579160243590811681036103e4579060443590565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60809101126103e45773ffffffffffffffffffffffffffffffffffffffff9060043582811681036103e45791602435916044359160643590811681036103e45790565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820161014081126103e45760a0136103e45760049160a4359160c4359160e435916101043573ffffffffffffffffffffffffffffffffffffffff811681036103e45791610124359067ffffffffffffffff82116103e457612b64916004016127cf565b9091565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0161012081126103e45760a0136103e45760049060a4359060c4359060e435906101043573ffffffffffffffffffffffffffffffffffffffff811681036103e45790565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a09101126103e45773ffffffffffffffffffffffffffffffffffffffff60043581811681036103e45791602435916044359160643582811681036103e4579160843590811681036103e45790565b67ffffffffffffffff811161296257604052565b6040810190811067ffffffffffffffff82111761296257604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761296257604052565b67ffffffffffffffff811161296257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60405190612cf582612c51565b600b82527f756e696e697469617465640000000000000000000000000000000000000000006020830152565b15612d295750565b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110612da6575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201612d65565b60405190612dca82612c51565b601382527f756e617574686f72697a65642073656e646572000000000000000000000000006020830152565b60405190612e0382612c51565b600b82527f7a65726f20616d6f756e740000000000000000000000000000000000000000006020830152565b908160209103126103e4575180151581036103e45790565b60043573ffffffffffffffffffffffffffffffffffffffff908181168091036103e45782526024358181168091036103e45760208301526044358181168091036103e45760408301526064359081168091036103e45760608201526080608435910152565b6080809173ffffffffffffffffffffffffffffffffffffffff80612ecf836129fa565b16855280612edf602084016129fa565b16602086015280612ef2604084016129fa565b166040860152612f04606083016129fa565b1660608501520135910152565b60405190612f1e82612c51565b600c82527f7a65726f206164647265737300000000000000000000000000000000000000006020830152565b60405190612f5782612c51565b600f82527f62756e646c6572206164647265737300000000000000000000000000000000006020830152565b919073ffffffffffffffffffffffffffffffffffffffff80911692612fa9610875612f11565b612fbd612fb4612f4a565b30861415612d21565b16604051927f70a082310000000000000000000000000000000000000000000000000000000084523060048501526020938481602481865afa9081156130fb576000916130ce575b5083811090841802908184146130c757600080936044938796604051947fa9059cbb00000000000000000000000000000000000000000000000000000000865260048601521860248401525af13d15601f3d11600160005114161716156130695750565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b5050505050565b90508481813d83116130f4575b6130e58183612c6d565b810103126103e4575138613005565b503d6130db565b6040513d6000823e3d90fd5b6040519061311482612c51565b600b82527f7a65726f207368617265730000000000000000000000000000000000000000006020830152565b908160209103126103e4575173ffffffffffffffffffffffffffffffffffffffff811681036103e45790565b6040519061317982612c51565b601182527f736c6970706167652065786365656465640000000000000000000000000000006020830152565b60243573ffffffffffffffffffffffffffffffffffffffff811681036103e45790565b3573ffffffffffffffffffffffffffffffffffffffff811681036103e45790565b91908260409103126103e4576020825192015190565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b919373ffffffffffffffffffffffffffffffffffffffff919361328797956132698561012097612eac565b60a085015260c08401521660e08201528161010082015201916131ff565b90565b93919261010093969591966132a486610120810199612eac565b60a086015260c085015273ffffffffffffffffffffffffffffffffffffffff80921660e085015216910152565b3d156132fc573d906132e282612cae565b916132f06040519384612c6d565b82523d6000602084013e565b606090565b8181029291811591840414171561331457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6040519061335082612c51565b601082527f756e6578706563746564206f776e6572000000000000000000000000000000006020830152565b6133ba73ffffffffffffffffffffffffffffffffffffffff82166133a96133a1612f11565b821515612d21565b6133b1612f4a565b90301415612d21565b478281109083180280831461343b5760009283928392839218905af1156133dd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152fd5b505050565b73ffffffffffffffffffffffffffffffffffffffff80911690604051927fdd62ed3e000000000000000000000000000000000000000000000000000000008452306004850152168060248401526020928381604481865afa9081156130fb57600091613583575b50156134b257505050565b6044600091828594604051927f095ea7b300000000000000000000000000000000000000000000000000000000845260048401527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248401525af13d15601f3d11600160005114161716156135255750565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600e60248201527f415050524f56455f4641494c45440000000000000000000000000000000000006044820152fd5b90508381813d83116135a9575b61359a8183612c6d565b810103126103e45751386134a7565b503d613590565b8051906135f46040516135c281612c51565b600b81527f63616c6c206661696c65640000000000000000000000000000000000000000006020820152831515612d21565b602001fd5b60009060005b815181101561343b5782806020808460051b860101519081519101305af46136256132d1565b9015610acb57506001016135ff565b73ffffffffffffffffffffffffffffffffffffffff8060005416331490811561365b575090565b90507f00000000000000000000000000000000000000000000000000000000000000001633149056fea26469706673582212202a09db188bb2ade4f20c28cca6bf5d01971b76a8a46d0223ea606458567e6e2664736f6c63430008180033"; + +type ChainAgnosticBundlerV2ConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ChainAgnosticBundlerV2ConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ChainAgnosticBundlerV2__factory extends ContractFactory { + constructor(...args: ChainAgnosticBundlerV2ConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + morpho: AddressLike, + weth: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(morpho, weth, overrides || {}); + } + override deploy( + morpho: AddressLike, + weth: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(morpho, weth, overrides || {}) as Promise< + ChainAgnosticBundlerV2 & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): ChainAgnosticBundlerV2__factory { + return super.connect(runner) as ChainAgnosticBundlerV2__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ChainAgnosticBundlerV2Interface { + return new Interface(_abi) as ChainAgnosticBundlerV2Interface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ChainAgnosticBundlerV2 { + return new Contract( + address, + _abi, + runner + ) as unknown as ChainAgnosticBundlerV2; + } +} diff --git a/pkg/types/factories/src/chain-agnostic/index.ts b/pkg/types/factories/src/chain-agnostic/index.ts new file mode 100644 index 00000000..4dbce8d3 --- /dev/null +++ b/pkg/types/factories/src/chain-agnostic/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ChainAgnosticBundlerV2__factory } from "./ChainAgnosticBundlerV2__factory"; diff --git a/pkg/types/factories/src/ethereum/EthereumBundlerV2__factory.ts b/pkg/types/factories/src/ethereum/EthereumBundlerV2__factory.ts new file mode 100644 index 00000000..8c7bbfd5 --- /dev/null +++ b/pkg/types/factories/src/ethereum/EthereumBundlerV2__factory.ts @@ -0,0 +1,1291 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + EthereumBundlerV2, + EthereumBundlerV2Interface, +} from "../../../src/ethereum/EthereumBundlerV2"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "morpho", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "UnsafeCast", + type: "error", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ST_ETH", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "WRAPPED_NATIVE", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "WST_ETH", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + internalType: "uint48", + name: "expiration", + type: "uint48", + }, + { + internalType: "uint48", + name: "nonce", + type: "uint48", + }, + ], + internalType: "struct IAllowanceTransfer.PermitDetails", + name: "details", + type: "tuple", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "sigDeadline", + type: "uint256", + }, + ], + internalType: "struct IAllowanceTransfer.PermitSingle", + name: "permitSingle", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "approve2", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20Transfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20TransferFrom", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "wrapper", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20WrapperDepositFor", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "wrapper", + type: "address", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20WrapperWithdrawTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "minShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Mint", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Redeem", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoBorrow", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoFlashLoan", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoRepay", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "morphoSetAuthorizationWithSig", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupply", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupplyCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdrawCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "nativeTransfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoFlashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoRepay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupply", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "permit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "expiry", + type: "uint256", + }, + { + internalType: "bool", + name: "allowed", + type: "bool", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "permitDai", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "publicAllocator", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + internalType: "struct Withdrawal[]", + name: "withdrawals", + type: "tuple[]", + }, + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "supplyMarketParams", + type: "tuple", + }, + ], + name: "reallocateTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "minShares", + type: "uint256", + }, + { + internalType: "address", + name: "referral", + type: "address", + }, + ], + name: "stakeEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom2", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unwrapNative", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unwrapStEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "distributor", + type: "address", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "reward", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "bytes32[]", + name: "proof", + type: "bytes32[]", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "urdClaim", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "wrapNative", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "wrapStEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x610100604090808252346200030a5762000033906200414b80380380916200002882856200030f565b833981019062000349565b600080546001600160a01b031916600117815590620000516200036a565b5073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2608052825163183fc7c960e31b8152602091737f39c581f595b53c5cb19bd0b3f8da6c935e2ca091908382600481865afa91821562000300578592620002ca575b5060a082905260c08390528551636eb1769f60e11b8152306004820152602481018490526044936001600160a01b039390919084169086818781855afa908115620002c05792889287928995859162000280575b50156200020d575b50505050501692620001156200036a565b908415620001b657858560e05251613da79081620003a482396080518181816105ff015281816115010152612805015260a0518181816106e901528181610d180152612951015260c051818181610da10152818161221001526129da015260e0518181816105160152818161086301528181610b8d015281816115ea0152818161205c015281816125a601528181612b4d01528181612f100152613d4c0152f35b9290855193849262461bcd60e51b8452806004850152825192836024860152825b848110620001f657505050828201840152601f01601f19168101030190fd5b8181018301518882018801528795508201620001d7565b8a5163095ea7b360e01b81526004810192909252600019602483015283905af13d15601f3d116001885114161716156200024c57838584388062000104565b855162461bcd60e51b815260048101859052600e60248201526d1054141493d59157d1905253115160921b81850152606490fd5b93505092509281813d8311620002b8575b6200029d81836200030f565b81010312620002b4578692889287925138620000fc565b8780fd5b503d62000291565b89513d8a823e3d90fd5b620002f0919250843d8611620002f8575b620002e781836200030f565b81019062000349565b9038620000a8565b503d620002db565b86513d87823e3d90fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176200033357604052565b634e487b7160e01b600052604160045260246000fd5b908160209103126200030a57516001600160a01b03811681036200030a5790565b60408051919082016001600160401b038111838210176200033357604052600c82526b7a65726f206164647265737360a01b602083015256fe60406080815260049081361015610020575b5050361561001e57600080fd5b005b600091823560e01c90816305b4591c14610e3b57816312c0d70b14612bde5781631af3bbc614612ad25781632075be0314610e3b578163240f78a31461297557816331f5707214610e3b578163338346d2146129065783826334b10a6d146127a1575081633790767d1461275c57816339029ab6146125ca5781633acb56241461255b578382634d5fcf68146123e75750816354c53ef0146122345781635664cb48146121c5578382635b866db614611fb9575081635c39fcc114611f685781636024440814611d6f5783826362577ad014611cf5575081636b89026a14611b405781636ef5eeae1461196557816370dc41fe146117945781637336bc6a146116835783826384d287ef1461156c5782639169d8331461148057508163a184a5a314611369578163a7f6e6061461116b578163ac9650d814610fb6578163af50420214610e40578163b1022fdf14610e3b578163bc2a294c14610c81578163bea88fda14610ae857838263c956570614610983578263ca4636731461077d57508163d27dd11e14610627578163d999984d146105b457838263e29759121461048a57508163ef6534191461025b575063f2522bcd03610011577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102585761025561020c61302d565b610239600173ffffffffffffffffffffffffffffffffffffffff85541614156102336133d5565b9061340e565b61024c610244613d21565b6102336134aa565b60243590613a69565b80f35b80fd5b90506101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104865761029061302d565b91610299613073565b9260643567ffffffffffffffff94858211610482573660238301121561048257818501359586116104825760c09236602460c089028501011161047e5760a09660a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261047a5760019489869361033173ffffffffffffffffffffffffffffffffffffffff98898094541614156102336133d5565b61033c610244613d21565b1693843b15610476579180919993928851997f833947fd000000000000000000000000000000000000000000000000000000008b528860e48c019216908b015260e060248b0152526101049860248a8a019601938b905b83821061042b5750505050505060843583811680910361042657604486015260a43583811680910361042657606486015260c43583811680910361042657608486015260e43592831680930361042657848080938998899660a48401523560c48301520391604435905af190811561041d575061040d5750f35b6104169061332a565b6102585780f35b513d84823e3d90fd5b600080fd5b90919293949661043b8189613599565b81880135906fffffffffffffffffffffffffffffffff82168092036104725782810191909152830196830194939291840190610393565b8d80fd5b8a80fd5b8880fd5b8780fd5b8680fd5b8280fd5b80918460607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105b0576104bf61302d565b60443567ffffffffffffffff81116105ac576104de9036908501612e6b565b939073ffffffffffffffffffffffffffffffffffffffff61050860018289541614156102336133d5565b610513610244613d21565b807f000000000000000000000000000000000000000000000000000000000000000016916105418386613b2d565b823b1561047e57879461059986928851998a97889687957fe0232b42000000000000000000000000000000000000000000000000000000008752169085015260243560248501526060604485015260648401916138ec565b03925af190811561041d575061040d5750f35b8480fd5b5050fd5b50503461062357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610623576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048657803561065d613096565b91602073ffffffffffffffffffffffffffffffffffffffff61068860018289541614156102336133d5565b610693610244613d21565b60244785811090861802956106b6878718976106ad6134e3565b9088141561340e565b8683895196879586947fa1903eab00000000000000000000000000000000000000000000000000000000865216908401527f0000000000000000000000000000000000000000000000000000000000000000165af19384156107745750849361073e575b5061072b61073491610255946139ee565b916024356139ee565b1115610233613859565b92506020833d60201161076c575b816107596020938361335a565b810103126104265791519161072b61071a565b3d915061074c565b513d86823e3d90fd5b8091847ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601610100908181126105ac5760a01361097e5760a435926107c1613050565b9060e43567ffffffffffffffff8111610482576107e19036908301612e6b565b73ffffffffffffffffffffffffffffffffffffffff9261080a6001858b541614156102336133d5565b610815610244613d21565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848996169861084f610846613637565b308c141561340e565b146108ea575b61088a610860613892565b947f0000000000000000000000000000000000000000000000000000000000000000168095613b2d565b833b1561047a576105996108d0938a979388948a519b8c998a9889977f238d65790000000000000000000000000000000000000000000000000000000089528801613534565b60a487015260c486015260e48501526101048401916138ec565b935060246020846108f9613892565b168851928380927f70a08231000000000000000000000000000000000000000000000000000000008252308a8301525afa90811561097457899161093f575b5093610855565b9850506020883d60201161096c575b8161095b6020938361335a565b81010312610426578897518a610938565b3d915061094e565b87513d8b823e3d90fd5b505050fd5b9291506020610991366132ba565b97909392919573ffffffffffffffffffffffffffffffffffffffff90610a02828454166109c96109bf6133d5565b600183141561340e565b6109d4610244613d21565b6109e96109df6135fe565b858a16151561340e565b838c1690308214918215610ade575b5050610233613a30565b610a15610a0d6134e3565b85151561340e565b610a7689519a8b97889687947fb460af9400000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b0393165af1918215610ad557508391610a9f575b6102559250610a97613859565b91111561340e565b90506020823d602011610acd575b81610aba6020938361335a565b8101031261042657610255915190610a8a565b3d9150610aad565b513d85823e3d90fd5b14905038806109f8565b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36016101208112610c7d5760a0136104865760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c360112610486576101048035928315938415036104265773ffffffffffffffffffffffffffffffffffffffff610b7f60018288541614156102336133d5565b610b8a610244613d21565b807f00000000000000000000000000000000000000000000000000000000000000001691823b156104825751937f8069218f00000000000000000000000000000000000000000000000000000000855281610be361302d565b1690850152610bf0613073565b166024840152610bfe61328c565b151560448401526064356064840152608435608484015260a43560ff811680910361042657859284848094829460a484015260c43560c484015260e43560e48401525af19182610c69575b5050610c6557610c576139be565b90610c60575080f35b613c9d565b5080f35b610c729061332a565b610486578238610c49565b8380fd5b9050602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c7d57813573ffffffffffffffffffffffffffffffffffffffff90610cda60018388541614156102336133d5565b610ce5610244613d21565b8583517f70a0823100000000000000000000000000000000000000000000000000000000815230868201528681602481877f0000000000000000000000000000000000000000000000000000000000000000165afa908115610e31579082918895949391610dfb575b5090818360249493109083180293610d70610d676134e3565b8685141561340e565b865197889586947fea598cb000000000000000000000000000000000000000000000000000000000865218908401527f0000000000000000000000000000000000000000000000000000000000000000165af1908115610ad55750610dd3578280f35b813d8311610df4575b610de6818361335a565b810103126104265738808280f35b503d610ddc565b92948092508391503d8311610e2a575b610e15818361335a565b81010312610426575185929087906024610d4e565b503d610e0b565b85513d84823e3d90fd5b612e99565b9050610100367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc018181126105ac5760c013610c7d5760c43567ffffffffffffffff81116105ac57610e959036908401612e6b565b919060e435948515958615036104265773ffffffffffffffffffffffffffffffffffffffff9182885416610eca6109bf6133d5565b610ed5610244613d21565b6e22d473030f116ddee9f6b43ac78ba392833b15610fb25751967f2b67b57000000000000000000000000000000000000000000000000000000000885287015282610f1e61302d565b16602487015260243583811680910361047a57604487015260443565ffffffffffff90818116809103610426576064880152606435908116809103610426576084870152608435928316809303610426578786610f9a81959383988498849660a486015260a43560c486015260e48501526101048401916138ec565b03925af19182610c69575050610c6557610c576139be565b8980fd5b8383602092837ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261042657803567ffffffffffffffff91828211610426573660238301121561042657818101359260249181851161113d57508360051b908551946110268984018761335a565b8552602488860192850101933685116104265760248101925b8584106110dc57886001896110d38a6110a68f7f616c726561647920696e6974696174656400000000000000000000000000000087549551916110818361333e565b601183528201528573ffffffffffffffffffffffffffffffffffffffff86161461340e565b7fffffffffffffffffffffffff000000000000000000000000000000000000000092831633178555613ce6565b82541617815580f35b833583811161042657820190366043830112156104265785820135906044926111048361339b565b906111118c51928361335a565b83825236858583010111610426578d84819695829660009401838601378301015281520193019261103f565b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b919050611177366132ba565b919492939073ffffffffffffffffffffffffffffffffffffffff80895416926111ab6111a16133d5565b600186141561340e565b6111b6610244613d21565b6111cb6111c16135fe565b838516151561340e565b6111e68286169430861490811561135f575b50610233613a30565b168451927f70a0823100000000000000000000000000000000000000000000000000000000845288840152886020938481602481865afa90811561135557829161131e575b5098849392918a896112549c10908a180291828a189b8c9361124b6137f4565b908c141561340e565b6112b58951988996879586947fba08765200000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b03925af1928315611315575086926112e1575b5050926112db61073492610255956139ee565b926139ee565b9080959250813d831161130e575b6112f9818361335a565b810103126104265792516112db6107346112c8565b503d6112ef565b513d88823e3d90fd5b8094939250858092503d831161134e575b611339818361335a565b8101031261042657915190919089908461122b565b503d61132f565b87513d84823e3d90fd5b90508514386111dd565b91905060e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610486578261139f61302d565b916113a86132aa565b926113b161329b565b9473ffffffffffffffffffffffffffffffffffffffff80855416926113d76111a16133d5565b6113e2610244613d21565b1690813b156105ac578460e49260ff82965198899687957fd505accf0000000000000000000000000000000000000000000000000000000087528601523060248601526024356044860152604435606486015216608484015260843560a484015260a43560c48401525af1918261146c575b5050610c65576114626139be565b9015610c60575080f35b6114759061332a565b610486578238611454565b80918460207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105b057813573ffffffffffffffffffffffffffffffffffffffff6114d760018287541614156102336133d5565b6114e2610244613d21565b4782811090831802906114ff6114f66134e3565b8385141561340e565b7f00000000000000000000000000000000000000000000000000000000000000001693843b15611568578592845195869384927fd0e30db000000000000000000000000000000000000000000000000000000000845218905af190811561041d575061040d5750f35b8580fd5b9150918061157936613227565b919683959491986115e673ffffffffffffffffffffffffffffffffffffffff94858454166115a86109bf6133d5565b6115b3610244613d21565b88519b8c98899788967f5c2bea490000000000000000000000000000000000000000000000000000000088528701613977565b03927f0000000000000000000000000000000000000000000000000000000000000000165af19283156116795785928694611646575b505015611630575061025591610a97613859565b90506102559161163e613859565b91101561340e565b809192945061166a9350903d10611672575b611662818361335a565b8101906138d6565b91388061161c565b503d611658565b82513d87823e3d90fd5b905060e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048657826116b861328c565b916116c16132aa565b906116ca61329b565b9473ffffffffffffffffffffffffffffffffffffffff8454166116ee6109bf6133d5565b6116f9610244613d21565b736b175474e89094c44da98b954eedeac495271d0f93843b1561156857859460ff86926101049551998a9788967f8fcbaf0c000000000000000000000000000000000000000000000000000000008852818801523060248801523560448701526024356064870152151560848601521660a484015260843560c484015260a43560e48401525af1918261146c575050610c65576114626139be565b9050817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610486576117c761302d565b91602435908473ffffffffffffffffffffffffffffffffffffffff80825416956117fc6117f26133d5565b600189141561340e565b611807610244613d21565b16948251957f70a0823100000000000000000000000000000000000000000000000000000000875281868801526020948588602481855afa801561195b578697988597969791611920575b5091818386936064969510908218029061187661186d6134e3565b8383141561340e565b8851947f23b872dd0000000000000000000000000000000000000000000000000000000086528b8601523060248601521860448401525af13d15601f3d116001875114161716156118c5578380f35b6064935051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fd5b958092949395508691503d8311611954575b61193c818361335a565b81010312610426579251859388939092909184611852565b503d611932565b85513d86823e3d90fd5b90506119703661313a565b73ffffffffffffffffffffffffffffffffffffffff95929395949194906119a06001838a541614156102336133d5565b6119ab610244613d21565b6119c06119b66135fe565b838316151561340e565b8187168451937f38d52e0f00000000000000000000000000000000000000000000000000000000855260209384868381865afa958615611b02578b96611b0c575b50846024918851928380927f70a0823100000000000000000000000000000000000000000000000000000000825230878301528a165afa908115611b02579085949392918c91611ad3575b5088811090891802958689189a8b97611a636134e3565b611a6f918c141561340e565b611a7891613b2d565b8a87518097819582947f6e553f650000000000000000000000000000000000000000000000000000000084528301916112b59290929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b85819692503d8311611afb575b611aea818361335a565b810103126104265784935138611a4c565b503d611ae0565b87513d8d823e3d90fd5b6024919650611b318691823d8411611b39575b611b29818361335a565b81019061382d565b969150611a01565b503d611b1f565b905060c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048657611b7461302d565b91611b7d613073565b92611b86613096565b9060843567ffffffffffffffff9586821161047e573660238301121561047e578186013596871161047e578660051b93366024868501011161047a5760a435978815988915036104265789927f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9273ffffffffffffffffffffffffffffffffffffffff98898093611c206001838a541614156102336133d5565b611c2b610244613d21565b1690611c40611c386135fe565b83151561340e565b611c54611c4b613637565b3084141561340e565b519a7ffabed412000000000000000000000000000000000000000000000000000000008c528b0152166024890152606435604489015260806064890152806084890152116102585760209460a4878681976024839701848401378101030193165af19081611cca575b50610c6557610c576139be565b602090813d8311611cee575b611ce0818361335a565b810103126104265738611cbd565b503d611cd6565b91509180611d0236613227565b919683959491986115e673ffffffffffffffffffffffffffffffffffffffff9485845416611d316109bf6133d5565b611d3c610244613d21565b88519b8c98899788967f50d8cd4b0000000000000000000000000000000000000000000000000000000088528701613977565b9050611d7a366130da565b929173ffffffffffffffffffffffffffffffffffffffff90611da560018389541614156102336133d5565b611db0610244613d21565b611dbb6111c16135fe565b16908451917f70a082310000000000000000000000000000000000000000000000000000000083523084840152602094878685602481865afa8015611f5c5787958291611f2a575b508281109083180291611e20611e176134e3565b8483141561340e565b611e7b8951978896879586947f205c2878000000000000000000000000000000000000000000000000000000008652189184016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1908115611f1d5792610255938592611ecc575b507f7769746864726177206661696c65640000000000000000000000000000000000905192611ec08461333e565b600f845283015261340e565b7f7769746864726177206661696c65640000000000000000000000000000000000919250611f0f90843d8611611f16575b611f07818361335a565b81019061351c565b9190611e92565b503d611efd565b50505051903d90823e3d90fd5b958092508691503d8311611f55575b611f43818361335a565b81010312610426578786945138611e03565b503d611f39565b508751903d90823e3d90fd5b50503461062357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106235773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b809184611fc53661319e565b9073ffffffffffffffffffffffffffffffffffffffff99939998929596949895611ff860018887541614156102336133d5565b612003610244613d21565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8861203b612030613637565b308b8616141561340e565b1461210f575b889694928694926120b6926120836120598c9a6138b5565b987f0000000000000000000000000000000000000000000000000000000000000000168099613b2d565b89519c8d998a9889977fa99aad89000000000000000000000000000000000000000000000000000000008952880161392b565b03925af192831561167957859286946120ec575b5050156120de57506102559161163e613859565b905061025591610a97613859565b80919294506121079350903d1061167257611662818361335a565b9185806120ca565b94929095939160249a99989750602085612128866138b5565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa80156121bb5788999a9b849998999161217e575b509794965092949193909291612041565b97505091506020863d6020116121b3575b8161219c6020938361335a565b81010312610426576120b68b92899751909161216d565b3d915061218f565b88513d85823e3d90fd5b50503461062357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610623576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b8383807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106235761226761302d565b906024359173ffffffffffffffffffffffffffffffffffffffff9081808654169161229d6122936133d5565b600185141561340e565b6122a8610244613d21565b1683517f70a082310000000000000000000000000000000000000000000000000000000081528288820152602081602481855afa80156123dd5787906123a9575b61230a91508681109087180295868118966123026134e3565b91141561340e565b8285116123815785966e22d473030f116ddee9f6b43ac78ba393843b1561047e57879460849386928851998a9788967f36c7851600000000000000000000000000000000000000000000000000000000885287015230602487015216604485015260648401525af190811561041d575061040d5750f35b8684517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b506020813d6020116123d5575b816123c36020938361335a565b810103126104265761230a90516122e9565b3d91506123b6565b85513d89823e3d90fd5b8091846123f33661319e565b9073ffffffffffffffffffffffffffffffffffffffff9993999892959694989561242660018887541614156102336133d5565b612431610244613d21565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8861245e612030613637565b146124af575b889694928694926120b69261247c6120598c9a6138b5565b89519c8d998a9889977f20b76e81000000000000000000000000000000000000000000000000000000008952880161392b565b94929095939160249a999897506020856124c8866138b5565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa80156121bb5788999a9b849998999161251e575b509794965092949193909291612464565b97505091506020863d602011612553575b8161253c6020938361335a565b81010312610426576120b68b92899751909161250d565b3d915061252f565b50503461062357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610623576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9190506125d63661313a565b949092918673ffffffffffffffffffffffffffffffffffffffff61260360018284541614156102336133d5565b61260e610244613d21565b6126236126196135fe565b828a16151561340e565b61263661262e6137f4565b84151561340e565b8416928651947f38d52e0f00000000000000000000000000000000000000000000000000000000865260209586818481895afa9081156127525784926126e29b96949261268c928a999791612735575b50613b2d565b8851998a95869485937f94bf804d000000000000000000000000000000000000000000000000000000008552840190929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b03925af192831561077457508492612703575b506102559250610a97613859565b90915082813d831161272e575b61271a818361335a565b8101031261042657610255915190386126f5565b503d612710565b61274c9150893d8b11611b3957611b29818361335a565b38612686565b89513d86823e3d90fd5b83610255612769366130da565b91612791600173ffffffffffffffffffffffffffffffffffffffff87541614156102336133d5565b61279c610244613d21565b613670565b80918460207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105b057813573ffffffffffffffffffffffffffffffffffffffff6127f860018287541614156102336133d5565b612803610244613d21565b7f00000000000000000000000000000000000000000000000000000000000000001682517f70a082310000000000000000000000000000000000000000000000000000000081523085820152602081602481855afa9081156128fc5786916128c7575b50828110908318029061287a6114f66134e3565b803b1561156857859283602492865197889586947f2e1a7d4d00000000000000000000000000000000000000000000000000000000865218908401525af190811561041d575061040d5750f35b9550506020853d6020116128f4575b816128e36020938361335a565b810103126104265785945187612866565b3d91506128d6565b84513d88823e3d90fd5b50503461062357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610623576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9050602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c7d57813573ffffffffffffffffffffffffffffffffffffffff6129cd60018288541614156102336133d5565b6129d8610244613d21565b7f000000000000000000000000000000000000000000000000000000000000000016908583517f70a0823100000000000000000000000000000000000000000000000000000000815230868201528681602481875afa908115610e31579082918895949391612a9c575b5090818360249493109083180293612a5b610d676134e3565b865197889586947fde0e9a3e00000000000000000000000000000000000000000000000000000000865218908401525af1908115610ad55750610dd3578280f35b92948092508391503d8311612acb575b612ab6818361335a565b81010312610426575185929087906024612a42565b503d612aac565b9190507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360160e08112610c7d5760a0136104865782612b10613050565b73ffffffffffffffffffffffffffffffffffffffff8083541694612b3f612b356133d5565b600188141561340e565b612b4a610244613d21565b817f00000000000000000000000000000000000000000000000000000000000000001692833b156105ac57612bb0936101049386928851998a9788967f8720316d0000000000000000000000000000000000000000000000000000000088528701613534565b60a43560a487015260c48601521660e48401525af190811561041d5750612bd5575080f35b6102559061332a565b9050817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261048657612c1161302d565b906024359173ffffffffffffffffffffffffffffffffffffffff92612c3f60018588541614156102336133d5565b612c4a610244613d21565b8382168551947f6f307dc30000000000000000000000000000000000000000000000000000000086528760209687818881875afa8015612e615783918391612e27575b5016918851957f70a0823100000000000000000000000000000000000000000000000000000000875230888801528887602481875afa8015612e1d5789978491612dea575b50908187612cf993109088180294612cf4612ceb6134e3565b878a141561340e565b613b2d565b81541693612d588951978896879586947f2f4f21e2000000000000000000000000000000000000000000000000000000008652189184016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1908115611f1d5792610255938592612da9575b507f6465706f736974206661696c6564000000000000000000000000000000000000905192612d9d8461333e565b600e845283015261340e565b7f6465706f736974206661696c6564000000000000000000000000000000000000919250612de390843d8611611f1657611f07818361335a565b9190612d6f565b8881939992503d8311612e16575b612e02818361335a565b810103126104865751889690612cf9612cd2565b503d612df8565b8a513d85823e3d90fd5b809250898092503d8311612e5a575b612e40818361335a565b810103126106235751828116810361062357829038612c8d565b503d612e36565b89513d84823e3d90fd5b9181601f840112156104265782359167ffffffffffffffff8311610426576020838186019501011161042657565b34610426576040807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104265767ffffffffffffffff9060243582811161042657612eeb903690600401612e6b565b612f37612ef99492946134aa565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016331461340e565b83019160209384818503126104265780359083821161042657019183601f8401121561042657823593818511612ffe578460051b9160405195612f7c8885018861335a565b865286808701938601019482861161042657878101935b868510612fa35761001e88613ce6565b843583811161042657820184603f82011215610426578981013591612fc78361339b565b612fd38951918261335a565b838152868985850101116104265760008c8581968c8397018386013783010152815201940193612f93565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361042657565b60c4359073ffffffffffffffffffffffffffffffffffffffff8216820361042657565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361042657565b6044359073ffffffffffffffffffffffffffffffffffffffff8216820361042657565b359073ffffffffffffffffffffffffffffffffffffffff8216820361042657565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60609101126104265773ffffffffffffffffffffffffffffffffffffffff90600435828116810361042657916024359081168103610426579060443590565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60809101126104265773ffffffffffffffffffffffffffffffffffffffff9060043582811681036104265791602435916044359160643590811681036104265790565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820161014081126104265760a0136104265760049160a4359160c4359160e435916101043573ffffffffffffffffffffffffffffffffffffffff811681036104265791610124359067ffffffffffffffff82116104265761322391600401612e6b565b9091565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0161012081126104265760a0136104265760049060a4359060c4359060e435906101043573ffffffffffffffffffffffffffffffffffffffff811681036104265790565b60443590811515820361042657565b60c43590811515820361042657565b6064359060ff8216820361042657565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a09101126104265773ffffffffffffffffffffffffffffffffffffffff6004358181168103610426579160243591604435916064358281168103610426579160843590811681036104265790565b67ffffffffffffffff8111612ffe57604052565b6040810190811067ffffffffffffffff821117612ffe57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117612ffe57604052565b67ffffffffffffffff8111612ffe57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b604051906133e28261333e565b600b82527f756e696e697469617465640000000000000000000000000000000000000000006020830152565b156134165750565b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110613493575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201613452565b604051906134b78261333e565b601382527f756e617574686f72697a65642073656e646572000000000000000000000000006020830152565b604051906134f08261333e565b600b82527f7a65726f20616d6f756e740000000000000000000000000000000000000000006020830152565b90816020910312610426575180151581036104265790565b60043573ffffffffffffffffffffffffffffffffffffffff908181168091036104265782526024358181168091036104265760208301526044358181168091036104265760408301526064359081168091036104265760608201526080608435910152565b6080809173ffffffffffffffffffffffffffffffffffffffff806135bc836130b9565b168552806135cc602084016130b9565b166020860152806135df604084016130b9565b1660408601526135f1606083016130b9565b1660608501520135910152565b6040519061360b8261333e565b600c82527f7a65726f206164647265737300000000000000000000000000000000000000006020830152565b604051906136448261333e565b600f82527f62756e646c6572206164647265737300000000000000000000000000000000006020830152565b919073ffffffffffffffffffffffffffffffffffffffff80911692613696610a0d6135fe565b6136aa6136a1613637565b3086141561340e565b16604051927f70a082310000000000000000000000000000000000000000000000000000000084523060048501526020938481602481865afa9081156137e8576000916137bb575b5083811090841802908184146137b457600080936044938796604051947fa9059cbb00000000000000000000000000000000000000000000000000000000865260048601521860248401525af13d15601f3d11600160005114161716156137565750565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b5050505050565b90508481813d83116137e1575b6137d2818361335a565b810103126104265751386136f2565b503d6137c8565b6040513d6000823e3d90fd5b604051906138018261333e565b600b82527f7a65726f207368617265730000000000000000000000000000000000000000006020830152565b90816020910312610426575173ffffffffffffffffffffffffffffffffffffffff811681036104265790565b604051906138668261333e565b601182527f736c6970706167652065786365656465640000000000000000000000000000006020830152565b60243573ffffffffffffffffffffffffffffffffffffffff811681036104265790565b3573ffffffffffffffffffffffffffffffffffffffff811681036104265790565b9190826040910312610426576020825192015190565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b919373ffffffffffffffffffffffffffffffffffffffff919361397497956139568561012097613599565b60a085015260c08401521660e08201528161010082015201916138ec565b90565b939192610100939695919661399186610120810199613599565b60a086015260c085015273ffffffffffffffffffffffffffffffffffffffff80921660e085015216910152565b3d156139e9573d906139cf8261339b565b916139dd604051938461335a565b82523d6000602084013e565b606090565b81810292918115918404141715613a0157565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60405190613a3d8261333e565b601082527f756e6578706563746564206f776e6572000000000000000000000000000000006020830152565b613aa773ffffffffffffffffffffffffffffffffffffffff8216613a96613a8e6135fe565b82151561340e565b613a9e613637565b9030141561340e565b4782811090831802808314613b285760009283928392839218905af115613aca57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152fd5b505050565b73ffffffffffffffffffffffffffffffffffffffff80911690604051927fdd62ed3e000000000000000000000000000000000000000000000000000000008452306004850152168060248401526020928381604481865afa9081156137e857600091613c70575b5015613b9f57505050565b6044600091828594604051927f095ea7b300000000000000000000000000000000000000000000000000000000845260048401527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248401525af13d15601f3d1160016000511416171615613c125750565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600e60248201527f415050524f56455f4641494c45440000000000000000000000000000000000006044820152fd5b90508381813d8311613c96575b613c87818361335a565b81010312610426575138613b94565b503d613c7d565b805190613ce1604051613caf8161333e565b600b81527f63616c6c206661696c6564000000000000000000000000000000000000000000602082015283151561340e565b602001fd5b60009060005b8151811015613b285782806020808460051b860101519081519101305af4613d126139be565b9015610c605750600101613cec565b73ffffffffffffffffffffffffffffffffffffffff80600054163314908115613d48575090565b90507f00000000000000000000000000000000000000000000000000000000000000001633149056fea2646970667358221220192f9a0b28cbbb617a390f76afb9bf8d6edff0bb233ff8f443c45101db35e7c564736f6c63430008180033"; + +type EthereumBundlerV2ConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: EthereumBundlerV2ConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class EthereumBundlerV2__factory extends ContractFactory { + constructor(...args: EthereumBundlerV2ConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + morpho: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(morpho, overrides || {}); + } + override deploy( + morpho: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(morpho, overrides || {}) as Promise< + EthereumBundlerV2 & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): EthereumBundlerV2__factory { + return super.connect(runner) as EthereumBundlerV2__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): EthereumBundlerV2Interface { + return new Interface(_abi) as EthereumBundlerV2Interface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): EthereumBundlerV2 { + return new Contract(address, _abi, runner) as unknown as EthereumBundlerV2; + } +} diff --git a/pkg/types/factories/src/ethereum/EthereumPermitBundler__factory.ts b/pkg/types/factories/src/ethereum/EthereumPermitBundler__factory.ts new file mode 100644 index 00000000..4651963a --- /dev/null +++ b/pkg/types/factories/src/ethereum/EthereumPermitBundler__factory.ts @@ -0,0 +1,141 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + EthereumPermitBundler, + EthereumPermitBundlerInterface, +} from "../../../src/ethereum/EthereumPermitBundler"; + +const _abi = [ + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "permit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "expiry", + type: "uint256", + }, + { + internalType: "bool", + name: "allowed", + type: "bool", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "permitDai", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +export class EthereumPermitBundler__factory { + static readonly abi = _abi; + static createInterface(): EthereumPermitBundlerInterface { + return new Interface(_abi) as EthereumPermitBundlerInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): EthereumPermitBundler { + return new Contract( + address, + _abi, + runner + ) as unknown as EthereumPermitBundler; + } +} diff --git a/pkg/types/factories/src/ethereum/EthereumStEthBundler__factory.ts b/pkg/types/factories/src/ethereum/EthereumStEthBundler__factory.ts new file mode 100644 index 00000000..c27af69b --- /dev/null +++ b/pkg/types/factories/src/ethereum/EthereumStEthBundler__factory.ts @@ -0,0 +1,130 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + EthereumStEthBundler, + EthereumStEthBundlerInterface, +} from "../../../src/ethereum/EthereumStEthBundler"; + +const _abi = [ + { + inputs: [], + name: "ST_ETH", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "WST_ETH", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "minShares", + type: "uint256", + }, + { + internalType: "address", + name: "referral", + type: "address", + }, + ], + name: "stakeEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unwrapStEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "wrapStEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +export class EthereumStEthBundler__factory { + static readonly abi = _abi; + static createInterface(): EthereumStEthBundlerInterface { + return new Interface(_abi) as EthereumStEthBundlerInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): EthereumStEthBundler { + return new Contract( + address, + _abi, + runner + ) as unknown as EthereumStEthBundler; + } +} diff --git a/pkg/types/factories/src/ethereum/index.ts b/pkg/types/factories/src/ethereum/index.ts new file mode 100644 index 00000000..52639126 --- /dev/null +++ b/pkg/types/factories/src/ethereum/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; +export { EthereumBundlerV2__factory } from "./EthereumBundlerV2__factory"; +export { EthereumPermitBundler__factory } from "./EthereumPermitBundler__factory"; +export { EthereumStEthBundler__factory } from "./EthereumStEthBundler__factory"; diff --git a/pkg/types/factories/src/ethereum/interfaces/IDaiPermit__factory.ts b/pkg/types/factories/src/ethereum/interfaces/IDaiPermit__factory.ts new file mode 100644 index 00000000..8656eb53 --- /dev/null +++ b/pkg/types/factories/src/ethereum/interfaces/IDaiPermit__factory.ts @@ -0,0 +1,89 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IDaiPermit, + IDaiPermitInterface, +} from "../../../../src/ethereum/interfaces/IDaiPermit"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "holder", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "holder", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "expiry", + type: "uint256", + }, + { + internalType: "bool", + name: "allowed", + type: "bool", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IDaiPermit__factory { + static readonly abi = _abi; + static createInterface(): IDaiPermitInterface { + return new Interface(_abi) as IDaiPermitInterface; + } + static connect(address: string, runner?: ContractRunner | null): IDaiPermit { + return new Contract(address, _abi, runner) as unknown as IDaiPermit; + } +} diff --git a/pkg/types/factories/src/ethereum/interfaces/index.ts b/pkg/types/factories/src/ethereum/interfaces/index.ts new file mode 100644 index 00000000..df8fe121 --- /dev/null +++ b/pkg/types/factories/src/ethereum/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IDaiPermit__factory } from "./IDaiPermit__factory"; diff --git a/pkg/types/factories/src/goerli/GoerliBundlerV2__factory.ts b/pkg/types/factories/src/goerli/GoerliBundlerV2__factory.ts new file mode 100644 index 00000000..a99ea7a9 --- /dev/null +++ b/pkg/types/factories/src/goerli/GoerliBundlerV2__factory.ts @@ -0,0 +1,1248 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + GoerliBundlerV2, + GoerliBundlerV2Interface, +} from "../../../src/goerli/GoerliBundlerV2"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "morpho", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "UnsafeCast", + type: "error", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ST_ETH", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "WRAPPED_NATIVE", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "WST_ETH", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + internalType: "uint48", + name: "expiration", + type: "uint48", + }, + { + internalType: "uint48", + name: "nonce", + type: "uint48", + }, + ], + internalType: "struct IAllowanceTransfer.PermitDetails", + name: "details", + type: "tuple", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "sigDeadline", + type: "uint256", + }, + ], + internalType: "struct IAllowanceTransfer.PermitSingle", + name: "permitSingle", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "approve2", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20Transfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20TransferFrom", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "wrapper", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20WrapperDepositFor", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "wrapper", + type: "address", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20WrapperWithdrawTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "minShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Mint", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Redeem", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoBorrow", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoFlashLoan", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoRepay", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "morphoSetAuthorizationWithSig", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupply", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupplyCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdrawCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "nativeTransfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoFlashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoRepay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupply", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "permit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "publicAllocator", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + internalType: "struct Withdrawal[]", + name: "withdrawals", + type: "tuple[]", + }, + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "supplyMarketParams", + type: "tuple", + }, + ], + name: "reallocateTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "minShares", + type: "uint256", + }, + { + internalType: "address", + name: "referral", + type: "address", + }, + ], + name: "stakeEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom2", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unwrapNative", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unwrapStEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "distributor", + type: "address", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "reward", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "bytes32[]", + name: "proof", + type: "bytes32[]", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "urdClaim", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "wrapNative", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "wrapStEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x610100604090808252346200030a57620000339062003fee80380380916200002882856200030f565b833981019062000349565b600080546001600160a01b031916600117815590620000516200036a565b5073b4fbf271143f4fbf7b91a5ded31805e42b2208d6608052825163183fc7c960e31b8152602091736320cd32aa674d2898a68ec82e869385fc5f7e2f91908382600481865afa91821562000300578592620002ca575b5060a082905260c08390528551636eb1769f60e11b8152306004820152602481018490526044936001600160a01b039390919084169086818781855afa908115620002c05792889287928995859162000280575b50156200020d575b50505050501692620001156200036a565b908415620001b657858560e05251613c4a9081620003a482396080518181816105f4015281816114e301526126d6015260a0518181816106de01528181610d100152612822015260c051818181610d99015281816120e101526128ab015260e05181818161050b0152818161085801528181610b82015281816115cc01528181611f2d0152818161247701528181612a1e01528181612de10152613bef0152f35b9290855193849262461bcd60e51b8452806004850152825192836024860152825b848110620001f657505050828201840152601f01601f19168101030190fd5b8181018301518882018801528795508201620001d7565b8a5163095ea7b360e01b81526004810192909252600019602483015283905af13d15601f3d116001885114161716156200024c57838584388062000104565b855162461bcd60e51b815260048101859052600e60248201526d1054141493d59157d1905253115160921b81850152606490fd5b93505092509281813d8311620002b8575b6200029d81836200030f565b81010312620002b4578692889287925138620000fc565b8780fd5b503d62000291565b89513d8a823e3d90fd5b620002f0919250843d8611620002f8575b620002e781836200030f565b81019062000349565b9038620000a8565b503d620002db565b86513d87823e3d90fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176200033357604052565b634e487b7160e01b600052604160045260246000fd5b908160209103126200030a57516001600160a01b03811681036200030a5790565b60408051919082016001600160401b038111838210176200033357604052600c82526b7a65726f206164647265737360a01b602083015256fe60406080815260049081361015610020575b5050361561001e57600080fd5b005b600091823560e01c90816305b4591c14610e3357816312c0d70b14612aaf5781631af3bbc6146129a35781632075be0314610e33578163240f78a31461284657816331f5707214610e33578163338346d2146127d75783826334b10a6d14612672575081633790767d1461262d57816339029ab61461249b5781633acb56241461242c578382634d5fcf68146122b85750816354c53ef0146121055781635664cb4814612096578382635b866db614611e8a575081635c39fcc114611e395781636024440814611c405783826362577ad014611bc6575081636b89026a14611a115781636ef5eeae1461183657816370dc41fe146116655783826384d287ef1461154e5782639169d8331461146257508163a184a5a314611361578163a7f6e60614611163578163ac9650d814610fae578163af50420214610e38578163b1022fdf14610e33578163bc2a294c14610c79578163bea88fda14610add57838263c956570614610978578263ca4636731461077257508163d27dd11e1461061c578163d999984d146105a957838263e29759121461047f57508163ef65341914610250575063f2522bcd03610011577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261024d5761024a610201612efe565b61022e600173ffffffffffffffffffffffffffffffffffffffff8554161415610228613278565b906132b1565b610241610239613bc4565b61022861334d565b6024359061390c565b80f35b80fd5b90506101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047b57610285612efe565b9161028e612f44565b9260643567ffffffffffffffff94858211610477573660238301121561047757818501359586116104775760c09236602460c08902850101116104735760a09660a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261046f5760019489869361032673ffffffffffffffffffffffffffffffffffffffff9889809454161415610228613278565b610331610239613bc4565b1693843b1561046b579180919993928851997f833947fd000000000000000000000000000000000000000000000000000000008b528860e48c019216908b015260e060248b0152526101049860248a8a019601938b905b8382106104205750505050505060843583811680910361041b57604486015260a43583811680910361041b57606486015260c43583811680910361041b57608486015260e43592831680930361041b57848080938998899660a48401523560c48301520391604435905af190811561041257506104025750f35b61040b906131cd565b61024d5780f35b513d84823e3d90fd5b600080fd5b909192939496610430818961343c565b81880135906fffffffffffffffffffffffffffffffff82168092036104675782810191909152830196830194939291840190610388565b8d80fd5b8a80fd5b8880fd5b8780fd5b8680fd5b8280fd5b80918460607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105a5576104b4612efe565b60443567ffffffffffffffff81116105a1576104d39036908501612d3c565b939073ffffffffffffffffffffffffffffffffffffffff6104fd6001828954161415610228613278565b610508610239613bc4565b807f0000000000000000000000000000000000000000000000000000000000000000169161053683866139d0565b823b1561047357879461058e86928851998a97889687957fe0232b420000000000000000000000000000000000000000000000000000000087521690850152602435602485015260606044850152606484019161378f565b03925af190811561041257506104025750f35b8480fd5b5050fd5b50503461061857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610618576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047b578035610652612f67565b91602073ffffffffffffffffffffffffffffffffffffffff61067d6001828954161415610228613278565b610688610239613bc4565b60244785811090861802956106ab878718976106a2613386565b908814156132b1565b8683895196879586947fa1903eab00000000000000000000000000000000000000000000000000000000865216908401527f0000000000000000000000000000000000000000000000000000000000000000165af193841561076957508493610733575b506107206107299161024a94613891565b91602435613891565b11156102286136fc565b92506020833d602011610761575b8161074e602093836131fd565b8101031261041b5791519161072061070f565b3d9150610741565b513d86823e3d90fd5b8091847ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601610100908181126105a15760a0136109735760a435926107b6612f21565b9060e43567ffffffffffffffff8111610477576107d69036908301612d3c565b73ffffffffffffffffffffffffffffffffffffffff926107ff6001858b54161415610228613278565b61080a610239613bc4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848996169861084461083b6134da565b308c14156132b1565b146108df575b61087f610855613735565b947f00000000000000000000000000000000000000000000000000000000000000001680956139d0565b833b1561046f5761058e6108c5938a979388948a519b8c998a9889977f238d657900000000000000000000000000000000000000000000000000000000895288016133d7565b60a487015260c486015260e485015261010484019161378f565b935060246020846108ee613735565b168851928380927f70a08231000000000000000000000000000000000000000000000000000000008252308a8301525afa908115610969578991610934575b509361084a565b9850506020883d602011610961575b81610950602093836131fd565b8101031261041b578897518a61092d565b3d9150610943565b87513d8b823e3d90fd5b505050fd5b92915060206109863661315d565b97909392919573ffffffffffffffffffffffffffffffffffffffff906109f7828454166109be6109b4613278565b60018314156132b1565b6109c9610239613bc4565b6109de6109d46134a1565b858a1615156132b1565b838c1690308214918215610ad3575b50506102286138d3565b610a0a610a02613386565b8515156132b1565b610a6b89519a8b97889687947fb460af9400000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b0393165af1918215610aca57508391610a94575b61024a9250610a8c6136fc565b9111156132b1565b90506020823d602011610ac2575b81610aaf602093836131fd565b8101031261041b5761024a915190610a7f565b3d9150610aa2565b513d85823e3d90fd5b14905038806109ed565b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36016101208112610c755760a01361047b5760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c36011261047b5761010480359283159384150361041b5773ffffffffffffffffffffffffffffffffffffffff610b746001828854161415610228613278565b610b7f610239613bc4565b807f00000000000000000000000000000000000000000000000000000000000000001691823b156104775751937f8069218f00000000000000000000000000000000000000000000000000000000855281610bd8612efe565b1690850152610be5612f44565b16602484015260443580151580910361041b5760448401526064356064840152608435608484015260a43560ff811680910361041b57859284848094829460a484015260c43560c484015260e43560e48401525af19182610c61575b5050610c5d57610c4f613861565b90610c58575080f35b613b40565b5080f35b610c6a906131cd565b61047b578238610c41565b8380fd5b9050602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c7557813573ffffffffffffffffffffffffffffffffffffffff90610cd26001838854161415610228613278565b610cdd610239613bc4565b8583517f70a0823100000000000000000000000000000000000000000000000000000000815230868201528681602481877f0000000000000000000000000000000000000000000000000000000000000000165afa908115610e29579082918895949391610df3575b5090818360249493109083180293610d68610d5f613386565b868514156132b1565b865197889586947fea598cb000000000000000000000000000000000000000000000000000000000865218908401527f0000000000000000000000000000000000000000000000000000000000000000165af1908115610aca5750610dcb578280f35b813d8311610dec575b610dde81836131fd565b8101031261041b5738808280f35b503d610dd4565b92948092508391503d8311610e22575b610e0d81836131fd565b8101031261041b575185929087906024610d46565b503d610e03565b85513d84823e3d90fd5b612d6a565b9050610100367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc018181126105a15760c013610c755760c43567ffffffffffffffff81116105a157610e8d9036908401612d3c565b919060e4359485159586150361041b5773ffffffffffffffffffffffffffffffffffffffff9182885416610ec26109b4613278565b610ecd610239613bc4565b6e22d473030f116ddee9f6b43ac78ba392833b15610faa5751967f2b67b57000000000000000000000000000000000000000000000000000000000885287015282610f16612efe565b16602487015260243583811680910361046f57604487015260443565ffffffffffff9081811680910361041b57606488015260643590811680910361041b57608487015260843592831680930361041b578786610f9281959383988498849660a486015260a43560c486015260e485015261010484019161378f565b03925af19182610c61575050610c5d57610c4f613861565b8980fd5b8383602092837ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261041b57803567ffffffffffffffff9182821161041b573660238301121561041b57818101359260249181851161113557508360051b9085519461101e898401876131fd565b85526024888601928501019336851161041b5760248101925b8584106110d457886001896110cb8a61109e8f7f616c726561647920696e697469617465640000000000000000000000000000008754955191611079836131e1565b601183528201528573ffffffffffffffffffffffffffffffffffffffff8616146132b1565b7fffffffffffffffffffffffff000000000000000000000000000000000000000092831633178555613b89565b82541617815580f35b833583811161041b578201903660438301121561041b5785820135906044926110fc8361323e565b906111098c5192836131fd565b8382523685858301011161041b578d848196958296600094018386013783010152815201930192611037565b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b91905061116f3661315d565b919492939073ffffffffffffffffffffffffffffffffffffffff80895416926111a3611199613278565b60018614156132b1565b6111ae610239613bc4565b6111c36111b96134a1565b83851615156132b1565b6111de82861694308614908115611357575b506102286138d3565b168451927f70a0823100000000000000000000000000000000000000000000000000000000845288840152886020938481602481865afa90811561134d578291611316575b5098849392918a8961124c9c10908a180291828a189b8c93611243613697565b908c14156132b1565b6112ad8951988996879586947fba08765200000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b03925af192831561130d575086926112d9575b5050926112d36107299261024a95613891565b92613891565b9080959250813d8311611306575b6112f181836131fd565b8101031261041b5792516112d36107296112c0565b503d6112e7565b513d88823e3d90fd5b8094939250858092503d8311611346575b61133181836131fd565b8101031261041b579151909190899084611223565b503d611327565b87513d84823e3d90fd5b90508514386111d5565b91905060e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047b57611396612efe565b916064359160ff831680930361041b5760c4359384159485150361041b57859273ffffffffffffffffffffffffffffffffffffffff80855416926113db611199613278565b6113e6610239613bc4565b1690813b156105a1578460e49281955197889586947fd505accf00000000000000000000000000000000000000000000000000000000865285015230602485015260243560448501526044356064850152608484015260843560a484015260a43560c48401525af19182610c61575050610c5d57610c4f613861565b80918460207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105a557813573ffffffffffffffffffffffffffffffffffffffff6114b96001828754161415610228613278565b6114c4610239613bc4565b4782811090831802906114e16114d8613386565b838514156132b1565b7f00000000000000000000000000000000000000000000000000000000000000001693843b1561154a578592845195869384927fd0e30db000000000000000000000000000000000000000000000000000000000845218905af190811561041257506104025750f35b8580fd5b9150918061155b366130f8565b919683959491986115c873ffffffffffffffffffffffffffffffffffffffff948584541661158a6109b4613278565b611595610239613bc4565b88519b8c98899788967f5c2bea49000000000000000000000000000000000000000000000000000000008852870161381a565b03927f0000000000000000000000000000000000000000000000000000000000000000165af192831561165b5785928694611628575b505015611612575061024a91610a8c6136fc565b905061024a916116206136fc565b9110156132b1565b809192945061164c9350903d10611654575b61164481836131fd565b810190613779565b9138806115fe565b503d61163a565b82513d87823e3d90fd5b9050817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047b57611698612efe565b91602435908473ffffffffffffffffffffffffffffffffffffffff80825416956116cd6116c3613278565b60018914156132b1565b6116d8610239613bc4565b16948251957f70a0823100000000000000000000000000000000000000000000000000000000875281868801526020948588602481855afa801561182c5786979885979697916117f1575b5091818386936064969510908218029061174761173e613386565b838314156132b1565b8851947f23b872dd0000000000000000000000000000000000000000000000000000000086528b8601523060248601521860448401525af13d15601f3d11600187511416171615611796578380f35b6064935051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fd5b958092949395508691503d8311611825575b61180d81836131fd565b8101031261041b579251859388939092909184611723565b503d611803565b85513d86823e3d90fd5b90506118413661300b565b73ffffffffffffffffffffffffffffffffffffffff95929395949194906118716001838a54161415610228613278565b61187c610239613bc4565b6118916118876134a1565b83831615156132b1565b8187168451937f38d52e0f00000000000000000000000000000000000000000000000000000000855260209384868381865afa9586156119d3578b966119dd575b50846024918851928380927f70a0823100000000000000000000000000000000000000000000000000000000825230878301528a165afa9081156119d3579085949392918c916119a4575b5088811090891802958689189a8b97611934613386565b611940918c14156132b1565b611949916139d0565b8a87518097819582947f6e553f650000000000000000000000000000000000000000000000000000000084528301916112ad9290929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b85819692503d83116119cc575b6119bb81836131fd565b8101031261041b578493513861191d565b503d6119b1565b87513d8d823e3d90fd5b6024919650611a028691823d8411611a0a575b6119fa81836131fd565b8101906136d0565b9691506118d2565b503d6119f0565b905060c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047b57611a45612efe565b91611a4e612f44565b92611a57612f67565b9060843567ffffffffffffffff9586821161047357366023830112156104735781860135968711610473578660051b93366024868501011161046f5760a4359788159889150361041b5789927f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9273ffffffffffffffffffffffffffffffffffffffff98898093611af16001838a54161415610228613278565b611afc610239613bc4565b1690611b11611b096134a1565b8315156132b1565b611b25611b1c6134da565b308414156132b1565b519a7ffabed412000000000000000000000000000000000000000000000000000000008c528b01521660248901526064356044890152608060648901528060848901521161024d5760209460a4878681976024839701848401378101030193165af19081611b9b575b50610c5d57610c4f613861565b602090813d8311611bbf575b611bb181836131fd565b8101031261041b5738611b8e565b503d611ba7565b91509180611bd3366130f8565b919683959491986115c873ffffffffffffffffffffffffffffffffffffffff9485845416611c026109b4613278565b611c0d610239613bc4565b88519b8c98899788967f50d8cd4b000000000000000000000000000000000000000000000000000000008852870161381a565b9050611c4b36612fab565b929173ffffffffffffffffffffffffffffffffffffffff90611c766001838954161415610228613278565b611c81610239613bc4565b611c8c6111b96134a1565b16908451917f70a082310000000000000000000000000000000000000000000000000000000083523084840152602094878685602481865afa8015611e2d5787958291611dfb575b508281109083180291611cf1611ce8613386565b848314156132b1565b611d4c8951978896879586947f205c2878000000000000000000000000000000000000000000000000000000008652189184016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1908115611dee579261024a938592611d9d575b507f7769746864726177206661696c65640000000000000000000000000000000000905192611d91846131e1565b600f84528301526132b1565b7f7769746864726177206661696c65640000000000000000000000000000000000919250611de090843d8611611de7575b611dd881836131fd565b8101906133bf565b9190611d63565b503d611dce565b50505051903d90823e3d90fd5b958092508691503d8311611e26575b611e1481836131fd565b8101031261041b578786945138611cd4565b503d611e0a565b508751903d90823e3d90fd5b50503461061857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106185773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b809184611e963661306f565b9073ffffffffffffffffffffffffffffffffffffffff99939998929596949895611ec96001888754161415610228613278565b611ed4610239613bc4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88611f0c611f016134da565b308b861614156132b1565b14611fe0575b88969492869492611f8792611f54611f2a8c9a613758565b987f00000000000000000000000000000000000000000000000000000000000000001680996139d0565b89519c8d998a9889977fa99aad8900000000000000000000000000000000000000000000000000000000895288016137ce565b03925af192831561165b5785928694611fbd575b505015611faf575061024a916116206136fc565b905061024a91610a8c6136fc565b8091929450611fd89350903d106116545761164481836131fd565b918580611f9b565b94929095939160249a99989750602085611ff986613758565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa801561208c5788999a9b849998999161204f575b509794965092949193909291611f12565b97505091506020863d602011612084575b8161206d602093836131fd565b8101031261041b57611f878b92899751909161203e565b3d9150612060565b88513d85823e3d90fd5b50503461061857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610618576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b8383807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261061857612138612efe565b906024359173ffffffffffffffffffffffffffffffffffffffff9081808654169161216e612164613278565b60018514156132b1565b612179610239613bc4565b1683517f70a082310000000000000000000000000000000000000000000000000000000081528288820152602081602481855afa80156122ae57879061227a575b6121db91508681109087180295868118966121d3613386565b9114156132b1565b8285116122525785966e22d473030f116ddee9f6b43ac78ba393843b1561047357879460849386928851998a9788967f36c7851600000000000000000000000000000000000000000000000000000000885287015230602487015216604485015260648401525af190811561041257506104025750f35b8684517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b506020813d6020116122a6575b81612294602093836131fd565b8101031261041b576121db90516121ba565b3d9150612287565b85513d89823e3d90fd5b8091846122c43661306f565b9073ffffffffffffffffffffffffffffffffffffffff999399989295969498956122f76001888754161415610228613278565b612302610239613bc4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8861232f611f016134da565b14612380575b88969492869492611f879261234d611f2a8c9a613758565b89519c8d998a9889977f20b76e8100000000000000000000000000000000000000000000000000000000895288016137ce565b94929095939160249a9998975060208561239986613758565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa801561208c5788999a9b84999899916123ef575b509794965092949193909291612335565b97505091506020863d602011612424575b8161240d602093836131fd565b8101031261041b57611f878b9289975190916123de565b3d9150612400565b50503461061857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610618576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9190506124a73661300b565b949092918673ffffffffffffffffffffffffffffffffffffffff6124d46001828454161415610228613278565b6124df610239613bc4565b6124f46124ea6134a1565b828a1615156132b1565b6125076124ff613697565b8415156132b1565b8416928651947f38d52e0f00000000000000000000000000000000000000000000000000000000865260209586818481895afa9081156126235784926125b39b96949261255d928a999791612606575b506139d0565b8851998a95869485937f94bf804d000000000000000000000000000000000000000000000000000000008552840190929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b03925af1928315610769575084926125d4575b5061024a9250610a8c6136fc565b90915082813d83116125ff575b6125eb81836131fd565b8101031261041b5761024a915190386125c6565b503d6125e1565b61261d9150893d8b11611a0a576119fa81836131fd565b38612557565b89513d86823e3d90fd5b8361024a61263a36612fab565b91612662600173ffffffffffffffffffffffffffffffffffffffff8754161415610228613278565b61266d610239613bc4565b613513565b80918460207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105a557813573ffffffffffffffffffffffffffffffffffffffff6126c96001828754161415610228613278565b6126d4610239613bc4565b7f00000000000000000000000000000000000000000000000000000000000000001682517f70a082310000000000000000000000000000000000000000000000000000000081523085820152602081602481855afa9081156127cd578691612798575b50828110908318029061274b6114d8613386565b803b1561154a57859283602492865197889586947f2e1a7d4d00000000000000000000000000000000000000000000000000000000865218908401525af190811561041257506104025750f35b9550506020853d6020116127c5575b816127b4602093836131fd565b8101031261041b5785945187612737565b3d91506127a7565b84513d88823e3d90fd5b50503461061857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610618576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9050602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c7557813573ffffffffffffffffffffffffffffffffffffffff61289e6001828854161415610228613278565b6128a9610239613bc4565b7f000000000000000000000000000000000000000000000000000000000000000016908583517f70a0823100000000000000000000000000000000000000000000000000000000815230868201528681602481875afa908115610e2957908291889594939161296d575b509081836024949310908318029361292c610d5f613386565b865197889586947fde0e9a3e00000000000000000000000000000000000000000000000000000000865218908401525af1908115610aca5750610dcb578280f35b92948092508391503d831161299c575b61298781836131fd565b8101031261041b575185929087906024612913565b503d61297d565b9190507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360160e08112610c755760a01361047b57826129e1612f21565b73ffffffffffffffffffffffffffffffffffffffff8083541694612a10612a06613278565b60018814156132b1565b612a1b610239613bc4565b817f00000000000000000000000000000000000000000000000000000000000000001692833b156105a157612a81936101049386928851998a9788967f8720316d00000000000000000000000000000000000000000000000000000000885287016133d7565b60a43560a487015260c48601521660e48401525af19081156104125750612aa6575080f35b61024a906131cd565b9050817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047b57612ae2612efe565b906024359173ffffffffffffffffffffffffffffffffffffffff92612b106001858854161415610228613278565b612b1b610239613bc4565b8382168551947f6f307dc30000000000000000000000000000000000000000000000000000000086528760209687818881875afa8015612d325783918391612cf8575b5016918851957f70a0823100000000000000000000000000000000000000000000000000000000875230888801528887602481875afa8015612cee5789978491612cbb575b50908187612bca93109088180294612bc5612bbc613386565b878a14156132b1565b6139d0565b81541693612c298951978896879586947f2f4f21e2000000000000000000000000000000000000000000000000000000008652189184016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1908115611dee579261024a938592612c7a575b507f6465706f736974206661696c6564000000000000000000000000000000000000905192612c6e846131e1565b600e84528301526132b1565b7f6465706f736974206661696c6564000000000000000000000000000000000000919250612cb490843d8611611de757611dd881836131fd565b9190612c40565b8881939992503d8311612ce7575b612cd381836131fd565b8101031261047b5751889690612bca612ba3565b503d612cc9565b8a513d85823e3d90fd5b809250898092503d8311612d2b575b612d1181836131fd565b810103126106185751828116810361061857829038612b5e565b503d612d07565b89513d84823e3d90fd5b9181601f8401121561041b5782359167ffffffffffffffff831161041b576020838186019501011161041b57565b3461041b576040807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261041b5767ffffffffffffffff9060243582811161041b57612dbc903690600401612d3c565b612e08612dca94929461334d565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633146132b1565b830191602093848185031261041b5780359083821161041b57019183601f8401121561041b57823593818511612ecf578460051b9160405195612e4d888501886131fd565b865286808701938601019482861161041b57878101935b868510612e745761001e88613b89565b843583811161041b57820184603f8201121561041b578981013591612e988361323e565b612ea4895191826131fd565b8381528689858501011161041b5760008c8581968c8397018386013783010152815201940193612e64565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361041b57565b60c4359073ffffffffffffffffffffffffffffffffffffffff8216820361041b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361041b57565b6044359073ffffffffffffffffffffffffffffffffffffffff8216820361041b57565b359073ffffffffffffffffffffffffffffffffffffffff8216820361041b57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc606091011261041b5773ffffffffffffffffffffffffffffffffffffffff90600435828116810361041b5791602435908116810361041b579060443590565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc608091011261041b5773ffffffffffffffffffffffffffffffffffffffff90600435828116810361041b57916024359160443591606435908116810361041b5790565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201610140811261041b5760a01361041b5760049160a4359160c4359160e435916101043573ffffffffffffffffffffffffffffffffffffffff8116810361041b5791610124359067ffffffffffffffff821161041b576130f491600401612d3c565b9091565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01610120811261041b5760a01361041b5760049060a4359060c4359060e435906101043573ffffffffffffffffffffffffffffffffffffffff8116810361041b5790565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a091011261041b5773ffffffffffffffffffffffffffffffffffffffff600435818116810361041b57916024359160443591606435828116810361041b5791608435908116810361041b5790565b67ffffffffffffffff8111612ecf57604052565b6040810190811067ffffffffffffffff821117612ecf57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117612ecf57604052565b67ffffffffffffffff8111612ecf57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60405190613285826131e1565b600b82527f756e696e697469617465640000000000000000000000000000000000000000006020830152565b156132b95750565b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110613336575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b8181018301518682016044015285935082016132f5565b6040519061335a826131e1565b601382527f756e617574686f72697a65642073656e646572000000000000000000000000006020830152565b60405190613393826131e1565b600b82527f7a65726f20616d6f756e740000000000000000000000000000000000000000006020830152565b9081602091031261041b5751801515810361041b5790565b60043573ffffffffffffffffffffffffffffffffffffffff9081811680910361041b57825260243581811680910361041b57602083015260443581811680910361041b57604083015260643590811680910361041b5760608201526080608435910152565b6080809173ffffffffffffffffffffffffffffffffffffffff8061345f83612f8a565b1685528061346f60208401612f8a565b1660208601528061348260408401612f8a565b16604086015261349460608301612f8a565b1660608501520135910152565b604051906134ae826131e1565b600c82527f7a65726f206164647265737300000000000000000000000000000000000000006020830152565b604051906134e7826131e1565b600f82527f62756e646c6572206164647265737300000000000000000000000000000000006020830152565b919073ffffffffffffffffffffffffffffffffffffffff80911692613539610a026134a1565b61354d6135446134da565b308614156132b1565b16604051927f70a082310000000000000000000000000000000000000000000000000000000084523060048501526020938481602481865afa90811561368b5760009161365e575b50838110908418029081841461365757600080936044938796604051947fa9059cbb00000000000000000000000000000000000000000000000000000000865260048601521860248401525af13d15601f3d11600160005114161716156135f95750565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b5050505050565b90508481813d8311613684575b61367581836131fd565b8101031261041b575138613595565b503d61366b565b6040513d6000823e3d90fd5b604051906136a4826131e1565b600b82527f7a65726f207368617265730000000000000000000000000000000000000000006020830152565b9081602091031261041b575173ffffffffffffffffffffffffffffffffffffffff8116810361041b5790565b60405190613709826131e1565b601182527f736c6970706167652065786365656465640000000000000000000000000000006020830152565b60243573ffffffffffffffffffffffffffffffffffffffff8116810361041b5790565b3573ffffffffffffffffffffffffffffffffffffffff8116810361041b5790565b919082604091031261041b576020825192015190565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b919373ffffffffffffffffffffffffffffffffffffffff919361381797956137f9856101209761343c565b60a085015260c08401521660e082015281610100820152019161378f565b90565b93919261010093969591966138348661012081019961343c565b60a086015260c085015273ffffffffffffffffffffffffffffffffffffffff80921660e085015216910152565b3d1561388c573d906138728261323e565b9161388060405193846131fd565b82523d6000602084013e565b606090565b818102929181159184041417156138a457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b604051906138e0826131e1565b601082527f756e6578706563746564206f776e6572000000000000000000000000000000006020830152565b61394a73ffffffffffffffffffffffffffffffffffffffff82166139396139316134a1565b8215156132b1565b6139416134da565b903014156132b1565b47828110908318028083146139cb5760009283928392839218905af11561396d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152fd5b505050565b73ffffffffffffffffffffffffffffffffffffffff80911690604051927fdd62ed3e000000000000000000000000000000000000000000000000000000008452306004850152168060248401526020928381604481865afa90811561368b57600091613b13575b5015613a4257505050565b6044600091828594604051927f095ea7b300000000000000000000000000000000000000000000000000000000845260048401527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248401525af13d15601f3d1160016000511416171615613ab55750565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600e60248201527f415050524f56455f4641494c45440000000000000000000000000000000000006044820152fd5b90508381813d8311613b39575b613b2a81836131fd565b8101031261041b575138613a37565b503d613b20565b805190613b84604051613b52816131e1565b600b81527f63616c6c206661696c656400000000000000000000000000000000000000000060208201528315156132b1565b602001fd5b60009060005b81518110156139cb5782806020808460051b860101519081519101305af4613bb5613861565b9015610c585750600101613b8f565b73ffffffffffffffffffffffffffffffffffffffff80600054163314908115613beb575090565b90507f00000000000000000000000000000000000000000000000000000000000000001633149056fea2646970667358221220e931f074264bec03385305d36a525daaf89f3c03260ad063ab42881962a140cc64736f6c63430008180033"; + +type GoerliBundlerV2ConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: GoerliBundlerV2ConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class GoerliBundlerV2__factory extends ContractFactory { + constructor(...args: GoerliBundlerV2ConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + morpho: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(morpho, overrides || {}); + } + override deploy( + morpho: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(morpho, overrides || {}) as Promise< + GoerliBundlerV2 & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): GoerliBundlerV2__factory { + return super.connect(runner) as GoerliBundlerV2__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): GoerliBundlerV2Interface { + return new Interface(_abi) as GoerliBundlerV2Interface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): GoerliBundlerV2 { + return new Contract(address, _abi, runner) as unknown as GoerliBundlerV2; + } +} diff --git a/pkg/types/factories/src/goerli/index.ts b/pkg/types/factories/src/goerli/index.ts new file mode 100644 index 00000000..320668d1 --- /dev/null +++ b/pkg/types/factories/src/goerli/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { GoerliBundlerV2__factory } from "./GoerliBundlerV2__factory"; diff --git a/pkg/types/factories/src/index.ts b/pkg/types/factories/src/index.ts new file mode 100644 index 00000000..65d7dbc7 --- /dev/null +++ b/pkg/types/factories/src/index.ts @@ -0,0 +1,20 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as chainAgnostic from "./chain-agnostic"; +export * as ethereum from "./ethereum"; +export * as goerli from "./goerli"; +export * as interfaces from "./interfaces"; +export * as migration from "./migration"; +export * as mocks from "./mocks"; +export * as sepolia from "./sepolia"; +export { BaseBundler__factory } from "./BaseBundler__factory"; +export { ERC20WrapperBundler__factory } from "./ERC20WrapperBundler__factory"; +export { ERC4626Bundler__factory } from "./ERC4626Bundler__factory"; +export { MorphoBundler__factory } from "./MorphoBundler__factory"; +export { Permit2Bundler__factory } from "./Permit2Bundler__factory"; +export { PermitBundler__factory } from "./PermitBundler__factory"; +export { StEthBundler__factory } from "./StEthBundler__factory"; +export { TransferBundler__factory } from "./TransferBundler__factory"; +export { UrdBundler__factory } from "./UrdBundler__factory"; +export { WNativeBundler__factory } from "./WNativeBundler__factory"; diff --git a/pkg/types/factories/src/interfaces/IMorphoBundler__factory.ts b/pkg/types/factories/src/interfaces/IMorphoBundler__factory.ts new file mode 100644 index 00000000..61752b06 --- /dev/null +++ b/pkg/types/factories/src/interfaces/IMorphoBundler__factory.ts @@ -0,0 +1,97 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMorphoBundler, + IMorphoBundlerInterface, +} from "../../../src/interfaces/IMorphoBundler"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoFlashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoRepay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupply", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IMorphoBundler__factory { + static readonly abi = _abi; + static createInterface(): IMorphoBundlerInterface { + return new Interface(_abi) as IMorphoBundlerInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IMorphoBundler { + return new Contract(address, _abi, runner) as unknown as IMorphoBundler; + } +} diff --git a/pkg/types/factories/src/interfaces/IMulticall__factory.ts b/pkg/types/factories/src/interfaces/IMulticall__factory.ts new file mode 100644 index 00000000..db2214d7 --- /dev/null +++ b/pkg/types/factories/src/interfaces/IMulticall__factory.ts @@ -0,0 +1,35 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMulticall, + IMulticallInterface, +} from "../../../src/interfaces/IMulticall"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +export class IMulticall__factory { + static readonly abi = _abi; + static createInterface(): IMulticallInterface { + return new Interface(_abi) as IMulticallInterface; + } + static connect(address: string, runner?: ContractRunner | null): IMulticall { + return new Contract(address, _abi, runner) as unknown as IMulticall; + } +} diff --git a/pkg/types/factories/src/interfaces/IPublicAllocator__factory.ts b/pkg/types/factories/src/interfaces/IPublicAllocator__factory.ts new file mode 100644 index 00000000..70255e76 --- /dev/null +++ b/pkg/types/factories/src/interfaces/IPublicAllocator__factory.ts @@ -0,0 +1,316 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IPublicAllocator, + IPublicAllocatorInterface, +} from "../../../src/interfaces/IPublicAllocator"; + +const _abi = [ + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "accruedFee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "fee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "flowCaps", + outputs: [ + { + components: [ + { + internalType: "uint128", + name: "maxIn", + type: "uint128", + }, + { + internalType: "uint128", + name: "maxOut", + type: "uint128", + }, + ], + internalType: "struct FlowCaps", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + ], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + internalType: "struct Withdrawal[]", + name: "withdrawals", + type: "tuple[]", + }, + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "supplyMarketParams", + type: "tuple", + }, + ], + name: "reallocateTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + components: [ + { + internalType: "Id", + name: "id", + type: "bytes32", + }, + { + components: [ + { + internalType: "uint128", + name: "maxIn", + type: "uint128", + }, + { + internalType: "uint128", + name: "maxOut", + type: "uint128", + }, + ], + internalType: "struct FlowCaps", + name: "caps", + type: "tuple", + }, + ], + internalType: "struct FlowCapsConfig[]", + name: "config", + type: "tuple[]", + }, + ], + name: "setFlowCaps", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "address payable", + name: "feeRecipient", + type: "address", + }, + ], + name: "transferFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IPublicAllocator__factory { + static readonly abi = _abi; + static createInterface(): IPublicAllocatorInterface { + return new Interface(_abi) as IPublicAllocatorInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IPublicAllocator { + return new Contract(address, _abi, runner) as unknown as IPublicAllocator; + } +} diff --git a/pkg/types/factories/src/interfaces/IStEth__factory.ts b/pkg/types/factories/src/interfaces/IStEth__factory.ts new file mode 100644 index 00000000..da08a29b --- /dev/null +++ b/pkg/types/factories/src/interfaces/IStEth__factory.ts @@ -0,0 +1,132 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { IStEth, IStEthInterface } from "../../../src/interfaces/IStEth"; + +const _abi = [ + { + inputs: [], + name: "getCurrentStakeLimit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_sharesAmount", + type: "uint256", + }, + ], + name: "getPooledEthByShares", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_stEthAmount", + type: "uint256", + }, + ], + name: "getSharesByPooledEth", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_account", + type: "address", + }, + ], + name: "sharesOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_referral", + type: "address", + }, + ], + name: "submit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_recipient", + type: "address", + }, + { + internalType: "uint256", + name: "_sharesAmount", + type: "uint256", + }, + ], + name: "transferShares", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IStEth__factory { + static readonly abi = _abi; + static createInterface(): IStEthInterface { + return new Interface(_abi) as IStEthInterface; + } + static connect(address: string, runner?: ContractRunner | null): IStEth { + return new Contract(address, _abi, runner) as unknown as IStEth; + } +} diff --git a/pkg/types/factories/src/interfaces/IWNative__factory.ts b/pkg/types/factories/src/interfaces/IWNative__factory.ts new file mode 100644 index 00000000..5e15e90b --- /dev/null +++ b/pkg/types/factories/src/interfaces/IWNative__factory.ts @@ -0,0 +1,95 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IWNative, + IWNativeInterface, +} from "../../../src/interfaces/IWNative"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "guy", + type: "address", + }, + { + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "src", + type: "address", + }, + { + internalType: "address", + name: "dst", + type: "address", + }, + { + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IWNative__factory { + static readonly abi = _abi; + static createInterface(): IWNativeInterface { + return new Interface(_abi) as IWNativeInterface; + } + static connect(address: string, runner?: ContractRunner | null): IWNative { + return new Contract(address, _abi, runner) as unknown as IWNative; + } +} diff --git a/pkg/types/factories/src/interfaces/IWstEth__factory.ts b/pkg/types/factories/src/interfaces/IWstEth__factory.ts new file mode 100644 index 00000000..22334ef9 --- /dev/null +++ b/pkg/types/factories/src/interfaces/IWstEth__factory.ts @@ -0,0 +1,432 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IWstEth, + IWstEthInterface, +} from "../../../src/interfaces/IWstEth"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256", + }, + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "wstETHAmount", + type: "uint256", + }, + ], + name: "getStETHByWstETH", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "stETHAmount", + type: "uint256", + }, + ], + name: "getWstETHByStETH", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "stETH", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "stEthPerToken", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "tokensPerStEth", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "wstETHAmount", + type: "uint256", + }, + ], + name: "unwrap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "stETHAmount", + type: "uint256", + }, + ], + name: "wrap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IWstEth__factory { + static readonly abi = _abi; + static createInterface(): IWstEthInterface { + return new Interface(_abi) as IWstEthInterface; + } + static connect(address: string, runner?: ContractRunner | null): IWstEth { + return new Contract(address, _abi, runner) as unknown as IWstEth; + } +} diff --git a/pkg/types/factories/src/interfaces/index.ts b/pkg/types/factories/src/interfaces/index.ts new file mode 100644 index 00000000..5ec2395f --- /dev/null +++ b/pkg/types/factories/src/interfaces/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IMorphoBundler__factory } from "./IMorphoBundler__factory"; +export { IMulticall__factory } from "./IMulticall__factory"; +export { IPublicAllocator__factory } from "./IPublicAllocator__factory"; +export { IStEth__factory } from "./IStEth__factory"; +export { IWNative__factory } from "./IWNative__factory"; +export { IWstEth__factory } from "./IWstEth__factory"; diff --git a/pkg/types/factories/src/migration/AaveV2MigrationBundlerV2__factory.ts b/pkg/types/factories/src/migration/AaveV2MigrationBundlerV2__factory.ts new file mode 100644 index 00000000..346e800d --- /dev/null +++ b/pkg/types/factories/src/migration/AaveV2MigrationBundlerV2__factory.ts @@ -0,0 +1,1205 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + AaveV2MigrationBundlerV2, + AaveV2MigrationBundlerV2Interface, +} from "../../../src/migration/AaveV2MigrationBundlerV2"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "morpho", + type: "address", + }, + { + internalType: "address", + name: "aaveV2Pool", + type: "address", + }, + { + internalType: "address", + name: "wstEth", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "UnsafeCast", + type: "error", + }, + { + inputs: [], + name: "AAVE_V2_POOL", + outputs: [ + { + internalType: "contract IAaveV2", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ST_ETH", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "WST_ETH", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "interestRateMode", + type: "uint256", + }, + ], + name: "aaveV2Repay", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "aaveV2Withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + internalType: "uint48", + name: "expiration", + type: "uint48", + }, + { + internalType: "uint48", + name: "nonce", + type: "uint48", + }, + ], + internalType: "struct IAllowanceTransfer.PermitDetails", + name: "details", + type: "tuple", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "sigDeadline", + type: "uint256", + }, + ], + internalType: "struct IAllowanceTransfer.PermitSingle", + name: "permitSingle", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "approve2", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20Transfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20TransferFrom", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "minShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Mint", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Redeem", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoBorrow", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoFlashLoan", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoRepay", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "morphoSetAuthorizationWithSig", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupply", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupplyCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdrawCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "nativeTransfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoFlashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoRepay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupply", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "permit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "publicAllocator", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + internalType: "struct Withdrawal[]", + name: "withdrawals", + type: "tuple[]", + }, + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "supplyMarketParams", + type: "tuple", + }, + ], + name: "reallocateTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "minShares", + type: "uint256", + }, + { + internalType: "address", + name: "referral", + type: "address", + }, + ], + name: "stakeEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom2", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unwrapStEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "wrapStEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +const _bytecode = + "0x61010060409080825234620003455760608162003e8f80380380916200002682856200034a565b83398101031262000345576200003c8162000384565b90602062000059846200005183850162000384565b930162000384565b600080546001600160a01b03191660011781556001600160a01b03949091908516620000916200008862000399565b821515620003d2565b608052855163183fc7c960e31b8152818616918482600481865afa918215620002f85790879291859262000302575b508160a05260c05216908651636eb1769f60e11b81523060048201528160248201528481604481865afa908115620002f8578491620002c1575b50156200024d575b5050505016620001156200008862000399565b60e05251613a5290816200043d823960805181818161023201528181610486015281816105ce0152818161068701528181610721015281816108b3015281816109c601528181610ae501528181610c7b01528181610e7a01528181610f4c015281816110430152818161120a0152818161142e015281816118170152818161194e015281816119fe01528181611a9b01528181611ca201528181611eae01528181611f5e0152818161207f015281816121ec01528181612444015281816125e90152818161265b0152818161281b015281816128c601528181612ac401528181612b7101528181612c060152612cd2015260a05181818161081b0152818161110b0152612939015260c0518181816111940152818161225e01526129c8015260e05181818161057001528181610d8e01526112810152f35b604483918286948a519263095ea7b360e01b8452600484015260001960248401525af19051600114601f3d11163d151716156200028d5780808062000102565b60649084519062461bcd60e51b82526004820152600e60248201526d1054141493d59157d1905253115160921b6044820152fd5b90508481813d8311620002f0575b620002db81836200034a565b81010312620002ec575138620000fa565b8380fd5b503d620002cf565b88513d86823e3d90fd5b86809294508193503d83116200033d575b6200031f81836200034a565b81010312620002ec579062000335879262000384565b9038620000c0565b503d62000313565b600080fd5b601f909101601f19168101906001600160401b038211908210176200036e57604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200034557565b60408051919082016001600160401b038111838210176200036e57604052600c82526b7a65726f206164647265737360a01b6020830152565b15620003db5750565b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b82851062000422575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350620003fe56fe6040608081526004908136101561001557600080fd5b600091823560e01c90816305b4591c146112315781631af3bbc614612aeb5781632075be0314611231578163240f78a31461295d57816331f5707214611231578163338346d2146128ee5781633790767d1461284257816339029ab61461267f5781633acb562414612610578382634d5fcf681461246b5750816354c53ef0146122825781635664cb4814612213578382635b866db614611fd6575081635c39fcc114611f855783826362577ad014611ed5575081636ef5eeae14611cc957816370dc41fe14611ac25783826384d287ef1461197557508163a184a5a31461183e578163a7f6e6061461160a578163ac9650d814611455578163af504202146112a9578163b04d8bde14611236578163b1022fdf14611231578163bc2a294c1461106e578163bea88fda14610ea1578163c6a449ae14610ca257838263c956570614610b11578263ca463673146108da57508163d27dd11e1461075057838263e2975912146105f557508163e53e7c83146104bd578163ef6534191461025d575063f2522bcd146101a557600080fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261025a5761022b6101d8612e14565b61022273ffffffffffffffffffffffffffffffffffffffff808554166102096101ff6130e8565b6001831415613121565b331490811561022e575b5061021c6131bd565b90613121565b60243590613764565b80f35b90507f000000000000000000000000000000000000000000000000000000000000000016331438610213565b80fd5b90506101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104b957610292612e14565b9161029b612e37565b9260643567ffffffffffffffff948582116104b557366023830112156104b557818501359586116104b55760c09236602460c08902850101116104b15760a09660a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c3601126104ad5773ffffffffffffffffffffffffffffffffffffffff9485808b54169360019461032f6101ff6130e8565b33148015610482575b6103449061021c6131bd565b1693843b1561047e579180919993928851997f833947fd000000000000000000000000000000000000000000000000000000008b528860e48c019216908b015260e060248b0152526101049860248a8a019601938b905b8382106104335750505050505060843583811680910361042e57604486015260a43583811680910361042e57606486015260c43583811680910361042e57608486015260e43592831680930361042e57848080938998899660a48401523560c48301520391604435905af190811561042557506104155750f35b61041e9061303d565b61025a5780f35b513d84823e3d90fd5b600080fd5b909192939496610443818961325b565b81880135906fffffffffffffffffffffffffffffffff821680920361047a578281019190915283019683019493929184019061039b565b8d80fd5b8a80fd5b50337f0000000000000000000000000000000000000000000000000000000000000000831614610338565b8880fd5b8780fd5b8680fd5b8280fd5b918091507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104b95760206104f3612e14565b606473ffffffffffffffffffffffffffffffffffffffff918287541661051a6101ff6130e8565b331480156105ca575b61052f9061021c6131bd565b8683865197889586947f69328dec000000000000000000000000000000000000000000000000000000008652169084015260243560248401523060448401527f0000000000000000000000000000000000000000000000000000000000000000165af190811561042557506105a2575080f35b602090813d83116105c3575b6105b8818361306d565b8101031261042e5780f35b503d6105ae565b50337f0000000000000000000000000000000000000000000000000000000000000000841614610523565b80918460607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261074c5761062a612e14565b60443567ffffffffffffffff8111610748576106499036908501612c2d565b939073ffffffffffffffffffffffffffffffffffffffff8087541661066f6101ff6130e8565b3314801561071d575b6106849061021c6131bd565b807f000000000000000000000000000000000000000000000000000000000000000016916106b28386613828565b823b156104b157879461070a86928851998a97889687957fe0232b42000000000000000000000000000000000000000000000000000000008752169085015260243560248501526060604485015260648401916135e7565b03925af190811561042557506104155750f35b50337f0000000000000000000000000000000000000000000000000000000000000000821614610678565b8480fd5b5050fd5b905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104b957803560443573ffffffffffffffffffffffffffffffffffffffff9081811680910361042e57602090828754166107b36101ff6130e8565b331480156108af575b6107c89061021c6131bd565b60244785811090861802956107eb878718976107e26132c0565b90881415613121565b86885195869485937fa1903eab0000000000000000000000000000000000000000000000000000000085528401527f0000000000000000000000000000000000000000000000000000000000000000165af19384156108a657508493610870575b5061085d6108669161022b946136b9565b916024356136b9565b111561021c613554565b92506020833d60201161089e575b8161088b6020938361306d565b8101031261042e5791519161085d61084c565b3d915061087e565b513d86823e3d90fd5b50337f00000000000000000000000000000000000000000000000000000000000000008416146107bc565b8091847ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601610100908181126107485760a013610b0c5760a4359261091e612df1565b9060e43567ffffffffffffffff81116104b55761093e9036908301612c2d565b73ffffffffffffffffffffffffffffffffffffffff92838954166109636101ff6130e8565b33148015610ae1575b6109789061021c6131bd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84899616986109b26109a9613332565b308c1415613121565b14610a4d575b6109ed6109c361358d565b947f0000000000000000000000000000000000000000000000000000000000000000168095613828565b833b156104ad5761070a610a33938a979388948a519b8c998a9889977f238d657900000000000000000000000000000000000000000000000000000000895288016131f6565b60a487015260c486015260e48501526101048401916135e7565b93506024602084610a5c61358d565b168851928380927f70a08231000000000000000000000000000000000000000000000000000000008252308a8301525afa908115610ad7578991610aa2575b50936109b8565b9850506020883d602011610acf575b81610abe6020938361306d565b8101031261042e578897518a610a9b565b3d9150610ab1565b87513d8b823e3d90fd5b50337f000000000000000000000000000000000000000000000000000000000000000085161461096c565b505050fd5b9291506020610b1f36612fcd565b97909392919573ffffffffffffffffffffffffffffffffffffffff90610b9182845416610b4d6101ff6130e8565b8033148015610c77575b610b639061021c6131bd565b610b78610b6e6132f9565b858a161515613121565b838c1690308214918215610c6d575b505061021c61372b565b610ba4610b9c6132c0565b851515613121565b610c0589519a8b97889687947fb460af9400000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b0393165af1918215610c6457508391610c2e575b61022b9250610c26613554565b911115613121565b90506020823d602011610c5c575b81610c496020938361306d565b8101031261042e5761022b915190610c19565b3d9150610c3c565b513d85823e3d90fd5b1490503880610b87565b50337f0000000000000000000000000000000000000000000000000000000000000000851614610b57565b91905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104b957610cd7612e14565b906024359173ffffffffffffffffffffffffffffffffffffffff9384865416610d016101ff6130e8565b33148015610e76575b610d169061021c6131bd565b84821690868451937f70a0823100000000000000000000000000000000000000000000000000000000855230838601526020978886602481885afa958615610e6c57908392918a96959497610e33575b508689608496979810908a180290610d88610d7f6132c0565b838c1415613121565b610db5817f0000000000000000000000000000000000000000000000000000000000000000168094613828565b835416908851998a9788967f573ade81000000000000000000000000000000000000000000000000000000008852870152186024850152604435604485015260648401525af1908115610c645750610e0b578280f35b813d8311610e2c575b610e1e818361306d565b8101031261042e5738808280f35b503d610e14565b9250939490955081813d8311610e65575b610e4e818361306d565b8101031261042e5751938793928991906084610d66565b503d610e44565b87513d85823e3d90fd5b50337f0000000000000000000000000000000000000000000000000000000000000000861614610d0a565b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601610120811261106a5760a0136104b95760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c3601126104b95761010480359283159384150361042e5773ffffffffffffffffffffffffffffffffffffffff80865416610f346101ff6130e8565b3314801561103f575b610f499061021c6131bd565b807f00000000000000000000000000000000000000000000000000000000000000001691823b156104b55751937f8069218f00000000000000000000000000000000000000000000000000000000855281610fa2612e14565b1690850152610faf612e37565b16602484015260443580151580910361042e5760448401526064356064840152608435608484015260a43560ff811680910361042e57859284848094829460a484015260c43560c484015260e43560e48401525af1918261102b575b5050611027576110196136fb565b90611022575080f35b613998565b5080f35b6110349061303d565b6104b957823861100b565b50337f0000000000000000000000000000000000000000000000000000000000000000821614610f3d565b8380fd5b9050602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261106a57813573ffffffffffffffffffffffffffffffffffffffff90818654166110c36101ff6130e8565b33148015611206575b6110d89061021c6131bd565b8583517f70a0823100000000000000000000000000000000000000000000000000000000815230868201528681602481877f0000000000000000000000000000000000000000000000000000000000000000165afa9081156111fc5790829188959493916111c6575b509081836024949310908318029361116361115a6132c0565b86851415613121565b865197889586947fea598cb000000000000000000000000000000000000000000000000000000000865218908401527f0000000000000000000000000000000000000000000000000000000000000000165af1908115610c645750610e0b578280f35b92948092508391503d83116111f5575b6111e0818361306d565b8101031261042e575185929087906024611141565b503d6111d6565b85513d84823e3d90fd5b50337f00000000000000000000000000000000000000000000000000000000000000008316146110cc565b612c5b565b5050346112a557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126112a5576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b9050610100367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc018181126107485760c01361106a5760c43567ffffffffffffffff8111610748576112fe9036908401612c2d565b919060e4359485159586150361042e5773ffffffffffffffffffffffffffffffffffffffff91828854166113336101ff6130e8565b803314801561142a575b6113499061021c6131bd565b6e22d473030f116ddee9f6b43ac78ba392833b156114265751967f2b67b57000000000000000000000000000000000000000000000000000000000885287015282611392612e14565b1660248701526024358381168091036104ad57604487015260443565ffffffffffff9081811680910361042e57606488015260643590811680910361042e57608487015260843592831680930361042e57878661140e81959383988498849660a486015260a43560c486015260e48501526101048401916135e7565b03925af1918261102b575050611027576110196136fb565b8980fd5b50337f000000000000000000000000000000000000000000000000000000000000000085161461133d565b8383602092837ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261042e57803567ffffffffffffffff9182821161042e573660238301121561042e5781810135926024918185116115dc57508360051b908551946114c58984018761306d565b85526024888601928501019336851161042e5760248101925b85841061157b57886001896115728a6115458f7f616c726561647920696e69746961746564000000000000000000000000000000875495519161152083613051565b601183528201528573ffffffffffffffffffffffffffffffffffffffff861614613121565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000928316331785556139e1565b82541617815580f35b833583811161042e578201903660438301121561042e5785820135906044926115a3836130ae565b906115b08c51928361306d565b8382523685858301011161042e578d8481969582966000940183860137830101528152019301926114de565b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b91905061161636612fcd565b919492939073ffffffffffffffffffffffffffffffffffffffff808954169261164a6116406130e8565b6001861415613121565b8333148015611813575b6116609061021c6131bd565b61167561166b6132f9565b8385161515613121565b61169082861694308614908115611809575b5061021c61372b565b168451927f70a0823100000000000000000000000000000000000000000000000000000000845288840152886020938481602481865afa9081156117ff5782916117c8575b5098849392918a896116fe9c10908a180291828a189b8c936116f56134ef565b908c1415613121565b61175f8951988996879586947fba08765200000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b03925af19283156117bf5750869261178b575b5050926117856108669261022b956136b9565b926136b9565b9080959250813d83116117b8575b6117a3818361306d565b8101031261042e579251611785610866611772565b503d611799565b513d88823e3d90fd5b8094939250858092503d83116117f8575b6117e3818361306d565b8101031261042e5791519091908990846116d5565b503d6117d9565b87513d84823e3d90fd5b9050851438611687565b50337f0000000000000000000000000000000000000000000000000000000000000000831614611654565b91905060e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104b957611873612e14565b916064359160ff831680930361042e5760c4359384159485150361042e57859273ffffffffffffffffffffffffffffffffffffffff80855416926118b86116406130e8565b833314801561194a575b6118ce9061021c6131bd565b1690813b15610748578460e49281955197889586947fd505accf00000000000000000000000000000000000000000000000000000000865285015230602485015260243560448501526044356064850152608484015260843560a484015260a43560c48401525af1918261102b575050611027576110196136fb565b50337f00000000000000000000000000000000000000000000000000000000000000008316146118c2565b9150918061198236612f68565b919683959491986119fa73ffffffffffffffffffffffffffffffffffffffff94858454166119b16101ff6130e8565b8033148015611a97575b6119c79061021c6131bd565b88519b8c98899788967f5c2bea490000000000000000000000000000000000000000000000000000000088528701613672565b03927f0000000000000000000000000000000000000000000000000000000000000000165af1928315611a8d5785928694611a5a575b505015611a44575061022b91610c26613554565b905061022b91611a52613554565b911015613121565b8091929450611a7e9350903d10611a86575b611a76818361306d565b8101906135d1565b913880611a30565b503d611a6c565b82513d87823e3d90fd5b50337f00000000000000000000000000000000000000000000000000000000000000008816146119bb565b9050817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104b957611af5612e14565b91602435908473ffffffffffffffffffffffffffffffffffffffff8082541695611b2a611b206130e8565b6001891415613121565b8633148015611c9e575b611b409061021c6131bd565b16948251957f70a0823100000000000000000000000000000000000000000000000000000000875281868801526020948588602481855afa8015611c94578697988597969791611c59575b50918183869360649695109082180290611baf611ba66132c0565b83831415613121565b8851947f23b872dd0000000000000000000000000000000000000000000000000000000086528b8601523060248601521860448401525af13d15601f3d11600187511416171615611bfe578380f35b6064935051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fd5b958092949395508691503d8311611c8d575b611c75818361306d565b8101031261042e579251859388939092909184611b8b565b503d611c6b565b85513d86823e3d90fd5b50337f0000000000000000000000000000000000000000000000000000000000000000831614611b34565b9050611cd436612e7b565b73ffffffffffffffffffffffffffffffffffffffff959293959491949081885416611d006101ff6130e8565b33148015611eaa575b611d159061021c6131bd565b611d2a611d206132f9565b8383161515613121565b8187168451937f38d52e0f00000000000000000000000000000000000000000000000000000000855260209384868381865afa958615611e6c578b96611e76575b50846024918851928380927f70a0823100000000000000000000000000000000000000000000000000000000825230878301528a165afa908115611e6c579085949392918c91611e3d575b5088811090891802958689189a8b97611dcd6132c0565b611dd9918c1415613121565b611de291613828565b8a87518097819582947f6e553f6500000000000000000000000000000000000000000000000000000000845283019161175f9290929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b85819692503d8311611e65575b611e54818361306d565b8101031261042e5784935138611db6565b503d611e4a565b87513d8d823e3d90fd5b6024919650611e9b8691823d8411611ea3575b611e93818361306d565b810190613528565b969150611d6b565b503d611e89565b50337f0000000000000000000000000000000000000000000000000000000000000000831614611d09565b91509180611ee236612f68565b919683959491986119fa73ffffffffffffffffffffffffffffffffffffffff9485845416611f116101ff6130e8565b8033148015611f5a575b611f279061021c6131bd565b88519b8c98899788967f50d8cd4b0000000000000000000000000000000000000000000000000000000088528701613672565b50337f0000000000000000000000000000000000000000000000000000000000000000881614611f1b565b5050346112a557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126112a55773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b809184611fe236612edf565b9073ffffffffffffffffffffffffffffffffffffffff99939998929596949895868554166120116101ff6130e8565b331480156121e8575b6120269061021c6131bd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8861205e612053613332565b308b86161415613121565b14612132575b889694928694926120d9926120a661207c8c9a6135b0565b987f0000000000000000000000000000000000000000000000000000000000000000168099613828565b89519c8d998a9889977fa99aad890000000000000000000000000000000000000000000000000000000089528801613626565b03925af1928315611a8d578592869461210f575b505015612101575061022b91611a52613554565b905061022b91610c26613554565b809192945061212a9350903d10611a8657611a76818361306d565b9185806120ed565b94929095939160249a9998975060208561214b866135b0565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa80156121de5788999a9b84999899916121a1575b509794965092949193909291612064565b97505091506020863d6020116121d6575b816121bf6020938361306d565b8101031261042e576120d98b928997519091612190565b3d91506121b2565b88513d85823e3d90fd5b50337f000000000000000000000000000000000000000000000000000000000000000088161461201a565b5050346112a557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126112a5576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b8383807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126112a5576122b5612e14565b906024359173ffffffffffffffffffffffffffffffffffffffff908180865416916122eb6122e16130e8565b6001851415613121565b8233148015612440575b6123019061021c6131bd565b1683517f70a082310000000000000000000000000000000000000000000000000000000081528288820152602081602481855afa8015612436578790612402575b612363915086811090871802958681189661235b6132c0565b911415613121565b8285116123da5785966e22d473030f116ddee9f6b43ac78ba393843b156104b157879460849386928851998a9788967f36c7851600000000000000000000000000000000000000000000000000000000885287015230602487015216604485015260648401525af190811561042557506104155750f35b8684517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b506020813d60201161242e575b8161241c6020938361306d565b8101031261042e576123639051612342565b3d915061240f565b85513d89823e3d90fd5b50337f00000000000000000000000000000000000000000000000000000000000000008316146122f5565b80918461247736612edf565b9073ffffffffffffffffffffffffffffffffffffffff99939998929596949895868554166124a66101ff6130e8565b331480156125e5575b6124bb9061021c6131bd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff886124e8612053613332565b14612539575b889694928694926120d99261250661207c8c9a6135b0565b89519c8d998a9889977f20b76e810000000000000000000000000000000000000000000000000000000089528801613626565b94929095939160249a99989750602085612552866135b0565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa80156121de5788999a9b84999899916125a8575b5097949650929491939092916124ee565b97505091506020863d6020116125dd575b816125c66020938361306d565b8101031261042e576120d98b928997519091612597565b3d91506125b9565b50337f00000000000000000000000000000000000000000000000000000000000000008816146124af565b5050346112a557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126112a5576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b91905061268b36612e7b565b949092918673ffffffffffffffffffffffffffffffffffffffff808254166126b46101ff6130e8565b33148015612817575b6126c99061021c6131bd565b6126de6126d46132f9565b828a161515613121565b6126f16126e96134ef565b841515613121565b8416928651947f38d52e0f00000000000000000000000000000000000000000000000000000000865260209586818481895afa90811561280d57849261279d9b969492612747928a9997916127f0575b50613828565b8851998a95869485937f94bf804d000000000000000000000000000000000000000000000000000000008552840190929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b03925af19283156108a6575084926127be575b5061022b9250610c26613554565b90915082813d83116127e9575b6127d5818361306d565b8101031261042e5761022b915190386127b0565b503d6127cb565b6128079150893d8b11611ea357611e93818361306d565b38612741565b89513d86823e3d90fd5b50337f00000000000000000000000000000000000000000000000000000000000000008216146126bd565b8360607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261025a5761022b612878612e14565b612880612e37565b6128b973ffffffffffffffffffffffffffffffffffffffff808654166128a76101ff6130e8565b33149081156128c2575061021c6131bd565b6044359161336b565b90507f000000000000000000000000000000000000000000000000000000000000000016331486610213565b5050346112a557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126112a5576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9050602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261106a57813573ffffffffffffffffffffffffffffffffffffffff808654166129b16101ff6130e8565b33148015612ac0575b6129c69061021c6131bd565b7f000000000000000000000000000000000000000000000000000000000000000016908583517f70a0823100000000000000000000000000000000000000000000000000000000815230868201528681602481875afa9081156111fc579082918895949391612a8a575b5090818360249493109083180293612a4961115a6132c0565b865197889586947fde0e9a3e00000000000000000000000000000000000000000000000000000000865218908401525af1908115610c645750610e0b578280f35b92948092508391503d8311612ab9575b612aa4818361306d565b8101031261042e575185929087906024612a30565b503d612a9a565b50337f00000000000000000000000000000000000000000000000000000000000000008216146129ba565b9190507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360160e0811261106a5760a0136104b95782612b29612df1565b73ffffffffffffffffffffffffffffffffffffffff8083541694612b58612b4e6130e8565b6001881415613121565b8533148015612c02575b612b6e9061021c6131bd565b817f00000000000000000000000000000000000000000000000000000000000000001692833b1561074857612bd4936101049386928851998a9788967f8720316d00000000000000000000000000000000000000000000000000000000885287016131f6565b60a43560a487015260c48601521660e48401525af19081156104255750612bf9575080f35b61022b9061303d565b50337f0000000000000000000000000000000000000000000000000000000000000000831614612b62565b9181601f8401121561042e5782359167ffffffffffffffff831161042e576020838186019501011161042e57565b3461042e576040807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261042e5767ffffffffffffffff9060243582811161042e57612cad903690600401612c2d565b612cf9612cbb9492946131bd565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314613121565b830191602093848185031261042e5780359083821161042e57019183601f8401121561042e57823593818511612dc2578460051b9160405195612d3e8885018861306d565b865286808701938601019482861161042e57878101935b868510612d6757612d65886139e1565b005b843583811161042e57820184603f8201121561042e578981013591612d8b836130ae565b612d978951918261306d565b8381528689858501011161042e5760008c8581968c8397018386013783010152815201940193612d55565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60c4359073ffffffffffffffffffffffffffffffffffffffff8216820361042e57565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361042e57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361042e57565b359073ffffffffffffffffffffffffffffffffffffffff8216820361042e57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc608091011261042e5773ffffffffffffffffffffffffffffffffffffffff90600435828116810361042e57916024359160443591606435908116810361042e5790565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201610140811261042e5760a01361042e5760049160a4359160c4359160e435916101043573ffffffffffffffffffffffffffffffffffffffff8116810361042e5791610124359067ffffffffffffffff821161042e57612f6491600401612c2d565b9091565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01610120811261042e5760a01361042e5760049060a4359060c4359060e435906101043573ffffffffffffffffffffffffffffffffffffffff8116810361042e5790565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a091011261042e5773ffffffffffffffffffffffffffffffffffffffff600435818116810361042e57916024359160443591606435828116810361042e5791608435908116810361042e5790565b67ffffffffffffffff8111612dc257604052565b6040810190811067ffffffffffffffff821117612dc257604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117612dc257604052565b67ffffffffffffffff8111612dc257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b604051906130f582613051565b600b82527f756e696e697469617465640000000000000000000000000000000000000000006020830152565b156131295750565b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b8481106131a6575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201613165565b604051906131ca82613051565b601382527f756e617574686f72697a65642073656e646572000000000000000000000000006020830152565b60043573ffffffffffffffffffffffffffffffffffffffff9081811680910361042e57825260243581811680910361042e57602083015260443581811680910361042e57604083015260643590811680910361042e5760608201526080608435910152565b6080809173ffffffffffffffffffffffffffffffffffffffff8061327e83612e5a565b1685528061328e60208401612e5a565b166020860152806132a160408401612e5a565b1660408601526132b360608301612e5a565b1660608501520135910152565b604051906132cd82613051565b600b82527f7a65726f20616d6f756e740000000000000000000000000000000000000000006020830152565b6040519061330682613051565b600c82527f7a65726f206164647265737300000000000000000000000000000000000000006020830152565b6040519061333f82613051565b600f82527f62756e646c6572206164647265737300000000000000000000000000000000006020830152565b919073ffffffffffffffffffffffffffffffffffffffff80911692613391610b9c6132f9565b6133a561339c613332565b30861415613121565b16604051927f70a082310000000000000000000000000000000000000000000000000000000084523060048501526020938481602481865afa9081156134e3576000916134b6575b5083811090841802908184146134af57600080936044938796604051947fa9059cbb00000000000000000000000000000000000000000000000000000000865260048601521860248401525af13d15601f3d11600160005114161716156134515750565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b5050505050565b90508481813d83116134dc575b6134cd818361306d565b8101031261042e5751386133ed565b503d6134c3565b6040513d6000823e3d90fd5b604051906134fc82613051565b600b82527f7a65726f207368617265730000000000000000000000000000000000000000006020830152565b9081602091031261042e575173ffffffffffffffffffffffffffffffffffffffff8116810361042e5790565b6040519061356182613051565b601182527f736c6970706167652065786365656465640000000000000000000000000000006020830152565b60243573ffffffffffffffffffffffffffffffffffffffff8116810361042e5790565b3573ffffffffffffffffffffffffffffffffffffffff8116810361042e5790565b919082604091031261042e576020825192015190565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b919373ffffffffffffffffffffffffffffffffffffffff919361366f9795613651856101209761325b565b60a085015260c08401521660e08201528161010082015201916135e7565b90565b939192610100939695919661368c8661012081019961325b565b60a086015260c085015273ffffffffffffffffffffffffffffffffffffffff80921660e085015216910152565b818102929181159184041417156136cc57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b3d15613726573d9061370c826130ae565b9161371a604051938461306d565b82523d6000602084013e565b606090565b6040519061373882613051565b601082527f756e6578706563746564206f776e6572000000000000000000000000000000006020830152565b6137a273ffffffffffffffffffffffffffffffffffffffff82166137916137896132f9565b821515613121565b613799613332565b90301415613121565b47828110908318028083146138235760009283928392839218905af1156137c557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152fd5b505050565b73ffffffffffffffffffffffffffffffffffffffff80911690604051927fdd62ed3e000000000000000000000000000000000000000000000000000000008452306004850152168060248401526020928381604481865afa9081156134e35760009161396b575b501561389a57505050565b6044600091828594604051927f095ea7b300000000000000000000000000000000000000000000000000000000845260048401527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248401525af13d15601f3d116001600051141617161561390d5750565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600e60248201527f415050524f56455f4641494c45440000000000000000000000000000000000006044820152fd5b90508381813d8311613991575b613982818361306d565b8101031261042e57513861388f565b503d613978565b8051906139dc6040516139aa81613051565b600b81527f63616c6c206661696c65640000000000000000000000000000000000000000006020820152831515613121565b602001fd5b60009060005b81518110156138235782806020808460051b860101519081519101305af4613a0d6136fb565b901561102257506001016139e756fea2646970667358221220f7089854f126cab6b5957fbf2824b05dec502bd4aa2ffe326837a363d67cbe1f64736f6c63430008180033"; + +type AaveV2MigrationBundlerV2ConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: AaveV2MigrationBundlerV2ConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class AaveV2MigrationBundlerV2__factory extends ContractFactory { + constructor(...args: AaveV2MigrationBundlerV2ConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + morpho: AddressLike, + aaveV2Pool: AddressLike, + wstEth: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + morpho, + aaveV2Pool, + wstEth, + overrides || {} + ); + } + override deploy( + morpho: AddressLike, + aaveV2Pool: AddressLike, + wstEth: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(morpho, aaveV2Pool, wstEth, overrides || {}) as Promise< + AaveV2MigrationBundlerV2 & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): AaveV2MigrationBundlerV2__factory { + return super.connect(runner) as AaveV2MigrationBundlerV2__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): AaveV2MigrationBundlerV2Interface { + return new Interface(_abi) as AaveV2MigrationBundlerV2Interface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): AaveV2MigrationBundlerV2 { + return new Contract( + address, + _abi, + runner + ) as unknown as AaveV2MigrationBundlerV2; + } +} diff --git a/pkg/types/factories/src/migration/AaveV3MigrationBundlerV2__factory.ts b/pkg/types/factories/src/migration/AaveV3MigrationBundlerV2__factory.ts new file mode 100644 index 00000000..541a9eb4 --- /dev/null +++ b/pkg/types/factories/src/migration/AaveV3MigrationBundlerV2__factory.ts @@ -0,0 +1,1118 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + AaveV3MigrationBundlerV2, + AaveV3MigrationBundlerV2Interface, +} from "../../../src/migration/AaveV3MigrationBundlerV2"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "morpho", + type: "address", + }, + { + internalType: "address", + name: "aaveV3Pool", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "UnsafeCast", + type: "error", + }, + { + inputs: [], + name: "AAVE_V3_POOL", + outputs: [ + { + internalType: "contract IAaveV3", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "interestRateMode", + type: "uint256", + }, + ], + name: "aaveV3Repay", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "aaveV3Withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + internalType: "uint48", + name: "expiration", + type: "uint48", + }, + { + internalType: "uint48", + name: "nonce", + type: "uint48", + }, + ], + internalType: "struct IAllowanceTransfer.PermitDetails", + name: "details", + type: "tuple", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "sigDeadline", + type: "uint256", + }, + ], + internalType: "struct IAllowanceTransfer.PermitSingle", + name: "permitSingle", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "approve2", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20Transfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20TransferFrom", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "minShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Mint", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Redeem", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoBorrow", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoFlashLoan", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoRepay", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "morphoSetAuthorizationWithSig", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupply", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupplyCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdrawCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "nativeTransfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoFlashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoRepay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupply", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "permit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "publicAllocator", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + internalType: "struct Withdrawal[]", + name: "withdrawals", + type: "tuple[]", + }, + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "supplyMarketParams", + type: "tuple", + }, + ], + name: "reallocateTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom2", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60c0346200010c57601f6200327438819003918201601f19168301916001600160401b03831184841017620001115780849260409485528339810103126200010c576200005a6020620000528362000127565b920162000127565b600080546001600160a01b03191660011790556001600160a01b039182166200008f620000866200013c565b82151562000175565b60805216620000a1620000866200013c565b60a0526040516130949081620001e082396080518181816104a90152818161062d01528181610957015281816111050152818161199101528181611edb0152818161218e015281816122c40152613039015260a0518181816116300152818161183f0152611e6c0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200010c57565b60408051919082016001600160401b038111838210176200011157604052600c82526b7a65726f206164647265737360a01b6020830152565b156200017e5750565b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510620001c5575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350620001a156fe6040608081526004908136101561001557600080fd5b600091823560e01c90816305b4591c14610a4e5781631af3bbc6146121135781632075be0314610a4e57816331f5707214610a4e5781633790767d1461209a57816339029ab614611eff5781633acb562414611e905781633b30370514611e21578382634d5fcf6814611cad5750816354c53ef014611afa578382635b866db6146118ee575081635c39fcc1146118995781636243422b146117925783826362577ad014611718575081636c5ee73c1461154a5781636ef5eeae1461136f57816370dc41fe1461119e5783826384d287ef1461108757508163a184a5a314610f86578163a7f6e60614610d7e578163ac9650d814610bc9578163af50420214610a53578163b1022fdf14610a4e578163bea88fda146108b257838263c95657061461074d578263ca46367314610547578263e29759121461041d57508163ef653419146101ee575063f2522bcd1461016c57600080fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb576101e861019f612406565b6101cc600173ffffffffffffffffffffffffffffffffffffffff85541614156101c66126da565b90612713565b6101df6101d761300e565b6101c66127af565b60243590612d56565b80f35b80fd5b90506101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261041957610223612406565b9161022c612429565b9260643567ffffffffffffffff94858211610415573660238301121561041557818501359586116104155760c09236602460c08902850101116104115760a09660a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261040d576001948986936102c473ffffffffffffffffffffffffffffffffffffffff98898094541614156101c66126da565b6102cf6101d761300e565b1693843b15610409579180919993928851997f833947fd000000000000000000000000000000000000000000000000000000008b528860e48c019216908b015260e060248b0152526101049860248a8a019601938b905b8382106103be575050505050506084358381168091036103b957604486015260a4358381168091036103b957606486015260c4358381168091036103b957608486015260e4359283168093036103b957848080938998899660a48401523560c48301520391604435905af19081156103b057506103a05750f35b6103a99061262f565b6101eb5780f35b513d84823e3d90fd5b600080fd5b9091929394966103ce818961284d565b81880135906fffffffffffffffffffffffffffffffff82168092036104055782810191909152830196830194939291840190610326565b8d80fd5b8a80fd5b8880fd5b8780fd5b8680fd5b8280fd5b80918460607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261054357610452612406565b60443567ffffffffffffffff811161053f57610471903690850161221f565b939073ffffffffffffffffffffffffffffffffffffffff61049b60018289541614156101c66126da565b6104a66101d761300e565b807f000000000000000000000000000000000000000000000000000000000000000016916104d48386612e1a565b823b1561041157879461052c86928851998a97889687957fe0232b4200000000000000000000000000000000000000000000000000000000875216908501526024356024850152606060448501526064840191612ba0565b03925af19081156103b057506103a05750f35b8480fd5b5050fd5b8091847ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36016101009081811261053f5760a0136107485760a4359261058b6123e3565b9060e43567ffffffffffffffff8111610415576105ab903690830161221f565b73ffffffffffffffffffffffffffffffffffffffff926105d46001858b541614156101c66126da565b6105df6101d761300e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84899616986106196106106128eb565b308c1415612713565b146106b4575b61065461062a612b46565b947f0000000000000000000000000000000000000000000000000000000000000000168095612e1a565b833b1561040d5761052c61069a938a979388948a519b8c998a9889977f238d657900000000000000000000000000000000000000000000000000000000895288016127e8565b60a487015260c486015260e4850152610104840191612ba0565b935060246020846106c3612b46565b168851928380927f70a08231000000000000000000000000000000000000000000000000000000008252308a8301525afa90811561073e578991610709575b509361061f565b9850506020883d602011610736575b816107256020938361265f565b810103126103b9578897518a610702565b3d9150610718565b87513d8b823e3d90fd5b505050fd5b929150602061075b366125bf565b97909392919573ffffffffffffffffffffffffffffffffffffffff906107cc828454166107936107896126da565b6001831415612713565b61079e6101d761300e565b6107b36107a96128b2565b858a161515612713565b838c16903082149182156108a8575b50506101c6612d1d565b6107df6107d7612c2b565b851515612713565b61084089519a8b97889687947fb460af9400000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b0393165af191821561089f57508391610869575b6101e89250610861612b0d565b911115612713565b90506020823d602011610897575b816108846020938361265f565b810103126103b9576101e8915190610854565b3d9150610877565b513d85823e3d90fd5b14905038806107c2565b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36016101208112610a4a5760a0136104195760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c360112610419576101048035928315938415036103b95773ffffffffffffffffffffffffffffffffffffffff61094960018288541614156101c66126da565b6109546101d761300e565b807f00000000000000000000000000000000000000000000000000000000000000001691823b156104155751937f8069218f000000000000000000000000000000000000000000000000000000008552816109ad612406565b16908501526109ba612429565b1660248401526044358015158091036103b95760448401526064356064840152608435608484015260a43560ff81168091036103b957859284848094829460a484015260c43560c484015260e43560e48401525af19182610a36575b5050610a3257610a24612ced565b90610a2d575080f35b612f8a565b5080f35b610a3f9061262f565b610419578238610a16565b8380fd5b61224d565b9050610100367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0181811261053f5760c013610a4a5760c43567ffffffffffffffff811161053f57610aa8903690840161221f565b919060e435948515958615036103b95773ffffffffffffffffffffffffffffffffffffffff9182885416610add6107896126da565b610ae86101d761300e565b6e22d473030f116ddee9f6b43ac78ba392833b15610bc55751967f2b67b57000000000000000000000000000000000000000000000000000000000885287015282610b31612406565b16602487015260243583811680910361040d57604487015260443565ffffffffffff908181168091036103b95760648801526064359081168091036103b95760848701526084359283168093036103b9578786610bad81959383988498849660a486015260a43560c486015260e4850152610104840191612ba0565b03925af19182610a36575050610a3257610a24612ced565b8980fd5b8383602092837ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103b957803567ffffffffffffffff918282116103b957366023830112156103b9578181013592602491818511610d5057508360051b90855194610c398984018761265f565b8552602488860192850101933685116103b95760248101925b858410610cef5788600189610ce68a610cb98f7f616c726561647920696e697469617465640000000000000000000000000000008754955191610c9483612643565b601183528201528573ffffffffffffffffffffffffffffffffffffffff861614612713565b7fffffffffffffffffffffffff000000000000000000000000000000000000000092831633178555612fd3565b82541617815580f35b83358381116103b957820190366043830112156103b9578582013590604492610d17836126a0565b90610d248c51928361265f565b838252368585830101116103b9578d848196958296600094018386013783010152815201930192610c52565b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b919050610d8a366125bf565b919492939073ffffffffffffffffffffffffffffffffffffffff8089541692610dbe610db46126da565b6001861415612713565b610dc96101d761300e565b610dde610dd46128b2565b8385161515612713565b610df982861694308614908115610f7c575b506101c6612d1d565b168451927f70a0823100000000000000000000000000000000000000000000000000000000845288840152886020938481602481865afa908115610f72578291610f3b575b5098849392918a89610e679c10908a180291828a189b8c93610e5e612aa8565b908c1415612713565b610ec88951988996879586947fba08765200000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b03925af1928315610f3257508692610efe575b505092610eee610ef4926101e895612cab565b92612cab565b11156101c6612b0d565b9080959250813d8311610f2b575b610f16818361265f565b810103126103b9579251610eee610ef4610edb565b503d610f0c565b513d88823e3d90fd5b8094939250858092503d8311610f6b575b610f56818361265f565b810103126103b9579151909190899084610e3e565b503d610f4c565b87513d84823e3d90fd5b9050851438610df0565b91905060e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261041957610fbb612406565b916064359160ff83168093036103b95760c435938415948515036103b957859273ffffffffffffffffffffffffffffffffffffffff8085541692611000610db46126da565b61100b6101d761300e565b1690813b1561053f578460e49281955197889586947fd505accf00000000000000000000000000000000000000000000000000000000865285015230602485015260243560448501526044356064850152608484015260843560a484015260a43560c48401525af19182610a36575050610a3257610a24612ced565b915091806110943661255a565b9196839594919861110173ffffffffffffffffffffffffffffffffffffffff94858454166110c36107896126da565b6110ce6101d761300e565b88519b8c98899788967f5c2bea490000000000000000000000000000000000000000000000000000000088528701612c64565b03927f0000000000000000000000000000000000000000000000000000000000000000165af19283156111945785928694611161575b50501561114b57506101e891610861612b0d565b90506101e891611159612b0d565b911015612713565b80919294506111859350903d1061118d575b61117d818361265f565b810190612b8a565b913880611137565b503d611173565b82513d87823e3d90fd5b9050817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610419576111d1612406565b91602435908473ffffffffffffffffffffffffffffffffffffffff80825416956112066111fc6126da565b6001891415612713565b6112116101d761300e565b16948251957f70a0823100000000000000000000000000000000000000000000000000000000875281868801526020948588602481855afa801561136557869798859796979161132a575b50918183869360649695109082180290611280611277612c2b565b83831415612713565b8851947f23b872dd0000000000000000000000000000000000000000000000000000000086528b8601523060248601521860448401525af13d15601f3d116001875114161716156112cf578380f35b6064935051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fd5b958092949395508691503d831161135e575b611346818361265f565b810103126103b957925185938893909290918461125c565b503d61133c565b85513d86823e3d90fd5b905061137a3661246d565b73ffffffffffffffffffffffffffffffffffffffff95929395949194906113aa6001838a541614156101c66126da565b6113b56101d761300e565b6113ca6113c06128b2565b8383161515612713565b8187168451937f38d52e0f00000000000000000000000000000000000000000000000000000000855260209384868381865afa95861561150c578b96611516575b50846024918851928380927f70a0823100000000000000000000000000000000000000000000000000000000825230878301528a165afa90811561150c579085949392918c916114dd575b5088811090891802958689189a8b9761146d612c2b565b611479918c1415612713565b61148291612e1a565b8a87518097819582947f6e553f65000000000000000000000000000000000000000000000000000000008452830191610ec89290929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b85819692503d8311611505575b6114f4818361265f565b810103126103b95784935138611456565b503d6114ea565b87513d8d823e3d90fd5b602491965061153b8691823d8411611543575b611533818361265f565b810190612ae1565b96915061140b565b503d611529565b91905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104195761157f612406565b906024359173ffffffffffffffffffffffffffffffffffffffff936115ad60018688541614156101c66126da565b6115b86101d761300e565b84821690868451937f70a0823100000000000000000000000000000000000000000000000000000000855230838601526020978886602481885afa95861561170e57908392918a969594976116d5575b508689608496979810908a18029061162a611621612c2b565b838c1415612713565b611657817f0000000000000000000000000000000000000000000000000000000000000000168094612e1a565b835416908851998a9788967f573ade81000000000000000000000000000000000000000000000000000000008852870152186024850152604435604485015260648401525af190811561089f57506116ad578280f35b813d83116116ce575b6116c0818361265f565b810103126103b95738808280f35b503d6116b6565b9250939490955081813d8311611707575b6116f0818361265f565b810103126103b95751938793928991906084611608565b503d6116e6565b87513d85823e3d90fd5b915091806117253661255a565b9196839594919861110173ffffffffffffffffffffffffffffffffffffffff94858454166117546107896126da565b61175f6101d761300e565b88519b8c98899788967f50d8cd4b0000000000000000000000000000000000000000000000000000000088528701612c64565b918091507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104195760206117c8612406565b606473ffffffffffffffffffffffffffffffffffffffff916117f360018489541614156101c66126da565b6117fe6101d761300e565b8683865197889586947f69328dec000000000000000000000000000000000000000000000000000000008652169084015260243560248401523060448401527f0000000000000000000000000000000000000000000000000000000000000000165af19081156103b05750611871575080f35b602090813d8311611892575b611887818361265f565b810103126103b95780f35b503d61187d565b5050346118ea57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126118ea5773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b5080fd5b8091846118fa366124d1565b9073ffffffffffffffffffffffffffffffffffffffff9993999892959694989561192d60018887541614156101c66126da565b6119386101d761300e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff886119706119656128eb565b308b86161415612713565b14611a44575b889694928694926119eb926119b861198e8c9a612b69565b987f0000000000000000000000000000000000000000000000000000000000000000168099612e1a565b89519c8d998a9889977fa99aad890000000000000000000000000000000000000000000000000000000089528801612bdf565b03925af19283156111945785928694611a21575b505015611a1357506101e891611159612b0d565b90506101e891610861612b0d565b8091929450611a3c9350903d1061118d5761117d818361265f565b9185806119ff565b94929095939160249a99989750602085611a5d86612b69565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa8015611af05788999a9b8499989991611ab3575b509794965092949193909291611976565b97505091506020863d602011611ae8575b81611ad16020938361265f565b810103126103b9576119eb8b928997519091611aa2565b3d9150611ac4565b88513d85823e3d90fd5b8383807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126118ea57611b2d612406565b906024359173ffffffffffffffffffffffffffffffffffffffff90818086541691611b63611b596126da565b6001851415612713565b611b6e6101d761300e565b1683517f70a082310000000000000000000000000000000000000000000000000000000081528288820152602081602481855afa8015611ca3578790611c6f575b611bd09150868110908718029586811896611bc8612c2b565b911415612713565b828511611c475785966e22d473030f116ddee9f6b43ac78ba393843b1561041157879460849386928851998a9788967f36c7851600000000000000000000000000000000000000000000000000000000885287015230602487015216604485015260648401525af19081156103b057506103a05750f35b8684517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b506020813d602011611c9b575b81611c896020938361265f565b810103126103b957611bd09051611baf565b3d9150611c7c565b85513d89823e3d90fd5b809184611cb9366124d1565b9073ffffffffffffffffffffffffffffffffffffffff99939998929596949895611cec60018887541614156101c66126da565b611cf76101d761300e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88611d246119656128eb565b14611d75575b889694928694926119eb92611d4261198e8c9a612b69565b89519c8d998a9889977f20b76e810000000000000000000000000000000000000000000000000000000089528801612bdf565b94929095939160249a99989750602085611d8e86612b69565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa8015611af05788999a9b8499989991611de4575b509794965092949193909291611d2a565b97505091506020863d602011611e19575b81611e026020938361265f565b810103126103b9576119eb8b928997519091611dd3565b3d9150611df5565b5050346118ea57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126118ea576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5050346118ea57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126118ea576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b919050611f0b3661246d565b949092918673ffffffffffffffffffffffffffffffffffffffff611f3860018284541614156101c66126da565b611f436101d761300e565b611f58611f4e6128b2565b828a161515612713565b611f6b611f63612aa8565b841515612713565b8416928651947f38d52e0f00000000000000000000000000000000000000000000000000000000865260209586818481895afa9081156120905784926120179b969492611fc1928a999791612073575b50612e1a565b8851998a95869485937f94bf804d000000000000000000000000000000000000000000000000000000008552840190929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b03925af192831561206a57508492612038575b506101e89250610861612b0d565b90915082813d8311612063575b61204f818361265f565b810103126103b9576101e89151903861202a565b503d612045565b513d86823e3d90fd5b61208a9150893d8b1161154357611533818361265f565b38611fbb565b89513d86823e3d90fd5b8360607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101eb576101e86120d0612406565b6120d8612429565b6120ff600173ffffffffffffffffffffffffffffffffffffffff86541614156101c66126da565b61210a6101d761300e565b60443591612924565b9190507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360160e08112610a4a5760a01361041957826121516123e3565b73ffffffffffffffffffffffffffffffffffffffff80835416946121806121766126da565b6001881415612713565b61218b6101d761300e565b817f00000000000000000000000000000000000000000000000000000000000000001692833b1561053f576121f1936101049386928851998a9788967f8720316d00000000000000000000000000000000000000000000000000000000885287016127e8565b60a43560a487015260c48601521660e48401525af19081156103b05750612216575080f35b6101e89061262f565b9181601f840112156103b95782359167ffffffffffffffff83116103b957602083818601950101116103b957565b346103b9576040807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103b95767ffffffffffffffff906024358281116103b95761229f90369060040161221f565b6122eb6122ad9492946127af565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314612713565b83019160209384818503126103b9578035908382116103b957019183601f840112156103b9578235938185116123b4578460051b91604051956123308885018861265f565b86528680870193860101948286116103b957878101935b8685106123595761235788612fd3565b005b84358381116103b957820184603f820112156103b957898101359161237d836126a0565b6123898951918261265f565b838152868985850101116103b95760008c8581968c8397018386013783010152815201940193612347565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60c4359073ffffffffffffffffffffffffffffffffffffffff821682036103b957565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036103b957565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036103b957565b359073ffffffffffffffffffffffffffffffffffffffff821682036103b957565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60809101126103b95773ffffffffffffffffffffffffffffffffffffffff9060043582811681036103b95791602435916044359160643590811681036103b95790565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820161014081126103b95760a0136103b95760049160a4359160c4359160e435916101043573ffffffffffffffffffffffffffffffffffffffff811681036103b95791610124359067ffffffffffffffff82116103b9576125569160040161221f565b9091565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0161012081126103b95760a0136103b95760049060a4359060c4359060e435906101043573ffffffffffffffffffffffffffffffffffffffff811681036103b95790565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a09101126103b95773ffffffffffffffffffffffffffffffffffffffff60043581811681036103b95791602435916044359160643582811681036103b9579160843590811681036103b95790565b67ffffffffffffffff81116123b457604052565b6040810190811067ffffffffffffffff8211176123b457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176123b457604052565b67ffffffffffffffff81116123b457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b604051906126e782612643565b600b82527f756e696e697469617465640000000000000000000000000000000000000000006020830152565b1561271b5750565b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110612798575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201612757565b604051906127bc82612643565b601382527f756e617574686f72697a65642073656e646572000000000000000000000000006020830152565b60043573ffffffffffffffffffffffffffffffffffffffff908181168091036103b95782526024358181168091036103b95760208301526044358181168091036103b95760408301526064359081168091036103b95760608201526080608435910152565b6080809173ffffffffffffffffffffffffffffffffffffffff806128708361244c565b168552806128806020840161244c565b166020860152806128936040840161244c565b1660408601526128a56060830161244c565b1660608501520135910152565b604051906128bf82612643565b600c82527f7a65726f206164647265737300000000000000000000000000000000000000006020830152565b604051906128f882612643565b600f82527f62756e646c6572206164647265737300000000000000000000000000000000006020830152565b919073ffffffffffffffffffffffffffffffffffffffff8091169261294a6107d76128b2565b61295e6129556128eb565b30861415612713565b16604051927f70a082310000000000000000000000000000000000000000000000000000000084523060048501526020938481602481865afa908115612a9c57600091612a6f575b508381109084180290818414612a6857600080936044938796604051947fa9059cbb00000000000000000000000000000000000000000000000000000000865260048601521860248401525af13d15601f3d1160016000511416171615612a0a5750565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b5050505050565b90508481813d8311612a95575b612a86818361265f565b810103126103b95751386129a6565b503d612a7c565b6040513d6000823e3d90fd5b60405190612ab582612643565b600b82527f7a65726f207368617265730000000000000000000000000000000000000000006020830152565b908160209103126103b9575173ffffffffffffffffffffffffffffffffffffffff811681036103b95790565b60405190612b1a82612643565b601182527f736c6970706167652065786365656465640000000000000000000000000000006020830152565b60243573ffffffffffffffffffffffffffffffffffffffff811681036103b95790565b3573ffffffffffffffffffffffffffffffffffffffff811681036103b95790565b91908260409103126103b9576020825192015190565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b919373ffffffffffffffffffffffffffffffffffffffff9193612c289795612c0a856101209761284d565b60a085015260c08401521660e0820152816101008201520191612ba0565b90565b60405190612c3882612643565b600b82527f7a65726f20616d6f756e740000000000000000000000000000000000000000006020830152565b9391926101009396959196612c7e8661012081019961284d565b60a086015260c085015273ffffffffffffffffffffffffffffffffffffffff80921660e085015216910152565b81810292918115918404141715612cbe57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b3d15612d18573d90612cfe826126a0565b91612d0c604051938461265f565b82523d6000602084013e565b606090565b60405190612d2a82612643565b601082527f756e6578706563746564206f776e6572000000000000000000000000000000006020830152565b612d9473ffffffffffffffffffffffffffffffffffffffff8216612d83612d7b6128b2565b821515612713565b612d8b6128eb565b90301415612713565b4782811090831802808314612e155760009283928392839218905af115612db757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152fd5b505050565b73ffffffffffffffffffffffffffffffffffffffff80911690604051927fdd62ed3e000000000000000000000000000000000000000000000000000000008452306004850152168060248401526020928381604481865afa908115612a9c57600091612f5d575b5015612e8c57505050565b6044600091828594604051927f095ea7b300000000000000000000000000000000000000000000000000000000845260048401527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248401525af13d15601f3d1160016000511416171615612eff5750565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600e60248201527f415050524f56455f4641494c45440000000000000000000000000000000000006044820152fd5b90508381813d8311612f83575b612f74818361265f565b810103126103b9575138612e81565b503d612f6a565b805190612fce604051612f9c81612643565b600b81527f63616c6c206661696c65640000000000000000000000000000000000000000006020820152831515612713565b602001fd5b60009060005b8151811015612e155782806020808460051b860101519081519101305af4612fff612ced565b9015610a2d5750600101612fd9565b73ffffffffffffffffffffffffffffffffffffffff80600054163314908115613035575090565b90507f00000000000000000000000000000000000000000000000000000000000000001633149056fea2646970667358221220d747f54ca908d4a6c0d8e294751e5618e5f7757a7bd80ce5f39925978bd2dbfd64736f6c63430008180033"; + +type AaveV3MigrationBundlerV2ConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: AaveV3MigrationBundlerV2ConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class AaveV3MigrationBundlerV2__factory extends ContractFactory { + constructor(...args: AaveV3MigrationBundlerV2ConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + morpho: AddressLike, + aaveV3Pool: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(morpho, aaveV3Pool, overrides || {}); + } + override deploy( + morpho: AddressLike, + aaveV3Pool: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(morpho, aaveV3Pool, overrides || {}) as Promise< + AaveV3MigrationBundlerV2 & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): AaveV3MigrationBundlerV2__factory { + return super.connect(runner) as AaveV3MigrationBundlerV2__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): AaveV3MigrationBundlerV2Interface { + return new Interface(_abi) as AaveV3MigrationBundlerV2Interface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): AaveV3MigrationBundlerV2 { + return new Contract( + address, + _abi, + runner + ) as unknown as AaveV3MigrationBundlerV2; + } +} diff --git a/pkg/types/factories/src/migration/AaveV3OptimizerMigrationBundlerV2__factory.ts b/pkg/types/factories/src/migration/AaveV3OptimizerMigrationBundlerV2__factory.ts new file mode 100644 index 00000000..15d02fb4 --- /dev/null +++ b/pkg/types/factories/src/migration/AaveV3OptimizerMigrationBundlerV2__factory.ts @@ -0,0 +1,1186 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + AaveV3OptimizerMigrationBundlerV2, + AaveV3OptimizerMigrationBundlerV2Interface, +} from "../../../src/migration/AaveV3OptimizerMigrationBundlerV2"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "morpho", + type: "address", + }, + { + internalType: "address", + name: "aaveV3Optimizer", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "UnsafeCast", + type: "error", + }, + { + inputs: [], + name: "AAVE_V3_OPTIMIZER", + outputs: [ + { + internalType: "contract IAaveV3Optimizer", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bool", + name: "isApproved", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "aaveV3OptimizerApproveManagerWithSig", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "underlying", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "aaveV3OptimizerRepay", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "underlying", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxIterations", + type: "uint256", + }, + ], + name: "aaveV3OptimizerWithdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "underlying", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "aaveV3OptimizerWithdrawCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + internalType: "uint48", + name: "expiration", + type: "uint48", + }, + { + internalType: "uint48", + name: "nonce", + type: "uint48", + }, + ], + internalType: "struct IAllowanceTransfer.PermitDetails", + name: "details", + type: "tuple", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "sigDeadline", + type: "uint256", + }, + ], + internalType: "struct IAllowanceTransfer.PermitSingle", + name: "permitSingle", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "approve2", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20Transfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20TransferFrom", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "minShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Mint", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Redeem", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoBorrow", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoFlashLoan", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoRepay", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "morphoSetAuthorizationWithSig", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupply", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupplyCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdrawCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "nativeTransfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoFlashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoRepay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupply", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "permit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "publicAllocator", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + internalType: "struct Withdrawal[]", + name: "withdrawals", + type: "tuple[]", + }, + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "supplyMarketParams", + type: "tuple", + }, + ], + name: "reallocateTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom2", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60c0346200011a57601f620034f938819003918201601f19168301916001600160401b038311848410176200011f5780849260409485528339810103126200011a576200005a6020620000528362000135565b920162000135565b600080546001600160a01b03191660011790556001600160a01b039182166200008f620000866200014a565b82151562000183565b60805216620000a1620000866200014a565b60a05260405161330b9081620001ee82396080518181816105d30152818161099801528181610caf0152818161147601528181611c6801528181612143015281816123f60152818161252c01526132b0015260a0518181816104ed015281816106bc015281816107c9015281816115c60152611a4c0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200011a57565b60408051919082016001600160401b038111838210176200011f57604052600c82526b7a65726f206164647265737360a01b6020830152565b156200018c5750565b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510620001d3575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350620001af56fe6040608081526004908136101561001557600080fd5b600091823560e01c90816305b4591c14610da65781631af3bbc61461237b5781632075be0314610da657816331f5707214610da65781633790767d1461230257816339029ab6146121675781633acb5624146120f8578382634d5fcf6814611f845750816354c53ef014611dd1578382635b866db614611bc5575081635c39fcc114611b745783826362577ad014611afa5750816365254929146119a45781636ef5eeae146117c957816370dc41fe146115f85781637a2471771461150f5783826384d287ef146113f857508163a184a5a3146112de578163a7f6e606146110d6578163ac9650d814610f21578163af50420214610dab578163b1022fdf14610da6578163bea88fda14610c0a57838263c956570614610ab8578263ca463673146108b257508163d7442a5a146106e4578163e262fcc51461067157838263e29759121461054757508163e89243d114610435578163ef65341914610206575063f2522bcd1461018457600080fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610203576102006101b761266e565b6101e4600173ffffffffffffffffffffffffffffffffffffffff85541614156101de612951565b9061298a565b6101f76101ef613285565b6101de612a26565b60243590612fcd565b80f35b80fd5b90506101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104315761023b61266e565b91610244612691565b9260643567ffffffffffffffff9485821161042d573660238301121561042d578185013595861161042d5760c09236602460c08902850101116104295760a09660a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c360112610425576001948986936102dc73ffffffffffffffffffffffffffffffffffffffff98898094541614156101de612951565b6102e76101ef613285565b1693843b15610421579180919993928851997f833947fd000000000000000000000000000000000000000000000000000000008b528860e48c019216908b015260e060248b0152526101049860248a8a019601938b905b8382106103d6575050505050506084358381168091036103d157604486015260a4358381168091036103d157606486015260c4358381168091036103d157608486015260e4359283168093036103d157848080938998899660a48401523560c48301520391604435905af19081156103c857506103b85750f35b6103c1906128a6565b6102035780f35b513d84823e3d90fd5b600080fd5b9091929394966103e68189612ac4565b81880135906fffffffffffffffffffffffffffffffff821680920361041d578281019190915283019683019493929184019061033e565b8d80fd5b8a80fd5b8880fd5b8780fd5b8680fd5b8280fd5b918091507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261043157602061046b61266e565b608473ffffffffffffffffffffffffffffffffffffffff9186838082541661049e610494612951565b600183141561298a565b6104a96101ef613285565b875198899687957f2bbccf010000000000000000000000000000000000000000000000000000000087521690850152602435602485015260448401523060648401527f0000000000000000000000000000000000000000000000000000000000000000165af19081156103c8575061051f575080f35b602090813d8311610540575b61053581836128d6565b810103126103d15780f35b503d61052b565b80918460607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261066d5761057c61266e565b60443567ffffffffffffffff81116106695761059b9036908501612487565b939073ffffffffffffffffffffffffffffffffffffffff6105c560018289541614156101de612951565b6105d06101ef613285565b807f000000000000000000000000000000000000000000000000000000000000000016916105fe8386613091565b823b1561042957879461065686928851998a97889687957fe0232b4200000000000000000000000000000000000000000000000000000000875216908501526024356024850152606060448501526064840191612e17565b03925af19081156103c857506103b85750f35b8480fd5b5050fd5b5050346106e057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106e0576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b918091507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104315761071861266e565b906024359173ffffffffffffffffffffffffffffffffffffffff9361074660018688541614156101de612951565b6107516101ef613285565b84821690868451937f70a0823100000000000000000000000000000000000000000000000000000000855230838601526020978886602481885afa9586156108a857908392918a9695949761086f575b508689606496979810908a1802906107c36107ba612ea2565b838c141561298a565b6107f0817f0000000000000000000000000000000000000000000000000000000000000000168094613091565b835416908851998a9788967f5ceae9c400000000000000000000000000000000000000000000000000000000885287015218602485015260448401525af1908115610866575061083e578280f35b813d831161085f575b61085181836128d6565b810103126103d15738808280f35b503d610847565b513d85823e3d90fd5b9250939490955081813d83116108a1575b61088a81836128d6565b810103126103d157519387939289919060646107a1565b503d610880565b87513d85823e3d90fd5b8091847ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601610100908181126106695760a013610ab35760a435926108f661264b565b9060e43567ffffffffffffffff811161042d576109169036908301612487565b73ffffffffffffffffffffffffffffffffffffffff9261093f6001858b541614156101de612951565b61094a6101ef613285565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848996169861098461097b612b62565b308c141561298a565b14610a1f575b6109bf610995612dbd565b947f0000000000000000000000000000000000000000000000000000000000000000168095613091565b833b1561042557610656610a05938a979388948a519b8c998a9889977f238d65790000000000000000000000000000000000000000000000000000000089528801612a5f565b60a487015260c486015260e4850152610104840191612e17565b93506024602084610a2e612dbd565b168851928380927f70a08231000000000000000000000000000000000000000000000000000000008252308a8301525afa908115610aa9578991610a74575b509361098a565b9850506020883d602011610aa1575b81610a90602093836128d6565b810103126103d1578897518a610a6d565b3d9150610a83565b87513d8b823e3d90fd5b505050fd5b9291506020610ac636612836565b97909392919573ffffffffffffffffffffffffffffffffffffffff90610b2d82845416610af4610494612951565b610aff6101ef613285565b610b14610b0a612b29565b858a16151561298a565b838c1690308214918215610c00575b50506101de612f94565b610b40610b38612ea2565b85151561298a565b610ba189519a8b97889687947fb460af9400000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b0393165af191821561086657508391610bca575b6102009250610bc2612d84565b91111561298a565b90506020823d602011610bf8575b81610be5602093836128d6565b810103126103d157610200915190610bb5565b3d9150610bd8565b1490503880610b23565b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36016101208112610da25760a0136104315760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c360112610431576101048035928315938415036103d15773ffffffffffffffffffffffffffffffffffffffff610ca160018288541614156101de612951565b610cac6101ef613285565b807f00000000000000000000000000000000000000000000000000000000000000001691823b1561042d5751937f8069218f00000000000000000000000000000000000000000000000000000000855281610d0561266e565b1690850152610d12612691565b1660248401526044358015158091036103d15760448401526064356064840152608435608484015260a43560ff81168091036103d157859284848094829460a484015260c43560c484015260e43560e48401525af19182610d8e575b5050610d8a57610d7c612f22565b90610d85575080f35b613201565b5080f35b610d97906128a6565b610431578238610d6e565b8380fd5b6124b5565b9050610100367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc018181126106695760c013610da25760c43567ffffffffffffffff811161066957610e009036908401612487565b919060e435948515958615036103d15773ffffffffffffffffffffffffffffffffffffffff9182885416610e35610494612951565b610e406101ef613285565b6e22d473030f116ddee9f6b43ac78ba392833b15610f1d5751967f2b67b57000000000000000000000000000000000000000000000000000000000885287015282610e8961266e565b16602487015260243583811680910361042557604487015260443565ffffffffffff908181168091036103d15760648801526064359081168091036103d15760848701526084359283168093036103d1578786610f0581959383988498849660a486015260a43560c486015260e4850152610104840191612e17565b03925af19182610d8e575050610d8a57610d7c612f22565b8980fd5b8383602092837ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103d157803567ffffffffffffffff918282116103d157366023830112156103d15781810135926024918185116110a857508360051b90855194610f91898401876128d6565b8552602488860192850101933685116103d15760248101925b858410611047578860018961103e8a6110118f7f616c726561647920696e697469617465640000000000000000000000000000008754955191610fec836128ba565b601183528201528573ffffffffffffffffffffffffffffffffffffffff86161461298a565b7fffffffffffffffffffffffff00000000000000000000000000000000000000009283163317855561324a565b82541617815580f35b83358381116103d157820190366043830112156103d157858201359060449261106f83612917565b9061107c8c5192836128d6565b838252368585830101116103d1578d848196958296600094018386013783010152815201930192610faa565b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b9190506110e236612836565b919492939073ffffffffffffffffffffffffffffffffffffffff808954169261111661110c612951565b600186141561298a565b6111216101ef613285565b61113661112c612b29565b838516151561298a565b611151828616943086149081156112d4575b506101de612f94565b168451927f70a0823100000000000000000000000000000000000000000000000000000000845288840152886020938481602481865afa9081156112ca578291611293575b5098849392918a896111bf9c10908a180291828a189b8c936111b6612d1f565b908c141561298a565b6112208951988996879586947fba08765200000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b03925af192831561128a57508692611256575b50509261124661124c9261020095612f52565b92612f52565b11156101de612d84565b9080959250813d8311611283575b61126e81836128d6565b810103126103d157925161124661124c611233565b503d611264565b513d88823e3d90fd5b8094939250858092503d83116112c3575b6112ae81836128d6565b810103126103d1579151909190899084611196565b503d6112a4565b87513d84823e3d90fd5b9050851438611148565b91905060e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104315761131361266e565b6064359160ff83168093036103d157849161132c612827565b9473ffffffffffffffffffffffffffffffffffffffff808554169261135261110c612951565b61135d6101ef613285565b1690813b15610669578460e49281955197889586947fd505accf00000000000000000000000000000000000000000000000000000000865285015230602485015260243560448501526044356064850152608484015260843560a484015260a43560c48401525af191826113e4575b5050610d8a576113da612f22565b9015610d85575080f35b6113ed906128a6565b6104315782386113cc565b91509180611405366127c2565b9196839594919861147273ffffffffffffffffffffffffffffffffffffffff9485845416611434610494612951565b61143f6101ef613285565b88519b8c98899788967f5c2bea490000000000000000000000000000000000000000000000000000000088528701612edb565b03927f0000000000000000000000000000000000000000000000000000000000000000165af192831561150557859286946114d2575b5050156114bc575061020091610bc2612d84565b9050610200916114ca612d84565b91101561298a565b80919294506114f69350903d106114fe575b6114ee81836128d6565b810190612e01565b9138806114a8565b503d6114e4565b82513d87823e3d90fd5b91905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261043157602061154661266e565b60a473ffffffffffffffffffffffffffffffffffffffff9186838082541661156f610494612951565b61157a6101ef613285565b875198899687957f5501f1c600000000000000000000000000000000000000000000000000000000875216908501526024356024850152604484015230606484015260443560848401527f0000000000000000000000000000000000000000000000000000000000000000165af19081156103c8575061051f575080f35b9050817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104315761162b61266e565b91602435908473ffffffffffffffffffffffffffffffffffffffff8082541695611660611656612951565b600189141561298a565b61166b6101ef613285565b16948251957f70a0823100000000000000000000000000000000000000000000000000000000875281868801526020948588602481855afa80156117bf578697988597969791611784575b509181838693606496951090821802906116da6116d1612ea2565b8383141561298a565b8851947f23b872dd0000000000000000000000000000000000000000000000000000000086528b8601523060248601521860448401525af13d15601f3d11600187511416171615611729578380f35b6064935051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fd5b958092949395508691503d83116117b8575b6117a081836128d6565b810103126103d15792518593889390929091846116b6565b503d611796565b85513d86823e3d90fd5b90506117d4366126d5565b73ffffffffffffffffffffffffffffffffffffffff95929395949194906118046001838a541614156101de612951565b61180f6101ef613285565b61182461181a612b29565b838316151561298a565b8187168451937f38d52e0f00000000000000000000000000000000000000000000000000000000855260209384868381865afa958615611966578b96611970575b50846024918851928380927f70a0823100000000000000000000000000000000000000000000000000000000825230878301528a165afa908115611966579085949392918c91611937575b5088811090891802958689189a8b976118c7612ea2565b6118d3918c141561298a565b6118dc91613091565b8a87518097819582947f6e553f650000000000000000000000000000000000000000000000000000000084528301916112209290929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b85819692503d831161195f575b61194e81836128d6565b810103126103d157849351386118b0565b503d611944565b87513d8d823e3d90fd5b60249196506119958691823d841161199d575b61198d81836128d6565b810190612d58565b969150611865565b503d611983565b905060e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610431578035918215158093036103d15760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c360112610da257611a0f612827565b9273ffffffffffffffffffffffffffffffffffffffff8086541690611a3f611a35612951565b600184141561298a565b611a4a6101ef613285565b7f00000000000000000000000000000000000000000000000000000000000000001692833b1561042d5751937f896f122c00000000000000000000000000000000000000000000000000000000855284015230602484015260448301526024356064830152604435608483015260643560ff81168091036103d1578261010481878095819560a484015260843560c484015260a43560e48401525af191826113e4575050610d8a576113da612f22565b91509180611b07366127c2565b9196839594919861147273ffffffffffffffffffffffffffffffffffffffff9485845416611b36610494612951565b611b416101ef613285565b88519b8c98899788967f50d8cd4b0000000000000000000000000000000000000000000000000000000088528701612edb565b5050346106e057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106e05773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b809184611bd136612739565b9073ffffffffffffffffffffffffffffffffffffffff99939998929596949895611c0460018887541614156101de612951565b611c0f6101ef613285565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88611c47611c3c612b62565b308b8616141561298a565b14611d1b575b88969492869492611cc292611c8f611c658c9a612de0565b987f0000000000000000000000000000000000000000000000000000000000000000168099613091565b89519c8d998a9889977fa99aad890000000000000000000000000000000000000000000000000000000089528801612e56565b03925af19283156115055785928694611cf8575b505015611cea5750610200916114ca612d84565b905061020091610bc2612d84565b8091929450611d139350903d106114fe576114ee81836128d6565b918580611cd6565b94929095939160249a99989750602085611d3486612de0565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa8015611dc75788999a9b8499989991611d8a575b509794965092949193909291611c4d565b97505091506020863d602011611dbf575b81611da8602093836128d6565b810103126103d157611cc28b928997519091611d79565b3d9150611d9b565b88513d85823e3d90fd5b8383807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106e057611e0461266e565b906024359173ffffffffffffffffffffffffffffffffffffffff90818086541691611e3a611e30612951565b600185141561298a565b611e456101ef613285565b1683517f70a082310000000000000000000000000000000000000000000000000000000081528288820152602081602481855afa8015611f7a578790611f46575b611ea79150868110908718029586811896611e9f612ea2565b91141561298a565b828511611f1e5785966e22d473030f116ddee9f6b43ac78ba393843b1561042957879460849386928851998a9788967f36c7851600000000000000000000000000000000000000000000000000000000885287015230602487015216604485015260648401525af19081156103c857506103b85750f35b8684517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b506020813d602011611f72575b81611f60602093836128d6565b810103126103d157611ea79051611e86565b3d9150611f53565b85513d89823e3d90fd5b809184611f9036612739565b9073ffffffffffffffffffffffffffffffffffffffff99939998929596949895611fc360018887541614156101de612951565b611fce6101ef613285565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88611ffb611c3c612b62565b1461204c575b88969492869492611cc292612019611c658c9a612de0565b89519c8d998a9889977f20b76e810000000000000000000000000000000000000000000000000000000089528801612e56565b94929095939160249a9998975060208561206586612de0565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa8015611dc75788999a9b84999899916120bb575b509794965092949193909291612001565b97505091506020863d6020116120f0575b816120d9602093836128d6565b810103126103d157611cc28b9289975190916120aa565b3d91506120cc565b5050346106e057817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106e0576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b919050612173366126d5565b949092918673ffffffffffffffffffffffffffffffffffffffff6121a060018284541614156101de612951565b6121ab6101ef613285565b6121c06121b6612b29565b828a16151561298a565b6121d36121cb612d1f565b84151561298a565b8416928651947f38d52e0f00000000000000000000000000000000000000000000000000000000865260209586818481895afa9081156122f857849261227f9b969492612229928a9997916122db575b50613091565b8851998a95869485937f94bf804d000000000000000000000000000000000000000000000000000000008552840190929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b03925af19283156122d2575084926122a0575b506102009250610bc2612d84565b90915082813d83116122cb575b6122b781836128d6565b810103126103d15761020091519038612292565b503d6122ad565b513d86823e3d90fd5b6122f29150893d8b1161199d5761198d81836128d6565b38612223565b89513d86823e3d90fd5b8360607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102035761020061233861266e565b612340612691565b612367600173ffffffffffffffffffffffffffffffffffffffff86541614156101de612951565b6123726101ef613285565b60443591612b9b565b9190507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360160e08112610da25760a01361043157826123b961264b565b73ffffffffffffffffffffffffffffffffffffffff80835416946123e86123de612951565b600188141561298a565b6123f36101ef613285565b817f00000000000000000000000000000000000000000000000000000000000000001692833b1561066957612459936101049386928851998a9788967f8720316d0000000000000000000000000000000000000000000000000000000088528701612a5f565b60a43560a487015260c48601521660e48401525af19081156103c8575061247e575080f35b610200906128a6565b9181601f840112156103d15782359167ffffffffffffffff83116103d157602083818601950101116103d157565b346103d1576040807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103d15767ffffffffffffffff906024358281116103d157612507903690600401612487565b612553612515949294612a26565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016331461298a565b83019160209384818503126103d1578035908382116103d157019183601f840112156103d15782359381851161261c578460051b9160405195612598888501886128d6565b86528680870193860101948286116103d157878101935b8685106125c1576125bf8861324a565b005b84358381116103d157820184603f820112156103d15789810135916125e583612917565b6125f1895191826128d6565b838152868985850101116103d15760008c8581968c83970183860137830101528152019401936125af565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60c4359073ffffffffffffffffffffffffffffffffffffffff821682036103d157565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036103d157565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036103d157565b359073ffffffffffffffffffffffffffffffffffffffff821682036103d157565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60809101126103d15773ffffffffffffffffffffffffffffffffffffffff9060043582811681036103d15791602435916044359160643590811681036103d15790565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820161014081126103d15760a0136103d15760049160a4359160c4359160e435916101043573ffffffffffffffffffffffffffffffffffffffff811681036103d15791610124359067ffffffffffffffff82116103d1576127be91600401612487565b9091565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0161012081126103d15760a0136103d15760049060a4359060c4359060e435906101043573ffffffffffffffffffffffffffffffffffffffff811681036103d15790565b60c4359081151582036103d157565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a09101126103d15773ffffffffffffffffffffffffffffffffffffffff60043581811681036103d15791602435916044359160643582811681036103d1579160843590811681036103d15790565b67ffffffffffffffff811161261c57604052565b6040810190811067ffffffffffffffff82111761261c57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761261c57604052565b67ffffffffffffffff811161261c57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6040519061295e826128ba565b600b82527f756e696e697469617465640000000000000000000000000000000000000000006020830152565b156129925750565b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110612a0f575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b8181018301518682016044015285935082016129ce565b60405190612a33826128ba565b601382527f756e617574686f72697a65642073656e646572000000000000000000000000006020830152565b60043573ffffffffffffffffffffffffffffffffffffffff908181168091036103d15782526024358181168091036103d15760208301526044358181168091036103d15760408301526064359081168091036103d15760608201526080608435910152565b6080809173ffffffffffffffffffffffffffffffffffffffff80612ae7836126b4565b16855280612af7602084016126b4565b16602086015280612b0a604084016126b4565b166040860152612b1c606083016126b4565b1660608501520135910152565b60405190612b36826128ba565b600c82527f7a65726f206164647265737300000000000000000000000000000000000000006020830152565b60405190612b6f826128ba565b600f82527f62756e646c6572206164647265737300000000000000000000000000000000006020830152565b919073ffffffffffffffffffffffffffffffffffffffff80911692612bc1610b38612b29565b612bd5612bcc612b62565b3086141561298a565b16604051927f70a082310000000000000000000000000000000000000000000000000000000084523060048501526020938481602481865afa908115612d1357600091612ce6575b508381109084180290818414612cdf57600080936044938796604051947fa9059cbb00000000000000000000000000000000000000000000000000000000865260048601521860248401525af13d15601f3d1160016000511416171615612c815750565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b5050505050565b90508481813d8311612d0c575b612cfd81836128d6565b810103126103d1575138612c1d565b503d612cf3565b6040513d6000823e3d90fd5b60405190612d2c826128ba565b600b82527f7a65726f207368617265730000000000000000000000000000000000000000006020830152565b908160209103126103d1575173ffffffffffffffffffffffffffffffffffffffff811681036103d15790565b60405190612d91826128ba565b601182527f736c6970706167652065786365656465640000000000000000000000000000006020830152565b60243573ffffffffffffffffffffffffffffffffffffffff811681036103d15790565b3573ffffffffffffffffffffffffffffffffffffffff811681036103d15790565b91908260409103126103d1576020825192015190565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b919373ffffffffffffffffffffffffffffffffffffffff9193612e9f9795612e818561012097612ac4565b60a085015260c08401521660e0820152816101008201520191612e17565b90565b60405190612eaf826128ba565b600b82527f7a65726f20616d6f756e740000000000000000000000000000000000000000006020830152565b9391926101009396959196612ef586610120810199612ac4565b60a086015260c085015273ffffffffffffffffffffffffffffffffffffffff80921660e085015216910152565b3d15612f4d573d90612f3382612917565b91612f4160405193846128d6565b82523d6000602084013e565b606090565b81810292918115918404141715612f6557565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60405190612fa1826128ba565b601082527f756e6578706563746564206f776e6572000000000000000000000000000000006020830152565b61300b73ffffffffffffffffffffffffffffffffffffffff8216612ffa612ff2612b29565b82151561298a565b613002612b62565b9030141561298a565b478281109083180280831461308c5760009283928392839218905af11561302e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152fd5b505050565b73ffffffffffffffffffffffffffffffffffffffff80911690604051927fdd62ed3e000000000000000000000000000000000000000000000000000000008452306004850152168060248401526020928381604481865afa908115612d13576000916131d4575b501561310357505050565b6044600091828594604051927f095ea7b300000000000000000000000000000000000000000000000000000000845260048401527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248401525af13d15601f3d11600160005114161716156131765750565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600e60248201527f415050524f56455f4641494c45440000000000000000000000000000000000006044820152fd5b90508381813d83116131fa575b6131eb81836128d6565b810103126103d15751386130f8565b503d6131e1565b805190613245604051613213816128ba565b600b81527f63616c6c206661696c6564000000000000000000000000000000000000000000602082015283151561298a565b602001fd5b60009060005b815181101561308c5782806020808460051b860101519081519101305af4613276612f22565b9015610d855750600101613250565b73ffffffffffffffffffffffffffffffffffffffff806000541633149081156132ac575090565b90507f00000000000000000000000000000000000000000000000000000000000000001633149056fea26469706673582212201ee19ed0433a607019338b50eb66de606edf41f224d891d68599921f7fff534f64736f6c63430008180033"; + +type AaveV3OptimizerMigrationBundlerV2ConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: AaveV3OptimizerMigrationBundlerV2ConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class AaveV3OptimizerMigrationBundlerV2__factory extends ContractFactory { + constructor(...args: AaveV3OptimizerMigrationBundlerV2ConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + morpho: AddressLike, + aaveV3Optimizer: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(morpho, aaveV3Optimizer, overrides || {}); + } + override deploy( + morpho: AddressLike, + aaveV3Optimizer: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(morpho, aaveV3Optimizer, overrides || {}) as Promise< + AaveV3OptimizerMigrationBundlerV2 & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): AaveV3OptimizerMigrationBundlerV2__factory { + return super.connect(runner) as AaveV3OptimizerMigrationBundlerV2__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): AaveV3OptimizerMigrationBundlerV2Interface { + return new Interface(_abi) as AaveV3OptimizerMigrationBundlerV2Interface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): AaveV3OptimizerMigrationBundlerV2 { + return new Contract( + address, + _abi, + runner + ) as unknown as AaveV3OptimizerMigrationBundlerV2; + } +} diff --git a/pkg/types/factories/src/migration/CompoundV2MigrationBundlerV2__factory.ts b/pkg/types/factories/src/migration/CompoundV2MigrationBundlerV2__factory.ts new file mode 100644 index 00000000..8432a318 --- /dev/null +++ b/pkg/types/factories/src/migration/CompoundV2MigrationBundlerV2__factory.ts @@ -0,0 +1,1163 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + CompoundV2MigrationBundlerV2, + CompoundV2MigrationBundlerV2Interface, +} from "../../../src/migration/CompoundV2MigrationBundlerV2"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "morpho", + type: "address", + }, + { + internalType: "address", + name: "wNative", + type: "address", + }, + { + internalType: "address", + name: "cEth", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "UnsafeCast", + type: "error", + }, + { + inputs: [], + name: "C_ETH", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "WRAPPED_NATIVE", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + internalType: "uint48", + name: "expiration", + type: "uint48", + }, + { + internalType: "uint48", + name: "nonce", + type: "uint48", + }, + ], + internalType: "struct IAllowanceTransfer.PermitDetails", + name: "details", + type: "tuple", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "sigDeadline", + type: "uint256", + }, + ], + internalType: "struct IAllowanceTransfer.PermitSingle", + name: "permitSingle", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "approve2", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "cToken", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "compoundV2Redeem", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "cToken", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "compoundV2Repay", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20Transfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20TransferFrom", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "minShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Mint", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Redeem", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoBorrow", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoFlashLoan", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoRepay", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "morphoSetAuthorizationWithSig", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupply", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupplyCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdrawCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "nativeTransfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoFlashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoRepay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupply", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "permit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "publicAllocator", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + internalType: "struct Withdrawal[]", + name: "withdrawals", + type: "tuple[]", + }, + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "supplyMarketParams", + type: "tuple", + }, + ], + name: "reallocateTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom2", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unwrapNative", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "wrapNative", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x60e034620001ed57601f62003d9f38819003918201601f19168301916001600160401b03831184841017620001f257808492606094604052833981010312620001ed57620000d8620000518262000208565b6200006d6040620000656020860162000208565b940162000208565b600080546001600160a01b0319166001179055926001600160a01b03918291620000a56200009a6200021d565b848316151562000256565b60805216620000c0620000b76200021d565b82151562000256565b60a052620000cd6200021d565b908316151562000256565b60c052604051613ade9081620002c18239608051818181610ab501528181611a520152612a4d015260a05181818161022401528181610478015281816108e8015281816109a501528181610a3f01528181610ccf01528181610de201528181610f0101528181611097015281816111690152818161126001528181611415015281816117fe015281816119a401528181611ac101528181611b7101528181611c0e01528181611e1501528181612011015281816120c1015281816121e20152818161234f01528181612530015281816126d50152818161274701528181612910015281816129bb01528181612b5201528181612bff01528181612c940152612d60015260c05181818161053101526118700152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620001ed57565b60408051919082016001600160401b03811183821017620001f257604052600c82526b7a65726f206164647265737360a01b6020830152565b156200025f5750565b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510620002a6575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506200028256fe60406080815260049081361015610020575b5050361561001e57600080fd5b005b600091823560e01c90816305b4591c1461128b5781631af3bbc614612b795781632075be031461128b57816331f570721461128b5783826334b10a6d146129e3575081633790767d1461293757816339029ab61461276b5781633acb5624146126fc578382634d5fcf68146125575750816354c53ef014612376578382635b866db614612139575081635c39fcc1146120e85783826362577ad014612038575081636ef5eeae14611e3c57816370dc41fe14611c355783826384d287ef14611ae85782639169d833146119cb57508163a184a5a314611894578163a74f785414611825578163a7f6e606146115f1578163ac9650d81461143c578163af50420214611290578163b1022fdf1461128b578163bea88fda146110be57838263c956570614610f2d578263ca46367314610cf657508163cecf4a2514610add578163d999984d14610a6a57838263e297591214610913578263e89142ec146104af57508163ef6534191461024f575063f2522bcd03610011577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261024c5761021d6101ca612ea0565b61021473ffffffffffffffffffffffffffffffffffffffff808554166101fb6101f1613174565b60018314156131ad565b3314908115610220575b5061020e613249565b906131ad565b602435906137f0565b80f35b90507f000000000000000000000000000000000000000000000000000000000000000016331438610205565b80fd5b90506101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104ab57610284612ea0565b9161028d612ec3565b9260643567ffffffffffffffff948582116104a757366023830112156104a757818501359586116104a75760c09236602460c08902850101116104a35760a09660a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261049f5773ffffffffffffffffffffffffffffffffffffffff9485808b5416936001946103216101f1613174565b33148015610474575b6103369061020e613249565b1693843b15610470579180919993928851997f833947fd000000000000000000000000000000000000000000000000000000008b528860e48c019216908b015260e060248b0152526101049860248a8a019601938b905b8382106104255750505050505060843583811680910361042057604486015260a43583811680910361042057606486015260c43583811680910361042057608486015260e43592831680930361042057848080938998899660a48401523560c48301520391604435905af190811561041757506104075750f35b610410906130c9565b61024c5780f35b513d84823e3d90fd5b600080fd5b90919293949661043581896132e7565b81880135906fffffffffffffffffffffffffffffffff821680920361046c578281019190915283019683019493929184019061038d565b8d80fd5b8a80fd5b50337f000000000000000000000000000000000000000000000000000000000000000083161461032a565b8880fd5b8780fd5b8680fd5b8280fd5b809184807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261090f576104e3612ea0565b60249081359173ffffffffffffffffffffffffffffffffffffffff92838754169261051961050f613174565b60018614156131ad565b83331480156108e4575b61052f9061020e613249565b7f0000000000000000000000000000000000000000000000000000000000000000851694818116808703610652575050504781811090821802189484517f17bfdfbc000000000000000000000000000000000000000000000000000000008152838282015260208184818b895af1908115610648578891610613575b5086811090871802936105c86105bf61334c565b868914156131ad565b803b156104a3578794865197889586947fe597461900000000000000000000000000000000000000000000000000000000865285015218905af1908115610417575061040757505080f35b9750506020873d602011610640575b8161062f602093836130f9565b8101031261042057879651896105ab565b3d9150610622565b86513d8a823e3d90fd5b919892955096928651957f6f307dc30000000000000000000000000000000000000000000000000000000087526020988988878188885af197881561087657908a9186996108b1575b509083918a51928380927f70a08231000000000000000000000000000000000000000000000000000000008252308b8301528c165afa908115610876578591610880575b5081811090821802189887517f17bfdfbc00000000000000000000000000000000000000000000000000000000815286868201528981848188885af190811561087657918b91869594938c99989791610839575b5090604497989961075a838561075f951090861802948561075261334c565b9114156131ad565b6138b4565b88519a8b9788967f2608f81800000000000000000000000000000000000000000000000000000000885287015218908401525af192831561082f5784936107e0575b50917f7265706179206572726f7200000000000000000000000000000000000000000061021d9351926107d3846130dd565b600b8452830152156131ad565b92508183813d8311610828575b6107f781836130f9565b81010312610420579151917f7265706179206572726f720000000000000000000000000000000000000000006107a1565b503d6107ed565b81513d86823e3d90fd5b9798925050935085813d831161086f575b61085481836130f9565b810103126104205793518895948b9390918b91906044610733565b503d61084a565b89513d87823e3d90fd5b8095508a8092503d83116108aa575b61089981836130f9565b81010312610420578a93518c6106df565b503d61088f565b829199506108d59085933d84116108dd575b6108cd81836130f9565b8101906135b4565b98909161069b565b503d6108c3565b50337f0000000000000000000000000000000000000000000000000000000000000000861614610523565b5050fd5b80918460607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261090f57610948612ea0565b60443567ffffffffffffffff8111610a66576109679036908501612cbb565b939073ffffffffffffffffffffffffffffffffffffffff8087541661098d6101f1613174565b33148015610a3b575b6109a29061020e613249565b807f000000000000000000000000000000000000000000000000000000000000000016916109d083866138b4565b823b156104a3578794610a2886928851998a97889687957fe0232b4200000000000000000000000000000000000000000000000000000000875216908501526024356024850152606060448501526064840191613673565b03925af190811561041757506104075750f35b50337f0000000000000000000000000000000000000000000000000000000000000000821614610996565b8480fd5b505034610ad957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ad9576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b918091507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104ab57610b11612ea0565b906024359173ffffffffffffffffffffffffffffffffffffffff9081865416610b3b6101f1613174565b33148015610ccb575b610b509061020e613249565b168151927f70a082310000000000000000000000000000000000000000000000000000000084523085850152856020948581602481875afa908115610cc1579082918795949391610c8b575b5090818360249493109083180293610bbe610bb561334c565b868514156131ad565b865198899586947fdb006a7500000000000000000000000000000000000000000000000000000000865218908401525af192831561082f578493610c3c575b50917f72656465656d206572726f72000000000000000000000000000000000000000061021d935192610c2f846130dd565b600c8452830152156131ad565b92508183813d8311610c84575b610c5381836130f9565b81010312610420579151917f72656465656d206572726f720000000000000000000000000000000000000000610bfd565b503d610c49565b92948092508391503d8311610cba575b610ca581836130f9565b81010312610420575184929087906024610b9c565b503d610c9b565b85513d84823e3d90fd5b50337f0000000000000000000000000000000000000000000000000000000000000000831614610b44565b8091847ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360161010090818112610a665760a013610f285760a43592610d3a612e7d565b9060e43567ffffffffffffffff81116104a757610d5a9036908301612cbb565b73ffffffffffffffffffffffffffffffffffffffff9283895416610d7f6101f1613174565b33148015610efd575b610d949061020e613249565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8489961698610dce610dc56133be565b308c14156131ad565b14610e69575b610e09610ddf613619565b947f00000000000000000000000000000000000000000000000000000000000000001680956138b4565b833b1561049f57610a28610e4f938a979388948a519b8c998a9889977f238d65790000000000000000000000000000000000000000000000000000000089528801613282565b60a487015260c486015260e4850152610104840191613673565b93506024602084610e78613619565b168851928380927f70a08231000000000000000000000000000000000000000000000000000000008252308a8301525afa908115610ef3578991610ebe575b5093610dd4565b9850506020883d602011610eeb575b81610eda602093836130f9565b81010312610420578897518a610eb7565b3d9150610ecd565b87513d8b823e3d90fd5b50337f0000000000000000000000000000000000000000000000000000000000000000851614610d88565b505050fd5b9291506020610f3b36613059565b97909392919573ffffffffffffffffffffffffffffffffffffffff90610fad82845416610f696101f1613174565b8033148015611093575b610f7f9061020e613249565b610f94610f8a613385565b858a1615156131ad565b838c1690308214918215611089575b505061020e6137b7565b610fc0610fb861334c565b8515156131ad565b61102189519a8b97889687947fb460af9400000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b0393165af19182156110805750839161104a575b61021d92506110426135e0565b9111156131ad565b90506020823d602011611078575b81611065602093836130f9565b810103126104205761021d915190611035565b3d9150611058565b513d85823e3d90fd5b1490503880610fa3565b50337f0000000000000000000000000000000000000000000000000000000000000000851614610f73565b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360161012081126112875760a0136104ab5760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c3601126104ab576101048035928315938415036104205773ffffffffffffffffffffffffffffffffffffffff808654166111516101f1613174565b3314801561125c575b6111669061020e613249565b807f00000000000000000000000000000000000000000000000000000000000000001691823b156104a75751937f8069218f000000000000000000000000000000000000000000000000000000008552816111bf612ea0565b16908501526111cc612ec3565b1660248401526044358015158091036104205760448401526064356064840152608435608484015260a43560ff811680910361042057859284848094829460a484015260c43560c484015260e43560e48401525af19182611248575b505061124457611236613787565b9061123f575080f35b613a24565b5080f35b611251906130c9565b6104ab578238611228565b50337f000000000000000000000000000000000000000000000000000000000000000082161461115a565b8380fd5b612ce9565b9050610100367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01818112610a665760c0136112875760c43567ffffffffffffffff8111610a66576112e59036908401612cbb565b919060e435948515958615036104205773ffffffffffffffffffffffffffffffffffffffff918288541661131a6101f1613174565b8033148015611411575b6113309061020e613249565b6e22d473030f116ddee9f6b43ac78ba392833b1561140d5751967f2b67b57000000000000000000000000000000000000000000000000000000000885287015282611379612ea0565b16602487015260243583811680910361049f57604487015260443565ffffffffffff908181168091036104205760648801526064359081168091036104205760848701526084359283168093036104205787866113f581959383988498849660a486015260a43560c486015260e4850152610104840191613673565b03925af1918261124857505061124457611236613787565b8980fd5b50337f0000000000000000000000000000000000000000000000000000000000000000851614611324565b8383602092837ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261042057803567ffffffffffffffff9182821161042057366023830112156104205781810135926024918185116115c357508360051b908551946114ac898401876130f9565b8552602488860192850101933685116104205760248101925b85841061156257886001896115598a61152c8f7f616c726561647920696e697469617465640000000000000000000000000000008754955191611507836130dd565b601183528201528573ffffffffffffffffffffffffffffffffffffffff8616146131ad565b7fffffffffffffffffffffffff000000000000000000000000000000000000000092831633178555613a6d565b82541617815580f35b8335838111610420578201903660438301121561042057858201359060449261158a8361313a565b906115978c5192836130f9565b83825236858583010111610420578d8481969582966000940183860137830101528152019301926114c5565b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b9190506115fd36613059565b919492939073ffffffffffffffffffffffffffffffffffffffff808954169261162761050f613174565b83331480156117fa575b61163d9061020e613249565b611652611648613385565b83851615156131ad565b61166d828616943086149081156117f0575b5061020e6137b7565b168451927f70a0823100000000000000000000000000000000000000000000000000000000845288840152886020938481602481865afa9081156117e65782916117af575b5098849392918a896116db9c10908a180291828a189b8c936116d261357b565b908c14156131ad565b61173c8951988996879586947fba08765200000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b03925af19283156117a657508692611772575b5050926117626117689261021d95613745565b92613745565b111561020e6135e0565b9080959250813d831161179f575b61178a81836130f9565b8101031261042057925161176261176861174f565b503d611780565b513d88823e3d90fd5b8094939250858092503d83116117df575b6117ca81836130f9565b810103126104205791519091908990846116b2565b503d6117c0565b87513d84823e3d90fd5b9050851438611664565b50337f0000000000000000000000000000000000000000000000000000000000000000831614611631565b505034610ad957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ad9576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b91905060e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104ab576118c9612ea0565b916064359160ff83168093036104205760c4359384159485150361042057859273ffffffffffffffffffffffffffffffffffffffff808554169261190e61050f613174565b83331480156119a0575b6119249061020e613249565b1690813b15610a66578460e49281955197889586947fd505accf00000000000000000000000000000000000000000000000000000000865285015230602485015260243560448501526044356064850152608484015260843560a484015260a43560c48401525af1918261124857505061124457611236613787565b50337f0000000000000000000000000000000000000000000000000000000000000000831614611918565b80918460207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261090f57813573ffffffffffffffffffffffffffffffffffffffff80855416611a1e6101f1613174565b33148015611abd575b611a339061020e613249565b478281109083180290611a50611a4761334c565b838514156131ad565b7f00000000000000000000000000000000000000000000000000000000000000001693843b15611ab9578592845195869384927fd0e30db000000000000000000000000000000000000000000000000000000000845218905af190811561041757506104075750f35b8580fd5b50337f0000000000000000000000000000000000000000000000000000000000000000821614611a27565b91509180611af536612ff4565b91968395949198611b6d73ffffffffffffffffffffffffffffffffffffffff9485845416611b246101f1613174565b8033148015611c0a575b611b3a9061020e613249565b88519b8c98899788967f5c2bea4900000000000000000000000000000000000000000000000000000000885287016136fe565b03927f0000000000000000000000000000000000000000000000000000000000000000165af1928315611c005785928694611bcd575b505015611bb7575061021d916110426135e0565b905061021d91611bc56135e0565b9110156131ad565b8091929450611bf19350903d10611bf9575b611be981836130f9565b81019061365d565b913880611ba3565b503d611bdf565b82513d87823e3d90fd5b50337f0000000000000000000000000000000000000000000000000000000000000000881614611b2e565b9050817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104ab57611c68612ea0565b91602435908473ffffffffffffffffffffffffffffffffffffffff8082541695611c9d611c93613174565b60018914156131ad565b8633148015611e11575b611cb39061020e613249565b16948251957f70a0823100000000000000000000000000000000000000000000000000000000875281868801526020948588602481855afa8015611e07578697988597969791611dcc575b50918183869360649695109082180290611d22611d1961334c565b838314156131ad565b8851947f23b872dd0000000000000000000000000000000000000000000000000000000086528b8601523060248601521860448401525af13d15601f3d11600187511416171615611d71578380f35b6064935051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fd5b958092949395508691503d8311611e00575b611de881836130f9565b81010312610420579251859388939092909184611cfe565b503d611dde565b85513d86823e3d90fd5b50337f0000000000000000000000000000000000000000000000000000000000000000831614611ca7565b9050611e4736612f07565b73ffffffffffffffffffffffffffffffffffffffff959293959491949081885416611e736101f1613174565b3314801561200d575b611e889061020e613249565b611e9d611e93613385565b83831615156131ad565b8187168451937f38d52e0f00000000000000000000000000000000000000000000000000000000855260209384868381865afa958615611fdf578b96611fe9575b50846024918851928380927f70a0823100000000000000000000000000000000000000000000000000000000825230878301528a165afa908115611fdf579085949392918c91611fb0575b5088811090891802958689189a8b97611f4061334c565b611f4c918c14156131ad565b611f55916138b4565b8a87518097819582947f6e553f6500000000000000000000000000000000000000000000000000000000845283019161173c9290929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b85819692503d8311611fd8575b611fc781836130f9565b810103126104205784935138611f29565b503d611fbd565b87513d8d823e3d90fd5b60249196506120058691823d84116108dd576108cd81836130f9565b969150611ede565b50337f0000000000000000000000000000000000000000000000000000000000000000831614611e7c565b9150918061204536612ff4565b91968395949198611b6d73ffffffffffffffffffffffffffffffffffffffff94858454166120746101f1613174565b80331480156120bd575b61208a9061020e613249565b88519b8c98899788967f50d8cd4b00000000000000000000000000000000000000000000000000000000885287016136fe565b50337f000000000000000000000000000000000000000000000000000000000000000088161461207e565b505034610ad957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ad95773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b80918461214536612f6b565b9073ffffffffffffffffffffffffffffffffffffffff99939998929596949895868554166121746101f1613174565b3314801561234b575b6121899061020e613249565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff886121c16121b66133be565b308b861614156131ad565b14612295575b8896949286949261223c926122096121df8c9a61363c565b987f00000000000000000000000000000000000000000000000000000000000000001680996138b4565b89519c8d998a9889977fa99aad8900000000000000000000000000000000000000000000000000000000895288016136b2565b03925af1928315611c005785928694612272575b505015612264575061021d91611bc56135e0565b905061021d916110426135e0565b809192945061228d9350903d10611bf957611be981836130f9565b918580612250565b94929095939160249a999897506020856122ae8661363c565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa80156123415788999a9b8499989991612304575b5097949650929491939092916121c7565b97505091506020863d602011612339575b81612322602093836130f9565b810103126104205761223c8b9289975190916122f3565b3d9150612315565b88513d85823e3d90fd5b50337f000000000000000000000000000000000000000000000000000000000000000088161461217d565b8383807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ad9576123a9612ea0565b906024359173ffffffffffffffffffffffffffffffffffffffff908180865416916123df6123d5613174565b60018514156131ad565b823314801561252c575b6123f59061020e613249565b1683517f70a082310000000000000000000000000000000000000000000000000000000081528288820152602081602481855afa80156125225787906124ee575b61244f915086811090871802958681189661075261334c565b8285116124c65785966e22d473030f116ddee9f6b43ac78ba393843b156104a357879460849386928851998a9788967f36c7851600000000000000000000000000000000000000000000000000000000885287015230602487015216604485015260648401525af190811561041757506104075750f35b8684517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b506020813d60201161251a575b81612508602093836130f9565b810103126104205761244f9051612436565b3d91506124fb565b85513d89823e3d90fd5b50337f00000000000000000000000000000000000000000000000000000000000000008316146123e9565b80918461256336612f6b565b9073ffffffffffffffffffffffffffffffffffffffff99939998929596949895868554166125926101f1613174565b331480156126d1575b6125a79061020e613249565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff886125d46121b66133be565b14612625575b8896949286949261223c926125f26121df8c9a61363c565b89519c8d998a9889977f20b76e8100000000000000000000000000000000000000000000000000000000895288016136b2565b94929095939160249a9998975060208561263e8661363c565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa80156123415788999a9b8499989991612694575b5097949650929491939092916125da565b97505091506020863d6020116126c9575b816126b2602093836130f9565b810103126104205761223c8b928997519091612683565b3d91506126a5565b50337f000000000000000000000000000000000000000000000000000000000000000088161461259b565b505034610ad957817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ad9576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b91905061277736612f07565b949092918673ffffffffffffffffffffffffffffffffffffffff808254166127a06101f1613174565b3314801561290c575b6127b59061020e613249565b6127ca6127c0613385565b828a1615156131ad565b6127dd6127d561357b565b8415156131ad565b8416928651947f38d52e0f00000000000000000000000000000000000000000000000000000000865260209586818481895afa9081156129025784926128899b969492612833928a9997916128e5575b506138b4565b8851998a95869485937f94bf804d000000000000000000000000000000000000000000000000000000008552840190929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b03925af19283156128dc575084926128aa575b5061021d92506110426135e0565b90915082813d83116128d5575b6128c181836130f9565b810103126104205761021d9151903861289c565b503d6128b7565b513d86823e3d90fd5b6128fc9150893d8b116108dd576108cd81836130f9565b3861282d565b89513d86823e3d90fd5b50337f00000000000000000000000000000000000000000000000000000000000000008216146127a9565b8360607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261024c5761021d61296d612ea0565b612975612ec3565b6129ae73ffffffffffffffffffffffffffffffffffffffff8086541661299c6101f1613174565b33149081156129b7575061020e613249565b604435916133f7565b90507f000000000000000000000000000000000000000000000000000000000000000016331486610205565b80918460207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261090f57813573ffffffffffffffffffffffffffffffffffffffff80855416612a366101f1613174565b33148015612b4e575b612a4b9061020e613249565b7f00000000000000000000000000000000000000000000000000000000000000001682517f70a082310000000000000000000000000000000000000000000000000000000081523085820152602081602481855afa908115612b44578691612b0f575b508281109083180290612ac2611a4761334c565b803b15611ab957859283602492865197889586947f2e1a7d4d00000000000000000000000000000000000000000000000000000000865218908401525af190811561041757506104075750f35b9550506020853d602011612b3c575b81612b2b602093836130f9565b810103126104205785945187612aae565b3d9150612b1e565b84513d88823e3d90fd5b50337f0000000000000000000000000000000000000000000000000000000000000000821614612a3f565b9190507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360160e081126112875760a0136104ab5782612bb7612e7d565b73ffffffffffffffffffffffffffffffffffffffff8083541694612be6612bdc613174565b60018814156131ad565b8533148015612c90575b612bfc9061020e613249565b817f00000000000000000000000000000000000000000000000000000000000000001692833b15610a6657612c62936101049386928851998a9788967f8720316d0000000000000000000000000000000000000000000000000000000088528701613282565b60a43560a487015260c48601521660e48401525af19081156104175750612c87575080f35b61021d906130c9565b50337f0000000000000000000000000000000000000000000000000000000000000000831614612bf0565b9181601f840112156104205782359167ffffffffffffffff8311610420576020838186019501011161042057565b34610420576040807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104205767ffffffffffffffff9060243582811161042057612d3b903690600401612cbb565b612d87612d49949294613249565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633146131ad565b83019160209384818503126104205780359083821161042057019183601f8401121561042057823593818511612e4e578460051b9160405195612dcc888501886130f9565b865286808701938601019482861161042057878101935b868510612df35761001e88613a6d565b843583811161042057820184603f82011215610420578981013591612e178361313a565b612e23895191826130f9565b838152868985850101116104205760008c8581968c8397018386013783010152815201940193612de3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60c4359073ffffffffffffffffffffffffffffffffffffffff8216820361042057565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361042057565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361042057565b359073ffffffffffffffffffffffffffffffffffffffff8216820361042057565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60809101126104205773ffffffffffffffffffffffffffffffffffffffff9060043582811681036104205791602435916044359160643590811681036104205790565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820161014081126104205760a0136104205760049160a4359160c4359160e435916101043573ffffffffffffffffffffffffffffffffffffffff811681036104205791610124359067ffffffffffffffff821161042057612ff091600401612cbb565b9091565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0161012081126104205760a0136104205760049060a4359060c4359060e435906101043573ffffffffffffffffffffffffffffffffffffffff811681036104205790565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a09101126104205773ffffffffffffffffffffffffffffffffffffffff6004358181168103610420579160243591604435916064358281168103610420579160843590811681036104205790565b67ffffffffffffffff8111612e4e57604052565b6040810190811067ffffffffffffffff821117612e4e57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117612e4e57604052565b67ffffffffffffffff8111612e4e57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60405190613181826130dd565b600b82527f756e696e697469617465640000000000000000000000000000000000000000006020830152565b156131b55750565b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110613232575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b8181018301518682016044015285935082016131f1565b60405190613256826130dd565b601382527f756e617574686f72697a65642073656e646572000000000000000000000000006020830152565b60043573ffffffffffffffffffffffffffffffffffffffff908181168091036104205782526024358181168091036104205760208301526044358181168091036104205760408301526064359081168091036104205760608201526080608435910152565b6080809173ffffffffffffffffffffffffffffffffffffffff8061330a83612ee6565b1685528061331a60208401612ee6565b1660208601528061332d60408401612ee6565b16604086015261333f60608301612ee6565b1660608501520135910152565b60405190613359826130dd565b600b82527f7a65726f20616d6f756e740000000000000000000000000000000000000000006020830152565b60405190613392826130dd565b600c82527f7a65726f206164647265737300000000000000000000000000000000000000006020830152565b604051906133cb826130dd565b600f82527f62756e646c6572206164647265737300000000000000000000000000000000006020830152565b919073ffffffffffffffffffffffffffffffffffffffff8091169261341d610fb8613385565b6134316134286133be565b308614156131ad565b16604051927f70a082310000000000000000000000000000000000000000000000000000000084523060048501526020938481602481865afa90811561356f57600091613542575b50838110908418029081841461353b57600080936044938796604051947fa9059cbb00000000000000000000000000000000000000000000000000000000865260048601521860248401525af13d15601f3d11600160005114161716156134dd5750565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b5050505050565b90508481813d8311613568575b61355981836130f9565b81010312610420575138613479565b503d61354f565b6040513d6000823e3d90fd5b60405190613588826130dd565b600b82527f7a65726f207368617265730000000000000000000000000000000000000000006020830152565b90816020910312610420575173ffffffffffffffffffffffffffffffffffffffff811681036104205790565b604051906135ed826130dd565b601182527f736c6970706167652065786365656465640000000000000000000000000000006020830152565b60243573ffffffffffffffffffffffffffffffffffffffff811681036104205790565b3573ffffffffffffffffffffffffffffffffffffffff811681036104205790565b9190826040910312610420576020825192015190565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b919373ffffffffffffffffffffffffffffffffffffffff91936136fb97956136dd85610120976132e7565b60a085015260c08401521660e0820152816101008201520191613673565b90565b9391926101009396959196613718866101208101996132e7565b60a086015260c085015273ffffffffffffffffffffffffffffffffffffffff80921660e085015216910152565b8181029291811591840414171561375857565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b3d156137b2573d906137988261313a565b916137a660405193846130f9565b82523d6000602084013e565b606090565b604051906137c4826130dd565b601082527f756e6578706563746564206f776e6572000000000000000000000000000000006020830152565b61382e73ffffffffffffffffffffffffffffffffffffffff821661381d613815613385565b8215156131ad565b6138256133be565b903014156131ad565b47828110908318028083146138af5760009283928392839218905af11561385157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152fd5b505050565b73ffffffffffffffffffffffffffffffffffffffff80911690604051927fdd62ed3e000000000000000000000000000000000000000000000000000000008452306004850152168060248401526020928381604481865afa90811561356f576000916139f7575b501561392657505050565b6044600091828594604051927f095ea7b300000000000000000000000000000000000000000000000000000000845260048401527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248401525af13d15601f3d11600160005114161716156139995750565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600e60248201527f415050524f56455f4641494c45440000000000000000000000000000000000006044820152fd5b90508381813d8311613a1d575b613a0e81836130f9565b8101031261042057513861391b565b503d613a04565b805190613a68604051613a36816130dd565b600b81527f63616c6c206661696c656400000000000000000000000000000000000000000060208201528315156131ad565b602001fd5b60009060005b81518110156138af5782806020808460051b860101519081519101305af4613a99613787565b901561123f5750600101613a7356fea26469706673582212200df6faa6fc464d5806e7c930cad9fd682834312608da22e3c12e7395b2ccfc6f64736f6c63430008180033"; + +type CompoundV2MigrationBundlerV2ConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: CompoundV2MigrationBundlerV2ConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class CompoundV2MigrationBundlerV2__factory extends ContractFactory { + constructor(...args: CompoundV2MigrationBundlerV2ConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + morpho: AddressLike, + wNative: AddressLike, + cEth: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(morpho, wNative, cEth, overrides || {}); + } + override deploy( + morpho: AddressLike, + wNative: AddressLike, + cEth: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(morpho, wNative, cEth, overrides || {}) as Promise< + CompoundV2MigrationBundlerV2 & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): CompoundV2MigrationBundlerV2__factory { + return super.connect(runner) as CompoundV2MigrationBundlerV2__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): CompoundV2MigrationBundlerV2Interface { + return new Interface(_abi) as CompoundV2MigrationBundlerV2Interface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): CompoundV2MigrationBundlerV2 { + return new Contract( + address, + _abi, + runner + ) as unknown as CompoundV2MigrationBundlerV2; + } +} diff --git a/pkg/types/factories/src/migration/CompoundV3MigrationBundlerV2__factory.ts b/pkg/types/factories/src/migration/CompoundV3MigrationBundlerV2__factory.ts new file mode 100644 index 00000000..a5fc8d02 --- /dev/null +++ b/pkg/types/factories/src/migration/CompoundV3MigrationBundlerV2__factory.ts @@ -0,0 +1,1146 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + CompoundV3MigrationBundlerV2, + CompoundV3MigrationBundlerV2Interface, +} from "../../../src/migration/CompoundV3MigrationBundlerV2"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "morpho", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "UnsafeCast", + type: "error", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + internalType: "uint48", + name: "expiration", + type: "uint48", + }, + { + internalType: "uint48", + name: "nonce", + type: "uint48", + }, + ], + internalType: "struct IAllowanceTransfer.PermitDetails", + name: "details", + type: "tuple", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "sigDeadline", + type: "uint256", + }, + ], + internalType: "struct IAllowanceTransfer.PermitSingle", + name: "permitSingle", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "approve2", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "instance", + type: "address", + }, + { + internalType: "bool", + name: "isAllowed", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "expiry", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "compoundV3AllowBySig", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "instance", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "compoundV3Repay", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "instance", + type: "address", + }, + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "compoundV3WithdrawFrom", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20Transfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20TransferFrom", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "minShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Mint", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Redeem", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoBorrow", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoFlashLoan", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoRepay", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "morphoSetAuthorizationWithSig", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupply", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupplyCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdrawCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "nativeTransfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoFlashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoRepay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupply", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "permit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "publicAllocator", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + internalType: "struct Withdrawal[]", + name: "withdrawals", + type: "tuple[]", + }, + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "supplyMarketParams", + type: "tuple", + }, + ], + name: "reallocateTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom2", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60a0346200016b57601f196200359d38819003601f810183168401936001600160401b039391928186108587111762000170578390604096875282396020818194810103126200016b57516001600160a01b03811693908490036200016b57600080546001600160a01b03191660011781558551918287019081118382101762000157578652600c82526b7a65726f206164647265737360a01b60208301528415620000f95785856080525161341690816200018782396080518181816107a00152818161092401528181610c440152818161140201528181611c04015281816120d501528181612354015281816125ae01526133bb0152f35b9091855193849262461bcd60e51b84526020600485015284519182602486015281955b8387106200013d5750506044945090601f9185828601015201168101030190fd5b86810182015188880160440152958101958795506200011c565b634e487b7160e01b82526041600452602482fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c90816305b4591c14610d3b5781631643ff92146123dc578382631af3bbc6146122d9575081632075be0314610d3b57816331f5707214610d3b5781633790767d1461229457816339029ab6146120f95781633acb56241461208a578382634d5fcf6814611f165750816354c53ef014611d6d578382635b866db614611b61575081635c39fcc114611b0c578382635e726f33146118b157826362577ad014611837575081636ef5eeae1461166c57816370dc41fe1461149b5783826384d287ef1461138457508163a184a5a314611283578163a7f6e60614611085578163ac9650d814610ed0578163af50420214610d40578163b1022fdf14610d3b578163bea88fda14610b9f57838263c956570614610a3a578263ca4636731461083e578263e29759121461071457508163ee217cda1461041f578163ef653419146101f0575063f2522bcd1461016e57600080fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ed576101ea6101a16126cd565b6101ce600173ffffffffffffffffffffffffffffffffffffffff85541614156101c8612a33565b90612a6c565b6101e16101d9613390565b6101c8612b08565b602435906130cc565b80f35b80fd5b90506101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261041b576102256126cd565b9161022e612713565b9260643567ffffffffffffffff94858211610417573660238301121561041757818501359586116104175760c09236602460c08902850101116104135760a09660a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261040f576001948986936102c673ffffffffffffffffffffffffffffffffffffffff98898094541614156101c8612a33565b6102d16101d9613390565b1693843b1561040b579180919993928851997f833947fd000000000000000000000000000000000000000000000000000000008b528860e48c019216908b015260e060248b0152526101049860248a8a019601938b905b8382106103c0575050505050506084358381168091036103bb57604486015260a4358381168091036103bb57606486015260c4358381168091036103bb57608486015260e4359283168093036103bb57848080938998899660a48401523560c48301520391604435905af19081156103b257506103a25750f35b6103ab90612988565b6101ed5780f35b513d84823e3d90fd5b600080fd5b9091929394966103d08189612bd6565b81880135906fffffffffffffffffffffffffffffffff82168092036104075782810191909152830196830194939291840190610328565b8d80fd5b8a80fd5b8880fd5b8780fd5b8680fd5b8280fd5b838361042a36612766565b90929173ffffffffffffffffffffffffffffffffffffffff9182808754169261045e610454612a33565b6001861415612a6c565b6104696101d9613390565b16928451957fc55dae6300000000000000000000000000000000000000000000000000000000875260209182888b81895afa9788156105a65789986106e5575b50818116971687036105b0575096869785517f70a0823100000000000000000000000000000000000000000000000000000000815284838201528181602481895afa9182156105a6578992610575575b50505b828110908318029161051861050f612fb4565b84831415612a6c565b843b1561041357879460849386928851998a9788967f2644131800000000000000000000000000000000000000000000000000000000885287015230602487015260448601521860648401525af19081156103b257506103a25750f35b8199508092503d831161059f575b61058d81836129b8565b810103126103bb5787965189806104f9565b503d610583565b87513d8b823e3d90fd5b85517f2b92a07d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808616828c0190815292166020830152908690829081906040010381885afa9182156106db578892610634575b5050966fffffffffffffffffffffffffffffffff879851166104fc565b9091508582813d83116106d4575b61064c81836129b8565b810103126104135785519186830183811067ffffffffffffffff8211176106a6579161069b818b9c95936fffffffffffffffffffffffffffffffff958b52610693816130af565b8552016130af565b908201529198610617565b60418b7f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b503d610642565b86513d8a823e3d90fd5b610706919850833d851161070d575b6106fe81836129b8565b810190612e6a565b968a6104a9565b503d6106f4565b80918460607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261083a576107496126cd565b60443567ffffffffffffffff8111610836576107689036908501612509565b939073ffffffffffffffffffffffffffffffffffffffff61079260018289541614156101c8612a33565b61079d6101d9613390565b807f000000000000000000000000000000000000000000000000000000000000000016916107cb83866131d9565b823b1561041357879461082386928851998a97889687957fe0232b4200000000000000000000000000000000000000000000000000000000875216908501526024356024850152606060448501526064840191612f29565b03925af19081156103b257506103a25750f35b8480fd5b5050fd5b8091847ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601610100908181126108365760a013610a355760a435926108826126f0565b9060e43567ffffffffffffffff8111610417576108a29036908301612509565b73ffffffffffffffffffffffffffffffffffffffff926108cb6001858b541614156101c8612a33565b6108d66101d9613390565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8489961698610910610907612c74565b308c1415612a6c565b146109ab575b61094b610921612ecf565b947f00000000000000000000000000000000000000000000000000000000000000001680956131d9565b833b1561040f57610823610991938a979388948a519b8c998a9889977f238d65790000000000000000000000000000000000000000000000000000000089528801612b71565b60a487015260c486015260e4850152610104840191612f29565b935060246020846109ba612ecf565b168851928380927f70a08231000000000000000000000000000000000000000000000000000000008252308a8301525afa9081156105a6578991610a00575b5093610916565b9850506020883d602011610a2d575b81610a1c602093836129b8565b810103126103bb578897518a6109f9565b3d9150610a0f565b505050fd5b9291506020610a4836612918565b97909392919573ffffffffffffffffffffffffffffffffffffffff90610ab982845416610a80610a76612a33565b6001831415612a6c565b610a8b6101d9613390565b610aa0610a96612c3b565b858a161515612a6c565b838c1690308214918215610b95575b50506101c8613076565b610acc610ac4612fb4565b851515612a6c565b610b2d89519a8b97889687947fb460af9400000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b0393165af1918215610b8c57508391610b56575b6101ea9250610b4e612e96565b911115612a6c565b90506020823d602011610b84575b81610b71602093836129b8565b810103126103bb576101ea915190610b41565b3d9150610b64565b513d85823e3d90fd5b1490503880610aaf565b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36016101208112610d375760a01361041b5760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c36011261041b576101048035928315938415036103bb5773ffffffffffffffffffffffffffffffffffffffff610c3660018288541614156101c8612a33565b610c416101d9613390565b807f00000000000000000000000000000000000000000000000000000000000000001691823b156104175751937f8069218f00000000000000000000000000000000000000000000000000000000855281610c9a6126cd565b1690850152610ca7612713565b1660248401526044358015158091036103bb5760448401526064356064840152608435608484015260a43560ff81168091036103bb57859284848094829460a484015260c43560c484015260e43560e48401525af19182610d23575b5050610d1f57610d11612b41565b90610d1a575080f35b613190565b5080f35b610d2c90612988565b61041b578238610d03565b8380fd5b612537565b9050610100367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc018181126108365760c013610d375760c43567ffffffffffffffff811161083657610d959036908401612509565b9190610d9f612757565b9473ffffffffffffffffffffffffffffffffffffffff9182885416610dc5610a76612a33565b610dd06101d9613390565b6e22d473030f116ddee9f6b43ac78ba392833b15610ecc5751967f2b67b57000000000000000000000000000000000000000000000000000000000885287015282610e196126cd565b16602487015260243583811680910361040f57604487015260443565ffffffffffff908181168091036103bb5760648801526064359081168091036103bb5760848701526084359283168093036103bb578786610e9581959383988498849660a486015260a43560c486015260e4850152610104840191612f29565b03925af19182610eb8575b5050610d1f57610eae612b41565b9015610d1a575080f35b610ec190612988565b61041b578238610ea0565b8980fd5b8383602092837ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bb57803567ffffffffffffffff918282116103bb57366023830112156103bb57818101359260249181851161105757508360051b90855194610f40898401876129b8565b8552602488860192850101933685116103bb5760248101925b858410610ff65788600189610fed8a610fc08f7f616c726561647920696e697469617465640000000000000000000000000000008754955191610f9b8361299c565b601183528201528573ffffffffffffffffffffffffffffffffffffffff861614612a6c565b7fffffffffffffffffffffffff000000000000000000000000000000000000000092831633178555613355565b82541617815580f35b83358381116103bb57820190366043830112156103bb57858201359060449261101e836129f9565b9061102b8c5192836129b8565b838252368585830101116103bb578d848196958296600094018386013783010152815201930192610f59565b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b91905061109136612918565b919492939073ffffffffffffffffffffffffffffffffffffffff80895416926110bb610454612a33565b6110c66101d9613390565b6110db6110d1612c3b565b8385161515612a6c565b6110f682861694308614908115611279575b506101c8613076565b168451927f70a0823100000000000000000000000000000000000000000000000000000000845288840152886020938481602481865afa90811561126f578291611238575b5098849392918a896111649c10908a180291828a189b8c9361115b612e31565b908c1415612a6c565b6111c58951988996879586947fba08765200000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b03925af192831561122f575086926111fb575b5050926111eb6111f1926101ea95613034565b92613034565b11156101c8612e96565b9080959250813d8311611228575b61121381836129b8565b810103126103bb5792516111eb6111f16111d8565b503d611209565b513d88823e3d90fd5b8094939250858092503d8311611268575b61125381836129b8565b810103126103bb57915190919089908461113b565b503d611249565b87513d84823e3d90fd5b90508514386110ed565b91905060e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261041b576112b86126cd565b916064359160ff83168093036103bb5760c435938415948515036103bb57859273ffffffffffffffffffffffffffffffffffffffff80855416926112fd610454612a33565b6113086101d9613390565b1690813b15610836578460e49281955197889586947fd505accf00000000000000000000000000000000000000000000000000000000865285015230602485015260243560448501526044356064850152608484015260843560a484015260a43560c48401525af19182610d23575050610d1f57610d11612b41565b91509180611391366128b3565b919683959491986113fe73ffffffffffffffffffffffffffffffffffffffff94858454166113c0610a76612a33565b6113cb6101d9613390565b88519b8c98899788967f5c2bea490000000000000000000000000000000000000000000000000000000088528701612fed565b03927f0000000000000000000000000000000000000000000000000000000000000000165af1928315611491578592869461145e575b50501561144857506101ea91610b4e612e96565b90506101ea91611456612e96565b911015612a6c565b80919294506114829350903d1061148a575b61147a81836129b8565b810190612f13565b913880611434565b503d611470565b82513d87823e3d90fd5b9050817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261041b576114ce6126cd565b91602435908473ffffffffffffffffffffffffffffffffffffffff80825416956115036114f9612a33565b6001891415612a6c565b61150e6101d9613390565b16948251957f70a0823100000000000000000000000000000000000000000000000000000000875281868801526020948588602481855afa8015611662578697988597969791611627575b5091818386936064969510908218029061157d611574612fb4565b83831415612a6c565b8851947f23b872dd0000000000000000000000000000000000000000000000000000000086528b8601523060248601521860448401525af13d15601f3d116001875114161716156115cc578380f35b6064935051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fd5b958092949395508691503d831161165b575b61164381836129b8565b810103126103bb579251859388939092909184611559565b503d611639565b85513d86823e3d90fd5b9050611677366127c6565b73ffffffffffffffffffffffffffffffffffffffff95929395949194906116a76001838a541614156101c8612a33565b6116b26101d9613390565b6116c76116bd612c3b565b8383161515612a6c565b8187168451937f38d52e0f00000000000000000000000000000000000000000000000000000000855260209384868381865afa958615611809578b96611813575b50846024918851928380927f70a0823100000000000000000000000000000000000000000000000000000000825230878301528a165afa908115611809579085949392918c916117da575b5088811090891802958689189a8b9761176a612fb4565b611776918c1415612a6c565b61177f916131d9565b8a87518097819582947f6e553f650000000000000000000000000000000000000000000000000000000084528301916111c59290929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b85819692503d8311611802575b6117f181836129b8565b810103126103bb5784935138611753565b503d6117e7565b87513d8d823e3d90fd5b602491965061182f8691823d841161070d576106fe81836129b8565b969150611708565b91509180611844366128b3565b919683959491986113fe73ffffffffffffffffffffffffffffffffffffffff9485845416611873610a76612a33565b61187e6101d9613390565b88519b8c98899788967f50d8cd4b0000000000000000000000000000000000000000000000000000000088528701612fed565b809184807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261083a576118e56126cd565b6024359273ffffffffffffffffffffffffffffffffffffffff91828654169161191961190f612a33565b6001851415612a6c565b6119246101d9613390565b838216938551927fc55dae63000000000000000000000000000000000000000000000000000000008452602091828585818a5afa948515611b02578a95611ae3575b5084169787517f70a08231000000000000000000000000000000000000000000000000000000008152308582015283816024818d5afa908115611aa8578b91611ab2575b5081811090821802189187517f374c49b4000000000000000000000000000000000000000000000000000000008152868582015281816024818b5afa918215611aa8578b92611a73575b5050908183611a1c93109084180294611a17611a0e612fb4565b87861415612a6c565b6131d9565b843b1561041357879460649386928851998a9788967f4232cd6300000000000000000000000000000000000000000000000000000000885287015260248601521860448401525af19081156103b257506103a25750f35b81939b508092503d8311611aa1575b611a8c81836129b8565b810103126103bb5751899890611a1c8c6119f4565b503d611a82565b89513d8d823e3d90fd5b809b50848092503d8311611adc575b611acb81836129b8565b810103126103bb578a99518c6119aa565b503d611ac1565b611afb919550833d851161070d576106fe81836129b8565b938b611966565b88513d8c823e3d90fd5b505034611b5d57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611b5d5773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b5080fd5b809184611b6d3661282a565b9073ffffffffffffffffffffffffffffffffffffffff99939998929596949895611ba060018887541614156101c8612a33565b611bab6101d9613390565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88611be3611bd8612c74565b308b86161415612a6c565b14611cb7575b88969492869492611c5e92611c2b611c018c9a612ef2565b987f00000000000000000000000000000000000000000000000000000000000000001680996131d9565b89519c8d998a9889977fa99aad890000000000000000000000000000000000000000000000000000000089528801612f68565b03925af19283156114915785928694611c94575b505015611c8657506101ea91611456612e96565b90506101ea91610b4e612e96565b8091929450611caf9350903d1061148a5761147a81836129b8565b918580611c72565b94929095939160249a99989750602085611cd086612ef2565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa8015611d635788999a9b8499989991611d26575b509794965092949193909291611be9565b97505091506020863d602011611d5b575b81611d44602093836129b8565b810103126103bb57611c5e8b928997519091611d15565b3d9150611d37565b88513d85823e3d90fd5b8383807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611b5d57611da06126cd565b906024359173ffffffffffffffffffffffffffffffffffffffff90818086541691611dcc61190f612a33565b611dd76101d9613390565b1683517f70a082310000000000000000000000000000000000000000000000000000000081528288820152602081602481855afa8015611f0c578790611ed8575b611e399150868110908718029586811896611e31612fb4565b911415612a6c565b828511611eb05785966e22d473030f116ddee9f6b43ac78ba393843b1561041357879460849386928851998a9788967f36c7851600000000000000000000000000000000000000000000000000000000885287015230602487015216604485015260648401525af19081156103b257506103a25750f35b8684517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b506020813d602011611f04575b81611ef2602093836129b8565b810103126103bb57611e399051611e18565b3d9150611ee5565b85513d89823e3d90fd5b809184611f223661282a565b9073ffffffffffffffffffffffffffffffffffffffff99939998929596949895611f5560018887541614156101c8612a33565b611f606101d9613390565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88611f8d611bd8612c74565b14611fde575b88969492869492611c5e92611fab611c018c9a612ef2565b89519c8d998a9889977f20b76e810000000000000000000000000000000000000000000000000000000089528801612f68565b94929095939160249a99989750602085611ff786612ef2565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa8015611d635788999a9b849998999161204d575b509794965092949193909291611f93565b97505091506020863d602011612082575b8161206b602093836129b8565b810103126103bb57611c5e8b92899751909161203c565b3d915061205e565b505034611b5d57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611b5d576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b919050612105366127c6565b949092918673ffffffffffffffffffffffffffffffffffffffff61213260018284541614156101c8612a33565b61213d6101d9613390565b612152612148612c3b565b828a161515612a6c565b61216561215d612e31565b841515612a6c565b8416928651947f38d52e0f00000000000000000000000000000000000000000000000000000000865260209586818481895afa90811561228a5784926122119b9694926121bb928a99979161226d575b506131d9565b8851998a95869485937f94bf804d000000000000000000000000000000000000000000000000000000008552840190929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b03925af192831561226457508492612232575b506101ea9250610b4e612e96565b90915082813d831161225d575b61224981836129b8565b810103126103bb576101ea91519038612224565b503d61223f565b513d86823e3d90fd5b6122849150893d8b1161070d576106fe81836129b8565b386121b5565b89513d86823e3d90fd5b836101ea6122a136612766565b916122c9600173ffffffffffffffffffffffffffffffffffffffff87541614156101c8612a33565b6122d46101d9613390565b612cad565b8091847ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360160e08112610a355760a01361083a576123166126f0565b73ffffffffffffffffffffffffffffffffffffffff92838554169361234661233c612a33565b6001871415612a6c565b6123516101d9613390565b807f00000000000000000000000000000000000000000000000000000000000000001691823b1561041757866123b8936101049382968851998a9788967f8720316d0000000000000000000000000000000000000000000000000000000088528701612b71565b60a43560a487015260c48601521660e48401525af19081156103b257506103a25750f35b90506101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261041b57826124126126cd565b6024359283151580940361041b576084359060ff8216809203610d3757612437612757565b9573ffffffffffffffffffffffffffffffffffffffff808654169461246761245d612a33565b6001881415612a6c565b6124726101d9613390565b16803b15612505576101049386925197889687957fbb24d99400000000000000000000000000000000000000000000000000000000875286015230602486015260448501526044356064850152606435608485015260a484015260a43560c484015260c43560e48401525af190816124f2575b50610d1f57610eae612b41565b6124fe90939193612988565b91386124e5565b8580fd5b9181601f840112156103bb5782359167ffffffffffffffff83116103bb57602083818601950101116103bb57565b346103bb576040807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bb5767ffffffffffffffff906024358281116103bb57612589903690600401612509565b6125d5612597949294612b08565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314612a6c565b83019160209384818503126103bb578035908382116103bb57019183601f840112156103bb5782359381851161269e578460051b916040519561261a888501886129b8565b86528680870193860101948286116103bb57878101935b8685106126435761264188613355565b005b84358381116103bb57820184603f820112156103bb578981013591612667836129f9565b612673895191826129b8565b838152868985850101116103bb5760008c8581968c8397018386013783010152815201940193612631565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036103bb57565b60c4359073ffffffffffffffffffffffffffffffffffffffff821682036103bb57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036103bb57565b359073ffffffffffffffffffffffffffffffffffffffff821682036103bb57565b60e4359081151582036103bb57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60609101126103bb5773ffffffffffffffffffffffffffffffffffffffff9060043582811681036103bb579160243590811681036103bb579060443590565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60809101126103bb5773ffffffffffffffffffffffffffffffffffffffff9060043582811681036103bb5791602435916044359160643590811681036103bb5790565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820161014081126103bb5760a0136103bb5760049160a4359160c4359160e435916101043573ffffffffffffffffffffffffffffffffffffffff811681036103bb5791610124359067ffffffffffffffff82116103bb576128af91600401612509565b9091565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0161012081126103bb5760a0136103bb5760049060a4359060c4359060e435906101043573ffffffffffffffffffffffffffffffffffffffff811681036103bb5790565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a09101126103bb5773ffffffffffffffffffffffffffffffffffffffff60043581811681036103bb5791602435916044359160643582811681036103bb579160843590811681036103bb5790565b67ffffffffffffffff811161269e57604052565b6040810190811067ffffffffffffffff82111761269e57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761269e57604052565b67ffffffffffffffff811161269e57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60405190612a408261299c565b600b82527f756e696e697469617465640000000000000000000000000000000000000000006020830152565b15612a745750565b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110612af1575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201612ab0565b60405190612b158261299c565b601382527f756e617574686f72697a65642073656e646572000000000000000000000000006020830152565b3d15612b6c573d90612b52826129f9565b91612b6060405193846129b8565b82523d6000602084013e565b606090565b60043573ffffffffffffffffffffffffffffffffffffffff908181168091036103bb5782526024358181168091036103bb5760208301526044358181168091036103bb5760408301526064359081168091036103bb5760608201526080608435910152565b6080809173ffffffffffffffffffffffffffffffffffffffff80612bf983612736565b16855280612c0960208401612736565b16602086015280612c1c60408401612736565b166040860152612c2e60608301612736565b1660608501520135910152565b60405190612c488261299c565b600c82527f7a65726f206164647265737300000000000000000000000000000000000000006020830152565b60405190612c818261299c565b600f82527f62756e646c6572206164647265737300000000000000000000000000000000006020830152565b919073ffffffffffffffffffffffffffffffffffffffff80911692612cd3610ac4612c3b565b612ce7612cde612c74565b30861415612a6c565b16604051927f70a082310000000000000000000000000000000000000000000000000000000084523060048501526020938481602481865afa908115612e2557600091612df8575b508381109084180290818414612df157600080936044938796604051947fa9059cbb00000000000000000000000000000000000000000000000000000000865260048601521860248401525af13d15601f3d1160016000511416171615612d935750565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b5050505050565b90508481813d8311612e1e575b612e0f81836129b8565b810103126103bb575138612d2f565b503d612e05565b6040513d6000823e3d90fd5b60405190612e3e8261299c565b600b82527f7a65726f207368617265730000000000000000000000000000000000000000006020830152565b908160209103126103bb575173ffffffffffffffffffffffffffffffffffffffff811681036103bb5790565b60405190612ea38261299c565b601182527f736c6970706167652065786365656465640000000000000000000000000000006020830152565b60243573ffffffffffffffffffffffffffffffffffffffff811681036103bb5790565b3573ffffffffffffffffffffffffffffffffffffffff811681036103bb5790565b91908260409103126103bb576020825192015190565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b919373ffffffffffffffffffffffffffffffffffffffff9193612fb19795612f938561012097612bd6565b60a085015260c08401521660e0820152816101008201520191612f29565b90565b60405190612fc18261299c565b600b82527f7a65726f20616d6f756e740000000000000000000000000000000000000000006020830152565b939192610100939695919661300786610120810199612bd6565b60a086015260c085015273ffffffffffffffffffffffffffffffffffffffff80921660e085015216910152565b8181029291811591840414171561304757565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b604051906130838261299c565b601082527f756e6578706563746564206f776e6572000000000000000000000000000000006020830152565b51906fffffffffffffffffffffffffffffffff821682036103bb57565b61310a73ffffffffffffffffffffffffffffffffffffffff82166130f96130f1612c3b565b821515612a6c565b613101612c74565b90301415612a6c565b478281109083180280831461318b5760009283928392839218905af11561312d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152fd5b505050565b8051906131d46040516131a28161299c565b600b81527f63616c6c206661696c65640000000000000000000000000000000000000000006020820152831515612a6c565b602001fd5b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8381166024830152602093929091908216908481604481855afa908115612e2557600091613328575b5015613250575b50505050565b839260006044928194604051937f095ea7b30000000000000000000000000000000000000000000000000000000085521660048401527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248401525af13d15601f3d11600160005114161716156132ca5780808061324a565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600e60248201527f415050524f56455f4641494c45440000000000000000000000000000000000006044820152fd5b90508481813d831161334e575b61333f81836129b8565b810103126103bb575138613243565b503d613335565b60009060005b815181101561318b5782806020808460051b860101519081519101305af4613381612b41565b9015610d1a575060010161335b565b73ffffffffffffffffffffffffffffffffffffffff806000541633149081156133b7575090565b90507f00000000000000000000000000000000000000000000000000000000000000001633149056fea264697066735822122059cedd331edc8c23d8424c64881e78ccb30a78ca6a61c3f6b58380cc2f3c5be264736f6c63430008180033"; + +type CompoundV3MigrationBundlerV2ConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: CompoundV3MigrationBundlerV2ConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class CompoundV3MigrationBundlerV2__factory extends ContractFactory { + constructor(...args: CompoundV3MigrationBundlerV2ConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + morpho: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(morpho, overrides || {}); + } + override deploy( + morpho: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(morpho, overrides || {}) as Promise< + CompoundV3MigrationBundlerV2 & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): CompoundV3MigrationBundlerV2__factory { + return super.connect(runner) as CompoundV3MigrationBundlerV2__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): CompoundV3MigrationBundlerV2Interface { + return new Interface(_abi) as CompoundV3MigrationBundlerV2Interface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): CompoundV3MigrationBundlerV2 { + return new Contract( + address, + _abi, + runner + ) as unknown as CompoundV3MigrationBundlerV2; + } +} diff --git a/pkg/types/factories/src/migration/MigrationBundler__factory.ts b/pkg/types/factories/src/migration/MigrationBundler__factory.ts new file mode 100644 index 00000000..1aee651f --- /dev/null +++ b/pkg/types/factories/src/migration/MigrationBundler__factory.ts @@ -0,0 +1,989 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + MigrationBundler, + MigrationBundlerInterface, +} from "../../../src/migration/MigrationBundler"; + +const _abi = [ + { + inputs: [], + name: "UnsafeCast", + type: "error", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + internalType: "uint48", + name: "expiration", + type: "uint48", + }, + { + internalType: "uint48", + name: "nonce", + type: "uint48", + }, + ], + internalType: "struct IAllowanceTransfer.PermitDetails", + name: "details", + type: "tuple", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "sigDeadline", + type: "uint256", + }, + ], + internalType: "struct IAllowanceTransfer.PermitSingle", + name: "permitSingle", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "approve2", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20Transfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20TransferFrom", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "minShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Mint", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Redeem", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoBorrow", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoFlashLoan", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoRepay", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "morphoSetAuthorizationWithSig", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupply", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupplyCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdrawCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "nativeTransfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoFlashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoRepay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupply", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "permit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "publicAllocator", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + internalType: "struct Withdrawal[]", + name: "withdrawals", + type: "tuple[]", + }, + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "supplyMarketParams", + type: "tuple", + }, + ], + name: "reallocateTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom2", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +export class MigrationBundler__factory { + static readonly abi = _abi; + static createInterface(): MigrationBundlerInterface { + return new Interface(_abi) as MigrationBundlerInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): MigrationBundler { + return new Contract(address, _abi, runner) as unknown as MigrationBundler; + } +} diff --git a/pkg/types/factories/src/migration/index.ts b/pkg/types/factories/src/migration/index.ts new file mode 100644 index 00000000..12386085 --- /dev/null +++ b/pkg/types/factories/src/migration/index.ts @@ -0,0 +1,10 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; +export { AaveV2MigrationBundlerV2__factory } from "./AaveV2MigrationBundlerV2__factory"; +export { AaveV3MigrationBundlerV2__factory } from "./AaveV3MigrationBundlerV2__factory"; +export { AaveV3OptimizerMigrationBundlerV2__factory } from "./AaveV3OptimizerMigrationBundlerV2__factory"; +export { CompoundV2MigrationBundlerV2__factory } from "./CompoundV2MigrationBundlerV2__factory"; +export { CompoundV3MigrationBundlerV2__factory } from "./CompoundV3MigrationBundlerV2__factory"; +export { MigrationBundler__factory } from "./MigrationBundler__factory"; diff --git a/pkg/types/factories/src/migration/interfaces/IAaveV2__factory.ts b/pkg/types/factories/src/migration/interfaces/IAaveV2__factory.ts new file mode 100644 index 00000000..f2b9f9a6 --- /dev/null +++ b/pkg/types/factories/src/migration/interfaces/IAaveV2__factory.ts @@ -0,0 +1,618 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IAaveV2, + IAaveV2Interface, +} from "../../../../src/migration/interfaces/IAaveV2"; + +const _abi = [ + { + inputs: [], + name: "FLASHLOAN_PREMIUM_TOTAL", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "interestRateMode", + type: "uint256", + }, + { + internalType: "uint16", + name: "referralCode", + type: "uint16", + }, + { + internalType: "address", + name: "onBehalfOf", + type: "address", + }, + ], + name: "borrow", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalfOf", + type: "address", + }, + { + internalType: "uint16", + name: "referralCode", + type: "uint16", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "balanceFromAfter", + type: "uint256", + }, + { + internalType: "uint256", + name: "balanceToBefore", + type: "uint256", + }, + ], + name: "finalizeTransfer", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiverAddress", + type: "address", + }, + { + internalType: "address[]", + name: "assets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "amounts", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "modes", + type: "uint256[]", + }, + { + internalType: "address", + name: "onBehalfOf", + type: "address", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + { + internalType: "uint16", + name: "referralCode", + type: "uint16", + }, + ], + name: "flashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getAddressesProvider", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + ], + name: "getReserveData", + outputs: [ + { + components: [ + { + components: [ + { + internalType: "uint256", + name: "data", + type: "uint256", + }, + ], + internalType: "struct ReserveConfigurationMap", + name: "configuration", + type: "tuple", + }, + { + internalType: "uint128", + name: "liquidityIndex", + type: "uint128", + }, + { + internalType: "uint128", + name: "variableBorrowIndex", + type: "uint128", + }, + { + internalType: "uint128", + name: "currentLiquidityRate", + type: "uint128", + }, + { + internalType: "uint128", + name: "currentVariableBorrowRate", + type: "uint128", + }, + { + internalType: "uint128", + name: "currentStableBorrowRate", + type: "uint128", + }, + { + internalType: "uint40", + name: "lastUpdateTimestamp", + type: "uint40", + }, + { + internalType: "address", + name: "aTokenAddress", + type: "address", + }, + { + internalType: "address", + name: "stableDebtTokenAddress", + type: "address", + }, + { + internalType: "address", + name: "variableDebtTokenAddress", + type: "address", + }, + { + internalType: "address", + name: "interestRateStrategyAddress", + type: "address", + }, + { + internalType: "uint8", + name: "id", + type: "uint8", + }, + ], + internalType: "struct ReserveData", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + ], + name: "getReserveNormalizedIncome", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + ], + name: "getReserveNormalizedVariableDebt", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getReservesList", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "user", + type: "address", + }, + ], + name: "getUserAccountData", + outputs: [ + { + internalType: "uint256", + name: "totalCollateralETH", + type: "uint256", + }, + { + internalType: "uint256", + name: "totalDebtETH", + type: "uint256", + }, + { + internalType: "uint256", + name: "availableBorrowsETH", + type: "uint256", + }, + { + internalType: "uint256", + name: "currentLiquidationThreshold", + type: "uint256", + }, + { + internalType: "uint256", + name: "ltv", + type: "uint256", + }, + { + internalType: "uint256", + name: "healthFactor", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "reserve", + type: "address", + }, + { + internalType: "address", + name: "aTokenAddress", + type: "address", + }, + { + internalType: "address", + name: "stableDebtAddress", + type: "address", + }, + { + internalType: "address", + name: "variableDebtAddress", + type: "address", + }, + { + internalType: "address", + name: "interestRateStrategyAddress", + type: "address", + }, + ], + name: "initReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "collateralAsset", + type: "address", + }, + { + internalType: "address", + name: "debtAsset", + type: "address", + }, + { + internalType: "address", + name: "user", + type: "address", + }, + { + internalType: "uint256", + name: "debtToCover", + type: "uint256", + }, + { + internalType: "bool", + name: "receiveAToken", + type: "bool", + }, + ], + name: "liquidationCall", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "paused", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "address", + name: "user", + type: "address", + }, + ], + name: "rebalanceStableBorrowRate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "rateMode", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalfOf", + type: "address", + }, + ], + name: "repay", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "reserve", + type: "address", + }, + { + internalType: "uint256", + name: "configuration", + type: "uint256", + }, + ], + name: "setConfiguration", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bool", + name: "val", + type: "bool", + }, + ], + name: "setPause", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "reserve", + type: "address", + }, + { + internalType: "address", + name: "rateStrategyAddress", + type: "address", + }, + ], + name: "setReserveInterestRateStrategyAddress", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "bool", + name: "useAsCollateral", + type: "bool", + }, + ], + name: "setUserUseReserveAsCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "rateMode", + type: "uint256", + }, + ], + name: "swapBorrowRateMode", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IAaveV2__factory { + static readonly abi = _abi; + static createInterface(): IAaveV2Interface { + return new Interface(_abi) as IAaveV2Interface; + } + static connect(address: string, runner?: ContractRunner | null): IAaveV2 { + return new Contract(address, _abi, runner) as unknown as IAaveV2; + } +} diff --git a/pkg/types/factories/src/migration/interfaces/IAaveV3Optimizer__factory.ts b/pkg/types/factories/src/migration/interfaces/IAaveV3Optimizer__factory.ts new file mode 100644 index 00000000..abd1ae97 --- /dev/null +++ b/pkg/types/factories/src/migration/interfaces/IAaveV3Optimizer__factory.ts @@ -0,0 +1,561 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IAaveV3Optimizer, + IAaveV3OptimizerInterface, +} from "../../../../src/migration/interfaces/IAaveV3Optimizer"; + +const _abi = [ + { + inputs: [], + name: "InvalidSignatory", + type: "error", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "manager", + type: "address", + }, + { + internalType: "bool", + name: "isAllowed", + type: "bool", + }, + ], + name: "approveManager", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "delegator", + type: "address", + }, + { + internalType: "address", + name: "manager", + type: "address", + }, + { + internalType: "bool", + name: "isAllowed", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "approveManagerWithSig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "underlying", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "uint256", + name: "maxIterations", + type: "uint256", + }, + ], + name: "borrow", + outputs: [ + { + internalType: "uint256", + name: "borrowed", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "assets", + type: "address[]", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + ], + name: "claimRewards", + outputs: [ + { + internalType: "address[]", + name: "rewardTokens", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "claimedAmounts", + type: "uint256[]", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "underlyingBorrowed", + type: "address", + }, + { + internalType: "address", + name: "underlyingCollateral", + type: "address", + }, + { + internalType: "address", + name: "user", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "liquidate", + outputs: [ + { + internalType: "uint256", + name: "repaid", + type: "uint256", + }, + { + internalType: "uint256", + name: "seized", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "underlying", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + ], + name: "repay", + outputs: [ + { + internalType: "uint256", + name: "repaid", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "underlying", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "repayWithPermit", + outputs: [ + { + internalType: "uint256", + name: "repaid", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "underlying", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "uint256", + name: "maxIterations", + type: "uint256", + }, + ], + name: "supply", + outputs: [ + { + internalType: "uint256", + name: "supplied", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "underlying", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + ], + name: "supplyCollateral", + outputs: [ + { + internalType: "uint256", + name: "supplied", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "underlying", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "supplyCollateralWithPermit", + outputs: [ + { + internalType: "uint256", + name: "supplied", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "underlying", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "uint256", + name: "maxIterations", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "supplyWithPermit", + outputs: [ + { + internalType: "uint256", + name: "supplied", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "underlying", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "uint256", + name: "maxIterations", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "withdrawn", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "underlying", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdrawCollateral", + outputs: [ + { + internalType: "uint256", + name: "withdrawn", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IAaveV3Optimizer__factory { + static readonly abi = _abi; + static createInterface(): IAaveV3OptimizerInterface { + return new Interface(_abi) as IAaveV3OptimizerInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IAaveV3Optimizer { + return new Contract(address, _abi, runner) as unknown as IAaveV3Optimizer; + } +} diff --git a/pkg/types/factories/src/migration/interfaces/IAaveV3__factory.ts b/pkg/types/factories/src/migration/interfaces/IAaveV3__factory.ts new file mode 100644 index 00000000..7873cbb4 --- /dev/null +++ b/pkg/types/factories/src/migration/interfaces/IAaveV3__factory.ts @@ -0,0 +1,1034 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IAaveV3, + IAaveV3Interface, +} from "../../../../src/migration/interfaces/IAaveV3"; + +const _abi = [ + { + inputs: [], + name: "ADDRESSES_PROVIDER", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "BRIDGE_PROTOCOL_FEE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "FLASHLOAN_PREMIUM_TOTAL", + outputs: [ + { + internalType: "uint128", + name: "", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "FLASHLOAN_PREMIUM_TO_PROTOCOL", + outputs: [ + { + internalType: "uint128", + name: "", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "MAX_NUMBER_RESERVES", + outputs: [ + { + internalType: "uint16", + name: "", + type: "uint16", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "fee", + type: "uint256", + }, + ], + name: "backUnbacked", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "interestRateMode", + type: "uint256", + }, + { + internalType: "uint16", + name: "referralCode", + type: "uint16", + }, + { + internalType: "address", + name: "onBehalfOf", + type: "address", + }, + ], + name: "borrow", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalfOf", + type: "address", + }, + { + internalType: "uint16", + name: "referralCode", + type: "uint16", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + ], + name: "dropReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "balanceFromBefore", + type: "uint256", + }, + { + internalType: "uint256", + name: "balanceToBefore", + type: "uint256", + }, + ], + name: "finalizeTransfer", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiverAddress", + type: "address", + }, + { + internalType: "address[]", + name: "assets", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "amounts", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "interestRateModes", + type: "uint256[]", + }, + { + internalType: "address", + name: "onBehalfOf", + type: "address", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + { + internalType: "uint16", + name: "referralCode", + type: "uint16", + }, + ], + name: "flashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "receiverAddress", + type: "address", + }, + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "bytes", + name: "params", + type: "bytes", + }, + { + internalType: "uint16", + name: "referralCode", + type: "uint16", + }, + ], + name: "flashLoanSimple", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint16", + name: "id", + type: "uint16", + }, + ], + name: "getReserveAddressById", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + ], + name: "getReserveData", + outputs: [ + { + components: [ + { + components: [ + { + internalType: "uint256", + name: "data", + type: "uint256", + }, + ], + internalType: "struct ReserveConfigurationMap", + name: "configuration", + type: "tuple", + }, + { + internalType: "uint128", + name: "liquidityIndex", + type: "uint128", + }, + { + internalType: "uint128", + name: "currentLiquidityRate", + type: "uint128", + }, + { + internalType: "uint128", + name: "variableBorrowIndex", + type: "uint128", + }, + { + internalType: "uint128", + name: "currentVariableBorrowRate", + type: "uint128", + }, + { + internalType: "uint128", + name: "currentStableBorrowRate", + type: "uint128", + }, + { + internalType: "uint40", + name: "lastUpdateTimestamp", + type: "uint40", + }, + { + internalType: "uint16", + name: "id", + type: "uint16", + }, + { + internalType: "address", + name: "aTokenAddress", + type: "address", + }, + { + internalType: "address", + name: "stableDebtTokenAddress", + type: "address", + }, + { + internalType: "address", + name: "variableDebtTokenAddress", + type: "address", + }, + { + internalType: "address", + name: "interestRateStrategyAddress", + type: "address", + }, + { + internalType: "uint128", + name: "accruedToTreasury", + type: "uint128", + }, + { + internalType: "uint128", + name: "unbacked", + type: "uint128", + }, + { + internalType: "uint128", + name: "isolationModeTotalDebt", + type: "uint128", + }, + ], + internalType: "struct ReserveData", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + ], + name: "getReserveNormalizedIncome", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + ], + name: "getReserveNormalizedVariableDebt", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getReservesList", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "user", + type: "address", + }, + ], + name: "getUserAccountData", + outputs: [ + { + internalType: "uint256", + name: "totalCollateralBase", + type: "uint256", + }, + { + internalType: "uint256", + name: "totalDebtBase", + type: "uint256", + }, + { + internalType: "uint256", + name: "availableBorrowsBase", + type: "uint256", + }, + { + internalType: "uint256", + name: "currentLiquidationThreshold", + type: "uint256", + }, + { + internalType: "uint256", + name: "ltv", + type: "uint256", + }, + { + internalType: "uint256", + name: "healthFactor", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "user", + type: "address", + }, + ], + name: "getUserEMode", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "address", + name: "aTokenAddress", + type: "address", + }, + { + internalType: "address", + name: "stableDebtAddress", + type: "address", + }, + { + internalType: "address", + name: "variableDebtAddress", + type: "address", + }, + { + internalType: "address", + name: "interestRateStrategyAddress", + type: "address", + }, + ], + name: "initReserve", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "collateralAsset", + type: "address", + }, + { + internalType: "address", + name: "debtAsset", + type: "address", + }, + { + internalType: "address", + name: "user", + type: "address", + }, + { + internalType: "uint256", + name: "debtToCover", + type: "uint256", + }, + { + internalType: "bool", + name: "receiveAToken", + type: "bool", + }, + ], + name: "liquidationCall", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "assets", + type: "address[]", + }, + ], + name: "mintToTreasury", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalfOf", + type: "address", + }, + { + internalType: "uint16", + name: "referralCode", + type: "uint16", + }, + ], + name: "mintUnbacked", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "address", + name: "user", + type: "address", + }, + ], + name: "rebalanceStableBorrowRate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "interestRateMode", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalfOf", + type: "address", + }, + ], + name: "repay", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "interestRateMode", + type: "uint256", + }, + ], + name: "repayWithATokens", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "interestRateMode", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalfOf", + type: "address", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "permitV", + type: "uint8", + }, + { + internalType: "bytes32", + name: "permitR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "permitS", + type: "bytes32", + }, + ], + name: "repayWithPermit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "rescueTokens", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + ], + name: "resetIsolationModeTotalDebt", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "address", + name: "rateStrategyAddress", + type: "address", + }, + ], + name: "setReserveInterestRateStrategyAddress", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint8", + name: "categoryId", + type: "uint8", + }, + ], + name: "setUserEMode", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "bool", + name: "useAsCollateral", + type: "bool", + }, + ], + name: "setUserUseReserveAsCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalfOf", + type: "address", + }, + { + internalType: "uint16", + name: "referralCode", + type: "uint16", + }, + ], + name: "supply", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalfOf", + type: "address", + }, + { + internalType: "uint16", + name: "referralCode", + type: "uint16", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "permitV", + type: "uint8", + }, + { + internalType: "bytes32", + name: "permitR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "permitS", + type: "bytes32", + }, + ], + name: "supplyWithPermit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "interestRateMode", + type: "uint256", + }, + ], + name: "swapBorrowRateMode", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "bridgeProtocolFee", + type: "uint256", + }, + ], + name: "updateBridgeProtocolFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint128", + name: "flashLoanPremiumTotal", + type: "uint128", + }, + { + internalType: "uint128", + name: "flashLoanPremiumToProtocol", + type: "uint128", + }, + ], + name: "updateFlashloanPremiums", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IAaveV3__factory { + static readonly abi = _abi; + static createInterface(): IAaveV3Interface { + return new Interface(_abi) as IAaveV3Interface; + } + static connect(address: string, runner?: ContractRunner | null): IAaveV3 { + return new Contract(address, _abi, runner) as unknown as IAaveV3; + } +} diff --git a/pkg/types/factories/src/migration/interfaces/ICEth__factory.ts b/pkg/types/factories/src/migration/interfaces/ICEth__factory.ts new file mode 100644 index 00000000..c43e0dce --- /dev/null +++ b/pkg/types/factories/src/migration/interfaces/ICEth__factory.ts @@ -0,0 +1,150 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ICEth, + ICEthInterface, +} from "../../../../src/migration/interfaces/ICEth"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "borrowAmount", + type: "uint256", + }, + ], + name: "borrow", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "borrower", + type: "address", + }, + ], + name: "borrowBalanceCurrent", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "exchangeRateStored", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "mint", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "redeemTokens", + type: "uint256", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "redeemAmount", + type: "uint256", + }, + ], + name: "redeemUnderlying", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "borrower", + type: "address", + }, + ], + name: "repayBorrowBehalf", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +export class ICEth__factory { + static readonly abi = _abi; + static createInterface(): ICEthInterface { + return new Interface(_abi) as ICEthInterface; + } + static connect(address: string, runner?: ContractRunner | null): ICEth { + return new Contract(address, _abi, runner) as unknown as ICEth; + } +} diff --git a/pkg/types/factories/src/migration/interfaces/ICToken__factory.ts b/pkg/types/factories/src/migration/interfaces/ICToken__factory.ts new file mode 100644 index 00000000..3d288eda --- /dev/null +++ b/pkg/types/factories/src/migration/interfaces/ICToken__factory.ts @@ -0,0 +1,186 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ICToken, + ICTokenInterface, +} from "../../../../src/migration/interfaces/ICToken"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "borrowAmount", + type: "uint256", + }, + ], + name: "borrow", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "borrower", + type: "address", + }, + ], + name: "borrowBalanceCurrent", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "exchangeRateStored", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "mintAmount", + type: "uint256", + }, + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "redeemTokens", + type: "uint256", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "redeemAmount", + type: "uint256", + }, + ], + name: "redeemUnderlying", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "borrower", + type: "address", + }, + { + internalType: "uint256", + name: "repayAmount", + type: "uint256", + }, + ], + name: "repayBorrowBehalf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "underlying", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ICToken__factory { + static readonly abi = _abi; + static createInterface(): ICTokenInterface { + return new Interface(_abi) as ICTokenInterface; + } + static connect(address: string, runner?: ContractRunner | null): ICToken { + return new Contract(address, _abi, runner) as unknown as ICToken; + } +} diff --git a/pkg/types/factories/src/migration/interfaces/ICompoundV3__factory.ts b/pkg/types/factories/src/migration/interfaces/ICompoundV3__factory.ts new file mode 100644 index 00000000..70f537bd --- /dev/null +++ b/pkg/types/factories/src/migration/interfaces/ICompoundV3__factory.ts @@ -0,0 +1,303 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ICompoundV3, + ICompoundV3Interface, +} from "../../../../src/migration/interfaces/ICompoundV3"; + +const _abi = [ + { + inputs: [], + name: "BadSignatory", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "manager", + type: "address", + }, + { + internalType: "bool", + name: "isAllowed", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "expiry", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "allowBySig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "baseToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "borrowBalanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "supply", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "dst", + type: "address", + }, + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "supplyFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "dst", + type: "address", + }, + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "supplyTo", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "asset", + type: "address", + }, + ], + name: "userCollateral", + outputs: [ + { + components: [ + { + internalType: "uint128", + name: "balance", + type: "uint128", + }, + { + internalType: "uint128", + name: "_reserved", + type: "uint128", + }, + ], + internalType: "struct UserCollateral", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "src", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdrawFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ICompoundV3__factory { + static readonly abi = _abi; + static createInterface(): ICompoundV3Interface { + return new Interface(_abi) as ICompoundV3Interface; + } + static connect(address: string, runner?: ContractRunner | null): ICompoundV3 { + return new Contract(address, _abi, runner) as unknown as ICompoundV3; + } +} diff --git a/pkg/types/factories/src/migration/interfaces/IComptroller__factory.ts b/pkg/types/factories/src/migration/interfaces/IComptroller__factory.ts new file mode 100644 index 00000000..ac116490 --- /dev/null +++ b/pkg/types/factories/src/migration/interfaces/IComptroller__factory.ts @@ -0,0 +1,44 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IComptroller, + IComptrollerInterface, +} from "../../../../src/migration/interfaces/IComptroller"; + +const _abi = [ + { + inputs: [ + { + internalType: "address[]", + name: "cTokens", + type: "address[]", + }, + ], + name: "enterMarkets", + outputs: [ + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IComptroller__factory { + static readonly abi = _abi; + static createInterface(): IComptrollerInterface { + return new Interface(_abi) as IComptrollerInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IComptroller { + return new Contract(address, _abi, runner) as unknown as IComptroller; + } +} diff --git a/pkg/types/factories/src/migration/interfaces/index.ts b/pkg/types/factories/src/migration/interfaces/index.ts new file mode 100644 index 00000000..c9fb17ff --- /dev/null +++ b/pkg/types/factories/src/migration/interfaces/index.ts @@ -0,0 +1,10 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IAaveV2__factory } from "./IAaveV2__factory"; +export { IAaveV3__factory } from "./IAaveV3__factory"; +export { IAaveV3Optimizer__factory } from "./IAaveV3Optimizer__factory"; +export { ICEth__factory } from "./ICEth__factory"; +export { ICToken__factory } from "./ICToken__factory"; +export { ICompoundV3__factory } from "./ICompoundV3__factory"; +export { IComptroller__factory } from "./IComptroller__factory"; diff --git a/pkg/types/factories/src/mocks/ERC20Mock__factory.ts b/pkg/types/factories/src/mocks/ERC20Mock__factory.ts new file mode 100644 index 00000000..b0c7d129 --- /dev/null +++ b/pkg/types/factories/src/mocks/ERC20Mock__factory.ts @@ -0,0 +1,374 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + ERC20Mock, + ERC20MockInterface, +} from "../../../src/mocks/ERC20Mock"; + +const _abi = [ + { + inputs: [ + { + internalType: "string", + name: "_name", + type: "string", + }, + { + internalType: "string", + name: "_symbol", + type: "string", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256", + }, + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "setBalance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x6080604052346200031d57620012bf803803806200001d8162000322565b9283398101906040818303126200031d5780516001600160401b03908181116200031d57836200004f91840162000348565b91602093848201518381116200031d576200006b920162000348565b82518281116200021d576003918254916001958684811c9416801562000312575b88851014620002fc578190601f94858111620002a6575b5088908583116001146200023f5760009262000233575b505060001982861b1c191690861b1783555b80519384116200021d5760049586548681811c9116801562000212575b82821014620001fd57838111620001b2575b508092851160011462000144575093839491849260009562000138575b50501b92600019911b1c19161790555b604051610f049081620003bb8239f35b01519350388062000118565b92919084601f1981168860005285600020956000905b898383106200019757505050106200017c575b50505050811b01905562000128565b01519060f884600019921b161c19169055388080806200016d565b8587015189559097019694850194889350908101906200015a565b87600052816000208480880160051c820192848910620001f3575b0160051c019087905b828110620001e6575050620000fb565b60008155018790620001d6565b92508192620001cd565b602288634e487b7160e01b6000525260246000fd5b90607f1690620000e9565b634e487b7160e01b600052604160045260246000fd5b015190503880620000ba565b90889350601f19831691876000528a6000209260005b8c8282106200028f575050841162000276575b505050811b018355620000cc565b015160001983881b60f8161c1916905538808062000268565b8385015186558c9790950194938401930162000255565b90915085600052886000208580850160051c8201928b8610620002f2575b918a91869594930160051c01915b828110620002e2575050620000a3565b600081558594508a9101620002d2565b92508192620002c4565b634e487b7160e01b600052602260045260246000fd5b93607f16936200008c565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200021d57604052565b919080601f840112156200031d5782516001600160401b0381116200021d576020906200037e601f8201601f1916830162000322565b928184528282870101116200031d5760005b818110620003a657508260009394955001015290565b85810183015184820184015282016200039056fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461091c57508063095ea7b3146108d457806318160ddd1461089757806323b872dd14610769578063313ce5671461072f57806339509351146106b557806370a082311461065457806395d89b411461045b578063a457c2d714610356578063a9059cbb14610307578063dd62ed3e1461028f5763e30443bc146100a757600080fd5b3461028b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028b576100dd610ac3565b73ffffffffffffffffffffffffffffffffffffffff6024359116928385526020928584528186205490851561020957858752868552828720549082821061018757509161016d84838796948a98968a8a528988520384892055878982600254039286519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef998a91a3610b0e565b60025585855284835280852082815401905551908152a380f35b608490868551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b608490858451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b50503461030357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030357806020926102cb610ac3565b6102d3610aeb565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b5080fd5b50503461030357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103035760209061034f610345610ac3565b6024359033610cbf565b5160018152f35b50823461045857827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104585761038e610ac3565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff861682526020522054908282106103d55760208561034f8585038733610b4a565b60849060208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b5091903461030357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103035780519082845460018160011c906001831692831561064a575b602093848410811461061e5783885287959493929181156105c35750600114610547575b50505003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019267ffffffffffffffff84118385101761051b5750829182610517925282610a5d565b0390f35b806041867f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b8888529193925086917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106105ad57505050907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092601f928201019181936104c9565b8054888501870152879450928501928101610572565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016848701525050151560051b830101905081601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06104c9565b60248960228c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b91607f16916104a5565b5050346103035760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610303578060209273ffffffffffffffffffffffffffffffffffffffff6106a6610ac3565b16815280845220549051908152f35b50503461030357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103035761034f6020926107286106f6610ac3565b913381526001865284812073ffffffffffffffffffffffffffffffffffffffff84168252865284602435912054610b0e565b9033610b4a565b50503461030357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610303576020905160128152f35b508290346103035760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610303576107a3610ac3565b6107ab610aeb565b91846044359473ffffffffffffffffffffffffffffffffffffffff8416815260016020528181203382526020522054907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610811575b60208661034f878787610cbf565b84821061083a575091839161082f6020969561034f95033383610b4a565b919394819350610803565b60649060208751917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b50503461030357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610303576020906002549051908152f35b50503461030357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103035760209061034f610912610ac3565b6024359033610b4a565b849150833461028b57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261028b578260035460018160011c9060018316928315610a53575b602093848410811461061e5783885287959493929181156105c357506001146109d65750505003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019267ffffffffffffffff84118385101761051b5750829182610517925282610a5d565b600388529193925086917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b828410610a3d57505050907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092601f928201019181936104c9565b8054888501870152879450928501928101610a02565b91607f1691610965565b60208082528251818301819052939260005b858110610aaf575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610a6f565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610ae657565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610ae657565b91908201809211610b1b57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff809116918215610c3c5716918215610bb85760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff809116918215610e4a5716918215610dc657600082815280602052604081205491808310610d4257604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220a60b3ed9e97d912d8c93d3465cd6e98562024067882948091a2d99768324317964736f6c63430008180033"; + +type ERC20MockConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ERC20MockConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ERC20Mock__factory extends ContractFactory { + constructor(...args: ERC20MockConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _name: string, + _symbol: string, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(_name, _symbol, overrides || {}); + } + override deploy( + _name: string, + _symbol: string, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(_name, _symbol, overrides || {}) as Promise< + ERC20Mock & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): ERC20Mock__factory { + return super.connect(runner) as ERC20Mock__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ERC20MockInterface { + return new Interface(_abi) as ERC20MockInterface; + } + static connect(address: string, runner?: ContractRunner | null): ERC20Mock { + return new Contract(address, _abi, runner) as unknown as ERC20Mock; + } +} diff --git a/pkg/types/factories/src/mocks/ERC20PermitMock__factory.ts b/pkg/types/factories/src/mocks/ERC20PermitMock__factory.ts new file mode 100644 index 00000000..398e70cb --- /dev/null +++ b/pkg/types/factories/src/mocks/ERC20PermitMock__factory.ts @@ -0,0 +1,517 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + ERC20PermitMock, + ERC20PermitMockInterface, +} from "../../../src/mocks/ERC20PermitMock"; + +const _abi = [ + { + inputs: [ + { + internalType: "string", + name: "_name", + type: "string", + }, + { + internalType: "string", + name: "_symbol", + type: "string", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "InvalidShortString", + type: "error", + }, + { + inputs: [ + { + internalType: "string", + name: "str", + type: "string", + }, + ], + name: "StringTooLong", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [], + name: "EIP712DomainChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256", + }, + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "eip712Domain", + outputs: [ + { + internalType: "bytes1", + name: "fields", + type: "bytes1", + }, + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "version", + type: "string", + }, + { + internalType: "uint256", + name: "chainId", + type: "uint256", + }, + { + internalType: "address", + name: "verifyingContract", + type: "address", + }, + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "uint256[]", + name: "extensions", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "setBalance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x6101606040818152346200041c5762002099803803809162000022828662000421565b843982019181818403126200041c5780516001600160401b0392908381116200041c5784620000539184016200046a565b91602094858201518581116200041c576200006f92016200046a565b93815190828201828110868211176200032757835260019283835281830193603160f81b85528551878111620003275760038054918383811c9316801562000411575b86841014620003fb57601f92838111620003b0575b50808684821160011462000349576000916200033d575b5060001982841b1c191690841b1781555b895191898311620003275760049a8b548581811c911680156200031c575b888210146200030757828111620002bc575b5086918411600114620002515793839491849260009562000245575b50501b92600019911b1c19161787555b6200015685620004c5565b9361012094855262000168846200066a565b95610140968752838151910120938460e05251902096610100978089524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c0830196838810908811176200023057508590525190206080523060c0526118d79384620007c285396080518461137f015260a0518461144b015260c05184611350015260e051846113ce015251836113f4015251826108340152518161085e0152f35b604190634e487b7160e01b6000525260246000fd5b0151935038806200013b565b9190601f198416928c60005284886000209460005b8a89838310620002a4575050501062000289575b50505050811b0187556200014b565b01519060f884600019921b161c19169055388080806200027a565b86860151895590970196948501948893500162000266565b8c600052876000208380870160051c8201928a8810620002fd575b0160051c019086905b828110620002f05750506200011f565b60008155018690620002e0565b92508192620002d7565b60228d634e487b7160e01b6000525260246000fd5b90607f16906200010d565b634e487b7160e01b600052604160045260246000fd5b905089015138620000de565b60008481528881208794509190601f198416908a8e5b838310620003985750505083116200037f575b5050811b018155620000ef565b8b015160001983861b60f8161c19169055388062000372565b840151855589969094019392830192018a8e6200035f565b82600052866000208480840160051c820192898510620003f1575b0160051c019085905b828110620003e4575050620000c7565b60008155018590620003d4565b92508192620003cb565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000b2565b600080fd5b601f909101601f19168101906001600160401b038211908210176200032757604052565b60005b838110620004595750506000910152565b818101518382015260200162000448565b81601f820112156200041c5780516001600160401b038111620003275760405192620004a1601f8301601f19166020018562000421565b818452602082840101116200041c57620004c2916020808501910162000445565b90565b8051602091908281101562000545575090601f825111620005035780825192015190808310620004f457501790565b82600019910360031b1b161790565b604490620005379260405193849263305a27a960e01b84528060048501528251928391826024870152868601910162000445565b601f01601f19168101030190fd5b6001600160401b03811162000327576005928354926001938481811c911680156200065f575b83821014620003fb57601f811162000628575b5081601f8411600114620005be5750928293918392600094620005b2575b50501b916000199060031b1c191617905560ff90565b0151925038806200059c565b919083601f1981168760005284600020946000905b888383106200060d5750505010620005f3575b505050811b01905560ff90565b015160001960f88460031b161c19169055388080620005e6565b858701518855909601959485019487935090810190620005d3565b8560005284601f846000209201871c820191601f8601881c015b828110620006525750506200057e565b6000815501859062000642565b90607f16906200056b565b805160209081811015620006975750601f825111620005035780825192015190808310620004f457501790565b906001600160401b0382116200032757600654926001938481811c91168015620007b6575b83821014620003fb57601f81116200077c575b5081601f841160011462000710575092829391839260009462000704575b50501b916000199060031b1c19161760065560ff90565b015192503880620006ed565b919083601f198116600660005284600020946000905b8883831062000761575050501062000747575b505050811b0160065560ff90565b015160001960f88460031b161c1916905538808062000739565b85870151885590960195948501948793509081019062000726565b600660005284601f84600020920160051c820191601f860160051c015b828110620007a9575050620006cf565b6000815501859062000799565b90607f1690620006bc56fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde0314610cdd57508063095ea7b314610c9557806318160ddd14610c5857806323b872dd14610b2a578063313ce56714610af05780633644e51514610aae5780633950935114610a3457806370a08231146109d35780637ecebe001461097157806384b0196e146107ff57806395d89b41146106d4578063a457c2d7146105cf578063a9059cbb14610580578063d505accf14610333578063dd62ed3e146102bb5763e30443bc146100d357600080fd5b346102b757817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102b757610109610e4f565b73ffffffffffffffffffffffffffffffffffffffff602435911692838552602092858452818620549085156102355785875286855282872054908282106101b357509161019984838796948a98968a8a528988520384892055878982600254039286519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef998a91a3610f79565b60025585855284835280852082815401905551908152a380f35b608490868551917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b608490858451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b50503461032f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032f57806020926102f7610e4f565b6102ff610e77565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b5080fd5b5082903461032f5760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032f5761036d610e4f565b610375610e77565b906044359260643560843560ff8116810361057c5781421161051f5773ffffffffffffffffffffffffffffffffffffffff90818516928389526007602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176104f3578b525190206104819161047991610438611339565b908c51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a435922061166c565b919091611708565b16036104965750610493939450610fb5565b80f35b60649060208751917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b60248b6041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648360208a51917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b8680fd5b50503461032f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032f576020906105c86105be610e4f565b602435903361112a565b5160018152f35b5082346106d157827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106d157610607610e4f565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff8616825260205220549082821061064e576020856105c88585038733610fb5565b60849060208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b5090346102b757827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102b757805183819490845461071581610e9a565b91828552602096600192886001821691826000146107b757505060011461075c575b858861075889610749848a0385610f38565b51928284938452830190610df1565b0390f35b815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b82841061079f575050508201018161074961075838610737565b8054848a018601528895508794909301928101610785565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168882015294151560051b8701909401945085935061074992506107589150389050610737565b5090346102b757827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102b7576108587f0000000000000000000000000000000000000000000000000000000000000000611471565b926108827f00000000000000000000000000000000000000000000000000000000000000006115ac565b90825192602092602085019585871067ffffffffffffffff88111761094557509260206108fb8388966108ee998b9996528686528151998a997f0f000000000000000000000000000000000000000000000000000000000000008b5260e0868c015260e08b0190610df1565b91898303908a0152610df1565b924660608801523060808801528460a088015286840360c088015251928381520193925b82811061092e57505050500390f35b83518552869550938101939281019260010161091f565b8360416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b50503461032f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032f578060209273ffffffffffffffffffffffffffffffffffffffff6109c3610e4f565b1681526007845220549051908152f35b50503461032f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032f578060209273ffffffffffffffffffffffffffffffffffffffff610a25610e4f565b16815280845220549051908152f35b50503461032f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032f576105c8602092610aa7610a75610e4f565b913381526001865284812073ffffffffffffffffffffffffffffffffffffffff84168252865284602435912054610f79565b9033610fb5565b50503461032f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032f57602090610ae9611339565b9051908152f35b50503461032f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032f576020905160128152f35b5082903461032f5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032f57610b64610e4f565b610b6c610e77565b91846044359473ffffffffffffffffffffffffffffffffffffffff8416815260016020528181203382526020522054907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610bd2575b6020866105c887878761112a565b848210610bfb5750918391610bf0602096956105c895033383610fb5565b919394819350610bc4565b60649060208751917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b50503461032f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032f576020906002549051908152f35b50503461032f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032f576020906105c8610cd3610e4f565b6024359033610fb5565b84843461032f57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032f578282600354610d1b81610e9a565b9081845260209560019187600182169182600014610dac575050600114610d50575b5050506107589291610749910385610f38565b9190869350600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b828410610d945750505082010181610749610758610d3d565b8054848a018601528895508794909301928101610d7b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061074991506107589050610d3d565b919082519283825260005b848110610e3b5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201610dfc565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610e7257565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610e7257565b90600182811c92168015610ee3575b6020831014610eb457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691610ea9565b6040810190811067ffffffffffffffff821117610f0957604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610f0957604052565b91908201809211610f8657565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8091169182156110a757169182156110235760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff8091169182156112b55716918215611231576000828152806020526040812054918083106111ad57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480611448575b156113a1577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117610f095760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611378565b60ff81146114c75760ff811690601f821161149d576040519161149383610eed565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b506040516005548160006114da83610e9a565b808352926020906001908181169081156115695750600114611508575b505061150592500382610f38565b90565b91509260056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0936000925b828410611551575061150594505050810160200138806114f7565b85548785018301529485019486945092810192611536565b9050602093506115059592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b82010138806114f7565b60ff81146115ce5760ff811690601f821161149d576040519161149383610eed565b506040516006548160006115e183610e9a565b80835292602090600190818116908115611569575060011461160b57505061150592500382610f38565b91509260066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000925b828410611654575061150594505050810160200138806114f7565b85548785018301529485019486945092810192611639565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116116fc5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156116ef57815173ffffffffffffffffffffffffffffffffffffffff8116156116e9579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b600581101561187257806117195750565b6001810361177f5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036117e55760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b6003146117ee57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea264697066735822122097d94749717b6bad5a63e22b5a93438915356168c3df3d96e7ba7041fe4e163964736f6c63430008180033"; + +type ERC20PermitMockConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ERC20PermitMockConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ERC20PermitMock__factory extends ContractFactory { + constructor(...args: ERC20PermitMockConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _name: string, + _symbol: string, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(_name, _symbol, overrides || {}); + } + override deploy( + _name: string, + _symbol: string, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(_name, _symbol, overrides || {}) as Promise< + ERC20PermitMock & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): ERC20PermitMock__factory { + return super.connect(runner) as ERC20PermitMock__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ERC20PermitMockInterface { + return new Interface(_abi) as ERC20PermitMockInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ERC20PermitMock { + return new Contract(address, _abi, runner) as unknown as ERC20PermitMock; + } +} diff --git a/pkg/types/factories/src/mocks/ERC20WrapperMock__factory.ts b/pkg/types/factories/src/mocks/ERC20WrapperMock__factory.ts new file mode 100644 index 00000000..335450e1 --- /dev/null +++ b/pkg/types/factories/src/mocks/ERC20WrapperMock__factory.ts @@ -0,0 +1,450 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + ERC20WrapperMock, + ERC20WrapperMockInterface, +} from "../../../src/mocks/ERC20WrapperMock"; + +const _abi = [ + { + inputs: [ + { + internalType: "contract IERC20", + name: "token", + type: "address", + }, + { + internalType: "string", + name: "_name", + type: "string", + }, + { + internalType: "string", + name: "_symbol", + type: "string", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256", + }, + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "depositFor", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "setBalance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "underlying", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdrawTo", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60a060405234620003a15762001a55803803806200001d81620003a6565b928339810190606081830312620003a1578051916001600160a01b038316808403620003a1576020838101516001600160401b039491939190858111620003a157826200006c918301620003cc565b916040820151868111620003a157620000869201620003cc565b938151818111620002a1576003908154906001948583811c9316801562000396575b8884101462000380578190601f938481116200032a575b508890848311600114620002c357600092620002b7575b505060001982851b1c191690851b1782555b8651928311620002a15760049687548581811c9116801562000296575b88821014620002815782811162000236575b5086918411600114620001cb57938394918492600095620001bf575b50501b92600019911b1c19161783555b30146200017c578260805260405161161690816200043f823960805181818161050b01528181610699015281816109560152610cd90152f35b60405162461bcd60e51b815291820152601e60248201527f4552433230577261707065723a2063616e6e6f742073656c6620777261700000604482015260649150fd5b01519350388062000133565b9190601f198416928860005284886000209460005b8a898383106200021e575050501062000203575b50505050811b01835562000143565b01519060f884600019921b161c1916905538808080620001f4565b868601518955909701969485019488935001620001e0565b88600052876000208380870160051c8201928a881062000277575b0160051c019086905b8281106200026a57505062000117565b600081550186906200025a565b9250819262000251565b602289634e487b7160e01b6000525260246000fd5b90607f169062000105565b634e487b7160e01b600052604160045260246000fd5b015190503880620000d6565b90879350601f19831691866000528a6000209260005b8c828210620003135750508411620002fa575b505050811b018255620000e8565b015160001983871b60f8161c19169055388080620002ec565b8385015186558b97909501949384019301620002d9565b90915084600052886000208480850160051c8201928b861062000376575b918991869594930160051c01915b82811062000366575050620000bf565b6000815585945089910162000356565b9250819262000348565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000a8565b600080fd5b6040519190601f01601f191682016001600160401b03811183821017620002a157604052565b919080601f84011215620003a15782516001600160401b038111620002a15760209062000402601f8201601f19168301620003a6565b92818452828287010111620003a15760005b8181106200042a57508260009394955001015290565b85810183015184820184015282016200041456fe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde0314610a2b57508163095ea7b3146109e357816318160ddd146109a6578163205c28781461089f57816323b872dd146107715781632f4f21e2146105ee578163313ce567146105a9578163395093511461052f5781636f307dc3146104c057816370a082311461045f57816395d89b4114610305578163a457c2d7146101ff57508063a9059cbb146101b1578063dd62ed3e1461013e5763e30443bc146100ca57600080fd5b3461013a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a576101379061012e610107610bdb565b9173ffffffffffffffffffffffffffffffffffffffff831685528460205284205482610f01565b6024359061128d565b80f35b5080fd5b503461013a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a5780602092610179610bdb565b610181610c03565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b503461013a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a576020906101f86101ee610bdb565b602435903361107e565b5160018152f35b9050823461030257827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030257610238610bdb565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff8616825260205220549082821061027f576020856101f88585038733610d8c565b60849060208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b83833461013a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a5780519180938054916001908360011c9260018516948515610455575b6020958686108114610429578589529081156103e7575060011461038f575b61038b8787610381828c0383610c26565b5191829182610b75565b0390f35b81529295507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106103d4575050508261038b9461038192820101948680610370565b80548685018801529286019281016103b6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168887015250505050151560051b83010192506103818261038b8680610370565b6024846022857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b93607f1693610351565b50503461013a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a578060209273ffffffffffffffffffffffffffffffffffffffff6104b1610bdb565b16815280845220549051908152f35b50503461013a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50503461013a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a576101f86020926105a2610570610bdb565b913381526001865284812073ffffffffffffffffffffffffffffffffffffffff84168252865284602435912054610d50565b9033610d8c565b50503461013a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a5760209060ff6105e6610c96565b915191168152f35b82843461030257817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030257610626610bdb565b602435913033146106ee578351907f23b872dd0000000000000000000000000000000000000000000000000000000060208301523360248301523060448301528360648301526064825260a082019082821067ffffffffffffffff8311176106c2576020866101f887876106bd888886527f0000000000000000000000000000000000000000000000000000000000000000611356565b61128d565b806041887f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b60848560208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602360248201527f4552433230577261707065723a20777261707065722063616e2774206465706f60448201527f73697400000000000000000000000000000000000000000000000000000000006064820152fd5b8391503461013a5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a576107ab610bdb565b6107b3610c03565b91846044359473ffffffffffffffffffffffffffffffffffffffff8416815260016020528181203382526020522054907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610819575b6020866101f887878761107e565b8482106108425750918391610837602096956101f895033383610d8c565b91939481935061080b565b60649060208751917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b82843461030257817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610302576108d7610bdb565b906024356108e58133610f01565b73ffffffffffffffffffffffffffffffffffffffff8451937fa9059cbb000000000000000000000000000000000000000000000000000000006020860152166024840152604483015260448252608082019082821067ffffffffffffffff83111761097a576020846101f8858583527f0000000000000000000000000000000000000000000000000000000000000000611356565b806041867f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b50503461013a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a576020906002549051908152f35b50503461013a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a576020906101f8610a21610bdb565b6024359033610d8c565b92915034610b7157837ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610b7157600354600181811c9186908281168015610b67575b6020958686108214610b3b5750848852908115610afb5750600114610aa2575b61038b8686610381828b0383610c26565b929550600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b828410610ae8575050508261038b94610381928201019438610a91565b8054868501880152928601928101610acb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001687860152505050151560051b83010192506103818261038b38610a91565b8360226024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b93607f1693610a71565b8380fd5b60208082528251818301819052939260005b858110610bc7575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610b87565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610bfe57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610bfe57565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6757604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040517f313ce56700000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa8091600091610d14575b5090610d115750601290565b90565b6020813d602011610d48575b81610d2d60209383610c26565b8101031261013a57519060ff82168203610302575038610d05565b3d9150610d20565b91908201809211610d5d57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff809116918215610e7e5716918215610dfa5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff168015610ffa57600091818352826020526040832054818110610f7657817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef926020928587528684520360408620558060025403600255604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561120957169182156111855760008281528060205260408120549180831061110157604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff169081156112f8577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020826112dc600094600254610d50565b60025584845283825260408420818154019055604051908152a3565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff16906040516040810167ffffffffffffffff9082811082821117610c67576040526020938483527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858401526000808587829751910182855af1903d1561150d573d9283116114e0579061141d93929160405192611410887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160185610c26565b83523d868885013e611518565b8051918215918483156114bc575b5050509050156114385750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b91938180945001031261013a5782015190811515820361030257508038808461142b565b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b9061141d9392506060915b91929015611593575081511561152c575090565b3b156115355790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156115a65750805190602001fd5b6115dc906040519182917f08c379a000000000000000000000000000000000000000000000000000000000835260048301610b75565b0390fdfea26469706673582212200a97255958d16c515ba0374c5722eef9186230a45f8ef65d5c0fc036c6d9ee1264736f6c63430008180033"; + +type ERC20WrapperMockConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ERC20WrapperMockConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ERC20WrapperMock__factory extends ContractFactory { + constructor(...args: ERC20WrapperMockConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + token: AddressLike, + _name: string, + _symbol: string, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(token, _name, _symbol, overrides || {}); + } + override deploy( + token: AddressLike, + _name: string, + _symbol: string, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(token, _name, _symbol, overrides || {}) as Promise< + ERC20WrapperMock & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): ERC20WrapperMock__factory { + return super.connect(runner) as ERC20WrapperMock__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ERC20WrapperMockInterface { + return new Interface(_abi) as ERC20WrapperMockInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ERC20WrapperMock { + return new Contract(address, _abi, runner) as unknown as ERC20WrapperMock; + } +} diff --git a/pkg/types/factories/src/mocks/ERC4626Mock__factory.ts b/pkg/types/factories/src/mocks/ERC4626Mock__factory.ts new file mode 100644 index 00000000..18e977c6 --- /dev/null +++ b/pkg/types/factories/src/mocks/ERC4626Mock__factory.ts @@ -0,0 +1,758 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + ERC4626Mock, + ERC4626MockInterface, +} from "../../../src/mocks/ERC4626Mock"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "symbol", + type: "string", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Deposit", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "Withdraw", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "asset", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "convertToAssets", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "convertToShares", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256", + }, + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "deposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "maxDeposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "maxMint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxRedeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "maxWithdraw", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewDeposit", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewMint", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + ], + name: "previewRedeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + ], + name: "previewWithdraw", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalAssets", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60c08060405234620003825762002188803803809162000020828562000387565b8339810190606081830312620003825780516001600160a01b0381169290839003620003825760208281015190926001600160401b03918281116200038257836200006d918301620003c7565b9260408201518381116200038257620000879201620003c7565b825182811162000282576003918254916001958684811c9416801562000377575b8885101462000361578190601f948581116200030b575b508890858311600114620002a45760009262000298575b505060001982861b1c191690861b1783555b8051938411620002825760049586548681811c9116801562000277575b82821014620002625783811162000217575b5080928511600114620001a957509383949184926000956200019d575b50501b92600019911b1c19161790555b6200014f8162000432565b901562000194575b60a052608052604051611c8f9081620004f982396080518181816108b301528181610eb4015281816114ec0152611702015260a0518161090b0152f35b50601262000157565b01519350388062000134565b92919084601f1981168860005285600020956000905b89838310620001fc5750505010620001e1575b50505050811b01905562000144565b01519060f884600019921b161c1916905538808080620001d2565b858701518955909701969485019488935090810190620001bf565b87600052816000208480880160051c82019284891062000258575b0160051c019087905b8281106200024b57505062000117565b600081550187906200023b565b9250819262000232565b602288634e487b7160e01b6000525260246000fd5b90607f169062000105565b634e487b7160e01b600052604160045260246000fd5b015190503880620000d6565b90889350601f19831691876000528a6000209260005b8c828210620002f45750508411620002db575b505050811b018355620000e8565b015160001983881b60f8161c19169055388080620002cd565b8385015186558c97909501949384019301620002ba565b90915085600052886000208580850160051c8201928b861062000357575b918a91869594930160051c01915b82811062000347575050620000bf565b600081558594508a910162000337565b9250819262000329565b634e487b7160e01b600052602260045260246000fd5b93607f1693620000a8565b600080fd5b601f909101601f19168101906001600160401b038211908210176200028257604052565b6001600160401b0381116200028257601f01601f191660200190565b9080601f830112156200038257815190620003e282620003ab565b92620003f2604051948562000387565b82845260209160208483010111620003825760005b8381106200041e5750505060206000918301015290565b818101830151858201840152820162000407565b6040805163313ce56760e01b60208201908152600482529293929181016001600160401b0381118282101762000282576040525160009384928392916001600160a01b03165afa3d15620004ef573d906200048d82620003ab565b916200049d604051938462000387565b82523d84602084013e5b80620004e2575b620004b9575b508190565b602081805181010312620004de576020015160ff8111620004b4576001925060ff1690565b8280fd5b50602081511015620004ae565b606090620004a756fe6040608081526004908136101561001557600080fd5b600090813560e01c92836301e1d11414610bce57836306fdde0314610a8457836307a2d13a146107eb578363095ea7b314610a3d5783630a28a47714610a0057836318160ddd146109c457836323b872dd1461096a578363313ce567146108d757836338d52e0f1461086957836339509351146107f0578363402d267d146102945783634cdad506146107eb5783636e553f651461079a57836370a082311461075c57836394bf804d1461070757836395d89b41146105ad578363a457c2d7146104ac578363a9059cbb1461045e578363b3d7f6b914610421578363b460af941461035c578363ba0876521461029957508263c63d75b614610294578263c6e6f5921461014e578263ce96cb7714610234578263d905777e146101c9578263dd62ed3e1461015357505063ef8b30f71461014e57600080fd5b610dbf565b346101c557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c5578060209261018d610cb7565b610195610cda565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b5080fd5b346101c55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c55760209061022d610206610cb7565b73ffffffffffffffffffffffffffffffffffffffff16600052600060205260406000205490565b9051908152f35b346101c55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c55761022d8160209373ffffffffffffffffffffffffffffffffffffffff610287610cb7565b1681528085522054610f8d565b610cfd565b823461035957506102a936610d5f565b926102d58473ffffffffffffffffffffffffffffffffffffffff16600052600060205260406000205490565b83116102fc5750816102f6916102ed60209694610f8d565b948591336115f4565b51908152f35b60649060208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601d60248201527f455243343632363a2072656465656d206d6f7265207468616e206d61780000006044820152fd5b80fd5b8234610359575061036c36610d5f565b926103a361039e8594939473ffffffffffffffffffffffffffffffffffffffff16600052600060205260406000205490565b610f8d565b82116103c4575060209391816103bb6102f69361112d565b948592336115f4565b60649060208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601f60248201527f455243343632363a207769746864726177206d6f7265207468616e206d6178006044820152fd5b91346103595760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610359575061022d60209235610f5f565b50346101c557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c5576020906104a561049b610cb7565b6024359033611260565b5160018152f35b823461035957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610359576104e3610cb7565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff8616825260205220549082821061052a576020856104a58585038733610fb8565b60849060208651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b9250346101c557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c55780519180938054916001908360011c92600185169485156106fd575b60209586861081146106d15785895290811561068f5750600114610637575b6106338787610629828c0383610dfb565b5191829182610c08565b0390f35b81529295507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b82841061067c57505050826106339461062992820101943880610618565b805486850188015292860192810161065e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168887015250505050151560051b8301019250610629826106333880610618565b6024846022857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b93607f16936105f9565b3461075857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610758576020925035906102f6610746610cda565b9261075081610f5f565b80943361146f565b8280fd5b50346101c55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c55760209061022d610206610cb7565b3461075857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610758576020925035906102f66107d9610cda565b6107e284611158565b9384913361146f565b610c6e565b50346101c557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c5576104a5602092610862610830610cb7565b913381526001865284812073ffffffffffffffffffffffffffffffffffffffff84168252865284602435912054610f23565b9033610fb8565b50346101c557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c5576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9250346101c557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c55760ff7f0000000000000000000000000000000000000000000000000000000000000000169160ff831161093e576020838351908152f35b806011857f4e487b71000000000000000000000000000000000000000000000000000000006024945252fd5b50346101c55760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c5576020906104a56109a8610cb7565b6109b0610cda565b604435916109bf833383611183565b611260565b50346101c557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c5576020906002549051908152f35b91346103595760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610359575061022d6020923561112d565b50346101c557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c5576020906104a5610a7a610cb7565b6024359033610fb8565b903461075857827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107585780519183600354906001908260011c92600181168015610bc4575b6020958686108214610b985750848852908115610b585750600114610aff575b6106338686610629828b0383610dfb565b929550600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b828410610b45575050508261063394610629928201019486610aee565b8054868501880152928601928101610b28565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001687860152505050151560051b83010192506106298261063386610aee565b8360226024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b93607f1693610ace565b50346101c557817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c55760209061022d610e6b565b60208082528251818301819052939260005b858110610c5a575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201610c1a565b34610cb25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610cb2576020610caa600435610f8d565b604051908152f35b600080fd5b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610cb257565b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610cb257565b34610cb25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610cb257610d34610cb7565b5060206040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060910112610cb2576004359073ffffffffffffffffffffffffffffffffffffffff906024358281168103610cb257916044359081168103610cb25790565b34610cb25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610cb2576020610caa600435611158565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e3c57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115610f1757600091610ee8575090565b90506020813d602011610f0f575b81610f0360209383610dfb565b81010312610cb2575190565b3d9150610ef6565b6040513d6000823e3d90fd5b91908201809211610f3057565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b610f67610e6b565b60018101809111610f30576002549060018201809211610f3057610f8a92611876565b90565b610f95610e6b565b60018101809111610f30576002549060018201809211610f3057610f8a926118cf565b73ffffffffffffffffffffffffffffffffffffffff8091169182156110aa57169182156110265760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b60025460018101809111610f3057611143610e6b565b9060018201809211610f3057610f8a92611876565b60025460018101809111610f305761116e610e6b565b9060018201809211610f3057610f8a926118cf565b9073ffffffffffffffffffffffffffffffffffffffff80831660005260016020526040600020908216600052602052604060002054927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84036111e7575b50505050565b808410611202576111f9930391610fb8565b388080806111e1565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff8091169182156113eb5716918215611367576000828152806020526040812054918083106112e357604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b90916040918251937f23b872dd00000000000000000000000000000000000000000000000000000000602086015273ffffffffffffffffffffffffffffffffffffffff809216948560248201523060448201528360648201526064815260a081019080821067ffffffffffffffff831117610e3c576115109186527f00000000000000000000000000000000000000000000000000000000000000006119cf565b169384156115975790816115487fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d79493600254610f23565b600255856000526000602052826000208181540190558560007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60208651858152a382519182526020820152a3565b606483517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b9193909273ffffffffffffffffffffffffffffffffffffffff91828616958184861695888703611865575b50505085156117e1576000948686526020908682526040948588205484811061175e5784908a8a528985520386892055836002540360025587897fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef858951888152a38551917fa9059cbb0000000000000000000000000000000000000000000000000000000084840152169687602483015284604483015260448252608082019082821067ffffffffffffffff83111761173157508594939291611726917ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db97527f00000000000000000000000000000000000000000000000000000000000000006119cf565b8351928352820152a4565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526041600452fd5b6084848851907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b61186e92611183565b38818161161f565b91906118838282856118cf565b9282156118a057096118925790565b60018101809111610f305790565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82840992828102928380861095039480860395146119c15784831115611963578291096001821901821680920460028082600302188083028203028083028203028083028203028083028203028083028203028092029003029360018380600003040190848311900302920304170290565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152fd5b5050809250156118a0570490565b73ffffffffffffffffffffffffffffffffffffffff16906040516040810167ffffffffffffffff9082811082821117610e3c576040526020938483527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858401526000808587829751910182855af1903d15611b86573d928311611b595790611a9693929160405192611a89887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160185610dfb565b83523d868885013e611b91565b805191821591848315611b35575b505050905015611ab15750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b9193818094500103126101c557820151908115158203610359575080388084611aa4565b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b90611a969392506060915b91929015611c0c5750815115611ba5575090565b3b15611bae5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015611c1f5750805190602001fd5b611c55906040519182917f08c379a000000000000000000000000000000000000000000000000000000000835260048301610c08565b0390fdfea2646970667358221220ee28707fa66ae8c08f6cf595919162084c162a5ce730361c275aa287e40d045864736f6c63430008180033"; + +type ERC4626MockConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ERC4626MockConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ERC4626Mock__factory extends ContractFactory { + constructor(...args: ERC4626MockConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + asset: AddressLike, + name: string, + symbol: string, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(asset, name, symbol, overrides || {}); + } + override deploy( + asset: AddressLike, + name: string, + symbol: string, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(asset, name, symbol, overrides || {}) as Promise< + ERC4626Mock & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): ERC4626Mock__factory { + return super.connect(runner) as ERC4626Mock__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ERC4626MockInterface { + return new Interface(_abi) as ERC4626MockInterface; + } + static connect(address: string, runner?: ContractRunner | null): ERC4626Mock { + return new Contract(address, _abi, runner) as unknown as ERC4626Mock; + } +} diff --git a/pkg/types/factories/src/mocks/IrmMock__factory.ts b/pkg/types/factories/src/mocks/IrmMock__factory.ts new file mode 100644 index 00000000..8cf4c679 --- /dev/null +++ b/pkg/types/factories/src/mocks/IrmMock__factory.ts @@ -0,0 +1,227 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { IrmMock, IrmMockInterface } from "../../../src/mocks/IrmMock"; + +const _abi = [ + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "market", + type: "tuple", + }, + ], + name: "borrowRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "", + type: "tuple", + }, + { + components: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + internalType: "struct Market", + name: "market", + type: "tuple", + }, + ], + name: "borrowRateView", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, +] as const; + +const _bytecode = + "0x60808060405234610016576102cd908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80638c00bf6b1461003257639451fed41461003257600080fd5b3461005457602061004c61004536610059565b90506101f3565b604051908152f35b600080fd5b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820161016081126100545760a013610054576040805167ffffffffffffffff919060a08101838111828210176101c457825273ffffffffffffffffffffffffffffffffffffffff6004358181168103610054578252602435818116810361005457602083015260443581811681036100545783830152606435908116810361005457817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c91606060c094015260843560808201529501126100545780519160c08301908111838210176101c45781526fffffffffffffffffffffffffffffffff9060a435828116810361005457835260c435828116810361005457602084015260e435908282168203610054578301526101043581811681036100545760608301526101243581811681036100545760808301526101443590811681036100545760a082015290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6fffffffffffffffffffffffffffffffff80604083015116915116670de0b6b3a764000091828102928184041490151715610268578015610239576301e1338091040490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea26469706673582212206a247027dc55d3ac9624533c18b3bfbc4a466efcc1fd913aa754736f8fff821064736f6c63430008180033"; + +type IrmMockConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: IrmMockConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class IrmMock__factory extends ContractFactory { + constructor(...args: IrmMockConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + IrmMock & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): IrmMock__factory { + return super.connect(runner) as IrmMock__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): IrmMockInterface { + return new Interface(_abi) as IrmMockInterface; + } + static connect(address: string, runner?: ContractRunner | null): IrmMock { + return new Contract(address, _abi, runner) as unknown as IrmMock; + } +} diff --git a/pkg/types/factories/src/mocks/MorphoMock__factory.ts b/pkg/types/factories/src/mocks/MorphoMock__factory.ts new file mode 100644 index 00000000..8f10a5d4 --- /dev/null +++ b/pkg/types/factories/src/mocks/MorphoMock__factory.ts @@ -0,0 +1,1085 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + MorphoMock, + MorphoMockInterface, +} from "../../../src/mocks/MorphoMock"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "accrueInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "borrow", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + ], + name: "createMarket", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "irm", + type: "address", + }, + ], + name: "enableIrm", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + name: "enableLltv", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "slots", + type: "bytes32[]", + }, + ], + name: "extSloads", + outputs: [ + { + internalType: "bytes32[]", + name: "res", + type: "bytes32[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeRecipient", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "flashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "idToMarketParams", + outputs: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "isAuthorized", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "isIrmEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "isLltvEnabled", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "address", + name: "borrower", + type: "address", + }, + { + internalType: "uint256", + name: "seizedAssets", + type: "uint256", + }, + { + internalType: "uint256", + name: "repaidShares", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "liquidate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + ], + name: "market", + outputs: [ + { + internalType: "uint128", + name: "totalSupplyAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalSupplyShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowAssets", + type: "uint128", + }, + { + internalType: "uint128", + name: "totalBorrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "lastUpdate", + type: "uint128", + }, + { + internalType: "uint128", + name: "fee", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "nonce", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "Id", + name: "", + type: "bytes32", + }, + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "position", + outputs: [ + { + internalType: "uint256", + name: "supplyShares", + type: "uint256", + }, + { + internalType: "uint128", + name: "borrowShares", + type: "uint128", + }, + { + internalType: "uint128", + name: "collateral", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "repay", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "newIsAuthorized", + type: "bool", + }, + ], + name: "setAuthorization", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + ], + name: "setAuthorizationWithSig", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "setFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newFeeRecipient", + type: "address", + }, + ], + name: "setFeeRecipient", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "supplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdraw", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "withdrawCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60a034620001aa576001600160401b0390601f1990601f62003eb73881900391820184168301929185841183851017620001395780839260409586528339602092839181010312620001aa57516001600160a01b0381169390849003620001aa5782518381018181108782111762000139578452600c81526b7a65726f206164647265737360a01b8382015284156200014f5750508151908101917f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921883524681830152306060830152606082526080820194828610908611176200013957849052519020608052600080546001600160a01b031916821781557f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb59080a2613d079081620001b0823960805181818161188a01526124b90152f35b634e487b7160e01b600052604160045260246000fd5b82845192839162461bcd60e51b835280600484015283519081602485015260005b828110620001925750506044935080600085601f938601015201168101030190fd5b80860182015187820160440152869450810162000170565b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c806313af403514612b90578063151c1ade14612b2057806320b76e81146128c1578063238d6579146126f75780632b4f013c1461256e5780632c3c9157146124dc5780633644e5151461248357806346904840146124315780634d98a93b1461231557806350d8cd4b146120815780635a64f51e14611fa95780635c2bea4914611d485780635c60e39a14611cb757806365e4ad9e14611c3757806370ae92d214611bd45780637784c68514611a685780638069218f1461167f5780638720316d1461150f5780638c1358a2146111f85780638da5cb5b146111a757806393c520621461110e578063a99aad8914610eda578063b485f3b814610e8d578063d8eabcb8146104e5578063e0232b4214610398578063e74b981b146102cd578063eecea000146101bb5763f2b863ce1461015157600080fd5b346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85760ff604060209273ffffffffffffffffffffffffffffffffffffffff6101a4612c5a565b168152600484522054166040519015158152f35b80fd5b50346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576101f3612c5a565b602435801515908181036102c85761029790338552600660205273ffffffffffffffffffffffffffffffffffffffff604086209416938460005260205261024f60ff604060002054161515841415610249612fdd565b90612f41565b3385526006602052604085208460005260205260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b60405190815233907fd5e969f01efe921d3f766bdebad25f0a05e3f237311f56482bf132d0326309c060203392a480f35b600080fd5b50346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85761036c610308612c5a565b7fffffffffffffffffffffffff000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff91610350838654163314610249612f08565b826001549116938493610361612fdd565b908316851415612f41565b16176001557f2e979f80fe4d43055c584cf4a8467c55875ea36728fc37176c05acd784eb7a738280a280f35b50346101b85760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576103d0612c5a565b6024358260443567ffffffffffffffff81116104e15761040973ffffffffffffffffffffffffffffffffffffffff913690600401612de8565b91909461041f6104176132c2565b861515612f41565b1693846040518581527fc76f1b4fe4396ac07a9fa55a415d4ca430e72651d37d3401f3bed7cb13fc4f1260203392a361045984338761394a565b333b156104d25761049b91839160405193849283927f31f57072000000000000000000000000000000000000000000000000000000008452886004850161319c565b038183335af180156104d6576104be575b50506104bb9130903390613ab9565b80f35b6104c790612cc3565b6104d25782386104ac565b8280fd5b6040513d84823e3d90fd5b5080fd5b50346101b8576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85761051f36612d50565b9073ffffffffffffffffffffffffffffffffffffffff60a4351660a435036102c8576101043567ffffffffffffffff81116104e157610562903690600401612de8565b9160c4359260e4359260a0862093848452600360205261059f6fffffffffffffffffffffffffffffffff6002604087200154161515610249613016565b6105b46105aa6130f9565b8215881518612f41565b6105be858861336e565b6004602073ffffffffffffffffffffffffffffffffffffffff60408a015116604051928380927fa035b1fe0000000000000000000000000000000000000000000000000000000082525afa908115610e82578591610e50575b506106666106298260a435898c61376d565b156040519061063782612cf3565b601382527f706f736974696f6e206973206865616c746879000000000000000000000000006020830152612f41565b6080880151670de0b6b3a764000003670de0b6b3a76400008111610ca057670429d069189e00009080820291820403610ccd57670de0b6b3a764000090049182670de0b6b3a76400000392670de0b6b3a76400008411610e2357670de0b6b3a764000014610df4578715610cfc57506106df908761383b565b6ec097ce7bc90715b34b9f0fffffffff8101809111610ccd576ec097ce7bc90715b34b9f1000000000900480670de0b6b3a7640000810204670de0b6b3a76400001481151715610ccd57670ff59ee833b300006ec097ce7bc90715b34b9f10000000008390048082189082110281187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810111610ca057610807926107d9926ec097ce7bc90715b34b9f10000000009190910480831890831102909118906107d4907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830190670de0b6b3a76400000261316b565b61384e565b85855260036020526001604086200154906fffffffffffffffffffffffffffffffff8260801c921690613c33565b935b808452600360205261083960016040862001546fffffffffffffffffffffffffffffffff8160801c911687613c55565b9461084381613c78565b82865260026020526040862073ffffffffffffffffffffffffffffffffffffffff60a4351660005260205260016040600020016fffffffffffffffffffffffffffffffff61089582549382851661322e565b167fffffffffffffffffffffffffffffffff000000000000000000000000000000008093161790556109266108c983613c78565b84885260036020526108e6600160408a200191825460801c61322e565b6fffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b82865260036020526109576fffffffffffffffffffffffffffffffff60016040892001541688808203911102613c78565b83875260036020526fffffffffffffffffffffffffffffffff600160408920019116828254161790556109cd61098c89613c78565b84885260026020526040882073ffffffffffffffffffffffffffffffffffffffff60a435166000526020526108e6600160406000200191825460801c61322e565b8590869084885260026020526040882073ffffffffffffffffffffffffffffffffffffffff60a4351660005260205260016040600020015460801c15610b39575b506040519288845260208401528860408401526060830152608082015273ffffffffffffffffffffffffffffffffffffffff60a43516917fa4946ede45d0c6f06a0f5ce92c9ad3b4751452d2fe0e25010783bcab57a67e4160a03393a4610a90853373ffffffffffffffffffffffffffffffffffffffff60208a01511661394a565b81610acc575b505050610ac08173ffffffffffffffffffffffffffffffffffffffff604095511630903390613ab9565b82519182526020820152f35b333b156104d257610b0e91839160405193849283927fcf7ea196000000000000000000000000000000000000000000000000000000008452886004850161319c565b038183335af180156104d657610b25575b80610a96565b610b2f8291612cc3565b6101b85780610b1f565b91505082865260026020526040862073ffffffffffffffffffffffffffffffffffffffff60a435166000526020526fffffffffffffffffffffffffffffffff600160406000200154169083875260036020526001604088200154610bb46fffffffffffffffffffffffffffffffff82169160801c8285613c55565b818110908218021890610bc682613c78565b8589526003602052600160408a200190826fffffffffffffffffffffffffffffffff610bf684549382851661322e565b169116179055610c0582613c78565b85895260036020526040892090826fffffffffffffffffffffffffffffffff610c3284549382851661322e565b169116179055610c61610c4484613c78565b868a5260036020526108e6600160408c200191825460801c61322e565b84885260026020526040882073ffffffffffffffffffffffffffffffffffffffff60a43516600052602052600160406000200190815416905538610a0e565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b95965090610d78670de0b6b3a7640000918887526003602052610d73600160408920015491670ff59ee833b300009081816ec097ce7bc90715b34b9f10000000000410906ec097ce7bc90715b34b9f10000000000482180218916fffffffffffffffffffffffffffffffff8160801c91168a613c0d565b61383b565b04806ec097ce7bc90715b34b9f10000000008102046ec097ce7bc90715b34b9f10000000001481151715610dc757906ec097ce7bc90715b34b9f1000000000610dc1920261384e565b94610809565b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b90506020813d602011610e7a575b81610e6b60209383612d0f565b810103126102c8575138610617565b3d9150610e5e565b6040513d87823e3d90fd5b50346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85760ff60406020926004358152600584522054166040519015158152f35b50346101b857610ee936612e16565b849691959296958460a08520808552602096600388526fffffffffffffffffffffffffffffffff98610f288a600260408a200154161515610249613016565b1592610f3e610f356130f9565b82158618612f41565b73ffffffffffffffffffffffffffffffffffffffff809c1693610f62610417613132565b610f6c848a61336e565b6110e757505080855260038752610f8e6040862054898160801c91168b613be8565b975b81865260028852604086208360005288526040600020610fb18a825461316b565b9055610fd8610fbf8a613c78565b83885260038a526108e66040892091825460801c613178565b610fe18a613c78565b828752600389527fffffffffffffffffffffffffffffffff00000000000000000000000000000000604088209261101c845493828516613178565b1691161790556040519089825288888301527fedf8870433c83823eb071d3df1caa8d008f12f6440918c20d75a3602cda30fe060403393a48161107a575b5050508360409561107092511630903390613ab9565b8351928352820152f35b333b156104d2576110bc91839160405193849283927f2075be030000000000000000000000000000000000000000000000000000000084528b6004850161319c565b038183335af180156104d6576110d3575b8061105a565b6110dd8291612cc3565b6101b857806110cd565b61110891999a50828752600389526040872054908b8260801c921690613c55565b98610f90565b50346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85773ffffffffffffffffffffffffffffffffffffffff604061115d612ca0565b926004358152600260205220911660005260205260606040600020600181549101546040519182526fffffffffffffffffffffffffffffffff8116602083015260801c6040820152f35b50346101b857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85773ffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b50346101b85760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85761123136612d50565b60a0812090606081019173ffffffffffffffffffffffffffffffffffffffff808451168552602093600485526112a360ff6040882054166040519061127582612cf3565b600f82527f49524d206e6f7420656e61626c6564000000000000000000000000000000000088830152612f41565b6080840180518752600586526112f560ff604089205416604051906112c782612cf3565b601082527f4c4c5456206e6f7420656e61626c65640000000000000000000000000000000089830152612f41565b838752600386526fffffffffffffffffffffffffffffffff61135681600260408b20015416156040519061132882612cf3565b601682527f6d61726b657420616c72656164792063726561746564000000000000000000008a830152612f41565b84885260038752600260408920019042167fffffffffffffffffffffffffffffffff000000000000000000000000000000008254161790556008865260046040882091848751167fffffffffffffffffffffffff0000000000000000000000000000000000000000908185541617845560018401868a8a01511682825416179055600284018660408a015116828254161790556003840190868651169082541617905551910155827fac4b2400f169220b0c0afdde7a0b32e775ba727ea1cb30b35f935cdaab8683ac60a060405161147281896080809173ffffffffffffffffffffffffffffffffffffffff80825116855280602083015116602086015280604083015116604086015260608201511660608501520151910152565ba25116918261147f578480f35b6114c69284928652600383526040862091866040518096819582947f9451fed40000000000000000000000000000000000000000000000000000000084526004840161304f565b03925af18015611504576114db575b80808480f35b813d83116114fd575b6114ee8183612d0f565b810103126102c85738806114d5565b503d6114e4565b6040513d85823e3d90fd5b50346101b8576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85761154936612d50565b60a435611554612c7d565b60e4359073ffffffffffffffffffffffffffffffffffffffff90818316948584036102c8576104bb958760209361164561163d60a0862092838552600388526115ba6fffffffffffffffffffffffffffffffff6002604088200154161515610249613016565b6115cd6115c56132c2565b8c1515612f41565b6115e06115d8613132565b871515612f41565b6115f46115ec82613328565b6102496131e8565b6115fe848861336e565b611636604061160c8d613c78565b9686815260028b5220958a831696876000528a526108e6600160406000200191825460801c61322e565b838761367c565b610249613289565b60408051338152602081018a90527fe80ebd7cc9223d7382aab2e0d1d6155c65651f83d53c8b9b06901d167e3211429190a401511661394a565b50346101b857610100367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc018181126104d25760a0136104e1576040516116c581612cd7565b6116cd612c5a565b81526116d7612ca0565b906020908181019283526044359384151585036102c85760408201948552606082016064358152608435608084019080825260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c360112611a64576040516117749161174382612cf3565b601182527f7369676e6174757265206578706972656400000000000000000000000000000088830152421115612f41565b8151926117e873ffffffffffffffffffffffffffffffffffffffff94858751168b526007885260408b208054906117aa826132fb565b9055604051916117b983612cf3565b600d83527f696e76616c6964206e6f6e6365000000000000000000000000000000000000008a84015214612f41565b60405191868301907f81d0284fb0e2cde18d0553b06189d6f7613c96a01bb5b5e7828eade6a0dcac918252858751166040850152858951166060850152895115156080850152845160a08501525160c084015260c0835260e083019167ffffffffffffffff9184841083851117611a35578360405284519020908401907f190100000000000000000000000000000000000000000000000000000000000082527f00000000000000000000000000000000000000000000000000000000000000006101028601526101228501526042835261016084019183831090831117611a35578a92826040525190209060a4359360ff8516809503611a31578894608093835261018082015260c4356101a08201526101c060e43591015282805260015afa15611a26577fd5e969f01efe921d3f766bdebad25f0a05e3f237311f56482bf132d0326309c092829161197f838a51168015159081611a19575b506040519061195182612cf3565b601182527f696e76616c6964207369676e617475726500000000000000000000000000000089830152612f41565b8282511690516040519081527fa58af1a0c70dba0c7aa60d1a1a147ebd61000d1690a968828ac718bca927f2c7873392a3611a0387511515838351168a526006875260408a2084895116600052875260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b511693511693511515916040519283523392a480f35b9050848451161438611943565b6040513d88823e3d90fd5b8380fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8880fd5b50346101b8576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104e1576004359067ffffffffffffffff90818311611a315736602384011215611a31578260040135918211611a3157602491600590368482841b87010111611bd057849181611ae58893613823565b95611af36040519788612d0f565b818752611aff82613823565b947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08789019601368737845b838110611b7557505050505060405193838594850191818652518092526040850193925b828110611b5e57505050500390f35b835185528695509381019392810192600101611b4f565b9497959694611b83816132fb565b9084811015611ba457851b82018301355481861b8801529597949695611b2b565b838a7f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b8580fd5b50346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857604060209173ffffffffffffffffffffffffffffffffffffffff611c26612c5a565b168152600783522054604051908152f35b50346101b85760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857611c6f612c5a565b6040611c79612ca0565b9273ffffffffffffffffffffffffffffffffffffffff80931681526006602052209116600052602052602060ff604060002054166040519015158152f35b50346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857604060c091600435815260036020522080546002600183015492015490604051926fffffffffffffffffffffffffffffffff91828116855260801c6020850152818116604085015260801c60608401528116608083015260801c60a0820152f35b50346101b857604090611d5a36612e98565b9294939190858260a08520918288526003602052611d946fffffffffffffffffffffffffffffffff60028c8b200154161515610249613016565b1593611daa611da16130f9565b82158718612f41565b73ffffffffffffffffffffffffffffffffffffffff871694611dcd6115d8613132565b611dd96115ec86613328565b611de3848861336e565b611f4e57505092610ac0949273ffffffffffffffffffffffffffffffffffffffff9285899689526003602052611f0e8b611e37818c20546fffffffffffffffffffffffffffffffff8160801c91168b613c33565b9a5b8381526002602052878282209516948560005260205281600020611e5e8d8254613221565b9055611e85611e6c8d613c78565b85835260036020526108e684842091825460801c61322e565b611e8e8a613c78565b8482526003602052828220907fffffffffffffffffffffffffffffffff000000000000000000000000000000006fffffffffffffffffffffffffffffffff611eda84549382851661322e565b1691161790558381526003602052206fffffffffffffffffffffffffffffffff806001830154169154161015610249613250565b8a5133815260208101889052604081018a90527fa56fc0ad5702ec05ce63666221f796fb62437c32db1aa1aa075fc6484cf58fbf90606090a4511661394a565b8998509282611f0e611fa173ffffffffffffffffffffffffffffffffffffffff968b9996610ac09b99969c5260036020528c8a2054906fffffffffffffffffffffffffffffffff8260801c921690613c0d565b9a8b98611e39565b50346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857611fe1612c5a565b73ffffffffffffffffffffffffffffffffffffffff90612008828454163314610249612f08565b16808252600460205261202560ff60408420541615610249612fdd565b80825260046020526040822060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790557f590e04cdebeccba40f566186b9746ad295a4cd358ea4fefaaea6ce79630d96c08280a280f35b50346101b85761209036612e98565b909291948294869160a08220958682526003966020968888526fffffffffffffffffffffffffffffffff906120d2826002604088200154161515610249613016565b15936120e86120df6130f9565b8d158718612f41565b73ffffffffffffffffffffffffffffffffffffffff968789169561211561210d613132565b881515612f41565b6121216115ec87613328565b61212b858961336e565b6122e657508a9b5082819b98999a9b528a8a526121566001604083200154838160801c91168a613c33565b9a8b945b61216386613c78565b85845260028d528c8360408620988c8516998a60005283526040600020600101888154958187169061219491613178565b167fffffffffffffffffffffffffffffffff000000000000000000000000000000008096161790556121c590613c78565b91888752526040852060010190815460801c906121e191613178565b81546fffffffffffffffffffffffffffffffff1660809190911b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000161790558c8361222b8d613c78565b91888752526040852060010191868354928184169061224991613178565b16911617905561225a90858961367c565b612262613289565b61226b91612f41565b8382528a526040902090806001830154169154161015612289613250565b61229291612f41565b60408051338152602081018890529081018a90527f570954540bed6b1304a87dfe815a5eda4a648f7097a16240dcd85c9b5fd42a4390606090a45116916122d89261394a565b604051928352820152604090f35b9a5061230d8b9498999a9c8483528d8c52600160408420015490848260801c921690613c0d565b9b8c9861215a565b50346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8577f297b80e7a896fad470c630f6575072d609bde997260ff3db851939405ec29139602060043561239073ffffffffffffffffffffffffffffffffffffffff8554163314610249612f08565b808452600582526123ab60ff60408620541615610249612fdd565b6123f36040516123ba81612cf3565b601181527f6d6178204c4c545620657863656564656400000000000000000000000000000084820152670de0b6b3a76400008310612f41565b808452600582526040842060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055604051908152a180f35b50346101b857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b50346101b857807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b50346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857604060a091600435815260086020522073ffffffffffffffffffffffffffffffffffffffff8082541691816001820154169160048160028401541691600384015416920154926040519485526020850152604084015260608301526080820152f35b50346101b85760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576125a736612d50565b7f139d6f58e9a127229667c8e3b36e88890a66cfc8ab1024ddc513e189e125b75b602060a4356125f273ffffffffffffffffffffffffffffffffffffffff8654163314610249612f08565b6126ed60a08520948587526003845261269c866fffffffffffffffffffffffffffffffff9261262e84600260408d200154161515610249613016565b818a526003875261264e600260408c20015460801c871415610249612fdd565b61269760405161265d81612cf3565b601081527f6d61782066656520657863656564656400000000000000000000000000000000898201526703782dace9d90000881115612f41565b61336e565b85875260038452821660026040882001906fffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b604051908152a280f35b50346101b8576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b85761273136612d50565b9060a43561273d612c7d565b60e43567ffffffffffffffff8111611a315761275d903690600401612de8565b9060a0862080865260036020526127916fffffffffffffffffffffffffffffffff6002604089200154161515610249613016565b61279c6104176132c2565b73ffffffffffffffffffffffffffffffffffffffff809416906127c86127c0613132565b831515612f41565b6127fb6127d487613c78565b828952600260205260408920848a526020526108e6600160408b200191825460801c613178565b604051908682527fa3b9472a1399e17e123f3c2e6586c23e504184d504de59cdaa2b375e880c618460203393a481612843575b505060206104bb939401511630903390613ab9565b333b156128bd5761288591859160405193849283927fb1022fdf000000000000000000000000000000000000000000000000000000008452886004850161319c565b038183335af180156128b25761289c575b8061282e565b6104bb936128ab602092612cc3565b9350612896565b6040513d86823e3d90fd5b8480fd5b50346101b8576128d036612e16565b849691959296958460a0852080855260036020978189526fffffffffffffffffffffffffffffffff996129108b600260408b200154161515610249613016565b159361291d611da16130f9565b73ffffffffffffffffffffffffffffffffffffffff809d16946129416115d8613132565b61294b858b61336e565b612af757505081865280885261296f60016040882001548a8160801c91168c613be8565b985b61297a8a613c78565b9083885260028a52604088208589528a5260016040892001816129a182549482861661322e565b167fffffffffffffffffffffffffffffffff000000000000000000000000000000008094161790556129f06129d58c613c78565b858a52848c526108e6600160408c200191825460801c61322e565b838852828a52612a0f81600160408b200154168d808203911102613c78565b928489528a52600160408920019216908254161790556040519089825288888301527f52acb05cebbd3cd39715469f22afbf5a17496295ef3bc9bb5944056c63ccaa0960403393a481612a72575050508360409561107092511630903390613ab9565b333b156104d257918091612ab59360405194859283927f05b4591c0000000000000000000000000000000000000000000000000000000084528b6004850161319c565b038183335af1908115612aeb575095611070928692604098612adc575b509281975061105a565b612ae590612cc3565b38612ad2565b604051903d90823e3d90fd5b612b1a919a9b50838852828a526001604089200154908c8260801c921690613c55565b99612971565b50346101b85760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b8576104bb612b5c36612d50565b60a081209081845260036020526126976fffffffffffffffffffffffffffffffff6002604087200154161515610249613016565b50346101b85760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b857612c2f612bcb612c5a565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000835473ffffffffffffffffffffffffffffffffffffffff80821693612c1a612c12612f08565b863314612f41565b16938493612c26612fdd565b90851415612f41565b161782557f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb58280a280f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036102c857565b60c4359073ffffffffffffffffffffffffffffffffffffffff821682036102c857565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036102c857565b67ffffffffffffffff8111611a3557604052565b60a0810190811067ffffffffffffffff821117611a3557604052565b6040810190811067ffffffffffffffff821117611a3557604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611a3557604052565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a09101126102c85760405190612d8782612cd7565b8173ffffffffffffffffffffffffffffffffffffffff60043581811681036102c857825260243581811681036102c857602083015260443581811681036102c857604083015260643590811681036102c85760608201526080608435910152565b9181601f840112156102c85782359167ffffffffffffffff83116102c857602083818601950101116102c857565b6101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126102c857612e4a81612d50565b9160a4359160c4359160e43573ffffffffffffffffffffffffffffffffffffffff811681036102c85791610104359067ffffffffffffffff82116102c857612e9491600401612de8565b9091565b6101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126102c857612ecc90612d50565b9060a4359060c4359073ffffffffffffffffffffffffffffffffffffffff9060e43582811681036102c857916101043590811681036102c85790565b60405190612f1582612cf3565b600982527f6e6f74206f776e657200000000000000000000000000000000000000000000006020830152565b15612f495750565b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110612fc6575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b818101830151868201604401528593508201612f85565b60405190612fea82612cf3565b600b82527f616c7265616479207365740000000000000000000000000000000000000000006020830152565b6040519061302382612cf3565b601282527f6d61726b6574206e6f74206372656174656400000000000000000000000000006020830152565b909291610140906130a9836101608101966080809173ffffffffffffffffffffffffffffffffffffffff80825116855280602083015116602086015280604083015116604086015260608201511660608501520151910152565b60028154916fffffffffffffffffffffffffffffffff9283811660a087015260801c60c0860152600181015483811660e087015260801c610100860152015490811661012084015260801c910152565b6040519061310682612cf3565b601282527f696e636f6e73697374656e7420696e70757400000000000000000000000000006020830152565b6040519061313f82612cf3565b600c82527f7a65726f206164647265737300000000000000000000000000000000000000006020830152565b91908201809211610ccd57565b9190916fffffffffffffffffffffffffffffffff80809416911601918211610ccd57565b9183606094601f927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0948652604060208701528160408701528686013760008582860101520116010190565b604051906131f582612cf3565b600c82527f756e617574686f72697a656400000000000000000000000000000000000000006020830152565b91908203918211610ccd57565b6fffffffffffffffffffffffffffffffff9182169082160391908211610ccd57565b6040519061325d82612cf3565b601682527f696e73756666696369656e74206c6971756964697479000000000000000000006020830152565b6040519061329682612cf3565b601782527f696e73756666696369656e7420636f6c6c61746572616c0000000000000000006020830152565b604051906132cf82612cf3565b600b82527f7a65726f206173736574730000000000000000000000000000000000000000006020830152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610ccd5760010190565b73ffffffffffffffffffffffffffffffffffffffff1680331490811561334c575090565b9050600052600660205260406000203360005260205260ff6040600020541690565b91906000908082526003916020928084526fffffffffffffffffffffffffffffffff936040936133a686600287872001541642613221565b80156136715773ffffffffffffffffffffffffffffffffffffffff908160608b01511680613409575b50505060029596975083525220019042167fffffffffffffffffffffffffffffffff00000000000000000000000000000000825416179055565b61344d8591858952878352898920898b519e8f94859384927f9451fed40000000000000000000000000000000000000000000000000000000084526004840161304f565b03925af1998a1561366757869a613637575b50606088999a6134f087898796898860029f8f7f9d9bd501d0657d7dfe415f779a620a62b78bc508ddc0891fbbd8b7ac0f8fce879a8387528785526134fb6134b0846001858b20015416928c61383b565b916134f5671bc16d674ec800006134c7858061383b565b0493670de0b6b3a76400009c856729a2241af62c00008f97846134e99161383b565b049261316b565b61316b565b9061383b565b049561350687613c78565b84825288865260018383200184613521825493828516613178565b167fffffffffffffffffffffffffffffffff0000000000000000000000000000000080931617905561355288613c78565b858352898752838320918561356b845493828516613178565b16911617905580978482528086526002838320015460801c998a6135aa575b505090519889525050505050888401528a83015250a287969538806133cf565b8899506135bf6135ce97989b6135e19a61383b565b04968795835252205416613221565b888d528b8b528d8d205460801c91613be8565b91868b528c89528b8b2090600154168b5288528a8a2061360283825461316b565b905561362761361083613c78565b878c528a8a526108e68d8d2091825460801c613178565b819038898f89908f8f8f8661358a565b9099508381813d8311613660575b61364f8183612d0f565b81010312611bd0575198606061345f565b503d613645565b87513d88823e3d90fd5b505050505050509050565b909291600093808552602092600284526040862073ffffffffffffffffffffffffffffffffffffffff90818516885285526fffffffffffffffffffffffffffffffff600160408920015416156137625784600491604084015116604051928380927fa035b1fe0000000000000000000000000000000000000000000000000000000082525afa948515613757578795613720575b505061371d94955061376d565b90565b9080929550813d8311613750575b6137388183612d0f565b81010312611bd05761371d9495505192859438613710565b503d61372e565b6040513d89823e3d90fd5b506001955050505050565b60806ec097ce7bc90715b34b9f100000000061381361381d949660016040670de0b6b3a7640000986000908b8252600260205273ffffffffffffffffffffffffffffffffffffffff8383209116908183526020526137f86fffffffffffffffffffffffffffffffff8d8187878720015416908552600360205286868620015491828c1c921690613c55565b9b82526002602052828220908252602052200154841c61383b565b049101519061383b565b04101590565b67ffffffffffffffff8111611a355760051b60200190565b81810292918115918404141715610ccd57565b8115610df4570490565b906138629161383b565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810191818311610ccd5761371d926107d49161316b565b604051906138a882612cf3565b600782527f6e6f20636f6465000000000000000000000000000000000000000000000000006020830152565b3d1561392d573d9067ffffffffffffffff8211611a35576040519161392160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184612d0f565b82523d6000602084013e565b606090565b908160209103126102c8575180151581036102c85790565b613a9d92600092836139da613a0673ffffffffffffffffffffffffffffffffffffffff83961694613980863b151561024961389b565b60405192839160208301967fa9059cbb000000000000000000000000000000000000000000000000000000008852602484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612d0f565b51925af1613a52613a156138d4565b9160405190613a2382612cf3565b601182527f7472616e736665722072657665727465640000000000000000000000000000006020830152612f41565b8051908115918215613a9f575b505060405190613a6e82612cf3565b601782527f7472616e736665722072657475726e65642066616c73650000000000000000006020830152612f41565b565b613ab29250602080918301019101613932565b3880613a5f565b60009291838093613a9d9673ffffffffffffffffffffffffffffffffffffffff80951694613aec863b151561024961389b565b604051928160208501967f23b872dd000000000000000000000000000000000000000000000000000000008852166024850152166044830152606482015260648152613b3781612cd7565b51925af1613b83613b466138d4565b9160405190613b5482612cf3565b601582527f7472616e7366657246726f6d20726576657274656400000000000000000000006020830152612f41565b8051908115918215613bce575b505060405190613b9f82612cf3565b601b82527f7472616e7366657246726f6d2072657475726e65642066616c736500000000006020830152612f41565b613be19250602080918301019101613932565b3880613b90565b620f42408301809311610ccd5760018201809211610ccd5761371d926107d49161383b565b6001820192918310610ccd57620f42408201809211610ccd5761371d926107d49161383b565b91620f42408101809111610ccd5760018201809211610ccd5761371d92613858565b919060018101809111610ccd57620f42408201809211610ccd5761371d92613858565b60405190613c8582612cf3565b601482527f6d61782075696e743132382065786365656465640000000000000000000000006020830152613ccd6fffffffffffffffffffffffffffffffff9283831115612f41565b169056fea2646970667358221220e0d570caf73567dad57c49e993038c7848f060bad5a618638ab1d3b385df8ed964736f6c63430008130033"; + +type MorphoMockConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: MorphoMockConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class MorphoMock__factory extends ContractFactory { + constructor(...args: MorphoMockConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + owner: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(owner, overrides || {}); + } + override deploy( + owner: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(owner, overrides || {}) as Promise< + MorphoMock & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): MorphoMock__factory { + return super.connect(runner) as MorphoMock__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): MorphoMockInterface { + return new Interface(_abi) as MorphoMockInterface; + } + static connect(address: string, runner?: ContractRunner | null): MorphoMock { + return new Contract(address, _abi, runner) as unknown as MorphoMock; + } +} diff --git a/pkg/types/factories/src/mocks/OracleMock__factory.ts b/pkg/types/factories/src/mocks/OracleMock__factory.ts new file mode 100644 index 00000000..c0e7a829 --- /dev/null +++ b/pkg/types/factories/src/mocks/OracleMock__factory.ts @@ -0,0 +1,90 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + OracleMock, + OracleMockInterface, +} from "../../../src/mocks/OracleMock"; + +const _abi = [ + { + inputs: [], + name: "price", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newPrice", + type: "uint256", + }, + ], + name: "setPrice", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x608080604052346100155760d9908161001b8239f35b600080fdfe6080806040526004361015601257600080fd5b600090813560e01c806391b7f5ed14606a5763a035b1fe14603257600080fd5b34606657817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112606657602091548152f35b5080fd5b823460a05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011260a057600435815580f35b80fdfea2646970667358221220fbf165eab6cd9304a50bd4a45035000b5d04420e6a0eb5ef4489d1d1657fc2ac64736f6c63430008180033"; + +type OracleMockConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: OracleMockConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class OracleMock__factory extends ContractFactory { + constructor(...args: OracleMockConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + OracleMock & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): OracleMock__factory { + return super.connect(runner) as OracleMock__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): OracleMockInterface { + return new Interface(_abi) as OracleMockInterface; + } + static connect(address: string, runner?: ContractRunner | null): OracleMock { + return new Contract(address, _abi, runner) as unknown as OracleMock; + } +} diff --git a/pkg/types/factories/src/mocks/index.ts b/pkg/types/factories/src/mocks/index.ts new file mode 100644 index 00000000..3d801139 --- /dev/null +++ b/pkg/types/factories/src/mocks/index.ts @@ -0,0 +1,10 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ERC20Mock__factory } from "./ERC20Mock__factory"; +export { ERC20PermitMock__factory } from "./ERC20PermitMock__factory"; +export { ERC20WrapperMock__factory } from "./ERC20WrapperMock__factory"; +export { ERC4626Mock__factory } from "./ERC4626Mock__factory"; +export { IrmMock__factory } from "./IrmMock__factory"; +export { MorphoMock__factory } from "./MorphoMock__factory"; +export { OracleMock__factory } from "./OracleMock__factory"; diff --git a/pkg/types/factories/src/sepolia/SepoliaBundlerV2__factory.ts b/pkg/types/factories/src/sepolia/SepoliaBundlerV2__factory.ts new file mode 100644 index 00000000..36309c50 --- /dev/null +++ b/pkg/types/factories/src/sepolia/SepoliaBundlerV2__factory.ts @@ -0,0 +1,1248 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + SepoliaBundlerV2, + SepoliaBundlerV2Interface, +} from "../../../src/sepolia/SepoliaBundlerV2"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "morpho", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "UnsafeCast", + type: "error", + }, + { + inputs: [], + name: "MORPHO", + outputs: [ + { + internalType: "contract IMorpho", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ST_ETH", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "WRAPPED_NATIVE", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "WST_ETH", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint160", + name: "amount", + type: "uint160", + }, + { + internalType: "uint48", + name: "expiration", + type: "uint48", + }, + { + internalType: "uint48", + name: "nonce", + type: "uint48", + }, + ], + internalType: "struct IAllowanceTransfer.PermitDetails", + name: "details", + type: "tuple", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "sigDeadline", + type: "uint256", + }, + ], + internalType: "struct IAllowanceTransfer.PermitSingle", + name: "permitSingle", + type: "tuple", + }, + { + internalType: "bytes", + name: "signature", + type: "bytes", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "approve2", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20Transfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20TransferFrom", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "wrapper", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20WrapperDepositFor", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "wrapper", + type: "address", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "erc20WrapperWithdrawTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "minShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "erc4626Mint", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "minAssets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Redeem", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxShares", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "erc4626Withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "initiator", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoBorrow", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoFlashLoan", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoRepay", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "authorizer", + type: "address", + }, + { + internalType: "address", + name: "authorized", + type: "address", + }, + { + internalType: "bool", + name: "isAuthorized", + type: "bool", + }, + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + ], + internalType: "struct Authorization", + name: "authorization", + type: "tuple", + }, + { + components: [ + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + internalType: "struct Signature", + name: "signature", + type: "tuple", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "morphoSetAuthorizationWithSig", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupply", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "onBehalf", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "morphoSupplyCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "uint256", + name: "shares", + type: "uint256", + }, + { + internalType: "uint256", + name: "slippageAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint256", + name: "assets", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "morphoWithdrawCollateral", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "nativeTransfer", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoFlashLoan", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoRepay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupply", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "onMorphoSupplyCollateral", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "permit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "publicAllocator", + type: "address", + }, + { + internalType: "address", + name: "vault", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + components: [ + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "marketParams", + type: "tuple", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + internalType: "struct Withdrawal[]", + name: "withdrawals", + type: "tuple[]", + }, + { + components: [ + { + internalType: "address", + name: "loanToken", + type: "address", + }, + { + internalType: "address", + name: "collateralToken", + type: "address", + }, + { + internalType: "address", + name: "oracle", + type: "address", + }, + { + internalType: "address", + name: "irm", + type: "address", + }, + { + internalType: "uint256", + name: "lltv", + type: "uint256", + }, + ], + internalType: "struct MarketParams", + name: "supplyMarketParams", + type: "tuple", + }, + ], + name: "reallocateTo", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "minShares", + type: "uint256", + }, + { + internalType: "address", + name: "referral", + type: "address", + }, + ], + name: "stakeEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "asset", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom2", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unwrapNative", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unwrapStEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "distributor", + type: "address", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "reward", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "bytes32[]", + name: "proof", + type: "bytes32[]", + }, + { + internalType: "bool", + name: "skipRevert", + type: "bool", + }, + ], + name: "urdClaim", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "wrapNative", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "wrapStEth", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x610100604090808252346200030a57620000339062003fee80380380916200002882856200030f565b833981019062000349565b600080546001600160a01b031916600117815590620000516200036a565b50737b79995e5f793a07bc00c21412e50ecae098e7f9608052825163183fc7c960e31b815260209173a0dc0a387a022d8f33d2be6ff139077639b1a34891908382600481865afa91821562000300578592620002ca575b5060a082905260c08390528551636eb1769f60e11b8152306004820152602481018490526044936001600160a01b039390919084169086818781855afa908115620002c05792889287928995859162000280575b50156200020d575b50505050501692620001156200036a565b908415620001b657858560e05251613c4a9081620003a482396080518181816105f4015281816114e301526126d6015260a0518181816106de01528181610d100152612822015260c051818181610d99015281816120e101526128ab015260e05181818161050b0152818161085801528181610b82015281816115cc01528181611f2d0152818161247701528181612a1e01528181612de10152613bef0152f35b9290855193849262461bcd60e51b8452806004850152825192836024860152825b848110620001f657505050828201840152601f01601f19168101030190fd5b8181018301518882018801528795508201620001d7565b8a5163095ea7b360e01b81526004810192909252600019602483015283905af13d15601f3d116001885114161716156200024c57838584388062000104565b855162461bcd60e51b815260048101859052600e60248201526d1054141493d59157d1905253115160921b81850152606490fd5b93505092509281813d8311620002b8575b6200029d81836200030f565b81010312620002b4578692889287925138620000fc565b8780fd5b503d62000291565b89513d8a823e3d90fd5b620002f0919250843d8611620002f8575b620002e781836200030f565b81019062000349565b9038620000a8565b503d620002db565b86513d87823e3d90fd5b600080fd5b601f909101601f19168101906001600160401b038211908210176200033357604052565b634e487b7160e01b600052604160045260246000fd5b908160209103126200030a57516001600160a01b03811681036200030a5790565b60408051919082016001600160401b038111838210176200033357604052600c82526b7a65726f206164647265737360a01b602083015256fe60406080815260049081361015610020575b5050361561001e57600080fd5b005b600091823560e01c90816305b4591c14610e3357816312c0d70b14612aaf5781631af3bbc6146129a35781632075be0314610e33578163240f78a31461284657816331f5707214610e33578163338346d2146127d75783826334b10a6d14612672575081633790767d1461262d57816339029ab61461249b5781633acb56241461242c578382634d5fcf68146122b85750816354c53ef0146121055781635664cb4814612096578382635b866db614611e8a575081635c39fcc114611e395781636024440814611c405783826362577ad014611bc6575081636b89026a14611a115781636ef5eeae1461183657816370dc41fe146116655783826384d287ef1461154e5782639169d8331461146257508163a184a5a314611361578163a7f6e60614611163578163ac9650d814610fae578163af50420214610e38578163b1022fdf14610e33578163bc2a294c14610c79578163bea88fda14610add57838263c956570614610978578263ca4636731461077257508163d27dd11e1461061c578163d999984d146105a957838263e29759121461047f57508163ef65341914610250575063f2522bcd03610011577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261024d5761024a610201612efe565b61022e600173ffffffffffffffffffffffffffffffffffffffff8554161415610228613278565b906132b1565b610241610239613bc4565b61022861334d565b6024359061390c565b80f35b80fd5b90506101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047b57610285612efe565b9161028e612f44565b9260643567ffffffffffffffff94858211610477573660238301121561047757818501359586116104775760c09236602460c08902850101116104735760a09660a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261046f5760019489869361032673ffffffffffffffffffffffffffffffffffffffff9889809454161415610228613278565b610331610239613bc4565b1693843b1561046b579180919993928851997f833947fd000000000000000000000000000000000000000000000000000000008b528860e48c019216908b015260e060248b0152526101049860248a8a019601938b905b8382106104205750505050505060843583811680910361041b57604486015260a43583811680910361041b57606486015260c43583811680910361041b57608486015260e43592831680930361041b57848080938998899660a48401523560c48301520391604435905af190811561041257506104025750f35b61040b906131cd565b61024d5780f35b513d84823e3d90fd5b600080fd5b909192939496610430818961343c565b81880135906fffffffffffffffffffffffffffffffff82168092036104675782810191909152830196830194939291840190610388565b8d80fd5b8a80fd5b8880fd5b8780fd5b8680fd5b8280fd5b80918460607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105a5576104b4612efe565b60443567ffffffffffffffff81116105a1576104d39036908501612d3c565b939073ffffffffffffffffffffffffffffffffffffffff6104fd6001828954161415610228613278565b610508610239613bc4565b807f0000000000000000000000000000000000000000000000000000000000000000169161053683866139d0565b823b1561047357879461058e86928851998a97889687957fe0232b420000000000000000000000000000000000000000000000000000000087521690850152602435602485015260606044850152606484019161378f565b03925af190811561041257506104025750f35b8480fd5b5050fd5b50503461061857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610618576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5080fd5b905060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047b578035610652612f67565b91602073ffffffffffffffffffffffffffffffffffffffff61067d6001828954161415610228613278565b610688610239613bc4565b60244785811090861802956106ab878718976106a2613386565b908814156132b1565b8683895196879586947fa1903eab00000000000000000000000000000000000000000000000000000000865216908401527f0000000000000000000000000000000000000000000000000000000000000000165af193841561076957508493610733575b506107206107299161024a94613891565b91602435613891565b11156102286136fc565b92506020833d602011610761575b8161074e602093836131fd565b8101031261041b5791519161072061070f565b3d9150610741565b513d86823e3d90fd5b8091847ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601610100908181126105a15760a0136109735760a435926107b6612f21565b9060e43567ffffffffffffffff8111610477576107d69036908301612d3c565b73ffffffffffffffffffffffffffffffffffffffff926107ff6001858b54161415610228613278565b61080a610239613bc4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848996169861084461083b6134da565b308c14156132b1565b146108df575b61087f610855613735565b947f00000000000000000000000000000000000000000000000000000000000000001680956139d0565b833b1561046f5761058e6108c5938a979388948a519b8c998a9889977f238d657900000000000000000000000000000000000000000000000000000000895288016133d7565b60a487015260c486015260e485015261010484019161378f565b935060246020846108ee613735565b168851928380927f70a08231000000000000000000000000000000000000000000000000000000008252308a8301525afa908115610969578991610934575b509361084a565b9850506020883d602011610961575b81610950602093836131fd565b8101031261041b578897518a61092d565b3d9150610943565b87513d8b823e3d90fd5b505050fd5b92915060206109863661315d565b97909392919573ffffffffffffffffffffffffffffffffffffffff906109f7828454166109be6109b4613278565b60018314156132b1565b6109c9610239613bc4565b6109de6109d46134a1565b858a1615156132b1565b838c1690308214918215610ad3575b50506102286138d3565b610a0a610a02613386565b8515156132b1565b610a6b89519a8b97889687947fb460af9400000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b0393165af1918215610aca57508391610a94575b61024a9250610a8c6136fc565b9111156132b1565b90506020823d602011610ac2575b81610aaf602093836131fd565b8101031261041b5761024a915190610a7f565b3d9150610aa2565b513d85823e3d90fd5b14905038806109ed565b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36016101208112610c755760a01361047b5760607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c36011261047b5761010480359283159384150361041b5773ffffffffffffffffffffffffffffffffffffffff610b746001828854161415610228613278565b610b7f610239613bc4565b807f00000000000000000000000000000000000000000000000000000000000000001691823b156104775751937f8069218f00000000000000000000000000000000000000000000000000000000855281610bd8612efe565b1690850152610be5612f44565b16602484015260443580151580910361041b5760448401526064356064840152608435608484015260a43560ff811680910361041b57859284848094829460a484015260c43560c484015260e43560e48401525af19182610c61575b5050610c5d57610c4f613861565b90610c58575080f35b613b40565b5080f35b610c6a906131cd565b61047b578238610c41565b8380fd5b9050602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c7557813573ffffffffffffffffffffffffffffffffffffffff90610cd26001838854161415610228613278565b610cdd610239613bc4565b8583517f70a0823100000000000000000000000000000000000000000000000000000000815230868201528681602481877f0000000000000000000000000000000000000000000000000000000000000000165afa908115610e29579082918895949391610df3575b5090818360249493109083180293610d68610d5f613386565b868514156132b1565b865197889586947fea598cb000000000000000000000000000000000000000000000000000000000865218908401527f0000000000000000000000000000000000000000000000000000000000000000165af1908115610aca5750610dcb578280f35b813d8311610dec575b610dde81836131fd565b8101031261041b5738808280f35b503d610dd4565b92948092508391503d8311610e22575b610e0d81836131fd565b8101031261041b575185929087906024610d46565b503d610e03565b85513d84823e3d90fd5b612d6a565b9050610100367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc018181126105a15760c013610c755760c43567ffffffffffffffff81116105a157610e8d9036908401612d3c565b919060e4359485159586150361041b5773ffffffffffffffffffffffffffffffffffffffff9182885416610ec26109b4613278565b610ecd610239613bc4565b6e22d473030f116ddee9f6b43ac78ba392833b15610faa5751967f2b67b57000000000000000000000000000000000000000000000000000000000885287015282610f16612efe565b16602487015260243583811680910361046f57604487015260443565ffffffffffff9081811680910361041b57606488015260643590811680910361041b57608487015260843592831680930361041b578786610f9281959383988498849660a486015260a43560c486015260e485015261010484019161378f565b03925af19182610c61575050610c5d57610c4f613861565b8980fd5b8383602092837ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261041b57803567ffffffffffffffff9182821161041b573660238301121561041b57818101359260249181851161113557508360051b9085519461101e898401876131fd565b85526024888601928501019336851161041b5760248101925b8584106110d457886001896110cb8a61109e8f7f616c726561647920696e697469617465640000000000000000000000000000008754955191611079836131e1565b601183528201528573ffffffffffffffffffffffffffffffffffffffff8616146132b1565b7fffffffffffffffffffffffff000000000000000000000000000000000000000092831633178555613b89565b82541617815580f35b833583811161041b578201903660438301121561041b5785820135906044926110fc8361323e565b906111098c5192836131fd565b8382523685858301011161041b578d848196958296600094018386013783010152815201930192611037565b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b91905061116f3661315d565b919492939073ffffffffffffffffffffffffffffffffffffffff80895416926111a3611199613278565b60018614156132b1565b6111ae610239613bc4565b6111c36111b96134a1565b83851615156132b1565b6111de82861694308614908115611357575b506102286138d3565b168451927f70a0823100000000000000000000000000000000000000000000000000000000845288840152886020938481602481865afa90811561134d578291611316575b5098849392918a8961124c9c10908a180291828a189b8c93611243613697565b908c14156132b1565b6112ad8951988996879586947fba08765200000000000000000000000000000000000000000000000000000000865285019160409194936060840195845273ffffffffffffffffffffffffffffffffffffffff809216602085015216910152565b03925af192831561130d575086926112d9575b5050926112d36107299261024a95613891565b92613891565b9080959250813d8311611306575b6112f181836131fd565b8101031261041b5792516112d36107296112c0565b503d6112e7565b513d88823e3d90fd5b8094939250858092503d8311611346575b61133181836131fd565b8101031261041b579151909190899084611223565b503d611327565b87513d84823e3d90fd5b90508514386111d5565b91905060e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047b57611396612efe565b916064359160ff831680930361041b5760c4359384159485150361041b57859273ffffffffffffffffffffffffffffffffffffffff80855416926113db611199613278565b6113e6610239613bc4565b1690813b156105a1578460e49281955197889586947fd505accf00000000000000000000000000000000000000000000000000000000865285015230602485015260243560448501526044356064850152608484015260843560a484015260a43560c48401525af19182610c61575050610c5d57610c4f613861565b80918460207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105a557813573ffffffffffffffffffffffffffffffffffffffff6114b96001828754161415610228613278565b6114c4610239613bc4565b4782811090831802906114e16114d8613386565b838514156132b1565b7f00000000000000000000000000000000000000000000000000000000000000001693843b1561154a578592845195869384927fd0e30db000000000000000000000000000000000000000000000000000000000845218905af190811561041257506104025750f35b8580fd5b9150918061155b366130f8565b919683959491986115c873ffffffffffffffffffffffffffffffffffffffff948584541661158a6109b4613278565b611595610239613bc4565b88519b8c98899788967f5c2bea49000000000000000000000000000000000000000000000000000000008852870161381a565b03927f0000000000000000000000000000000000000000000000000000000000000000165af192831561165b5785928694611628575b505015611612575061024a91610a8c6136fc565b905061024a916116206136fc565b9110156132b1565b809192945061164c9350903d10611654575b61164481836131fd565b810190613779565b9138806115fe565b503d61163a565b82513d87823e3d90fd5b9050817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047b57611698612efe565b91602435908473ffffffffffffffffffffffffffffffffffffffff80825416956116cd6116c3613278565b60018914156132b1565b6116d8610239613bc4565b16948251957f70a0823100000000000000000000000000000000000000000000000000000000875281868801526020948588602481855afa801561182c5786979885979697916117f1575b5091818386936064969510908218029061174761173e613386565b838314156132b1565b8851947f23b872dd0000000000000000000000000000000000000000000000000000000086528b8601523060248601521860448401525af13d15601f3d11600187511416171615611796578380f35b6064935051917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fd5b958092949395508691503d8311611825575b61180d81836131fd565b8101031261041b579251859388939092909184611723565b503d611803565b85513d86823e3d90fd5b90506118413661300b565b73ffffffffffffffffffffffffffffffffffffffff95929395949194906118716001838a54161415610228613278565b61187c610239613bc4565b6118916118876134a1565b83831615156132b1565b8187168451937f38d52e0f00000000000000000000000000000000000000000000000000000000855260209384868381865afa9586156119d3578b966119dd575b50846024918851928380927f70a0823100000000000000000000000000000000000000000000000000000000825230878301528a165afa9081156119d3579085949392918c916119a4575b5088811090891802958689189a8b97611934613386565b611940918c14156132b1565b611949916139d0565b8a87518097819582947f6e553f650000000000000000000000000000000000000000000000000000000084528301916112ad9290929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b85819692503d83116119cc575b6119bb81836131fd565b8101031261041b578493513861191d565b503d6119b1565b87513d8d823e3d90fd5b6024919650611a028691823d8411611a0a575b6119fa81836131fd565b8101906136d0565b9691506118d2565b503d6119f0565b905060c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047b57611a45612efe565b91611a4e612f44565b92611a57612f67565b9060843567ffffffffffffffff9586821161047357366023830112156104735781860135968711610473578660051b93366024868501011161046f5760a4359788159889150361041b5789927f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9273ffffffffffffffffffffffffffffffffffffffff98898093611af16001838a54161415610228613278565b611afc610239613bc4565b1690611b11611b096134a1565b8315156132b1565b611b25611b1c6134da565b308414156132b1565b519a7ffabed412000000000000000000000000000000000000000000000000000000008c528b01521660248901526064356044890152608060648901528060848901521161024d5760209460a4878681976024839701848401378101030193165af19081611b9b575b50610c5d57610c4f613861565b602090813d8311611bbf575b611bb181836131fd565b8101031261041b5738611b8e565b503d611ba7565b91509180611bd3366130f8565b919683959491986115c873ffffffffffffffffffffffffffffffffffffffff9485845416611c026109b4613278565b611c0d610239613bc4565b88519b8c98899788967f50d8cd4b000000000000000000000000000000000000000000000000000000008852870161381a565b9050611c4b36612fab565b929173ffffffffffffffffffffffffffffffffffffffff90611c766001838954161415610228613278565b611c81610239613bc4565b611c8c6111b96134a1565b16908451917f70a082310000000000000000000000000000000000000000000000000000000083523084840152602094878685602481865afa8015611e2d5787958291611dfb575b508281109083180291611cf1611ce8613386565b848314156132b1565b611d4c8951978896879586947f205c2878000000000000000000000000000000000000000000000000000000008652189184016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1908115611dee579261024a938592611d9d575b507f7769746864726177206661696c65640000000000000000000000000000000000905192611d91846131e1565b600f84528301526132b1565b7f7769746864726177206661696c65640000000000000000000000000000000000919250611de090843d8611611de7575b611dd881836131fd565b8101906133bf565b9190611d63565b503d611dce565b50505051903d90823e3d90fd5b958092508691503d8311611e26575b611e1481836131fd565b8101031261041b578786945138611cd4565b503d611e0a565b508751903d90823e3d90fd5b50503461061857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106185773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b809184611e963661306f565b9073ffffffffffffffffffffffffffffffffffffffff99939998929596949895611ec96001888754161415610228613278565b611ed4610239613bc4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff88611f0c611f016134da565b308b861614156132b1565b14611fe0575b88969492869492611f8792611f54611f2a8c9a613758565b987f00000000000000000000000000000000000000000000000000000000000000001680996139d0565b89519c8d998a9889977fa99aad8900000000000000000000000000000000000000000000000000000000895288016137ce565b03925af192831561165b5785928694611fbd575b505015611faf575061024a916116206136fc565b905061024a91610a8c6136fc565b8091929450611fd89350903d106116545761164481836131fd565b918580611f9b565b94929095939160249a99989750602085611ff986613758565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa801561208c5788999a9b849998999161204f575b509794965092949193909291611f12565b97505091506020863d602011612084575b8161206d602093836131fd565b8101031261041b57611f878b92899751909161203e565b3d9150612060565b88513d85823e3d90fd5b50503461061857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610618576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b8383807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261061857612138612efe565b906024359173ffffffffffffffffffffffffffffffffffffffff9081808654169161216e612164613278565b60018514156132b1565b612179610239613bc4565b1683517f70a082310000000000000000000000000000000000000000000000000000000081528288820152602081602481855afa80156122ae57879061227a575b6121db91508681109087180295868118966121d3613386565b9114156132b1565b8285116122525785966e22d473030f116ddee9f6b43ac78ba393843b1561047357879460849386928851998a9788967f36c7851600000000000000000000000000000000000000000000000000000000885287015230602487015216604485015260648401525af190811561041257506104025750f35b8684517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b506020813d6020116122a6575b81612294602093836131fd565b8101031261041b576121db90516121ba565b3d9150612287565b85513d89823e3d90fd5b8091846122c43661306f565b9073ffffffffffffffffffffffffffffffffffffffff999399989295969498956122f76001888754161415610228613278565b612302610239613bc4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8861232f611f016134da565b14612380575b88969492869492611f879261234d611f2a8c9a613758565b89519c8d998a9889977f20b76e8100000000000000000000000000000000000000000000000000000000895288016137ce565b94929095939160249a9998975060208561239986613758565b1689519c8d80927f70a0823100000000000000000000000000000000000000000000000000000000825230878301525afa801561208c5788999a9b84999899916123ef575b509794965092949193909291612335565b97505091506020863d602011612424575b8161240d602093836131fd565b8101031261041b57611f878b9289975190916123de565b3d9150612400565b50503461061857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610618576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9190506124a73661300b565b949092918673ffffffffffffffffffffffffffffffffffffffff6124d46001828454161415610228613278565b6124df610239613bc4565b6124f46124ea6134a1565b828a1615156132b1565b6125076124ff613697565b8415156132b1565b8416928651947f38d52e0f00000000000000000000000000000000000000000000000000000000865260209586818481895afa9081156126235784926125b39b96949261255d928a999791612606575b506139d0565b8851998a95869485937f94bf804d000000000000000000000000000000000000000000000000000000008552840190929173ffffffffffffffffffffffffffffffffffffffff6020916040840195845216910152565b03925af1928315610769575084926125d4575b5061024a9250610a8c6136fc565b90915082813d83116125ff575b6125eb81836131fd565b8101031261041b5761024a915190386125c6565b503d6125e1565b61261d9150893d8b11611a0a576119fa81836131fd565b38612557565b89513d86823e3d90fd5b8361024a61263a36612fab565b91612662600173ffffffffffffffffffffffffffffffffffffffff8754161415610228613278565b61266d610239613bc4565b613513565b80918460207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105a557813573ffffffffffffffffffffffffffffffffffffffff6126c96001828754161415610228613278565b6126d4610239613bc4565b7f00000000000000000000000000000000000000000000000000000000000000001682517f70a082310000000000000000000000000000000000000000000000000000000081523085820152602081602481855afa9081156127cd578691612798575b50828110908318029061274b6114d8613386565b803b1561154a57859283602492865197889586947f2e1a7d4d00000000000000000000000000000000000000000000000000000000865218908401525af190811561041257506104025750f35b9550506020853d6020116127c5575b816127b4602093836131fd565b8101031261041b5785945187612737565b3d91506127a7565b84513d88823e3d90fd5b50503461061857817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610618576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9050602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c7557813573ffffffffffffffffffffffffffffffffffffffff61289e6001828854161415610228613278565b6128a9610239613bc4565b7f000000000000000000000000000000000000000000000000000000000000000016908583517f70a0823100000000000000000000000000000000000000000000000000000000815230868201528681602481875afa908115610e2957908291889594939161296d575b509081836024949310908318029361292c610d5f613386565b865197889586947fde0e9a3e00000000000000000000000000000000000000000000000000000000865218908401525af1908115610aca5750610dcb578280f35b92948092508391503d831161299c575b61298781836131fd565b8101031261041b575185929087906024612913565b503d61297d565b9190507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360160e08112610c755760a01361047b57826129e1612f21565b73ffffffffffffffffffffffffffffffffffffffff8083541694612a10612a06613278565b60018814156132b1565b612a1b610239613bc4565b817f00000000000000000000000000000000000000000000000000000000000000001692833b156105a157612a81936101049386928851998a9788967f8720316d00000000000000000000000000000000000000000000000000000000885287016133d7565b60a43560a487015260c48601521660e48401525af19081156104125750612aa6575080f35b61024a906131cd565b9050817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047b57612ae2612efe565b906024359173ffffffffffffffffffffffffffffffffffffffff92612b106001858854161415610228613278565b612b1b610239613bc4565b8382168551947f6f307dc30000000000000000000000000000000000000000000000000000000086528760209687818881875afa8015612d325783918391612cf8575b5016918851957f70a0823100000000000000000000000000000000000000000000000000000000875230888801528887602481875afa8015612cee5789978491612cbb575b50908187612bca93109088180294612bc5612bbc613386565b878a14156132b1565b6139d0565b81541693612c298951978896879586947f2f4f21e2000000000000000000000000000000000000000000000000000000008652189184016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1908115611dee579261024a938592612c7a575b507f6465706f736974206661696c6564000000000000000000000000000000000000905192612c6e846131e1565b600e84528301526132b1565b7f6465706f736974206661696c6564000000000000000000000000000000000000919250612cb490843d8611611de757611dd881836131fd565b9190612c40565b8881939992503d8311612ce7575b612cd381836131fd565b8101031261047b5751889690612bca612ba3565b503d612cc9565b8a513d85823e3d90fd5b809250898092503d8311612d2b575b612d1181836131fd565b810103126106185751828116810361061857829038612b5e565b503d612d07565b89513d84823e3d90fd5b9181601f8401121561041b5782359167ffffffffffffffff831161041b576020838186019501011161041b57565b3461041b576040807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261041b5767ffffffffffffffff9060243582811161041b57612dbc903690600401612d3c565b612e08612dca94929461334d565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633146132b1565b830191602093848185031261041b5780359083821161041b57019183601f8401121561041b57823593818511612ecf578460051b9160405195612e4d888501886131fd565b865286808701938601019482861161041b57878101935b868510612e745761001e88613b89565b843583811161041b57820184603f8201121561041b578981013591612e988361323e565b612ea4895191826131fd565b8381528689858501011161041b5760008c8581968c8397018386013783010152815201940193612e64565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361041b57565b60c4359073ffffffffffffffffffffffffffffffffffffffff8216820361041b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361041b57565b6044359073ffffffffffffffffffffffffffffffffffffffff8216820361041b57565b359073ffffffffffffffffffffffffffffffffffffffff8216820361041b57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc606091011261041b5773ffffffffffffffffffffffffffffffffffffffff90600435828116810361041b5791602435908116810361041b579060443590565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc608091011261041b5773ffffffffffffffffffffffffffffffffffffffff90600435828116810361041b57916024359160443591606435908116810361041b5790565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201610140811261041b5760a01361041b5760049160a4359160c4359160e435916101043573ffffffffffffffffffffffffffffffffffffffff8116810361041b5791610124359067ffffffffffffffff821161041b576130f491600401612d3c565b9091565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01610120811261041b5760a01361041b5760049060a4359060c4359060e435906101043573ffffffffffffffffffffffffffffffffffffffff8116810361041b5790565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a091011261041b5773ffffffffffffffffffffffffffffffffffffffff600435818116810361041b57916024359160443591606435828116810361041b5791608435908116810361041b5790565b67ffffffffffffffff8111612ecf57604052565b6040810190811067ffffffffffffffff821117612ecf57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117612ecf57604052565b67ffffffffffffffff8111612ecf57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60405190613285826131e1565b600b82527f756e696e697469617465640000000000000000000000000000000000000000006020830152565b156132b95750565b604051907f08c379a000000000000000000000000000000000000000000000000000000000825281602080600483015282519283602484015260005b848110613336575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f836000604480968601015201168101030190fd5b8181018301518682016044015285935082016132f5565b6040519061335a826131e1565b601382527f756e617574686f72697a65642073656e646572000000000000000000000000006020830152565b60405190613393826131e1565b600b82527f7a65726f20616d6f756e740000000000000000000000000000000000000000006020830152565b9081602091031261041b5751801515810361041b5790565b60043573ffffffffffffffffffffffffffffffffffffffff9081811680910361041b57825260243581811680910361041b57602083015260443581811680910361041b57604083015260643590811680910361041b5760608201526080608435910152565b6080809173ffffffffffffffffffffffffffffffffffffffff8061345f83612f8a565b1685528061346f60208401612f8a565b1660208601528061348260408401612f8a565b16604086015261349460608301612f8a565b1660608501520135910152565b604051906134ae826131e1565b600c82527f7a65726f206164647265737300000000000000000000000000000000000000006020830152565b604051906134e7826131e1565b600f82527f62756e646c6572206164647265737300000000000000000000000000000000006020830152565b919073ffffffffffffffffffffffffffffffffffffffff80911692613539610a026134a1565b61354d6135446134da565b308614156132b1565b16604051927f70a082310000000000000000000000000000000000000000000000000000000084523060048501526020938481602481865afa90811561368b5760009161365e575b50838110908418029081841461365757600080936044938796604051947fa9059cbb00000000000000000000000000000000000000000000000000000000865260048601521860248401525af13d15601f3d11600160005114161716156135f95750565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fd5b5050505050565b90508481813d8311613684575b61367581836131fd565b8101031261041b575138613595565b503d61366b565b6040513d6000823e3d90fd5b604051906136a4826131e1565b600b82527f7a65726f207368617265730000000000000000000000000000000000000000006020830152565b9081602091031261041b575173ffffffffffffffffffffffffffffffffffffffff8116810361041b5790565b60405190613709826131e1565b601182527f736c6970706167652065786365656465640000000000000000000000000000006020830152565b60243573ffffffffffffffffffffffffffffffffffffffff8116810361041b5790565b3573ffffffffffffffffffffffffffffffffffffffff8116810361041b5790565b919082604091031261041b576020825192015190565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b919373ffffffffffffffffffffffffffffffffffffffff919361381797956137f9856101209761343c565b60a085015260c08401521660e082015281610100820152019161378f565b90565b93919261010093969591966138348661012081019961343c565b60a086015260c085015273ffffffffffffffffffffffffffffffffffffffff80921660e085015216910152565b3d1561388c573d906138728261323e565b9161388060405193846131fd565b82523d6000602084013e565b606090565b818102929181159184041417156138a457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b604051906138e0826131e1565b601082527f756e6578706563746564206f776e6572000000000000000000000000000000006020830152565b61394a73ffffffffffffffffffffffffffffffffffffffff82166139396139316134a1565b8215156132b1565b6139416134da565b903014156132b1565b47828110908318028083146139cb5760009283928392839218905af11561396d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152fd5b505050565b73ffffffffffffffffffffffffffffffffffffffff80911690604051927fdd62ed3e000000000000000000000000000000000000000000000000000000008452306004850152168060248401526020928381604481865afa90811561368b57600091613b13575b5015613a4257505050565b6044600091828594604051927f095ea7b300000000000000000000000000000000000000000000000000000000845260048401527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248401525af13d15601f3d1160016000511416171615613ab55750565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600e60248201527f415050524f56455f4641494c45440000000000000000000000000000000000006044820152fd5b90508381813d8311613b39575b613b2a81836131fd565b8101031261041b575138613a37565b503d613b20565b805190613b84604051613b52816131e1565b600b81527f63616c6c206661696c656400000000000000000000000000000000000000000060208201528315156132b1565b602001fd5b60009060005b81518110156139cb5782806020808460051b860101519081519101305af4613bb5613861565b9015610c585750600101613b8f565b73ffffffffffffffffffffffffffffffffffffffff80600054163314908115613beb575090565b90507f00000000000000000000000000000000000000000000000000000000000000001633149056fea2646970667358221220f5c3ee7f0ad1626094cfa03a402d0eb3ae7a3bf712ca8ffcc933ba7a33da101864736f6c63430008180033"; + +type SepoliaBundlerV2ConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: SepoliaBundlerV2ConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class SepoliaBundlerV2__factory extends ContractFactory { + constructor(...args: SepoliaBundlerV2ConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + morpho: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(morpho, overrides || {}); + } + override deploy( + morpho: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(morpho, overrides || {}) as Promise< + SepoliaBundlerV2 & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): SepoliaBundlerV2__factory { + return super.connect(runner) as SepoliaBundlerV2__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): SepoliaBundlerV2Interface { + return new Interface(_abi) as SepoliaBundlerV2Interface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): SepoliaBundlerV2 { + return new Contract(address, _abi, runner) as unknown as SepoliaBundlerV2; + } +} diff --git a/pkg/types/factories/src/sepolia/index.ts b/pkg/types/factories/src/sepolia/index.ts new file mode 100644 index 00000000..021ef766 --- /dev/null +++ b/pkg/types/factories/src/sepolia/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { SepoliaBundlerV2__factory } from "./SepoliaBundlerV2__factory"; diff --git a/pkg/types/hardhat.d.ts b/pkg/types/hardhat.d.ts new file mode 100644 index 00000000..346c7a84 --- /dev/null +++ b/pkg/types/hardhat.d.ts @@ -0,0 +1,2619 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { ethers } from "ethers"; +import { + DeployContractOptions, + FactoryOptions, + HardhatEthersHelpers as HardhatEthersHelpersBase, +} from "@nomicfoundation/hardhat-ethers/types"; + +import * as Contracts from "."; + +declare module "hardhat/types/runtime" { + interface HardhatEthersHelpers extends HardhatEthersHelpersBase { + getContractFactory( + name: "IIrm", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorpho", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorphoBase", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorphoStaticTyping", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Ownable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Ownable2Step", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC1155Errors", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Errors", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC721Errors", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC4626", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC5267", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20Permit", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC4626", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Metadata", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Permit", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "SafeERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Address", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ECDSA", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "EIP712", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Math", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "SafeCast", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Multicall", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Nonces", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ShortStrings", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Strings", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMetaMorpho", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMetaMorphoBase", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMetaMorphoStaticTyping", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMulticall", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IOwnable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ErrorsLib", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "EventsLib", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "MetaMorpho", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IIrm", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorpho", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorphoBase", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorphoStaticTyping", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "AdaptiveCurveIrm", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IAdaptiveCurveIrm", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ConstantsLib", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IIrm", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorpho", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorphoBase", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorphoStaticTyping", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorphoFlashLoanCallback", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorphoLiquidateCallback", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorphoRepayCallback", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorphoSupplyCallback", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorphoSupplyCollateralCallback", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IOracle", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "EventsLib", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Internal", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Morpho", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC4626", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC5267", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20Permit", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20Wrapper", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC4626", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Metadata", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Permit", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "EIP712", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ShortStrings", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IAllowanceTransfer", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IDAIPermit", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IEIP712", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "SafeCast160", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IIrm", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorpho", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorphoBase", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorphoStaticTyping", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC4626", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Metadata", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Permit", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMetaMorpho", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMetaMorphoBase", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMetaMorphoStaticTyping", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMulticall", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IOwnable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IPublicAllocator", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IPublicAllocatorBase", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IPublicAllocatorStaticTyping", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ErrorsLib", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "EventsLib", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "PublicAllocator", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Permit", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IUniversalRewardsDistributor", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IUniversalRewardsDistributorBase", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IUniversalRewardsDistributorStaticTyping", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IUrdFactory", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "EventsLib", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "UniversalRewardsDistributor", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "UrdFactory", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "BaseBundler", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ChainAgnosticBundlerV2", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20WrapperBundler", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC4626Bundler", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "EthereumBundlerV2", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "EthereumPermitBundler", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "EthereumStEthBundler", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IDaiPermit", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "GoerliBundlerV2", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMorphoBundler", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMulticall", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IPublicAllocator", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IStEth", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IWNative", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IWstEth", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "AaveV2MigrationBundlerV2", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "AaveV3MigrationBundlerV2", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "AaveV3OptimizerMigrationBundlerV2", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "CompoundV2MigrationBundlerV2", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "CompoundV3MigrationBundlerV2", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IAaveV2", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IAaveV3", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IAaveV3Optimizer", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ICEth", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ICompoundV3", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IComptroller", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ICToken", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "MigrationBundler", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20Mock", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20PermitMock", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20WrapperMock", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC4626Mock", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IrmMock", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "MorphoMock", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "OracleMock", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "MorphoBundler", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Permit2Bundler", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "PermitBundler", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "SepoliaBundlerV2", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "StEthBundler", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "TransferBundler", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "UrdBundler", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "WNativeBundler", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + + getContractAt( + name: "IIrm", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorpho", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorphoBase", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorphoStaticTyping", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Ownable", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Ownable2Step", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC1155Errors", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Errors", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC721Errors", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC4626", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC5267", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20Permit", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC4626", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Metadata", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Permit", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "SafeERC20", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Address", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ECDSA", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "EIP712", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Math", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "SafeCast", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Multicall", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Nonces", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ShortStrings", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Strings", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMetaMorpho", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMetaMorphoBase", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMetaMorphoStaticTyping", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMulticall", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IOwnable", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ErrorsLib", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "EventsLib", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "MetaMorpho", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IIrm", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorpho", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorphoBase", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorphoStaticTyping", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "AdaptiveCurveIrm", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IAdaptiveCurveIrm", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ConstantsLib", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IIrm", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorpho", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorphoBase", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorphoStaticTyping", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorphoFlashLoanCallback", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorphoLiquidateCallback", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorphoRepayCallback", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorphoSupplyCallback", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorphoSupplyCollateralCallback", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IOracle", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "EventsLib", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Internal", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Morpho", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC4626", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC5267", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20Permit", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20Wrapper", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC4626", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Metadata", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Permit", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "EIP712", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ShortStrings", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IAllowanceTransfer", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IDAIPermit", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IEIP712", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "SafeCast160", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IIrm", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorpho", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorphoBase", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorphoStaticTyping", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC4626", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Metadata", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Permit", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMetaMorpho", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMetaMorphoBase", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMetaMorphoStaticTyping", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMulticall", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IOwnable", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IPublicAllocator", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IPublicAllocatorBase", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IPublicAllocatorStaticTyping", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ErrorsLib", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "EventsLib", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "PublicAllocator", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Permit", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IUniversalRewardsDistributor", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IUniversalRewardsDistributorBase", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IUniversalRewardsDistributorStaticTyping", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IUrdFactory", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "EventsLib", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "UniversalRewardsDistributor", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "UrdFactory", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "BaseBundler", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ChainAgnosticBundlerV2", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20WrapperBundler", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC4626Bundler", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "EthereumBundlerV2", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "EthereumPermitBundler", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "EthereumStEthBundler", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IDaiPermit", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "GoerliBundlerV2", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMorphoBundler", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMulticall", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IPublicAllocator", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IStEth", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IWNative", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IWstEth", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "AaveV2MigrationBundlerV2", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "AaveV3MigrationBundlerV2", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "AaveV3OptimizerMigrationBundlerV2", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "CompoundV2MigrationBundlerV2", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "CompoundV3MigrationBundlerV2", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IAaveV2", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IAaveV3", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IAaveV3Optimizer", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ICEth", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ICompoundV3", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IComptroller", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ICToken", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "MigrationBundler", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20Mock", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20PermitMock", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20WrapperMock", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC4626Mock", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IrmMock", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "MorphoMock", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "OracleMock", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "MorphoBundler", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Permit2Bundler", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "PermitBundler", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "SepoliaBundlerV2", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "StEthBundler", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "TransferBundler", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "UrdBundler", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "WNativeBundler", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + + deployContract( + name: "IIrm", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorpho", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoBase", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoStaticTyping", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Ownable", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Ownable2Step", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC1155Errors", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Errors", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC721Errors", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC4626", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC5267", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Permit", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC4626", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Metadata", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Permit", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "SafeERC20", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Address", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ECDSA", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EIP712", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Math", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "SafeCast", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Multicall", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Nonces", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ShortStrings", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Strings", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMetaMorpho", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMetaMorphoBase", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMetaMorphoStaticTyping", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMulticall", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IOwnable", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ErrorsLib", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EventsLib", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "MetaMorpho", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IIrm", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorpho", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoBase", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoStaticTyping", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "AdaptiveCurveIrm", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IAdaptiveCurveIrm", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ConstantsLib", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IIrm", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorpho", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoBase", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoStaticTyping", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoFlashLoanCallback", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoLiquidateCallback", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoRepayCallback", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoSupplyCallback", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoSupplyCollateralCallback", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IOracle", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EventsLib", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Internal", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Morpho", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC4626", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC5267", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Permit", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Wrapper", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC4626", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Metadata", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Permit", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EIP712", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ShortStrings", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IAllowanceTransfer", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IDAIPermit", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IEIP712", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "SafeCast160", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IIrm", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorpho", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoBase", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoStaticTyping", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC4626", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Metadata", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Permit", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMetaMorpho", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMetaMorphoBase", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMetaMorphoStaticTyping", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMulticall", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IOwnable", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IPublicAllocator", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IPublicAllocatorBase", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IPublicAllocatorStaticTyping", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ErrorsLib", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EventsLib", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "PublicAllocator", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Permit", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniversalRewardsDistributor", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniversalRewardsDistributorBase", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniversalRewardsDistributorStaticTyping", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUrdFactory", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EventsLib", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "UniversalRewardsDistributor", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "UrdFactory", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "BaseBundler", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ChainAgnosticBundlerV2", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20WrapperBundler", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC4626Bundler", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EthereumBundlerV2", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EthereumPermitBundler", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EthereumStEthBundler", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IDaiPermit", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GoerliBundlerV2", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoBundler", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMulticall", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IPublicAllocator", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IStEth", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IWNative", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IWstEth", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "AaveV2MigrationBundlerV2", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "AaveV3MigrationBundlerV2", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "AaveV3OptimizerMigrationBundlerV2", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "CompoundV2MigrationBundlerV2", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "CompoundV3MigrationBundlerV2", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IAaveV2", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IAaveV3", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IAaveV3Optimizer", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ICEth", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ICompoundV3", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IComptroller", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ICToken", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "MigrationBundler", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Mock", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20PermitMock", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20WrapperMock", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC4626Mock", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IrmMock", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "MorphoMock", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "OracleMock", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "MorphoBundler", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Permit2Bundler", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "PermitBundler", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "SepoliaBundlerV2", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "StEthBundler", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TransferBundler", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "UrdBundler", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "WNativeBundler", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + + deployContract( + name: "IIrm", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorpho", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoBase", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoStaticTyping", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Ownable", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Ownable2Step", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC1155Errors", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Errors", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC721Errors", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC4626", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC5267", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Permit", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC4626", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Metadata", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Permit", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "SafeERC20", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Address", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ECDSA", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EIP712", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Math", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "SafeCast", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Multicall", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Nonces", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ShortStrings", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Strings", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMetaMorpho", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMetaMorphoBase", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMetaMorphoStaticTyping", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMulticall", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IOwnable", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ErrorsLib", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EventsLib", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "MetaMorpho", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IIrm", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorpho", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoBase", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoStaticTyping", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "AdaptiveCurveIrm", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IAdaptiveCurveIrm", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ConstantsLib", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IIrm", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorpho", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoBase", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoStaticTyping", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoFlashLoanCallback", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoLiquidateCallback", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoRepayCallback", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoSupplyCallback", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoSupplyCollateralCallback", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IOracle", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EventsLib", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Internal", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Morpho", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC4626", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC5267", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Permit", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Wrapper", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC4626", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Metadata", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Permit", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EIP712", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ShortStrings", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IAllowanceTransfer", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IDAIPermit", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IEIP712", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "SafeCast160", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IIrm", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorpho", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoBase", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoStaticTyping", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC4626", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Metadata", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Permit", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMetaMorpho", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMetaMorphoBase", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMetaMorphoStaticTyping", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMulticall", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IOwnable", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IPublicAllocator", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IPublicAllocatorBase", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IPublicAllocatorStaticTyping", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ErrorsLib", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EventsLib", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "PublicAllocator", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Permit", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniversalRewardsDistributor", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniversalRewardsDistributorBase", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniversalRewardsDistributorStaticTyping", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUrdFactory", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EventsLib", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "UniversalRewardsDistributor", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "UrdFactory", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "BaseBundler", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ChainAgnosticBundlerV2", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20WrapperBundler", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC4626Bundler", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EthereumBundlerV2", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EthereumPermitBundler", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EthereumStEthBundler", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IDaiPermit", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GoerliBundlerV2", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMorphoBundler", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMulticall", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IPublicAllocator", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IStEth", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IWNative", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IWstEth", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "AaveV2MigrationBundlerV2", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "AaveV3MigrationBundlerV2", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "AaveV3OptimizerMigrationBundlerV2", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "CompoundV2MigrationBundlerV2", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "CompoundV3MigrationBundlerV2", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IAaveV2", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IAaveV3", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IAaveV3Optimizer", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ICEth", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ICompoundV3", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IComptroller", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ICToken", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "MigrationBundler", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Mock", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20PermitMock", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20WrapperMock", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC4626Mock", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IrmMock", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "MorphoMock", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "OracleMock", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "MorphoBundler", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Permit2Bundler", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "PermitBundler", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "SepoliaBundlerV2", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "StEthBundler", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TransferBundler", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "UrdBundler", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "WNativeBundler", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + + // default types + getContractFactory( + name: string, + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + abi: any[], + bytecode: ethers.BytesLike, + signer?: ethers.Signer + ): Promise; + getContractAt( + nameOrAbi: string | any[], + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + deployContract( + name: string, + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: string, + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + } +} diff --git a/pkg/types/index.ts b/pkg/types/index.ts new file mode 100644 index 00000000..0b9916b4 --- /dev/null +++ b/pkg/types/index.ts @@ -0,0 +1,214 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as lib from "./lib"; +export type { lib }; +import type * as solmate from "./solmate"; +export type { solmate }; +import type * as src from "./src"; +export type { src }; +export * as factories from "./factories"; +export type { IIrm } from "./lib/metamorpho/lib/morpho-blue/src/interfaces/IIrm"; +export { IIrm__factory } from "./factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IIrm__factory"; +export type { IMorpho } from "./lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho"; +export { IMorpho__factory } from "./factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho__factory"; +export type { IMorphoBase } from "./lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase"; +export { IMorphoBase__factory } from "./factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase__factory"; +export type { IMorphoStaticTyping } from "./lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping"; +export { IMorphoStaticTyping__factory } from "./factories/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping__factory"; +export type { Ownable } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable"; +export { Ownable__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable__factory"; +export type { Ownable2Step } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable2Step"; +export { Ownable2Step__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable2Step__factory"; +export type { IERC1155Errors } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors"; +export { IERC1155Errors__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory"; +export type { IERC20Errors } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC20Errors"; +export { IERC20Errors__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory"; +export type { IERC721Errors } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC721Errors"; +export { IERC721Errors__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory"; +export type { IERC4626 } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC4626"; +export { IERC4626__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC4626__factory"; +export type { IERC5267 } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC5267"; +export { IERC5267__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC5267__factory"; +export type { ERC20 } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20"; +export { ERC20__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20__factory"; +export type { ERC20Permit } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit"; +export { ERC20Permit__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit__factory"; +export type { ERC4626 } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626"; +export { ERC4626__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626__factory"; +export type { IERC20Metadata } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata"; +export { IERC20Metadata__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata__factory"; +export type { IERC20Permit } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit"; +export { IERC20Permit__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit__factory"; +export type { IERC20 } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20"; +export { IERC20__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20__factory"; +export type { SafeERC20 } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20"; +export { SafeERC20__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20__factory"; +export type { Address } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Address"; +export { Address__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Address__factory"; +export type { ECDSA } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA"; +export { ECDSA__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA__factory"; +export type { EIP712 } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712"; +export { EIP712__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712__factory"; +export type { Math } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/Math"; +export { Math__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/Math__factory"; +export type { SafeCast } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/SafeCast"; +export { SafeCast__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/SafeCast__factory"; +export type { Multicall } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Multicall"; +export { Multicall__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Multicall__factory"; +export type { Nonces } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Nonces"; +export { Nonces__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Nonces__factory"; +export type { ShortStrings } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/ShortStrings"; +export { ShortStrings__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/ShortStrings__factory"; +export type { Strings } from "./lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Strings"; +export { Strings__factory } from "./factories/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Strings__factory"; +export type { IMetaMorpho } from "./lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorpho"; +export { IMetaMorpho__factory } from "./factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorpho__factory"; +export type { IMetaMorphoBase } from "./lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoBase"; +export { IMetaMorphoBase__factory } from "./factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoBase__factory"; +export type { IMetaMorphoStaticTyping } from "./lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoStaticTyping"; +export { IMetaMorphoStaticTyping__factory } from "./factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoStaticTyping__factory"; +export type { IMulticall } from "./lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMulticall"; +export { IMulticall__factory } from "./factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMulticall__factory"; +export type { IOwnable } from "./lib/metamorpho/src/interfaces/IMetaMorpho.sol/IOwnable"; +export { IOwnable__factory } from "./factories/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IOwnable__factory"; +export type { ErrorsLib } from "./lib/metamorpho/src/libraries/ErrorsLib"; +export { ErrorsLib__factory } from "./factories/lib/metamorpho/src/libraries/ErrorsLib__factory"; +export type { EventsLib } from "./lib/metamorpho/src/libraries/EventsLib"; +export { EventsLib__factory } from "./factories/lib/metamorpho/src/libraries/EventsLib__factory"; +export type { MetaMorpho } from "./lib/metamorpho/src/MetaMorpho"; +export { MetaMorpho__factory } from "./factories/lib/metamorpho/src/MetaMorpho__factory"; +export type { AdaptiveCurveIrm } from "./lib/morpho-blue-irm/src/adaptive-curve-irm/AdaptiveCurveIrm"; +export { AdaptiveCurveIrm__factory } from "./factories/lib/morpho-blue-irm/src/adaptive-curve-irm/AdaptiveCurveIrm__factory"; +export type { IAdaptiveCurveIrm } from "./lib/morpho-blue-irm/src/adaptive-curve-irm/interfaces/IAdaptiveCurveIrm"; +export { IAdaptiveCurveIrm__factory } from "./factories/lib/morpho-blue-irm/src/adaptive-curve-irm/interfaces/IAdaptiveCurveIrm__factory"; +export type { ConstantsLib } from "./lib/morpho-blue-irm/src/adaptive-curve-irm/libraries/ConstantsLib"; +export { ConstantsLib__factory } from "./factories/lib/morpho-blue-irm/src/adaptive-curve-irm/libraries/ConstantsLib__factory"; +export type { IMorphoFlashLoanCallback } from "./lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoFlashLoanCallback"; +export { IMorphoFlashLoanCallback__factory } from "./factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoFlashLoanCallback__factory"; +export type { IMorphoLiquidateCallback } from "./lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoLiquidateCallback"; +export { IMorphoLiquidateCallback__factory } from "./factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoLiquidateCallback__factory"; +export type { IMorphoRepayCallback } from "./lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoRepayCallback"; +export { IMorphoRepayCallback__factory } from "./factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoRepayCallback__factory"; +export type { IMorphoSupplyCallback } from "./lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCallback"; +export { IMorphoSupplyCallback__factory } from "./factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCallback__factory"; +export type { IMorphoSupplyCollateralCallback } from "./lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCollateralCallback"; +export { IMorphoSupplyCollateralCallback__factory } from "./factories/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCollateralCallback__factory"; +export type { IOracle } from "./lib/morpho-blue/src/interfaces/IOracle"; +export { IOracle__factory } from "./factories/lib/morpho-blue/src/interfaces/IOracle__factory"; +export type { IERC20Internal } from "./lib/morpho-blue/src/libraries/SafeTransferLib.sol/IERC20Internal"; +export { IERC20Internal__factory } from "./factories/lib/morpho-blue/src/libraries/SafeTransferLib.sol/IERC20Internal__factory"; +export type { Morpho } from "./lib/morpho-blue/src/Morpho"; +export { Morpho__factory } from "./factories/lib/morpho-blue/src/Morpho__factory"; +export type { ERC20Wrapper } from "./lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper"; +export { ERC20Wrapper__factory } from "./factories/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper__factory"; +export type { IAllowanceTransfer } from "./lib/permit2/src/interfaces/IAllowanceTransfer"; +export { IAllowanceTransfer__factory } from "./factories/lib/permit2/src/interfaces/IAllowanceTransfer__factory"; +export type { IDAIPermit } from "./lib/permit2/src/interfaces/IDAIPermit"; +export { IDAIPermit__factory } from "./factories/lib/permit2/src/interfaces/IDAIPermit__factory"; +export type { IEIP712 } from "./lib/permit2/src/interfaces/IEIP712"; +export { IEIP712__factory } from "./factories/lib/permit2/src/interfaces/IEIP712__factory"; +export type { SafeCast160 } from "./lib/permit2/src/libraries/SafeCast160"; +export { SafeCast160__factory } from "./factories/lib/permit2/src/libraries/SafeCast160__factory"; +export type { IPublicAllocator } from "./lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocator"; +export { IPublicAllocator__factory } from "./factories/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocator__factory"; +export type { IPublicAllocatorBase } from "./lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorBase"; +export { IPublicAllocatorBase__factory } from "./factories/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorBase__factory"; +export type { IPublicAllocatorStaticTyping } from "./lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorStaticTyping"; +export { IPublicAllocatorStaticTyping__factory } from "./factories/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorStaticTyping__factory"; +export type { PublicAllocator } from "./lib/public-allocator/src/PublicAllocator"; +export { PublicAllocator__factory } from "./factories/lib/public-allocator/src/PublicAllocator__factory"; +export type { IUniversalRewardsDistributor } from "./lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributor"; +export { IUniversalRewardsDistributor__factory } from "./factories/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributor__factory"; +export type { IUniversalRewardsDistributorBase } from "./lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorBase"; +export { IUniversalRewardsDistributorBase__factory } from "./factories/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorBase__factory"; +export type { IUniversalRewardsDistributorStaticTyping } from "./lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorStaticTyping"; +export { IUniversalRewardsDistributorStaticTyping__factory } from "./factories/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorStaticTyping__factory"; +export type { IUrdFactory } from "./lib/universal-rewards-distributor/src/interfaces/IUrdFactory"; +export { IUrdFactory__factory } from "./factories/lib/universal-rewards-distributor/src/interfaces/IUrdFactory__factory"; +export type { UniversalRewardsDistributor } from "./lib/universal-rewards-distributor/src/UniversalRewardsDistributor"; +export { UniversalRewardsDistributor__factory } from "./factories/lib/universal-rewards-distributor/src/UniversalRewardsDistributor__factory"; +export type { UrdFactory } from "./lib/universal-rewards-distributor/src/UrdFactory"; +export { UrdFactory__factory } from "./factories/lib/universal-rewards-distributor/src/UrdFactory__factory"; +export type { BaseBundler } from "./src/BaseBundler"; +export { BaseBundler__factory } from "./factories/src/BaseBundler__factory"; +export type { ChainAgnosticBundlerV2 } from "./src/chain-agnostic/ChainAgnosticBundlerV2"; +export { ChainAgnosticBundlerV2__factory } from "./factories/src/chain-agnostic/ChainAgnosticBundlerV2__factory"; +export type { ERC20WrapperBundler } from "./src/ERC20WrapperBundler"; +export { ERC20WrapperBundler__factory } from "./factories/src/ERC20WrapperBundler__factory"; +export type { ERC4626Bundler } from "./src/ERC4626Bundler"; +export { ERC4626Bundler__factory } from "./factories/src/ERC4626Bundler__factory"; +export type { EthereumBundlerV2 } from "./src/ethereum/EthereumBundlerV2"; +export { EthereumBundlerV2__factory } from "./factories/src/ethereum/EthereumBundlerV2__factory"; +export type { EthereumPermitBundler } from "./src/ethereum/EthereumPermitBundler"; +export { EthereumPermitBundler__factory } from "./factories/src/ethereum/EthereumPermitBundler__factory"; +export type { EthereumStEthBundler } from "./src/ethereum/EthereumStEthBundler"; +export { EthereumStEthBundler__factory } from "./factories/src/ethereum/EthereumStEthBundler__factory"; +export type { IDaiPermit } from "./src/ethereum/interfaces/IDaiPermit"; +export { IDaiPermit__factory } from "./factories/src/ethereum/interfaces/IDaiPermit__factory"; +export type { GoerliBundlerV2 } from "./src/goerli/GoerliBundlerV2"; +export { GoerliBundlerV2__factory } from "./factories/src/goerli/GoerliBundlerV2__factory"; +export type { IMorphoBundler } from "./src/interfaces/IMorphoBundler"; +export { IMorphoBundler__factory } from "./factories/src/interfaces/IMorphoBundler__factory"; +export type { IStEth } from "./src/interfaces/IStEth"; +export { IStEth__factory } from "./factories/src/interfaces/IStEth__factory"; +export type { IWNative } from "./src/interfaces/IWNative"; +export { IWNative__factory } from "./factories/src/interfaces/IWNative__factory"; +export type { IWstEth } from "./src/interfaces/IWstEth"; +export { IWstEth__factory } from "./factories/src/interfaces/IWstEth__factory"; +export type { AaveV2MigrationBundlerV2 } from "./src/migration/AaveV2MigrationBundlerV2"; +export { AaveV2MigrationBundlerV2__factory } from "./factories/src/migration/AaveV2MigrationBundlerV2__factory"; +export type { AaveV3MigrationBundlerV2 } from "./src/migration/AaveV3MigrationBundlerV2"; +export { AaveV3MigrationBundlerV2__factory } from "./factories/src/migration/AaveV3MigrationBundlerV2__factory"; +export type { AaveV3OptimizerMigrationBundlerV2 } from "./src/migration/AaveV3OptimizerMigrationBundlerV2"; +export { AaveV3OptimizerMigrationBundlerV2__factory } from "./factories/src/migration/AaveV3OptimizerMigrationBundlerV2__factory"; +export type { CompoundV2MigrationBundlerV2 } from "./src/migration/CompoundV2MigrationBundlerV2"; +export { CompoundV2MigrationBundlerV2__factory } from "./factories/src/migration/CompoundV2MigrationBundlerV2__factory"; +export type { CompoundV3MigrationBundlerV2 } from "./src/migration/CompoundV3MigrationBundlerV2"; +export { CompoundV3MigrationBundlerV2__factory } from "./factories/src/migration/CompoundV3MigrationBundlerV2__factory"; +export type { IAaveV2 } from "./src/migration/interfaces/IAaveV2"; +export { IAaveV2__factory } from "./factories/src/migration/interfaces/IAaveV2__factory"; +export type { IAaveV3 } from "./src/migration/interfaces/IAaveV3"; +export { IAaveV3__factory } from "./factories/src/migration/interfaces/IAaveV3__factory"; +export type { IAaveV3Optimizer } from "./src/migration/interfaces/IAaveV3Optimizer"; +export { IAaveV3Optimizer__factory } from "./factories/src/migration/interfaces/IAaveV3Optimizer__factory"; +export type { ICEth } from "./src/migration/interfaces/ICEth"; +export { ICEth__factory } from "./factories/src/migration/interfaces/ICEth__factory"; +export type { ICompoundV3 } from "./src/migration/interfaces/ICompoundV3"; +export { ICompoundV3__factory } from "./factories/src/migration/interfaces/ICompoundV3__factory"; +export type { IComptroller } from "./src/migration/interfaces/IComptroller"; +export { IComptroller__factory } from "./factories/src/migration/interfaces/IComptroller__factory"; +export type { ICToken } from "./src/migration/interfaces/ICToken"; +export { ICToken__factory } from "./factories/src/migration/interfaces/ICToken__factory"; +export type { MigrationBundler } from "./src/migration/MigrationBundler"; +export { MigrationBundler__factory } from "./factories/src/migration/MigrationBundler__factory"; +export type { ERC20Mock } from "./src/mocks/ERC20Mock"; +export { ERC20Mock__factory } from "./factories/src/mocks/ERC20Mock__factory"; +export type { ERC20PermitMock } from "./src/mocks/ERC20PermitMock"; +export { ERC20PermitMock__factory } from "./factories/src/mocks/ERC20PermitMock__factory"; +export type { ERC20WrapperMock } from "./src/mocks/ERC20WrapperMock"; +export { ERC20WrapperMock__factory } from "./factories/src/mocks/ERC20WrapperMock__factory"; +export type { ERC4626Mock } from "./src/mocks/ERC4626Mock"; +export { ERC4626Mock__factory } from "./factories/src/mocks/ERC4626Mock__factory"; +export type { IrmMock } from "./src/mocks/IrmMock"; +export { IrmMock__factory } from "./factories/src/mocks/IrmMock__factory"; +export type { MorphoMock } from "./src/mocks/MorphoMock"; +export { MorphoMock__factory } from "./factories/src/mocks/MorphoMock__factory"; +export type { OracleMock } from "./src/mocks/OracleMock"; +export { OracleMock__factory } from "./factories/src/mocks/OracleMock__factory"; +export type { MorphoBundler } from "./src/MorphoBundler"; +export { MorphoBundler__factory } from "./factories/src/MorphoBundler__factory"; +export type { Permit2Bundler } from "./src/Permit2Bundler"; +export { Permit2Bundler__factory } from "./factories/src/Permit2Bundler__factory"; +export type { PermitBundler } from "./src/PermitBundler"; +export { PermitBundler__factory } from "./factories/src/PermitBundler__factory"; +export type { SepoliaBundlerV2 } from "./src/sepolia/SepoliaBundlerV2"; +export { SepoliaBundlerV2__factory } from "./factories/src/sepolia/SepoliaBundlerV2__factory"; +export type { StEthBundler } from "./src/StEthBundler"; +export { StEthBundler__factory } from "./factories/src/StEthBundler__factory"; +export type { TransferBundler } from "./src/TransferBundler"; +export { TransferBundler__factory } from "./factories/src/TransferBundler__factory"; +export type { UrdBundler } from "./src/UrdBundler"; +export { UrdBundler__factory } from "./factories/src/UrdBundler__factory"; +export type { WNativeBundler } from "./src/WNativeBundler"; +export { WNativeBundler__factory } from "./factories/src/WNativeBundler__factory"; diff --git a/pkg/types/lib/index.ts b/pkg/types/lib/index.ts new file mode 100644 index 00000000..c2062065 --- /dev/null +++ b/pkg/types/lib/index.ts @@ -0,0 +1,19 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as metamorpho from "./metamorpho"; +export type { metamorpho }; +import type * as morphoBlue from "./morpho-blue"; +export type { morphoBlue }; +import type * as morphoBlueIrm from "./morpho-blue-irm"; +export type { morphoBlueIrm }; +import type * as openzeppelinContracts from "./openzeppelin-contracts"; +export type { openzeppelinContracts }; +import type * as permit2 from "./permit2"; +export type { permit2 }; +import type * as publicAllocator from "./public-allocator"; +export type { publicAllocator }; +import type * as solmate from "./solmate"; +export type { solmate }; +import type * as universalRewardsDistributor from "./universal-rewards-distributor"; +export type { universalRewardsDistributor }; diff --git a/pkg/types/lib/metamorpho/index.ts b/pkg/types/lib/metamorpho/index.ts new file mode 100644 index 00000000..ccf9a6e8 --- /dev/null +++ b/pkg/types/lib/metamorpho/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as lib from "./lib"; +export type { lib }; +import type * as src from "./src"; +export type { src }; diff --git a/pkg/types/lib/metamorpho/lib/index.ts b/pkg/types/lib/metamorpho/lib/index.ts new file mode 100644 index 00000000..784cfb7c --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as morphoBlue from "./morpho-blue"; +export type { morphoBlue }; +import type * as openzeppelinContracts from "./openzeppelin-contracts"; +export type { openzeppelinContracts }; diff --git a/pkg/types/lib/metamorpho/lib/morpho-blue/index.ts b/pkg/types/lib/metamorpho/lib/morpho-blue/index.ts new file mode 100644 index 00000000..f68cafed --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/morpho-blue/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as src from "./src"; +export type { src }; diff --git a/pkg/types/lib/metamorpho/lib/morpho-blue/src/index.ts b/pkg/types/lib/metamorpho/lib/morpho-blue/src/index.ts new file mode 100644 index 00000000..92159233 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/morpho-blue/src/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; diff --git a/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/IIrm.ts b/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/IIrm.ts new file mode 100644 index 00000000..5e3c34b7 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/IIrm.ts @@ -0,0 +1,167 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketStruct = { + totalSupplyAssets: BigNumberish; + totalSupplyShares: BigNumberish; + totalBorrowAssets: BigNumberish; + totalBorrowShares: BigNumberish; + lastUpdate: BigNumberish; + fee: BigNumberish; +}; + +export type MarketStructOutput = [ + totalSupplyAssets: bigint, + totalSupplyShares: bigint, + totalBorrowAssets: bigint, + totalBorrowShares: bigint, + lastUpdate: bigint, + fee: bigint +] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; +}; + +export interface IIrmInterface extends Interface { + getFunction( + nameOrSignature: "borrowRate" | "borrowRateView" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "borrowRate", + values: [MarketParamsStruct, MarketStruct] + ): string; + encodeFunctionData( + functionFragment: "borrowRateView", + values: [MarketParamsStruct, MarketStruct] + ): string; + + decodeFunctionResult(functionFragment: "borrowRate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "borrowRateView", + data: BytesLike + ): Result; +} + +export interface IIrm extends BaseContract { + connect(runner?: ContractRunner | null): IIrm; + waitForDeployment(): Promise; + + interface: IIrmInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + borrowRate: TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "nonpayable" + >; + + borrowRateView: TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "borrowRate" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrowRateView" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "view" + >; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho.ts b/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho.ts new file mode 100644 index 00000000..e7503db1 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho.ts @@ -0,0 +1,746 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketStruct = { + totalSupplyAssets: BigNumberish; + totalSupplyShares: BigNumberish; + totalBorrowAssets: BigNumberish; + totalBorrowShares: BigNumberish; + lastUpdate: BigNumberish; + fee: BigNumberish; +}; + +export type MarketStructOutput = [ + totalSupplyAssets: bigint, + totalSupplyShares: bigint, + totalBorrowAssets: bigint, + totalBorrowShares: bigint, + lastUpdate: bigint, + fee: bigint +] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; +}; + +export type PositionStruct = { + supplyShares: BigNumberish; + borrowShares: BigNumberish; + collateral: BigNumberish; +}; + +export type PositionStructOutput = [ + supplyShares: bigint, + borrowShares: bigint, + collateral: bigint +] & { supplyShares: bigint; borrowShares: bigint; collateral: bigint }; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export interface IMorphoInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "accrueInterest" + | "borrow" + | "createMarket" + | "enableIrm" + | "enableLltv" + | "extSloads" + | "feeRecipient" + | "flashLoan" + | "idToMarketParams" + | "isAuthorized" + | "isIrmEnabled" + | "isLltvEnabled" + | "liquidate" + | "market" + | "nonce" + | "owner" + | "position" + | "repay" + | "setAuthorization" + | "setAuthorizationWithSig" + | "setFee" + | "setFeeRecipient" + | "setOwner" + | "supply" + | "supplyCollateral" + | "withdraw" + | "withdrawCollateral" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "accrueInterest", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "createMarket", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "enableIrm", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "enableLltv", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "extSloads", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "flashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "idToMarketParams", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "isAuthorized", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isIrmEnabled", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isLltvEnabled", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "liquidate", + values: [ + MarketParamsStruct, + AddressLike, + BigNumberish, + BigNumberish, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "market", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "nonce", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "position", + values: [BytesLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "repay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "setAuthorization", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "supply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "supplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "withdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "accrueInterest", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "createMarket", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "enableIrm", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "enableLltv", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "extSloads", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "idToMarketParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isAuthorized", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isIrmEnabled", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isLltvEnabled", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "liquidate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "market", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonce", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "position", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setAuthorization", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawCollateral", + data: BytesLike + ): Result; +} + +export interface IMorpho extends BaseContract { + connect(runner?: ContractRunner | null): IMorpho; + waitForDeployment(): Promise; + + interface: IMorphoInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + accrueInterest: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + borrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + + createMarket: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + enableIrm: TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + + enableLltv: TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + + extSloads: TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + flashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + idToMarketParams: TypedContractMethod< + [id: BytesLike], + [MarketParamsStructOutput], + "view" + >; + + isAuthorized: TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + + isIrmEnabled: TypedContractMethod<[irm: AddressLike], [boolean], "view">; + + isLltvEnabled: TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + + liquidate: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + market: TypedContractMethod<[id: BytesLike], [MarketStructOutput], "view">; + + nonce: TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + position: TypedContractMethod< + [id: BytesLike, user: AddressLike], + [PositionStructOutput], + "view" + >; + + repay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + + setAuthorization: TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + + setAuthorizationWithSig: TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + supply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + + supplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + + withdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accrueInterest" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "createMarket" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "enableIrm" + ): TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "enableLltv" + ): TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "extSloads" + ): TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "flashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "idToMarketParams" + ): TypedContractMethod<[id: BytesLike], [MarketParamsStructOutput], "view">; + getFunction( + nameOrSignature: "isAuthorized" + ): TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "isIrmEnabled" + ): TypedContractMethod<[irm: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "isLltvEnabled" + ): TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "liquidate" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "market" + ): TypedContractMethod<[id: BytesLike], [MarketStructOutput], "view">; + getFunction( + nameOrSignature: "nonce" + ): TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "position" + ): TypedContractMethod< + [id: BytesLike, user: AddressLike], + [PositionStructOutput], + "view" + >; + getFunction( + nameOrSignature: "repay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorization" + ): TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorizationWithSig" + ): TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "supply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase.ts b/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase.ts new file mode 100644 index 00000000..8c8a03b2 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase.ts @@ -0,0 +1,664 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export interface IMorphoBaseInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "accrueInterest" + | "borrow" + | "createMarket" + | "enableIrm" + | "enableLltv" + | "extSloads" + | "feeRecipient" + | "flashLoan" + | "isAuthorized" + | "isIrmEnabled" + | "isLltvEnabled" + | "liquidate" + | "nonce" + | "owner" + | "repay" + | "setAuthorization" + | "setAuthorizationWithSig" + | "setFee" + | "setFeeRecipient" + | "setOwner" + | "supply" + | "supplyCollateral" + | "withdraw" + | "withdrawCollateral" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "accrueInterest", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "createMarket", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "enableIrm", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "enableLltv", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "extSloads", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "flashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "isAuthorized", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isIrmEnabled", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isLltvEnabled", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "liquidate", + values: [ + MarketParamsStruct, + AddressLike, + BigNumberish, + BigNumberish, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "nonce", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "repay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "setAuthorization", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "supply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "supplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "withdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "accrueInterest", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "createMarket", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "enableIrm", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "enableLltv", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "extSloads", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isAuthorized", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isIrmEnabled", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isLltvEnabled", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "liquidate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonce", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setAuthorization", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawCollateral", + data: BytesLike + ): Result; +} + +export interface IMorphoBase extends BaseContract { + connect(runner?: ContractRunner | null): IMorphoBase; + waitForDeployment(): Promise; + + interface: IMorphoBaseInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + accrueInterest: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + borrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + + createMarket: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + enableIrm: TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + + enableLltv: TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + + extSloads: TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + flashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + isAuthorized: TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + + isIrmEnabled: TypedContractMethod<[irm: AddressLike], [boolean], "view">; + + isLltvEnabled: TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + + liquidate: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + nonce: TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + repay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + + setAuthorization: TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + + setAuthorizationWithSig: TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + supply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + + supplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + + withdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accrueInterest" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "createMarket" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "enableIrm" + ): TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "enableLltv" + ): TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "extSloads" + ): TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "flashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "isAuthorized" + ): TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "isIrmEnabled" + ): TypedContractMethod<[irm: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "isLltvEnabled" + ): TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "liquidate" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "nonce" + ): TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "repay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorization" + ): TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorizationWithSig" + ): TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "supply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping.ts b/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping.ts new file mode 100644 index 00000000..ba5eb2d6 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping.ts @@ -0,0 +1,767 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export interface IMorphoStaticTypingInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "accrueInterest" + | "borrow" + | "createMarket" + | "enableIrm" + | "enableLltv" + | "extSloads" + | "feeRecipient" + | "flashLoan" + | "idToMarketParams" + | "isAuthorized" + | "isIrmEnabled" + | "isLltvEnabled" + | "liquidate" + | "market" + | "nonce" + | "owner" + | "position" + | "repay" + | "setAuthorization" + | "setAuthorizationWithSig" + | "setFee" + | "setFeeRecipient" + | "setOwner" + | "supply" + | "supplyCollateral" + | "withdraw" + | "withdrawCollateral" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "accrueInterest", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "createMarket", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "enableIrm", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "enableLltv", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "extSloads", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "flashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "idToMarketParams", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "isAuthorized", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isIrmEnabled", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isLltvEnabled", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "liquidate", + values: [ + MarketParamsStruct, + AddressLike, + BigNumberish, + BigNumberish, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "market", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "nonce", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "position", + values: [BytesLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "repay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "setAuthorization", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "supply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "supplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "withdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "accrueInterest", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "createMarket", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "enableIrm", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "enableLltv", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "extSloads", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "idToMarketParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isAuthorized", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isIrmEnabled", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isLltvEnabled", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "liquidate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "market", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonce", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "position", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setAuthorization", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawCollateral", + data: BytesLike + ): Result; +} + +export interface IMorphoStaticTyping extends BaseContract { + connect(runner?: ContractRunner | null): IMorphoStaticTyping; + waitForDeployment(): Promise; + + interface: IMorphoStaticTypingInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + accrueInterest: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + borrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + + createMarket: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + enableIrm: TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + + enableLltv: TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + + extSloads: TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + flashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + idToMarketParams: TypedContractMethod< + [id: BytesLike], + [ + [string, string, string, string, bigint] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; + } + ], + "view" + >; + + isAuthorized: TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + + isIrmEnabled: TypedContractMethod<[irm: AddressLike], [boolean], "view">; + + isLltvEnabled: TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + + liquidate: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + market: TypedContractMethod< + [id: BytesLike], + [ + [bigint, bigint, bigint, bigint, bigint, bigint] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; + } + ], + "view" + >; + + nonce: TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + position: TypedContractMethod< + [id: BytesLike, user: AddressLike], + [ + [bigint, bigint, bigint] & { + supplyShares: bigint; + borrowShares: bigint; + collateral: bigint; + } + ], + "view" + >; + + repay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + + setAuthorization: TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + + setAuthorizationWithSig: TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + supply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + + supplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + + withdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accrueInterest" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "createMarket" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "enableIrm" + ): TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "enableLltv" + ): TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "extSloads" + ): TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "flashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "idToMarketParams" + ): TypedContractMethod< + [id: BytesLike], + [ + [string, string, string, string, bigint] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "isAuthorized" + ): TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "isIrmEnabled" + ): TypedContractMethod<[irm: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "isLltvEnabled" + ): TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "liquidate" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "market" + ): TypedContractMethod< + [id: BytesLike], + [ + [bigint, bigint, bigint, bigint, bigint, bigint] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "nonce" + ): TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "position" + ): TypedContractMethod< + [id: BytesLike, user: AddressLike], + [ + [bigint, bigint, bigint] & { + supplyShares: bigint; + borrowShares: bigint; + collateral: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "repay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorization" + ): TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorizationWithSig" + ): TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "supply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts b/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts new file mode 100644 index 00000000..6839f78a --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IMorpho } from "./IMorpho"; +export type { IMorphoBase } from "./IMorphoBase"; +export type { IMorphoStaticTyping } from "./IMorphoStaticTyping"; diff --git a/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/index.ts b/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/index.ts new file mode 100644 index 00000000..dc63e253 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/morpho-blue/src/interfaces/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as iMorphoSol from "./IMorpho.sol"; +export type { iMorphoSol }; +export type { IIrm } from "./IIrm"; diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable.ts new file mode 100644 index 00000000..23283539 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable.ts @@ -0,0 +1,153 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../common"; + +export interface OwnableInterface extends Interface { + getFunction( + nameOrSignature: "owner" | "renounceOwnership" | "transferOwnership" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; + + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; +} + +export namespace OwnershipTransferredEvent { + export type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike]; + export type OutputTuple = [previousOwner: string, newOwner: string]; + export interface OutputObject { + previousOwner: string; + newOwner: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface Ownable extends BaseContract { + connect(runner?: ContractRunner | null): Ownable; + waitForDeployment(): Promise; + + interface: OwnableInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + owner: TypedContractMethod<[], [string], "view">; + + renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; + + transferOwnership: TypedContractMethod< + [newOwner: AddressLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "renounceOwnership" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "transferOwnership" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + getEvent( + key: "OwnershipTransferred" + ): TypedContractEvent< + OwnershipTransferredEvent.InputTuple, + OwnershipTransferredEvent.OutputTuple, + OwnershipTransferredEvent.OutputObject + >; + + filters: { + "OwnershipTransferred(address,address)": TypedContractEvent< + OwnershipTransferredEvent.InputTuple, + OwnershipTransferredEvent.OutputTuple, + OwnershipTransferredEvent.OutputObject + >; + OwnershipTransferred: TypedContractEvent< + OwnershipTransferredEvent.InputTuple, + OwnershipTransferredEvent.OutputTuple, + OwnershipTransferredEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable2Step.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable2Step.ts new file mode 100644 index 00000000..11f38e62 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/Ownable2Step.ts @@ -0,0 +1,217 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../common"; + +export interface Ownable2StepInterface extends Interface { + getFunction( + nameOrSignature: + | "acceptOwnership" + | "owner" + | "pendingOwner" + | "renounceOwnership" + | "transferOwnership" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "OwnershipTransferStarted" | "OwnershipTransferred" + ): EventFragment; + + encodeFunctionData( + functionFragment: "acceptOwnership", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "pendingOwner", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "acceptOwnership", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "pendingOwner", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; +} + +export namespace OwnershipTransferStartedEvent { + export type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike]; + export type OutputTuple = [previousOwner: string, newOwner: string]; + export interface OutputObject { + previousOwner: string; + newOwner: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace OwnershipTransferredEvent { + export type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike]; + export type OutputTuple = [previousOwner: string, newOwner: string]; + export interface OutputObject { + previousOwner: string; + newOwner: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface Ownable2Step extends BaseContract { + connect(runner?: ContractRunner | null): Ownable2Step; + waitForDeployment(): Promise; + + interface: Ownable2StepInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + acceptOwnership: TypedContractMethod<[], [void], "nonpayable">; + + owner: TypedContractMethod<[], [string], "view">; + + pendingOwner: TypedContractMethod<[], [string], "view">; + + renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; + + transferOwnership: TypedContractMethod< + [newOwner: AddressLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "acceptOwnership" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "pendingOwner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "renounceOwnership" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "transferOwnership" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + getEvent( + key: "OwnershipTransferStarted" + ): TypedContractEvent< + OwnershipTransferStartedEvent.InputTuple, + OwnershipTransferStartedEvent.OutputTuple, + OwnershipTransferStartedEvent.OutputObject + >; + getEvent( + key: "OwnershipTransferred" + ): TypedContractEvent< + OwnershipTransferredEvent.InputTuple, + OwnershipTransferredEvent.OutputTuple, + OwnershipTransferredEvent.OutputObject + >; + + filters: { + "OwnershipTransferStarted(address,address)": TypedContractEvent< + OwnershipTransferStartedEvent.InputTuple, + OwnershipTransferStartedEvent.OutputTuple, + OwnershipTransferStartedEvent.OutputObject + >; + OwnershipTransferStarted: TypedContractEvent< + OwnershipTransferStartedEvent.InputTuple, + OwnershipTransferStartedEvent.OutputTuple, + OwnershipTransferStartedEvent.OutputObject + >; + + "OwnershipTransferred(address,address)": TypedContractEvent< + OwnershipTransferredEvent.InputTuple, + OwnershipTransferredEvent.OutputTuple, + OwnershipTransferredEvent.OutputObject + >; + OwnershipTransferred: TypedContractEvent< + OwnershipTransferredEvent.InputTuple, + OwnershipTransferredEvent.OutputTuple, + OwnershipTransferredEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/index.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/index.ts new file mode 100644 index 00000000..79c40855 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/access/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { Ownable } from "./Ownable"; +export type { Ownable2Step } from "./Ownable2Step"; diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/index.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/index.ts new file mode 100644 index 00000000..07c466da --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/index.ts @@ -0,0 +1,11 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as access from "./access"; +export type { access }; +import type * as interfaces from "./interfaces"; +export type { interfaces }; +import type * as token from "./token"; +export type { token }; +import type * as utils from "./utils"; +export type { utils }; diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.ts new file mode 100644 index 00000000..3a0a1e55 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.ts @@ -0,0 +1,618 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../common"; + +export interface IERC4626Interface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "asset" + | "balanceOf" + | "convertToAssets" + | "convertToShares" + | "decimals" + | "deposit" + | "maxDeposit" + | "maxMint" + | "maxRedeem" + | "maxWithdraw" + | "mint" + | "name" + | "previewDeposit" + | "previewMint" + | "previewRedeem" + | "previewWithdraw" + | "redeem" + | "symbol" + | "totalAssets" + | "totalSupply" + | "transfer" + | "transferFrom" + | "withdraw" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "Approval" | "Deposit" | "Transfer" | "Withdraw" + ): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "asset", values?: undefined): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "convertToAssets", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "convertToShares", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "deposit", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxDeposit", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxMint", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxRedeem", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxWithdraw", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "previewDeposit", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewMint", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewRedeem", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewWithdraw", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "convertToAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "convertToShares", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxDeposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxMint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxRedeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "maxWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "previewDeposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewMint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewRedeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace DepositEvent { + export type InputTuple = [ + sender: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace WithdrawEvent { + export type InputTuple = [ + sender: AddressLike, + receiver: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + receiver: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + receiver: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IERC4626 extends BaseContract { + connect(runner?: ContractRunner | null): IERC4626; + waitForDeployment(): Promise; + + interface: IERC4626Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + asset: TypedContractMethod<[], [string], "view">; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + convertToAssets: TypedContractMethod< + [shares: BigNumberish], + [bigint], + "view" + >; + + convertToShares: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + decimals: TypedContractMethod<[], [bigint], "view">; + + deposit: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + maxDeposit: TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + + maxMint: TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + + maxRedeem: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + maxWithdraw: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + mint: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + previewDeposit: TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + + previewMint: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewRedeem: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewWithdraw: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + redeem: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + totalAssets: TypedContractMethod<[], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "asset" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "convertToAssets" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "convertToShares" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "maxDeposit" + ): TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxMint" + ): TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxRedeem" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxWithdraw" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "mint" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "previewDeposit" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewMint" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewRedeem" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewWithdraw" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "redeem" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalAssets" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Deposit" + ): TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + getEvent( + key: "Withdraw" + ): TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Deposit(address,address,uint256,uint256)": TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + Deposit: TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + "Withdraw(address,address,address,uint256,uint256)": TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + Withdraw: TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.ts new file mode 100644 index 00000000..b595cac3 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.ts @@ -0,0 +1,151 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../common"; + +export interface IERC5267Interface extends Interface { + getFunction(nameOrSignature: "eip712Domain"): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "EIP712DomainChanged"): EventFragment; + + encodeFunctionData( + functionFragment: "eip712Domain", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "eip712Domain", + data: BytesLike + ): Result; +} + +export namespace EIP712DomainChangedEvent { + export type InputTuple = []; + export type OutputTuple = []; + export interface OutputObject {} + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IERC5267 extends BaseContract { + connect(runner?: ContractRunner | null): IERC5267; + waitForDeployment(): Promise; + + interface: IERC5267Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + eip712Domain: TypedContractMethod< + [], + [ + [string, string, string, bigint, string, string, bigint[]] & { + fields: string; + name: string; + version: string; + chainId: bigint; + verifyingContract: string; + salt: string; + extensions: bigint[]; + } + ], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "eip712Domain" + ): TypedContractMethod< + [], + [ + [string, string, string, bigint, string, string, bigint[]] & { + fields: string; + name: string; + version: string; + chainId: bigint; + verifyingContract: string; + salt: string; + extensions: bigint[]; + } + ], + "view" + >; + + getEvent( + key: "EIP712DomainChanged" + ): TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + + filters: { + "EIP712DomainChanged()": TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + EIP712DomainChanged: TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.ts new file mode 100644 index 00000000..47231ec5 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../../../../../common"; + +export interface IERC1155ErrorsInterface extends Interface {} + +export interface IERC1155Errors extends BaseContract { + connect(runner?: ContractRunner | null): IERC1155Errors; + waitForDeployment(): Promise; + + interface: IERC1155ErrorsInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.ts new file mode 100644 index 00000000..92ba8849 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../../../../../common"; + +export interface IERC20ErrorsInterface extends Interface {} + +export interface IERC20Errors extends BaseContract { + connect(runner?: ContractRunner | null): IERC20Errors; + waitForDeployment(): Promise; + + interface: IERC20ErrorsInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.ts new file mode 100644 index 00000000..ae3dd1c7 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../../../../../common"; + +export interface IERC721ErrorsInterface extends Interface {} + +export interface IERC721Errors extends BaseContract { + connect(runner?: ContractRunner | null): IERC721Errors; + waitForDeployment(): Promise; + + interface: IERC721ErrorsInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/index.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/index.ts new file mode 100644 index 00000000..9415fdf5 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IERC1155Errors } from "./IERC1155Errors"; +export type { IERC20Errors } from "./IERC20Errors"; +export type { IERC721Errors } from "./IERC721Errors"; diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/index.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/index.ts new file mode 100644 index 00000000..fe87b779 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as draftIerc6093Sol from "./draft-IERC6093.sol"; +export type { draftIerc6093Sol }; +export type { IERC4626 } from "./IERC4626"; +export type { IERC5267 } from "./IERC5267"; diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.ts new file mode 100644 index 00000000..762577e3 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.ts @@ -0,0 +1,286 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export interface ERC20Interface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "name" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC20 extends BaseContract { + connect(runner?: ContractRunner | null): ERC20; + waitForDeployment(): Promise; + + interface: ERC20Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + name: TypedContractMethod<[], [string], "view">; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.ts new file mode 100644 index 00000000..2ffc53f7 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.ts @@ -0,0 +1,262 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export interface IERC20Interface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IERC20 extends BaseContract { + connect(runner?: ContractRunner | null): IERC20; + waitForDeployment(): Promise; + + interface: IERC20Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.ts new file mode 100644 index 00000000..8216b7c1 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.ts @@ -0,0 +1,423 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../../../common"; + +export interface ERC20PermitInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "eip712Domain" + | "name" + | "nonces" + | "permit" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "Approval" | "EIP712DomainChanged" | "Transfer" + ): EventFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "eip712Domain", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "eip712Domain", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace EIP712DomainChangedEvent { + export type InputTuple = []; + export type OutputTuple = []; + export interface OutputObject {} + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC20Permit extends BaseContract { + connect(runner?: ContractRunner | null): ERC20Permit; + waitForDeployment(): Promise; + + interface: ERC20PermitInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + eip712Domain: TypedContractMethod< + [], + [ + [string, string, string, bigint, string, string, bigint[]] & { + fields: string; + name: string; + version: string; + chainId: bigint; + verifyingContract: string; + salt: string; + extensions: bigint[]; + } + ], + "view" + >; + + name: TypedContractMethod<[], [string], "view">; + + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + permit: TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "eip712Domain" + ): TypedContractMethod< + [], + [ + [string, string, string, bigint, string, string, bigint[]] & { + fields: string; + name: string; + version: string; + chainId: bigint; + verifyingContract: string; + salt: string; + extensions: bigint[]; + } + ], + "view" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "EIP712DomainChanged" + ): TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "EIP712DomainChanged()": TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + EIP712DomainChanged: TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.ts new file mode 100644 index 00000000..024b3b84 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.ts @@ -0,0 +1,618 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../../../common"; + +export interface ERC4626Interface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "asset" + | "balanceOf" + | "convertToAssets" + | "convertToShares" + | "decimals" + | "deposit" + | "maxDeposit" + | "maxMint" + | "maxRedeem" + | "maxWithdraw" + | "mint" + | "name" + | "previewDeposit" + | "previewMint" + | "previewRedeem" + | "previewWithdraw" + | "redeem" + | "symbol" + | "totalAssets" + | "totalSupply" + | "transfer" + | "transferFrom" + | "withdraw" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "Approval" | "Deposit" | "Transfer" | "Withdraw" + ): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "asset", values?: undefined): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "convertToAssets", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "convertToShares", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "deposit", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxDeposit", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxMint", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxRedeem", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxWithdraw", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "previewDeposit", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewMint", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewRedeem", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewWithdraw", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "convertToAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "convertToShares", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxDeposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxMint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxRedeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "maxWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "previewDeposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewMint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewRedeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace DepositEvent { + export type InputTuple = [ + sender: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace WithdrawEvent { + export type InputTuple = [ + sender: AddressLike, + receiver: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + receiver: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + receiver: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC4626 extends BaseContract { + connect(runner?: ContractRunner | null): ERC4626; + waitForDeployment(): Promise; + + interface: ERC4626Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + asset: TypedContractMethod<[], [string], "view">; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + convertToAssets: TypedContractMethod< + [shares: BigNumberish], + [bigint], + "view" + >; + + convertToShares: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + decimals: TypedContractMethod<[], [bigint], "view">; + + deposit: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + maxDeposit: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + maxMint: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + maxRedeem: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + maxWithdraw: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + mint: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + previewDeposit: TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + + previewMint: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewRedeem: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewWithdraw: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + redeem: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + totalAssets: TypedContractMethod<[], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "asset" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "convertToAssets" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "convertToShares" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "maxDeposit" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxMint" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxRedeem" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxWithdraw" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "mint" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "previewDeposit" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewMint" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewRedeem" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewWithdraw" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "redeem" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalAssets" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Deposit" + ): TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + getEvent( + key: "Withdraw" + ): TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Deposit(address,address,uint256,uint256)": TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + Deposit: TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + "Withdraw(address,address,address,uint256,uint256)": TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + Withdraw: TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.ts new file mode 100644 index 00000000..7561bae1 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.ts @@ -0,0 +1,286 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../../../common"; + +export interface IERC20MetadataInterface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "name" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IERC20Metadata extends BaseContract { + connect(runner?: ContractRunner | null): IERC20Metadata; + waitForDeployment(): Promise; + + interface: IERC20MetadataInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + name: TypedContractMethod<[], [string], "view">; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.ts new file mode 100644 index 00000000..ee625a89 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.ts @@ -0,0 +1,143 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../../common"; + +export interface IERC20PermitInterface extends Interface { + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" | "nonces" | "permit" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; +} + +export interface IERC20Permit extends BaseContract { + connect(runner?: ContractRunner | null): IERC20Permit; + waitForDeployment(): Promise; + + interface: IERC20PermitInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + permit: TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts new file mode 100644 index 00000000..6ab554ff --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ERC20Permit } from "./ERC20Permit"; +export type { ERC4626 } from "./ERC4626"; +export type { IERC20Metadata } from "./IERC20Metadata"; +export type { IERC20Permit } from "./IERC20Permit"; diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts new file mode 100644 index 00000000..588dd9bf --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as extensions from "./extensions"; +export type { extensions }; +import type * as utils from "./utils"; +export type { utils }; +export type { ERC20 } from "./ERC20"; +export type { IERC20 } from "./IERC20"; diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.ts new file mode 100644 index 00000000..6e45ca57 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../../../../../../common"; + +export interface SafeERC20Interface extends Interface {} + +export interface SafeERC20 extends BaseContract { + connect(runner?: ContractRunner | null): SafeERC20; + waitForDeployment(): Promise; + + interface: SafeERC20Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/utils/index.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/utils/index.ts new file mode 100644 index 00000000..915f5b87 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/utils/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { SafeERC20 } from "./SafeERC20"; diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/index.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/index.ts new file mode 100644 index 00000000..5c4062a9 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as erc20 from "./ERC20"; +export type { erc20 }; diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Address.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Address.ts new file mode 100644 index 00000000..a23174de --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Address.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../../../../common"; + +export interface AddressInterface extends Interface {} + +export interface Address extends BaseContract { + connect(runner?: ContractRunner | null): Address; + waitForDeployment(): Promise; + + interface: AddressInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Multicall.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Multicall.ts new file mode 100644 index 00000000..a4c70745 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Multicall.ts @@ -0,0 +1,87 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../common"; + +export interface MulticallInterface extends Interface { + getFunction(nameOrSignature: "multicall"): FunctionFragment; + + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; +} + +export interface Multicall extends BaseContract { + connect(runner?: ContractRunner | null): Multicall; + waitForDeployment(): Promise; + + interface: MulticallInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + multicall: TypedContractMethod<[data: BytesLike[]], [string[]], "nonpayable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [string[]], "nonpayable">; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Nonces.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Nonces.ts new file mode 100644 index 00000000..03c56353 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Nonces.ts @@ -0,0 +1,85 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../common"; + +export interface NoncesInterface extends Interface { + getFunction(nameOrSignature: "nonces"): FunctionFragment; + + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; +} + +export interface Nonces extends BaseContract { + connect(runner?: ContractRunner | null): Nonces; + waitForDeployment(): Promise; + + interface: NoncesInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/ShortStrings.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/ShortStrings.ts new file mode 100644 index 00000000..3f5ada28 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/ShortStrings.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../../../../common"; + +export interface ShortStringsInterface extends Interface {} + +export interface ShortStrings extends BaseContract { + connect(runner?: ContractRunner | null): ShortStrings; + waitForDeployment(): Promise; + + interface: ShortStringsInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Strings.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Strings.ts new file mode 100644 index 00000000..160fd771 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/Strings.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../../../../common"; + +export interface StringsInterface extends Interface {} + +export interface Strings extends BaseContract { + connect(runner?: ContractRunner | null): Strings; + waitForDeployment(): Promise; + + interface: StringsInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.ts new file mode 100644 index 00000000..7695a2d0 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../../../../../common"; + +export interface ECDSAInterface extends Interface {} + +export interface ECDSA extends BaseContract { + connect(runner?: ContractRunner | null): ECDSA; + waitForDeployment(): Promise; + + interface: ECDSAInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.ts new file mode 100644 index 00000000..75aa2b9b --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.ts @@ -0,0 +1,151 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export interface EIP712Interface extends Interface { + getFunction(nameOrSignature: "eip712Domain"): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "EIP712DomainChanged"): EventFragment; + + encodeFunctionData( + functionFragment: "eip712Domain", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "eip712Domain", + data: BytesLike + ): Result; +} + +export namespace EIP712DomainChangedEvent { + export type InputTuple = []; + export type OutputTuple = []; + export interface OutputObject {} + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface EIP712 extends BaseContract { + connect(runner?: ContractRunner | null): EIP712; + waitForDeployment(): Promise; + + interface: EIP712Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + eip712Domain: TypedContractMethod< + [], + [ + [string, string, string, bigint, string, string, bigint[]] & { + fields: string; + name: string; + version: string; + chainId: bigint; + verifyingContract: string; + salt: string; + extensions: bigint[]; + } + ], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "eip712Domain" + ): TypedContractMethod< + [], + [ + [string, string, string, bigint, string, string, bigint[]] & { + fields: string; + name: string; + version: string; + chainId: bigint; + verifyingContract: string; + salt: string; + extensions: bigint[]; + } + ], + "view" + >; + + getEvent( + key: "EIP712DomainChanged" + ): TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + + filters: { + "EIP712DomainChanged()": TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + EIP712DomainChanged: TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/index.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/index.ts new file mode 100644 index 00000000..6d1b2aa8 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/cryptography/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ECDSA } from "./ECDSA"; +export type { EIP712 } from "./EIP712"; diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/index.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/index.ts new file mode 100644 index 00000000..b8e2111b --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/index.ts @@ -0,0 +1,12 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as cryptography from "./cryptography"; +export type { cryptography }; +import type * as math from "./math"; +export type { math }; +export type { Address } from "./Address"; +export type { Multicall } from "./Multicall"; +export type { Nonces } from "./Nonces"; +export type { ShortStrings } from "./ShortStrings"; +export type { Strings } from "./Strings"; diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/Math.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/Math.ts new file mode 100644 index 00000000..4a7bda9b --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/Math.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../../../../../common"; + +export interface MathInterface extends Interface {} + +export interface Math extends BaseContract { + connect(runner?: ContractRunner | null): Math; + waitForDeployment(): Promise; + + interface: MathInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.ts new file mode 100644 index 00000000..b201ade2 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../../../../../common"; + +export interface SafeCastInterface extends Interface {} + +export interface SafeCast extends BaseContract { + connect(runner?: ContractRunner | null): SafeCast; + waitForDeployment(): Promise; + + interface: SafeCastInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/index.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/index.ts new file mode 100644 index 00000000..4d1d0f63 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/contracts/utils/math/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { Math } from "./Math"; +export type { SafeCast } from "./SafeCast"; diff --git a/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/index.ts b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/index.ts new file mode 100644 index 00000000..a11e4ca2 --- /dev/null +++ b/pkg/types/lib/metamorpho/lib/openzeppelin-contracts/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as contracts from "./contracts"; +export type { contracts }; diff --git a/pkg/types/lib/metamorpho/src/MetaMorpho.ts b/pkg/types/lib/metamorpho/src/MetaMorpho.ts new file mode 100644 index 00000000..ca1217af --- /dev/null +++ b/pkg/types/lib/metamorpho/src/MetaMorpho.ts @@ -0,0 +1,2291 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketAllocationStruct = { + marketParams: MarketParamsStruct; + assets: BigNumberish; +}; + +export type MarketAllocationStructOutput = [ + marketParams: MarketParamsStructOutput, + assets: bigint +] & { marketParams: MarketParamsStructOutput; assets: bigint }; + +export interface MetaMorphoInterface extends Interface { + getFunction( + nameOrSignature: + | "DECIMALS_OFFSET" + | "DOMAIN_SEPARATOR" + | "MORPHO" + | "acceptCap" + | "acceptGuardian" + | "acceptOwnership" + | "acceptTimelock" + | "allowance" + | "approve" + | "asset" + | "balanceOf" + | "config" + | "convertToAssets" + | "convertToShares" + | "curator" + | "decimals" + | "deposit" + | "eip712Domain" + | "fee" + | "feeRecipient" + | "guardian" + | "isAllocator" + | "lastTotalAssets" + | "maxDeposit" + | "maxMint" + | "maxRedeem" + | "maxWithdraw" + | "mint" + | "multicall" + | "name" + | "nonces" + | "owner" + | "pendingCap" + | "pendingGuardian" + | "pendingOwner" + | "pendingTimelock" + | "permit" + | "previewDeposit" + | "previewMint" + | "previewRedeem" + | "previewWithdraw" + | "reallocate" + | "redeem" + | "renounceOwnership" + | "revokePendingCap" + | "revokePendingGuardian" + | "revokePendingMarketRemoval" + | "revokePendingTimelock" + | "setCurator" + | "setFee" + | "setFeeRecipient" + | "setIsAllocator" + | "setSkimRecipient" + | "setSupplyQueue" + | "skim" + | "skimRecipient" + | "submitCap" + | "submitGuardian" + | "submitMarketRemoval" + | "submitTimelock" + | "supplyQueue" + | "supplyQueueLength" + | "symbol" + | "timelock" + | "totalAssets" + | "totalSupply" + | "transfer" + | "transferFrom" + | "transferOwnership" + | "updateWithdrawQueue" + | "withdraw" + | "withdrawQueue" + | "withdrawQueueLength" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: + | "AccrueInterest" + | "Approval" + | "Deposit" + | "EIP712DomainChanged" + | "OwnershipTransferStarted" + | "OwnershipTransferred" + | "ReallocateSupply" + | "ReallocateWithdraw" + | "RevokePendingCap" + | "RevokePendingGuardian" + | "RevokePendingMarketRemoval" + | "RevokePendingTimelock" + | "SetCap" + | "SetCurator" + | "SetFee" + | "SetFeeRecipient" + | "SetGuardian" + | "SetIsAllocator" + | "SetSkimRecipient" + | "SetSupplyQueue" + | "SetTimelock" + | "SetWithdrawQueue" + | "Skim" + | "SubmitCap" + | "SubmitGuardian" + | "SubmitMarketRemoval" + | "SubmitTimelock" + | "Transfer" + | "UpdateLastTotalAssets" + | "Withdraw" + ): EventFragment; + + encodeFunctionData( + functionFragment: "DECIMALS_OFFSET", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "acceptCap", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "acceptGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "acceptOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "acceptTimelock", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "asset", values?: undefined): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "config", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "convertToAssets", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "convertToShares", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "curator", values?: undefined): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "deposit", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "eip712Domain", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "fee", values?: undefined): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "guardian", values?: undefined): string; + encodeFunctionData( + functionFragment: "isAllocator", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "lastTotalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "maxDeposit", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxMint", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxRedeem", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxWithdraw", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "pendingCap", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "pendingGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "pendingOwner", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "pendingTimelock", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "previewDeposit", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewMint", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewRedeem", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewWithdraw", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "reallocate", + values: [MarketAllocationStruct[]] + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "revokePendingCap", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "revokePendingGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "revokePendingMarketRemoval", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "revokePendingTimelock", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setCurator", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setIsAllocator", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setSkimRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setSupplyQueue", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "skim", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "skimRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "submitCap", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "submitGuardian", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "submitMarketRemoval", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "submitTimelock", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyQueue", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyQueueLength", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData(functionFragment: "timelock", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "updateWithdrawQueue", + values: [BigNumberish[]] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "withdrawQueue", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdrawQueueLength", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "DECIMALS_OFFSET", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "acceptCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "acceptGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "acceptOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "acceptTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "config", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "convertToAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "convertToShares", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "curator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "eip712Domain", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "guardian", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isAllocator", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "lastTotalAssets", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "maxDeposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxMint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxRedeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "maxWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "pendingCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "pendingGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "pendingOwner", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "pendingTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "previewDeposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewMint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewRedeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "reallocate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingCap", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingMarketRemoval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setCurator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setIsAllocator", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSkimRecipient", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSupplyQueue", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "skim", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "skimRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "submitCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "submitGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "submitMarketRemoval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "submitTimelock", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supplyQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supplyQueueLength", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "timelock", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateWithdrawQueue", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawQueueLength", + data: BytesLike + ): Result; +} + +export namespace AccrueInterestEvent { + export type InputTuple = [ + newTotalAssets: BigNumberish, + feeShares: BigNumberish + ]; + export type OutputTuple = [newTotalAssets: bigint, feeShares: bigint]; + export interface OutputObject { + newTotalAssets: bigint; + feeShares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace DepositEvent { + export type InputTuple = [ + sender: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace EIP712DomainChangedEvent { + export type InputTuple = []; + export type OutputTuple = []; + export interface OutputObject {} + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace OwnershipTransferStartedEvent { + export type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike]; + export type OutputTuple = [previousOwner: string, newOwner: string]; + export interface OutputObject { + previousOwner: string; + newOwner: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace OwnershipTransferredEvent { + export type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike]; + export type OutputTuple = [previousOwner: string, newOwner: string]; + export interface OutputObject { + previousOwner: string; + newOwner: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ReallocateSupplyEvent { + export type InputTuple = [ + caller: AddressLike, + id: BytesLike, + suppliedAssets: BigNumberish, + suppliedShares: BigNumberish + ]; + export type OutputTuple = [ + caller: string, + id: string, + suppliedAssets: bigint, + suppliedShares: bigint + ]; + export interface OutputObject { + caller: string; + id: string; + suppliedAssets: bigint; + suppliedShares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ReallocateWithdrawEvent { + export type InputTuple = [ + caller: AddressLike, + id: BytesLike, + withdrawnAssets: BigNumberish, + withdrawnShares: BigNumberish + ]; + export type OutputTuple = [ + caller: string, + id: string, + withdrawnAssets: bigint, + withdrawnShares: bigint + ]; + export interface OutputObject { + caller: string; + id: string; + withdrawnAssets: bigint; + withdrawnShares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RevokePendingCapEvent { + export type InputTuple = [caller: AddressLike, id: BytesLike]; + export type OutputTuple = [caller: string, id: string]; + export interface OutputObject { + caller: string; + id: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RevokePendingGuardianEvent { + export type InputTuple = [caller: AddressLike]; + export type OutputTuple = [caller: string]; + export interface OutputObject { + caller: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RevokePendingMarketRemovalEvent { + export type InputTuple = [caller: AddressLike, id: BytesLike]; + export type OutputTuple = [caller: string, id: string]; + export interface OutputObject { + caller: string; + id: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RevokePendingTimelockEvent { + export type InputTuple = [caller: AddressLike]; + export type OutputTuple = [caller: string]; + export interface OutputObject { + caller: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetCapEvent { + export type InputTuple = [ + caller: AddressLike, + id: BytesLike, + cap: BigNumberish + ]; + export type OutputTuple = [caller: string, id: string, cap: bigint]; + export interface OutputObject { + caller: string; + id: string; + cap: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetCuratorEvent { + export type InputTuple = [newCurator: AddressLike]; + export type OutputTuple = [newCurator: string]; + export interface OutputObject { + newCurator: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetFeeEvent { + export type InputTuple = [caller: AddressLike, newFee: BigNumberish]; + export type OutputTuple = [caller: string, newFee: bigint]; + export interface OutputObject { + caller: string; + newFee: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetFeeRecipientEvent { + export type InputTuple = [newFeeRecipient: AddressLike]; + export type OutputTuple = [newFeeRecipient: string]; + export interface OutputObject { + newFeeRecipient: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetGuardianEvent { + export type InputTuple = [caller: AddressLike, guardian: AddressLike]; + export type OutputTuple = [caller: string, guardian: string]; + export interface OutputObject { + caller: string; + guardian: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetIsAllocatorEvent { + export type InputTuple = [allocator: AddressLike, isAllocator: boolean]; + export type OutputTuple = [allocator: string, isAllocator: boolean]; + export interface OutputObject { + allocator: string; + isAllocator: boolean; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetSkimRecipientEvent { + export type InputTuple = [newSkimRecipient: AddressLike]; + export type OutputTuple = [newSkimRecipient: string]; + export interface OutputObject { + newSkimRecipient: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetSupplyQueueEvent { + export type InputTuple = [caller: AddressLike, newSupplyQueue: BytesLike[]]; + export type OutputTuple = [caller: string, newSupplyQueue: string[]]; + export interface OutputObject { + caller: string; + newSupplyQueue: string[]; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetTimelockEvent { + export type InputTuple = [caller: AddressLike, newTimelock: BigNumberish]; + export type OutputTuple = [caller: string, newTimelock: bigint]; + export interface OutputObject { + caller: string; + newTimelock: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetWithdrawQueueEvent { + export type InputTuple = [caller: AddressLike, newWithdrawQueue: BytesLike[]]; + export type OutputTuple = [caller: string, newWithdrawQueue: string[]]; + export interface OutputObject { + caller: string; + newWithdrawQueue: string[]; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SkimEvent { + export type InputTuple = [ + caller: AddressLike, + token: AddressLike, + amount: BigNumberish + ]; + export type OutputTuple = [caller: string, token: string, amount: bigint]; + export interface OutputObject { + caller: string; + token: string; + amount: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SubmitCapEvent { + export type InputTuple = [ + caller: AddressLike, + id: BytesLike, + cap: BigNumberish + ]; + export type OutputTuple = [caller: string, id: string, cap: bigint]; + export interface OutputObject { + caller: string; + id: string; + cap: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SubmitGuardianEvent { + export type InputTuple = [newGuardian: AddressLike]; + export type OutputTuple = [newGuardian: string]; + export interface OutputObject { + newGuardian: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SubmitMarketRemovalEvent { + export type InputTuple = [caller: AddressLike, id: BytesLike]; + export type OutputTuple = [caller: string, id: string]; + export interface OutputObject { + caller: string; + id: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SubmitTimelockEvent { + export type InputTuple = [newTimelock: BigNumberish]; + export type OutputTuple = [newTimelock: bigint]; + export interface OutputObject { + newTimelock: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UpdateLastTotalAssetsEvent { + export type InputTuple = [updatedTotalAssets: BigNumberish]; + export type OutputTuple = [updatedTotalAssets: bigint]; + export interface OutputObject { + updatedTotalAssets: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace WithdrawEvent { + export type InputTuple = [ + sender: AddressLike, + receiver: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + receiver: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + receiver: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface MetaMorpho extends BaseContract { + connect(runner?: ContractRunner | null): MetaMorpho; + waitForDeployment(): Promise; + + interface: MetaMorphoInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DECIMALS_OFFSET: TypedContractMethod<[], [bigint], "view">; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + MORPHO: TypedContractMethod<[], [string], "view">; + + acceptCap: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + acceptGuardian: TypedContractMethod<[], [void], "nonpayable">; + + acceptOwnership: TypedContractMethod<[], [void], "nonpayable">; + + acceptTimelock: TypedContractMethod<[], [void], "nonpayable">; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + asset: TypedContractMethod<[], [string], "view">; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + config: TypedContractMethod< + [arg0: BytesLike], + [ + [bigint, boolean, bigint] & { + cap: bigint; + enabled: boolean; + removableAt: bigint; + } + ], + "view" + >; + + convertToAssets: TypedContractMethod< + [shares: BigNumberish], + [bigint], + "view" + >; + + convertToShares: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + curator: TypedContractMethod<[], [string], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + deposit: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + eip712Domain: TypedContractMethod< + [], + [ + [string, string, string, bigint, string, string, bigint[]] & { + fields: string; + name: string; + version: string; + chainId: bigint; + verifyingContract: string; + salt: string; + extensions: bigint[]; + } + ], + "view" + >; + + fee: TypedContractMethod<[], [bigint], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + guardian: TypedContractMethod<[], [string], "view">; + + isAllocator: TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + + lastTotalAssets: TypedContractMethod<[], [bigint], "view">; + + maxDeposit: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + maxMint: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + maxRedeem: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + maxWithdraw: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + mint: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + multicall: TypedContractMethod<[data: BytesLike[]], [string[]], "nonpayable">; + + name: TypedContractMethod<[], [string], "view">; + + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + pendingCap: TypedContractMethod< + [arg0: BytesLike], + [[bigint, bigint] & { value: bigint; validAt: bigint }], + "view" + >; + + pendingGuardian: TypedContractMethod< + [], + [[string, bigint] & { value: string; validAt: bigint }], + "view" + >; + + pendingOwner: TypedContractMethod<[], [string], "view">; + + pendingTimelock: TypedContractMethod< + [], + [[bigint, bigint] & { value: bigint; validAt: bigint }], + "view" + >; + + permit: TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + previewDeposit: TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + + previewMint: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewRedeem: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewWithdraw: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + reallocate: TypedContractMethod< + [allocations: MarketAllocationStruct[]], + [void], + "nonpayable" + >; + + redeem: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; + + revokePendingCap: TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + + revokePendingGuardian: TypedContractMethod<[], [void], "nonpayable">; + + revokePendingMarketRemoval: TypedContractMethod< + [id: BytesLike], + [void], + "nonpayable" + >; + + revokePendingTimelock: TypedContractMethod<[], [void], "nonpayable">; + + setCurator: TypedContractMethod< + [newCurator: AddressLike], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod<[newFee: BigNumberish], [void], "nonpayable">; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setIsAllocator: TypedContractMethod< + [newAllocator: AddressLike, newIsAllocator: boolean], + [void], + "nonpayable" + >; + + setSkimRecipient: TypedContractMethod< + [newSkimRecipient: AddressLike], + [void], + "nonpayable" + >; + + setSupplyQueue: TypedContractMethod< + [newSupplyQueue: BytesLike[]], + [void], + "nonpayable" + >; + + skim: TypedContractMethod<[token: AddressLike], [void], "nonpayable">; + + skimRecipient: TypedContractMethod<[], [string], "view">; + + submitCap: TypedContractMethod< + [marketParams: MarketParamsStruct, newSupplyCap: BigNumberish], + [void], + "nonpayable" + >; + + submitGuardian: TypedContractMethod< + [newGuardian: AddressLike], + [void], + "nonpayable" + >; + + submitMarketRemoval: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + submitTimelock: TypedContractMethod< + [newTimelock: BigNumberish], + [void], + "nonpayable" + >; + + supplyQueue: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + supplyQueueLength: TypedContractMethod<[], [bigint], "view">; + + symbol: TypedContractMethod<[], [string], "view">; + + timelock: TypedContractMethod<[], [bigint], "view">; + + totalAssets: TypedContractMethod<[], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferOwnership: TypedContractMethod< + [newOwner: AddressLike], + [void], + "nonpayable" + >; + + updateWithdrawQueue: TypedContractMethod< + [indexes: BigNumberish[]], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + withdrawQueue: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + withdrawQueueLength: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DECIMALS_OFFSET" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "acceptCap" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "acceptGuardian" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "acceptOwnership" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "acceptTimelock" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "asset" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "config" + ): TypedContractMethod< + [arg0: BytesLike], + [ + [bigint, boolean, bigint] & { + cap: bigint; + enabled: boolean; + removableAt: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "convertToAssets" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "convertToShares" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "curator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "eip712Domain" + ): TypedContractMethod< + [], + [ + [string, string, string, bigint, string, string, bigint[]] & { + fields: string; + name: string; + version: string; + chainId: bigint; + verifyingContract: string; + salt: string; + extensions: bigint[]; + } + ], + "view" + >; + getFunction( + nameOrSignature: "fee" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "guardian" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "isAllocator" + ): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "lastTotalAssets" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "maxDeposit" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxMint" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxRedeem" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxWithdraw" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "mint" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [string[]], "nonpayable">; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "pendingCap" + ): TypedContractMethod< + [arg0: BytesLike], + [[bigint, bigint] & { value: bigint; validAt: bigint }], + "view" + >; + getFunction( + nameOrSignature: "pendingGuardian" + ): TypedContractMethod< + [], + [[string, bigint] & { value: string; validAt: bigint }], + "view" + >; + getFunction( + nameOrSignature: "pendingOwner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "pendingTimelock" + ): TypedContractMethod< + [], + [[bigint, bigint] & { value: bigint; validAt: bigint }], + "view" + >; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "previewDeposit" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewMint" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewRedeem" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewWithdraw" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "reallocate" + ): TypedContractMethod< + [allocations: MarketAllocationStruct[]], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "redeem" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "renounceOwnership" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingCap" + ): TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingGuardian" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingMarketRemoval" + ): TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingTimelock" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "setCurator" + ): TypedContractMethod<[newCurator: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod<[newFee: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setIsAllocator" + ): TypedContractMethod< + [newAllocator: AddressLike, newIsAllocator: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setSkimRecipient" + ): TypedContractMethod<[newSkimRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setSupplyQueue" + ): TypedContractMethod<[newSupplyQueue: BytesLike[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "skim" + ): TypedContractMethod<[token: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "skimRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "submitCap" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newSupplyCap: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "submitGuardian" + ): TypedContractMethod<[newGuardian: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "submitMarketRemoval" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "submitTimelock" + ): TypedContractMethod<[newTimelock: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "supplyQueue" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "supplyQueueLength" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "timelock" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "totalAssets" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferOwnership" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "updateWithdrawQueue" + ): TypedContractMethod<[indexes: BigNumberish[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawQueue" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "withdrawQueueLength" + ): TypedContractMethod<[], [bigint], "view">; + + getEvent( + key: "AccrueInterest" + ): TypedContractEvent< + AccrueInterestEvent.InputTuple, + AccrueInterestEvent.OutputTuple, + AccrueInterestEvent.OutputObject + >; + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Deposit" + ): TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + getEvent( + key: "EIP712DomainChanged" + ): TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + getEvent( + key: "OwnershipTransferStarted" + ): TypedContractEvent< + OwnershipTransferStartedEvent.InputTuple, + OwnershipTransferStartedEvent.OutputTuple, + OwnershipTransferStartedEvent.OutputObject + >; + getEvent( + key: "OwnershipTransferred" + ): TypedContractEvent< + OwnershipTransferredEvent.InputTuple, + OwnershipTransferredEvent.OutputTuple, + OwnershipTransferredEvent.OutputObject + >; + getEvent( + key: "ReallocateSupply" + ): TypedContractEvent< + ReallocateSupplyEvent.InputTuple, + ReallocateSupplyEvent.OutputTuple, + ReallocateSupplyEvent.OutputObject + >; + getEvent( + key: "ReallocateWithdraw" + ): TypedContractEvent< + ReallocateWithdrawEvent.InputTuple, + ReallocateWithdrawEvent.OutputTuple, + ReallocateWithdrawEvent.OutputObject + >; + getEvent( + key: "RevokePendingCap" + ): TypedContractEvent< + RevokePendingCapEvent.InputTuple, + RevokePendingCapEvent.OutputTuple, + RevokePendingCapEvent.OutputObject + >; + getEvent( + key: "RevokePendingGuardian" + ): TypedContractEvent< + RevokePendingGuardianEvent.InputTuple, + RevokePendingGuardianEvent.OutputTuple, + RevokePendingGuardianEvent.OutputObject + >; + getEvent( + key: "RevokePendingMarketRemoval" + ): TypedContractEvent< + RevokePendingMarketRemovalEvent.InputTuple, + RevokePendingMarketRemovalEvent.OutputTuple, + RevokePendingMarketRemovalEvent.OutputObject + >; + getEvent( + key: "RevokePendingTimelock" + ): TypedContractEvent< + RevokePendingTimelockEvent.InputTuple, + RevokePendingTimelockEvent.OutputTuple, + RevokePendingTimelockEvent.OutputObject + >; + getEvent( + key: "SetCap" + ): TypedContractEvent< + SetCapEvent.InputTuple, + SetCapEvent.OutputTuple, + SetCapEvent.OutputObject + >; + getEvent( + key: "SetCurator" + ): TypedContractEvent< + SetCuratorEvent.InputTuple, + SetCuratorEvent.OutputTuple, + SetCuratorEvent.OutputObject + >; + getEvent( + key: "SetFee" + ): TypedContractEvent< + SetFeeEvent.InputTuple, + SetFeeEvent.OutputTuple, + SetFeeEvent.OutputObject + >; + getEvent( + key: "SetFeeRecipient" + ): TypedContractEvent< + SetFeeRecipientEvent.InputTuple, + SetFeeRecipientEvent.OutputTuple, + SetFeeRecipientEvent.OutputObject + >; + getEvent( + key: "SetGuardian" + ): TypedContractEvent< + SetGuardianEvent.InputTuple, + SetGuardianEvent.OutputTuple, + SetGuardianEvent.OutputObject + >; + getEvent( + key: "SetIsAllocator" + ): TypedContractEvent< + SetIsAllocatorEvent.InputTuple, + SetIsAllocatorEvent.OutputTuple, + SetIsAllocatorEvent.OutputObject + >; + getEvent( + key: "SetSkimRecipient" + ): TypedContractEvent< + SetSkimRecipientEvent.InputTuple, + SetSkimRecipientEvent.OutputTuple, + SetSkimRecipientEvent.OutputObject + >; + getEvent( + key: "SetSupplyQueue" + ): TypedContractEvent< + SetSupplyQueueEvent.InputTuple, + SetSupplyQueueEvent.OutputTuple, + SetSupplyQueueEvent.OutputObject + >; + getEvent( + key: "SetTimelock" + ): TypedContractEvent< + SetTimelockEvent.InputTuple, + SetTimelockEvent.OutputTuple, + SetTimelockEvent.OutputObject + >; + getEvent( + key: "SetWithdrawQueue" + ): TypedContractEvent< + SetWithdrawQueueEvent.InputTuple, + SetWithdrawQueueEvent.OutputTuple, + SetWithdrawQueueEvent.OutputObject + >; + getEvent( + key: "Skim" + ): TypedContractEvent< + SkimEvent.InputTuple, + SkimEvent.OutputTuple, + SkimEvent.OutputObject + >; + getEvent( + key: "SubmitCap" + ): TypedContractEvent< + SubmitCapEvent.InputTuple, + SubmitCapEvent.OutputTuple, + SubmitCapEvent.OutputObject + >; + getEvent( + key: "SubmitGuardian" + ): TypedContractEvent< + SubmitGuardianEvent.InputTuple, + SubmitGuardianEvent.OutputTuple, + SubmitGuardianEvent.OutputObject + >; + getEvent( + key: "SubmitMarketRemoval" + ): TypedContractEvent< + SubmitMarketRemovalEvent.InputTuple, + SubmitMarketRemovalEvent.OutputTuple, + SubmitMarketRemovalEvent.OutputObject + >; + getEvent( + key: "SubmitTimelock" + ): TypedContractEvent< + SubmitTimelockEvent.InputTuple, + SubmitTimelockEvent.OutputTuple, + SubmitTimelockEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + getEvent( + key: "UpdateLastTotalAssets" + ): TypedContractEvent< + UpdateLastTotalAssetsEvent.InputTuple, + UpdateLastTotalAssetsEvent.OutputTuple, + UpdateLastTotalAssetsEvent.OutputObject + >; + getEvent( + key: "Withdraw" + ): TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + + filters: { + "AccrueInterest(uint256,uint256)": TypedContractEvent< + AccrueInterestEvent.InputTuple, + AccrueInterestEvent.OutputTuple, + AccrueInterestEvent.OutputObject + >; + AccrueInterest: TypedContractEvent< + AccrueInterestEvent.InputTuple, + AccrueInterestEvent.OutputTuple, + AccrueInterestEvent.OutputObject + >; + + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Deposit(address,address,uint256,uint256)": TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + Deposit: TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + + "EIP712DomainChanged()": TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + EIP712DomainChanged: TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + + "OwnershipTransferStarted(address,address)": TypedContractEvent< + OwnershipTransferStartedEvent.InputTuple, + OwnershipTransferStartedEvent.OutputTuple, + OwnershipTransferStartedEvent.OutputObject + >; + OwnershipTransferStarted: TypedContractEvent< + OwnershipTransferStartedEvent.InputTuple, + OwnershipTransferStartedEvent.OutputTuple, + OwnershipTransferStartedEvent.OutputObject + >; + + "OwnershipTransferred(address,address)": TypedContractEvent< + OwnershipTransferredEvent.InputTuple, + OwnershipTransferredEvent.OutputTuple, + OwnershipTransferredEvent.OutputObject + >; + OwnershipTransferred: TypedContractEvent< + OwnershipTransferredEvent.InputTuple, + OwnershipTransferredEvent.OutputTuple, + OwnershipTransferredEvent.OutputObject + >; + + "ReallocateSupply(address,bytes32,uint256,uint256)": TypedContractEvent< + ReallocateSupplyEvent.InputTuple, + ReallocateSupplyEvent.OutputTuple, + ReallocateSupplyEvent.OutputObject + >; + ReallocateSupply: TypedContractEvent< + ReallocateSupplyEvent.InputTuple, + ReallocateSupplyEvent.OutputTuple, + ReallocateSupplyEvent.OutputObject + >; + + "ReallocateWithdraw(address,bytes32,uint256,uint256)": TypedContractEvent< + ReallocateWithdrawEvent.InputTuple, + ReallocateWithdrawEvent.OutputTuple, + ReallocateWithdrawEvent.OutputObject + >; + ReallocateWithdraw: TypedContractEvent< + ReallocateWithdrawEvent.InputTuple, + ReallocateWithdrawEvent.OutputTuple, + ReallocateWithdrawEvent.OutputObject + >; + + "RevokePendingCap(address,bytes32)": TypedContractEvent< + RevokePendingCapEvent.InputTuple, + RevokePendingCapEvent.OutputTuple, + RevokePendingCapEvent.OutputObject + >; + RevokePendingCap: TypedContractEvent< + RevokePendingCapEvent.InputTuple, + RevokePendingCapEvent.OutputTuple, + RevokePendingCapEvent.OutputObject + >; + + "RevokePendingGuardian(address)": TypedContractEvent< + RevokePendingGuardianEvent.InputTuple, + RevokePendingGuardianEvent.OutputTuple, + RevokePendingGuardianEvent.OutputObject + >; + RevokePendingGuardian: TypedContractEvent< + RevokePendingGuardianEvent.InputTuple, + RevokePendingGuardianEvent.OutputTuple, + RevokePendingGuardianEvent.OutputObject + >; + + "RevokePendingMarketRemoval(address,bytes32)": TypedContractEvent< + RevokePendingMarketRemovalEvent.InputTuple, + RevokePendingMarketRemovalEvent.OutputTuple, + RevokePendingMarketRemovalEvent.OutputObject + >; + RevokePendingMarketRemoval: TypedContractEvent< + RevokePendingMarketRemovalEvent.InputTuple, + RevokePendingMarketRemovalEvent.OutputTuple, + RevokePendingMarketRemovalEvent.OutputObject + >; + + "RevokePendingTimelock(address)": TypedContractEvent< + RevokePendingTimelockEvent.InputTuple, + RevokePendingTimelockEvent.OutputTuple, + RevokePendingTimelockEvent.OutputObject + >; + RevokePendingTimelock: TypedContractEvent< + RevokePendingTimelockEvent.InputTuple, + RevokePendingTimelockEvent.OutputTuple, + RevokePendingTimelockEvent.OutputObject + >; + + "SetCap(address,bytes32,uint256)": TypedContractEvent< + SetCapEvent.InputTuple, + SetCapEvent.OutputTuple, + SetCapEvent.OutputObject + >; + SetCap: TypedContractEvent< + SetCapEvent.InputTuple, + SetCapEvent.OutputTuple, + SetCapEvent.OutputObject + >; + + "SetCurator(address)": TypedContractEvent< + SetCuratorEvent.InputTuple, + SetCuratorEvent.OutputTuple, + SetCuratorEvent.OutputObject + >; + SetCurator: TypedContractEvent< + SetCuratorEvent.InputTuple, + SetCuratorEvent.OutputTuple, + SetCuratorEvent.OutputObject + >; + + "SetFee(address,uint256)": TypedContractEvent< + SetFeeEvent.InputTuple, + SetFeeEvent.OutputTuple, + SetFeeEvent.OutputObject + >; + SetFee: TypedContractEvent< + SetFeeEvent.InputTuple, + SetFeeEvent.OutputTuple, + SetFeeEvent.OutputObject + >; + + "SetFeeRecipient(address)": TypedContractEvent< + SetFeeRecipientEvent.InputTuple, + SetFeeRecipientEvent.OutputTuple, + SetFeeRecipientEvent.OutputObject + >; + SetFeeRecipient: TypedContractEvent< + SetFeeRecipientEvent.InputTuple, + SetFeeRecipientEvent.OutputTuple, + SetFeeRecipientEvent.OutputObject + >; + + "SetGuardian(address,address)": TypedContractEvent< + SetGuardianEvent.InputTuple, + SetGuardianEvent.OutputTuple, + SetGuardianEvent.OutputObject + >; + SetGuardian: TypedContractEvent< + SetGuardianEvent.InputTuple, + SetGuardianEvent.OutputTuple, + SetGuardianEvent.OutputObject + >; + + "SetIsAllocator(address,bool)": TypedContractEvent< + SetIsAllocatorEvent.InputTuple, + SetIsAllocatorEvent.OutputTuple, + SetIsAllocatorEvent.OutputObject + >; + SetIsAllocator: TypedContractEvent< + SetIsAllocatorEvent.InputTuple, + SetIsAllocatorEvent.OutputTuple, + SetIsAllocatorEvent.OutputObject + >; + + "SetSkimRecipient(address)": TypedContractEvent< + SetSkimRecipientEvent.InputTuple, + SetSkimRecipientEvent.OutputTuple, + SetSkimRecipientEvent.OutputObject + >; + SetSkimRecipient: TypedContractEvent< + SetSkimRecipientEvent.InputTuple, + SetSkimRecipientEvent.OutputTuple, + SetSkimRecipientEvent.OutputObject + >; + + "SetSupplyQueue(address,bytes32[])": TypedContractEvent< + SetSupplyQueueEvent.InputTuple, + SetSupplyQueueEvent.OutputTuple, + SetSupplyQueueEvent.OutputObject + >; + SetSupplyQueue: TypedContractEvent< + SetSupplyQueueEvent.InputTuple, + SetSupplyQueueEvent.OutputTuple, + SetSupplyQueueEvent.OutputObject + >; + + "SetTimelock(address,uint256)": TypedContractEvent< + SetTimelockEvent.InputTuple, + SetTimelockEvent.OutputTuple, + SetTimelockEvent.OutputObject + >; + SetTimelock: TypedContractEvent< + SetTimelockEvent.InputTuple, + SetTimelockEvent.OutputTuple, + SetTimelockEvent.OutputObject + >; + + "SetWithdrawQueue(address,bytes32[])": TypedContractEvent< + SetWithdrawQueueEvent.InputTuple, + SetWithdrawQueueEvent.OutputTuple, + SetWithdrawQueueEvent.OutputObject + >; + SetWithdrawQueue: TypedContractEvent< + SetWithdrawQueueEvent.InputTuple, + SetWithdrawQueueEvent.OutputTuple, + SetWithdrawQueueEvent.OutputObject + >; + + "Skim(address,address,uint256)": TypedContractEvent< + SkimEvent.InputTuple, + SkimEvent.OutputTuple, + SkimEvent.OutputObject + >; + Skim: TypedContractEvent< + SkimEvent.InputTuple, + SkimEvent.OutputTuple, + SkimEvent.OutputObject + >; + + "SubmitCap(address,bytes32,uint256)": TypedContractEvent< + SubmitCapEvent.InputTuple, + SubmitCapEvent.OutputTuple, + SubmitCapEvent.OutputObject + >; + SubmitCap: TypedContractEvent< + SubmitCapEvent.InputTuple, + SubmitCapEvent.OutputTuple, + SubmitCapEvent.OutputObject + >; + + "SubmitGuardian(address)": TypedContractEvent< + SubmitGuardianEvent.InputTuple, + SubmitGuardianEvent.OutputTuple, + SubmitGuardianEvent.OutputObject + >; + SubmitGuardian: TypedContractEvent< + SubmitGuardianEvent.InputTuple, + SubmitGuardianEvent.OutputTuple, + SubmitGuardianEvent.OutputObject + >; + + "SubmitMarketRemoval(address,bytes32)": TypedContractEvent< + SubmitMarketRemovalEvent.InputTuple, + SubmitMarketRemovalEvent.OutputTuple, + SubmitMarketRemovalEvent.OutputObject + >; + SubmitMarketRemoval: TypedContractEvent< + SubmitMarketRemovalEvent.InputTuple, + SubmitMarketRemovalEvent.OutputTuple, + SubmitMarketRemovalEvent.OutputObject + >; + + "SubmitTimelock(uint256)": TypedContractEvent< + SubmitTimelockEvent.InputTuple, + SubmitTimelockEvent.OutputTuple, + SubmitTimelockEvent.OutputObject + >; + SubmitTimelock: TypedContractEvent< + SubmitTimelockEvent.InputTuple, + SubmitTimelockEvent.OutputTuple, + SubmitTimelockEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + "UpdateLastTotalAssets(uint256)": TypedContractEvent< + UpdateLastTotalAssetsEvent.InputTuple, + UpdateLastTotalAssetsEvent.OutputTuple, + UpdateLastTotalAssetsEvent.OutputObject + >; + UpdateLastTotalAssets: TypedContractEvent< + UpdateLastTotalAssetsEvent.InputTuple, + UpdateLastTotalAssetsEvent.OutputTuple, + UpdateLastTotalAssetsEvent.OutputObject + >; + + "Withdraw(address,address,address,uint256,uint256)": TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + Withdraw: TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/metamorpho/src/index.ts b/pkg/types/lib/metamorpho/src/index.ts new file mode 100644 index 00000000..7f318c47 --- /dev/null +++ b/pkg/types/lib/metamorpho/src/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; +import type * as libraries from "./libraries"; +export type { libraries }; +export type { MetaMorpho } from "./MetaMorpho"; diff --git a/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorpho.ts b/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorpho.ts new file mode 100644 index 00000000..75de7497 --- /dev/null +++ b/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorpho.ts @@ -0,0 +1,1390 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketConfigStruct = { + cap: BigNumberish; + enabled: boolean; + removableAt: BigNumberish; +}; + +export type MarketConfigStructOutput = [ + cap: bigint, + enabled: boolean, + removableAt: bigint +] & { cap: bigint; enabled: boolean; removableAt: bigint }; + +export type PendingUint192Struct = { + value: BigNumberish; + validAt: BigNumberish; +}; + +export type PendingUint192StructOutput = [value: bigint, validAt: bigint] & { + value: bigint; + validAt: bigint; +}; + +export type PendingAddressStruct = { + value: AddressLike; + validAt: BigNumberish; +}; + +export type PendingAddressStructOutput = [value: string, validAt: bigint] & { + value: string; + validAt: bigint; +}; + +export type MarketAllocationStruct = { + marketParams: MarketParamsStruct; + assets: BigNumberish; +}; + +export type MarketAllocationStructOutput = [ + marketParams: MarketParamsStructOutput, + assets: bigint +] & { marketParams: MarketParamsStructOutput; assets: bigint }; + +export interface IMetaMorphoInterface extends Interface { + getFunction( + nameOrSignature: + | "DECIMALS_OFFSET" + | "DOMAIN_SEPARATOR" + | "MORPHO" + | "acceptCap" + | "acceptGuardian" + | "acceptOwnership" + | "acceptTimelock" + | "allowance" + | "approve" + | "asset" + | "balanceOf" + | "config" + | "convertToAssets" + | "convertToShares" + | "curator" + | "decimals" + | "deposit" + | "fee" + | "feeRecipient" + | "guardian" + | "isAllocator" + | "lastTotalAssets" + | "maxDeposit" + | "maxMint" + | "maxRedeem" + | "maxWithdraw" + | "mint" + | "multicall" + | "name" + | "nonces" + | "owner" + | "pendingCap" + | "pendingGuardian" + | "pendingOwner" + | "pendingTimelock" + | "permit" + | "previewDeposit" + | "previewMint" + | "previewRedeem" + | "previewWithdraw" + | "reallocate" + | "redeem" + | "renounceOwnership" + | "revokePendingCap" + | "revokePendingGuardian" + | "revokePendingMarketRemoval" + | "revokePendingTimelock" + | "setCurator" + | "setFee" + | "setFeeRecipient" + | "setIsAllocator" + | "setSkimRecipient" + | "setSupplyQueue" + | "skim" + | "skimRecipient" + | "submitCap" + | "submitGuardian" + | "submitMarketRemoval" + | "submitTimelock" + | "supplyQueue" + | "supplyQueueLength" + | "symbol" + | "timelock" + | "totalAssets" + | "totalSupply" + | "transfer" + | "transferFrom" + | "transferOwnership" + | "updateWithdrawQueue" + | "withdraw" + | "withdrawQueue" + | "withdrawQueueLength" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "Approval" | "Deposit" | "Transfer" | "Withdraw" + ): EventFragment; + + encodeFunctionData( + functionFragment: "DECIMALS_OFFSET", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "acceptCap", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "acceptGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "acceptOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "acceptTimelock", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "asset", values?: undefined): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "config", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "convertToAssets", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "convertToShares", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "curator", values?: undefined): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "deposit", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData(functionFragment: "fee", values?: undefined): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "guardian", values?: undefined): string; + encodeFunctionData( + functionFragment: "isAllocator", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "lastTotalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "maxDeposit", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxMint", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxRedeem", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxWithdraw", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "pendingCap", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "pendingGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "pendingOwner", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "pendingTimelock", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "previewDeposit", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewMint", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewRedeem", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewWithdraw", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "reallocate", + values: [MarketAllocationStruct[]] + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "revokePendingCap", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "revokePendingGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "revokePendingMarketRemoval", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "revokePendingTimelock", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setCurator", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setIsAllocator", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setSkimRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setSupplyQueue", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "skim", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "skimRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "submitCap", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "submitGuardian", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "submitMarketRemoval", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "submitTimelock", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyQueue", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyQueueLength", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData(functionFragment: "timelock", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "updateWithdrawQueue", + values: [BigNumberish[]] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "withdrawQueue", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdrawQueueLength", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "DECIMALS_OFFSET", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "acceptCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "acceptGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "acceptOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "acceptTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "config", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "convertToAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "convertToShares", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "curator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "guardian", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isAllocator", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "lastTotalAssets", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "maxDeposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxMint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxRedeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "maxWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "pendingCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "pendingGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "pendingOwner", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "pendingTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "previewDeposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewMint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewRedeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "reallocate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingCap", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingMarketRemoval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setCurator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setIsAllocator", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSkimRecipient", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSupplyQueue", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "skim", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "skimRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "submitCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "submitGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "submitMarketRemoval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "submitTimelock", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supplyQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supplyQueueLength", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "timelock", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateWithdrawQueue", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawQueueLength", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace DepositEvent { + export type InputTuple = [ + sender: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace WithdrawEvent { + export type InputTuple = [ + sender: AddressLike, + receiver: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + receiver: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + receiver: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IMetaMorpho extends BaseContract { + connect(runner?: ContractRunner | null): IMetaMorpho; + waitForDeployment(): Promise; + + interface: IMetaMorphoInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DECIMALS_OFFSET: TypedContractMethod<[], [bigint], "view">; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + MORPHO: TypedContractMethod<[], [string], "view">; + + acceptCap: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + acceptGuardian: TypedContractMethod<[], [void], "nonpayable">; + + acceptOwnership: TypedContractMethod<[], [void], "nonpayable">; + + acceptTimelock: TypedContractMethod<[], [void], "nonpayable">; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + asset: TypedContractMethod<[], [string], "view">; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + config: TypedContractMethod< + [arg0: BytesLike], + [MarketConfigStructOutput], + "view" + >; + + convertToAssets: TypedContractMethod< + [shares: BigNumberish], + [bigint], + "view" + >; + + convertToShares: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + curator: TypedContractMethod<[], [string], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + deposit: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + fee: TypedContractMethod<[], [bigint], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + guardian: TypedContractMethod<[], [string], "view">; + + isAllocator: TypedContractMethod<[target: AddressLike], [boolean], "view">; + + lastTotalAssets: TypedContractMethod<[], [bigint], "view">; + + maxDeposit: TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + + maxMint: TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + + maxRedeem: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + maxWithdraw: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + mint: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + multicall: TypedContractMethod<[arg0: BytesLike[]], [string[]], "nonpayable">; + + name: TypedContractMethod<[], [string], "view">; + + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + pendingCap: TypedContractMethod< + [arg0: BytesLike], + [PendingUint192StructOutput], + "view" + >; + + pendingGuardian: TypedContractMethod< + [], + [PendingAddressStructOutput], + "view" + >; + + pendingOwner: TypedContractMethod<[], [string], "view">; + + pendingTimelock: TypedContractMethod< + [], + [PendingUint192StructOutput], + "view" + >; + + permit: TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + previewDeposit: TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + + previewMint: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewRedeem: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewWithdraw: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + reallocate: TypedContractMethod< + [allocations: MarketAllocationStruct[]], + [void], + "nonpayable" + >; + + redeem: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; + + revokePendingCap: TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + + revokePendingGuardian: TypedContractMethod<[], [void], "nonpayable">; + + revokePendingMarketRemoval: TypedContractMethod< + [id: BytesLike], + [void], + "nonpayable" + >; + + revokePendingTimelock: TypedContractMethod<[], [void], "nonpayable">; + + setCurator: TypedContractMethod< + [newCurator: AddressLike], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod<[newFee: BigNumberish], [void], "nonpayable">; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setIsAllocator: TypedContractMethod< + [newAllocator: AddressLike, newIsAllocator: boolean], + [void], + "nonpayable" + >; + + setSkimRecipient: TypedContractMethod< + [newSkimRecipient: AddressLike], + [void], + "nonpayable" + >; + + setSupplyQueue: TypedContractMethod< + [newSupplyQueue: BytesLike[]], + [void], + "nonpayable" + >; + + skim: TypedContractMethod<[arg0: AddressLike], [void], "nonpayable">; + + skimRecipient: TypedContractMethod<[], [string], "view">; + + submitCap: TypedContractMethod< + [marketParams: MarketParamsStruct, newSupplyCap: BigNumberish], + [void], + "nonpayable" + >; + + submitGuardian: TypedContractMethod< + [newGuardian: AddressLike], + [void], + "nonpayable" + >; + + submitMarketRemoval: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + submitTimelock: TypedContractMethod< + [newTimelock: BigNumberish], + [void], + "nonpayable" + >; + + supplyQueue: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + supplyQueueLength: TypedContractMethod<[], [bigint], "view">; + + symbol: TypedContractMethod<[], [string], "view">; + + timelock: TypedContractMethod<[], [bigint], "view">; + + totalAssets: TypedContractMethod<[], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferOwnership: TypedContractMethod< + [arg0: AddressLike], + [void], + "nonpayable" + >; + + updateWithdrawQueue: TypedContractMethod< + [indexes: BigNumberish[]], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + withdrawQueue: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + withdrawQueueLength: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DECIMALS_OFFSET" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "acceptCap" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "acceptGuardian" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "acceptOwnership" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "acceptTimelock" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "asset" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "config" + ): TypedContractMethod<[arg0: BytesLike], [MarketConfigStructOutput], "view">; + getFunction( + nameOrSignature: "convertToAssets" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "convertToShares" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "curator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "fee" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "guardian" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "isAllocator" + ): TypedContractMethod<[target: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "lastTotalAssets" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "maxDeposit" + ): TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxMint" + ): TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxRedeem" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxWithdraw" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "mint" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[arg0: BytesLike[]], [string[]], "nonpayable">; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "pendingCap" + ): TypedContractMethod< + [arg0: BytesLike], + [PendingUint192StructOutput], + "view" + >; + getFunction( + nameOrSignature: "pendingGuardian" + ): TypedContractMethod<[], [PendingAddressStructOutput], "view">; + getFunction( + nameOrSignature: "pendingOwner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "pendingTimelock" + ): TypedContractMethod<[], [PendingUint192StructOutput], "view">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "previewDeposit" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewMint" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewRedeem" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewWithdraw" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "reallocate" + ): TypedContractMethod< + [allocations: MarketAllocationStruct[]], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "redeem" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "renounceOwnership" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingCap" + ): TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingGuardian" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingMarketRemoval" + ): TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingTimelock" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "setCurator" + ): TypedContractMethod<[newCurator: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod<[newFee: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setIsAllocator" + ): TypedContractMethod< + [newAllocator: AddressLike, newIsAllocator: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setSkimRecipient" + ): TypedContractMethod<[newSkimRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setSupplyQueue" + ): TypedContractMethod<[newSupplyQueue: BytesLike[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "skim" + ): TypedContractMethod<[arg0: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "skimRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "submitCap" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newSupplyCap: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "submitGuardian" + ): TypedContractMethod<[newGuardian: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "submitMarketRemoval" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "submitTimelock" + ): TypedContractMethod<[newTimelock: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "supplyQueue" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "supplyQueueLength" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "timelock" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "totalAssets" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferOwnership" + ): TypedContractMethod<[arg0: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "updateWithdrawQueue" + ): TypedContractMethod<[indexes: BigNumberish[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawQueue" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "withdrawQueueLength" + ): TypedContractMethod<[], [bigint], "view">; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Deposit" + ): TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + getEvent( + key: "Withdraw" + ): TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Deposit(address,address,uint256,uint256)": TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + Deposit: TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + "Withdraw(address,address,address,uint256,uint256)": TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + Withdraw: TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoBase.ts b/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoBase.ts new file mode 100644 index 00000000..2e828522 --- /dev/null +++ b/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoBase.ts @@ -0,0 +1,610 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketAllocationStruct = { + marketParams: MarketParamsStruct; + assets: BigNumberish; +}; + +export type MarketAllocationStructOutput = [ + marketParams: MarketParamsStructOutput, + assets: bigint +] & { marketParams: MarketParamsStructOutput; assets: bigint }; + +export interface IMetaMorphoBaseInterface extends Interface { + getFunction( + nameOrSignature: + | "DECIMALS_OFFSET" + | "MORPHO" + | "acceptCap" + | "acceptGuardian" + | "acceptTimelock" + | "curator" + | "fee" + | "feeRecipient" + | "guardian" + | "isAllocator" + | "lastTotalAssets" + | "reallocate" + | "revokePendingCap" + | "revokePendingGuardian" + | "revokePendingMarketRemoval" + | "revokePendingTimelock" + | "setCurator" + | "setFee" + | "setFeeRecipient" + | "setIsAllocator" + | "setSkimRecipient" + | "setSupplyQueue" + | "skim" + | "skimRecipient" + | "submitCap" + | "submitGuardian" + | "submitMarketRemoval" + | "submitTimelock" + | "supplyQueue" + | "supplyQueueLength" + | "timelock" + | "updateWithdrawQueue" + | "withdrawQueue" + | "withdrawQueueLength" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DECIMALS_OFFSET", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "acceptCap", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "acceptGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "acceptTimelock", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "curator", values?: undefined): string; + encodeFunctionData(functionFragment: "fee", values?: undefined): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "guardian", values?: undefined): string; + encodeFunctionData( + functionFragment: "isAllocator", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "lastTotalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "reallocate", + values: [MarketAllocationStruct[]] + ): string; + encodeFunctionData( + functionFragment: "revokePendingCap", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "revokePendingGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "revokePendingMarketRemoval", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "revokePendingTimelock", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setCurator", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setIsAllocator", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setSkimRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setSupplyQueue", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "skim", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "skimRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "submitCap", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "submitGuardian", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "submitMarketRemoval", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "submitTimelock", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyQueue", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyQueueLength", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "timelock", values?: undefined): string; + encodeFunctionData( + functionFragment: "updateWithdrawQueue", + values: [BigNumberish[]] + ): string; + encodeFunctionData( + functionFragment: "withdrawQueue", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdrawQueueLength", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "DECIMALS_OFFSET", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "acceptCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "acceptGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "acceptTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "curator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "guardian", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isAllocator", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "lastTotalAssets", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "reallocate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "revokePendingCap", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingMarketRemoval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setCurator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setIsAllocator", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSkimRecipient", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSupplyQueue", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "skim", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "skimRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "submitCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "submitGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "submitMarketRemoval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "submitTimelock", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supplyQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supplyQueueLength", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "timelock", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "updateWithdrawQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawQueueLength", + data: BytesLike + ): Result; +} + +export interface IMetaMorphoBase extends BaseContract { + connect(runner?: ContractRunner | null): IMetaMorphoBase; + waitForDeployment(): Promise; + + interface: IMetaMorphoBaseInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DECIMALS_OFFSET: TypedContractMethod<[], [bigint], "view">; + + MORPHO: TypedContractMethod<[], [string], "view">; + + acceptCap: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + acceptGuardian: TypedContractMethod<[], [void], "nonpayable">; + + acceptTimelock: TypedContractMethod<[], [void], "nonpayable">; + + curator: TypedContractMethod<[], [string], "view">; + + fee: TypedContractMethod<[], [bigint], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + guardian: TypedContractMethod<[], [string], "view">; + + isAllocator: TypedContractMethod<[target: AddressLike], [boolean], "view">; + + lastTotalAssets: TypedContractMethod<[], [bigint], "view">; + + reallocate: TypedContractMethod< + [allocations: MarketAllocationStruct[]], + [void], + "nonpayable" + >; + + revokePendingCap: TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + + revokePendingGuardian: TypedContractMethod<[], [void], "nonpayable">; + + revokePendingMarketRemoval: TypedContractMethod< + [id: BytesLike], + [void], + "nonpayable" + >; + + revokePendingTimelock: TypedContractMethod<[], [void], "nonpayable">; + + setCurator: TypedContractMethod< + [newCurator: AddressLike], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod<[newFee: BigNumberish], [void], "nonpayable">; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setIsAllocator: TypedContractMethod< + [newAllocator: AddressLike, newIsAllocator: boolean], + [void], + "nonpayable" + >; + + setSkimRecipient: TypedContractMethod< + [newSkimRecipient: AddressLike], + [void], + "nonpayable" + >; + + setSupplyQueue: TypedContractMethod< + [newSupplyQueue: BytesLike[]], + [void], + "nonpayable" + >; + + skim: TypedContractMethod<[arg0: AddressLike], [void], "nonpayable">; + + skimRecipient: TypedContractMethod<[], [string], "view">; + + submitCap: TypedContractMethod< + [marketParams: MarketParamsStruct, newSupplyCap: BigNumberish], + [void], + "nonpayable" + >; + + submitGuardian: TypedContractMethod< + [newGuardian: AddressLike], + [void], + "nonpayable" + >; + + submitMarketRemoval: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + submitTimelock: TypedContractMethod< + [newTimelock: BigNumberish], + [void], + "nonpayable" + >; + + supplyQueue: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + supplyQueueLength: TypedContractMethod<[], [bigint], "view">; + + timelock: TypedContractMethod<[], [bigint], "view">; + + updateWithdrawQueue: TypedContractMethod< + [indexes: BigNumberish[]], + [void], + "nonpayable" + >; + + withdrawQueue: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + withdrawQueueLength: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DECIMALS_OFFSET" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "acceptCap" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "acceptGuardian" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "acceptTimelock" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "curator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "fee" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "guardian" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "isAllocator" + ): TypedContractMethod<[target: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "lastTotalAssets" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "reallocate" + ): TypedContractMethod< + [allocations: MarketAllocationStruct[]], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "revokePendingCap" + ): TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingGuardian" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingMarketRemoval" + ): TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingTimelock" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "setCurator" + ): TypedContractMethod<[newCurator: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod<[newFee: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setIsAllocator" + ): TypedContractMethod< + [newAllocator: AddressLike, newIsAllocator: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setSkimRecipient" + ): TypedContractMethod<[newSkimRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setSupplyQueue" + ): TypedContractMethod<[newSupplyQueue: BytesLike[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "skim" + ): TypedContractMethod<[arg0: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "skimRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "submitCap" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newSupplyCap: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "submitGuardian" + ): TypedContractMethod<[newGuardian: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "submitMarketRemoval" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "submitTimelock" + ): TypedContractMethod<[newTimelock: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "supplyQueue" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "supplyQueueLength" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "timelock" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "updateWithdrawQueue" + ): TypedContractMethod<[indexes: BigNumberish[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "withdrawQueue" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "withdrawQueueLength" + ): TypedContractMethod<[], [bigint], "view">; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoStaticTyping.ts b/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoStaticTyping.ts new file mode 100644 index 00000000..e1e99aa2 --- /dev/null +++ b/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoStaticTyping.ts @@ -0,0 +1,701 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketAllocationStruct = { + marketParams: MarketParamsStruct; + assets: BigNumberish; +}; + +export type MarketAllocationStructOutput = [ + marketParams: MarketParamsStructOutput, + assets: bigint +] & { marketParams: MarketParamsStructOutput; assets: bigint }; + +export interface IMetaMorphoStaticTypingInterface extends Interface { + getFunction( + nameOrSignature: + | "DECIMALS_OFFSET" + | "MORPHO" + | "acceptCap" + | "acceptGuardian" + | "acceptTimelock" + | "config" + | "curator" + | "fee" + | "feeRecipient" + | "guardian" + | "isAllocator" + | "lastTotalAssets" + | "pendingCap" + | "pendingGuardian" + | "pendingTimelock" + | "reallocate" + | "revokePendingCap" + | "revokePendingGuardian" + | "revokePendingMarketRemoval" + | "revokePendingTimelock" + | "setCurator" + | "setFee" + | "setFeeRecipient" + | "setIsAllocator" + | "setSkimRecipient" + | "setSupplyQueue" + | "skim" + | "skimRecipient" + | "submitCap" + | "submitGuardian" + | "submitMarketRemoval" + | "submitTimelock" + | "supplyQueue" + | "supplyQueueLength" + | "timelock" + | "updateWithdrawQueue" + | "withdrawQueue" + | "withdrawQueueLength" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DECIMALS_OFFSET", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "acceptCap", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "acceptGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "acceptTimelock", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "config", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "curator", values?: undefined): string; + encodeFunctionData(functionFragment: "fee", values?: undefined): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "guardian", values?: undefined): string; + encodeFunctionData( + functionFragment: "isAllocator", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "lastTotalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "pendingCap", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "pendingGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "pendingTimelock", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "reallocate", + values: [MarketAllocationStruct[]] + ): string; + encodeFunctionData( + functionFragment: "revokePendingCap", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "revokePendingGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "revokePendingMarketRemoval", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "revokePendingTimelock", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setCurator", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setIsAllocator", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setSkimRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setSupplyQueue", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "skim", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "skimRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "submitCap", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "submitGuardian", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "submitMarketRemoval", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "submitTimelock", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyQueue", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyQueueLength", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "timelock", values?: undefined): string; + encodeFunctionData( + functionFragment: "updateWithdrawQueue", + values: [BigNumberish[]] + ): string; + encodeFunctionData( + functionFragment: "withdrawQueue", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdrawQueueLength", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "DECIMALS_OFFSET", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "acceptCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "acceptGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "acceptTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "config", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "curator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "guardian", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isAllocator", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "lastTotalAssets", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "pendingCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "pendingGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "pendingTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "reallocate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "revokePendingCap", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingMarketRemoval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setCurator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setIsAllocator", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSkimRecipient", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSupplyQueue", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "skim", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "skimRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "submitCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "submitGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "submitMarketRemoval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "submitTimelock", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supplyQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supplyQueueLength", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "timelock", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "updateWithdrawQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawQueueLength", + data: BytesLike + ): Result; +} + +export interface IMetaMorphoStaticTyping extends BaseContract { + connect(runner?: ContractRunner | null): IMetaMorphoStaticTyping; + waitForDeployment(): Promise; + + interface: IMetaMorphoStaticTypingInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DECIMALS_OFFSET: TypedContractMethod<[], [bigint], "view">; + + MORPHO: TypedContractMethod<[], [string], "view">; + + acceptCap: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + acceptGuardian: TypedContractMethod<[], [void], "nonpayable">; + + acceptTimelock: TypedContractMethod<[], [void], "nonpayable">; + + config: TypedContractMethod< + [arg0: BytesLike], + [ + [bigint, boolean, bigint] & { + cap: bigint; + enabled: boolean; + removableAt: bigint; + } + ], + "view" + >; + + curator: TypedContractMethod<[], [string], "view">; + + fee: TypedContractMethod<[], [bigint], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + guardian: TypedContractMethod<[], [string], "view">; + + isAllocator: TypedContractMethod<[target: AddressLike], [boolean], "view">; + + lastTotalAssets: TypedContractMethod<[], [bigint], "view">; + + pendingCap: TypedContractMethod< + [arg0: BytesLike], + [[bigint, bigint] & { value: bigint; validAt: bigint }], + "view" + >; + + pendingGuardian: TypedContractMethod< + [], + [[string, bigint] & { guardian: string; validAt: bigint }], + "view" + >; + + pendingTimelock: TypedContractMethod< + [], + [[bigint, bigint] & { value: bigint; validAt: bigint }], + "view" + >; + + reallocate: TypedContractMethod< + [allocations: MarketAllocationStruct[]], + [void], + "nonpayable" + >; + + revokePendingCap: TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + + revokePendingGuardian: TypedContractMethod<[], [void], "nonpayable">; + + revokePendingMarketRemoval: TypedContractMethod< + [id: BytesLike], + [void], + "nonpayable" + >; + + revokePendingTimelock: TypedContractMethod<[], [void], "nonpayable">; + + setCurator: TypedContractMethod< + [newCurator: AddressLike], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod<[newFee: BigNumberish], [void], "nonpayable">; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setIsAllocator: TypedContractMethod< + [newAllocator: AddressLike, newIsAllocator: boolean], + [void], + "nonpayable" + >; + + setSkimRecipient: TypedContractMethod< + [newSkimRecipient: AddressLike], + [void], + "nonpayable" + >; + + setSupplyQueue: TypedContractMethod< + [newSupplyQueue: BytesLike[]], + [void], + "nonpayable" + >; + + skim: TypedContractMethod<[arg0: AddressLike], [void], "nonpayable">; + + skimRecipient: TypedContractMethod<[], [string], "view">; + + submitCap: TypedContractMethod< + [marketParams: MarketParamsStruct, newSupplyCap: BigNumberish], + [void], + "nonpayable" + >; + + submitGuardian: TypedContractMethod< + [newGuardian: AddressLike], + [void], + "nonpayable" + >; + + submitMarketRemoval: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + submitTimelock: TypedContractMethod< + [newTimelock: BigNumberish], + [void], + "nonpayable" + >; + + supplyQueue: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + supplyQueueLength: TypedContractMethod<[], [bigint], "view">; + + timelock: TypedContractMethod<[], [bigint], "view">; + + updateWithdrawQueue: TypedContractMethod< + [indexes: BigNumberish[]], + [void], + "nonpayable" + >; + + withdrawQueue: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + withdrawQueueLength: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DECIMALS_OFFSET" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "acceptCap" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "acceptGuardian" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "acceptTimelock" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "config" + ): TypedContractMethod< + [arg0: BytesLike], + [ + [bigint, boolean, bigint] & { + cap: bigint; + enabled: boolean; + removableAt: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "curator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "fee" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "guardian" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "isAllocator" + ): TypedContractMethod<[target: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "lastTotalAssets" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "pendingCap" + ): TypedContractMethod< + [arg0: BytesLike], + [[bigint, bigint] & { value: bigint; validAt: bigint }], + "view" + >; + getFunction( + nameOrSignature: "pendingGuardian" + ): TypedContractMethod< + [], + [[string, bigint] & { guardian: string; validAt: bigint }], + "view" + >; + getFunction( + nameOrSignature: "pendingTimelock" + ): TypedContractMethod< + [], + [[bigint, bigint] & { value: bigint; validAt: bigint }], + "view" + >; + getFunction( + nameOrSignature: "reallocate" + ): TypedContractMethod< + [allocations: MarketAllocationStruct[]], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "revokePendingCap" + ): TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingGuardian" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingMarketRemoval" + ): TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingTimelock" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "setCurator" + ): TypedContractMethod<[newCurator: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod<[newFee: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setIsAllocator" + ): TypedContractMethod< + [newAllocator: AddressLike, newIsAllocator: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setSkimRecipient" + ): TypedContractMethod<[newSkimRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setSupplyQueue" + ): TypedContractMethod<[newSupplyQueue: BytesLike[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "skim" + ): TypedContractMethod<[arg0: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "skimRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "submitCap" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newSupplyCap: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "submitGuardian" + ): TypedContractMethod<[newGuardian: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "submitMarketRemoval" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "submitTimelock" + ): TypedContractMethod<[newTimelock: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "supplyQueue" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "supplyQueueLength" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "timelock" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "updateWithdrawQueue" + ): TypedContractMethod<[indexes: BigNumberish[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "withdrawQueue" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "withdrawQueueLength" + ): TypedContractMethod<[], [bigint], "view">; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMulticall.ts b/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMulticall.ts new file mode 100644 index 00000000..6551be17 --- /dev/null +++ b/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMulticall.ts @@ -0,0 +1,87 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface IMulticallInterface extends Interface { + getFunction(nameOrSignature: "multicall"): FunctionFragment; + + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; +} + +export interface IMulticall extends BaseContract { + connect(runner?: ContractRunner | null): IMulticall; + waitForDeployment(): Promise; + + interface: IMulticallInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + multicall: TypedContractMethod<[arg0: BytesLike[]], [string[]], "nonpayable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[arg0: BytesLike[]], [string[]], "nonpayable">; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IOwnable.ts b/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IOwnable.ts new file mode 100644 index 00000000..063ebc5e --- /dev/null +++ b/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IOwnable.ts @@ -0,0 +1,148 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface IOwnableInterface extends Interface { + getFunction( + nameOrSignature: + | "acceptOwnership" + | "owner" + | "pendingOwner" + | "renounceOwnership" + | "transferOwnership" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "acceptOwnership", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "pendingOwner", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "acceptOwnership", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "pendingOwner", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; +} + +export interface IOwnable extends BaseContract { + connect(runner?: ContractRunner | null): IOwnable; + waitForDeployment(): Promise; + + interface: IOwnableInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + acceptOwnership: TypedContractMethod<[], [void], "nonpayable">; + + owner: TypedContractMethod<[], [string], "view">; + + pendingOwner: TypedContractMethod<[], [string], "view">; + + renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; + + transferOwnership: TypedContractMethod< + [arg0: AddressLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "acceptOwnership" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "pendingOwner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "renounceOwnership" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "transferOwnership" + ): TypedContractMethod<[arg0: AddressLike], [void], "nonpayable">; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/index.ts b/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/index.ts new file mode 100644 index 00000000..5b149c53 --- /dev/null +++ b/pkg/types/lib/metamorpho/src/interfaces/IMetaMorpho.sol/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IMetaMorpho } from "./IMetaMorpho"; +export type { IMetaMorphoBase } from "./IMetaMorphoBase"; +export type { IMetaMorphoStaticTyping } from "./IMetaMorphoStaticTyping"; +export type { IMulticall } from "./IMulticall"; +export type { IOwnable } from "./IOwnable"; diff --git a/pkg/types/lib/metamorpho/src/interfaces/index.ts b/pkg/types/lib/metamorpho/src/interfaces/index.ts new file mode 100644 index 00000000..cc8fd50e --- /dev/null +++ b/pkg/types/lib/metamorpho/src/interfaces/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as iMetaMorphoSol from "./IMetaMorpho.sol"; +export type { iMetaMorphoSol }; diff --git a/pkg/types/lib/metamorpho/src/libraries/ErrorsLib.ts b/pkg/types/lib/metamorpho/src/libraries/ErrorsLib.ts new file mode 100644 index 00000000..b73e9563 --- /dev/null +++ b/pkg/types/lib/metamorpho/src/libraries/ErrorsLib.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../../common"; + +export interface ErrorsLibInterface extends Interface {} + +export interface ErrorsLib extends BaseContract { + connect(runner?: ContractRunner | null): ErrorsLib; + waitForDeployment(): Promise; + + interface: ErrorsLibInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/pkg/types/lib/metamorpho/src/libraries/EventsLib.ts b/pkg/types/lib/metamorpho/src/libraries/EventsLib.ts new file mode 100644 index 00000000..566db9a8 --- /dev/null +++ b/pkg/types/lib/metamorpho/src/libraries/EventsLib.ts @@ -0,0 +1,905 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, +} from "../../../../common"; + +export interface EventsLibInterface extends Interface { + getEvent( + nameOrSignatureOrTopic: + | "AccrueInterest" + | "CreateMetaMorpho" + | "ReallocateSupply" + | "ReallocateWithdraw" + | "RevokePendingCap" + | "RevokePendingGuardian" + | "RevokePendingMarketRemoval" + | "RevokePendingTimelock" + | "SetCap" + | "SetCurator" + | "SetFee" + | "SetFeeRecipient" + | "SetGuardian" + | "SetIsAllocator" + | "SetSkimRecipient" + | "SetSupplyQueue" + | "SetTimelock" + | "SetWithdrawQueue" + | "Skim" + | "SubmitCap" + | "SubmitGuardian" + | "SubmitMarketRemoval" + | "SubmitTimelock" + | "UpdateLastTotalAssets" + ): EventFragment; +} + +export namespace AccrueInterestEvent { + export type InputTuple = [ + newTotalAssets: BigNumberish, + feeShares: BigNumberish + ]; + export type OutputTuple = [newTotalAssets: bigint, feeShares: bigint]; + export interface OutputObject { + newTotalAssets: bigint; + feeShares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace CreateMetaMorphoEvent { + export type InputTuple = [ + metaMorpho: AddressLike, + caller: AddressLike, + initialOwner: AddressLike, + initialTimelock: BigNumberish, + asset: AddressLike, + name: string, + symbol: string, + salt: BytesLike + ]; + export type OutputTuple = [ + metaMorpho: string, + caller: string, + initialOwner: string, + initialTimelock: bigint, + asset: string, + name: string, + symbol: string, + salt: string + ]; + export interface OutputObject { + metaMorpho: string; + caller: string; + initialOwner: string; + initialTimelock: bigint; + asset: string; + name: string; + symbol: string; + salt: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ReallocateSupplyEvent { + export type InputTuple = [ + caller: AddressLike, + id: BytesLike, + suppliedAssets: BigNumberish, + suppliedShares: BigNumberish + ]; + export type OutputTuple = [ + caller: string, + id: string, + suppliedAssets: bigint, + suppliedShares: bigint + ]; + export interface OutputObject { + caller: string; + id: string; + suppliedAssets: bigint; + suppliedShares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ReallocateWithdrawEvent { + export type InputTuple = [ + caller: AddressLike, + id: BytesLike, + withdrawnAssets: BigNumberish, + withdrawnShares: BigNumberish + ]; + export type OutputTuple = [ + caller: string, + id: string, + withdrawnAssets: bigint, + withdrawnShares: bigint + ]; + export interface OutputObject { + caller: string; + id: string; + withdrawnAssets: bigint; + withdrawnShares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RevokePendingCapEvent { + export type InputTuple = [caller: AddressLike, id: BytesLike]; + export type OutputTuple = [caller: string, id: string]; + export interface OutputObject { + caller: string; + id: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RevokePendingGuardianEvent { + export type InputTuple = [caller: AddressLike]; + export type OutputTuple = [caller: string]; + export interface OutputObject { + caller: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RevokePendingMarketRemovalEvent { + export type InputTuple = [caller: AddressLike, id: BytesLike]; + export type OutputTuple = [caller: string, id: string]; + export interface OutputObject { + caller: string; + id: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RevokePendingTimelockEvent { + export type InputTuple = [caller: AddressLike]; + export type OutputTuple = [caller: string]; + export interface OutputObject { + caller: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetCapEvent { + export type InputTuple = [ + caller: AddressLike, + id: BytesLike, + cap: BigNumberish + ]; + export type OutputTuple = [caller: string, id: string, cap: bigint]; + export interface OutputObject { + caller: string; + id: string; + cap: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetCuratorEvent { + export type InputTuple = [newCurator: AddressLike]; + export type OutputTuple = [newCurator: string]; + export interface OutputObject { + newCurator: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetFeeEvent { + export type InputTuple = [caller: AddressLike, newFee: BigNumberish]; + export type OutputTuple = [caller: string, newFee: bigint]; + export interface OutputObject { + caller: string; + newFee: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetFeeRecipientEvent { + export type InputTuple = [newFeeRecipient: AddressLike]; + export type OutputTuple = [newFeeRecipient: string]; + export interface OutputObject { + newFeeRecipient: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetGuardianEvent { + export type InputTuple = [caller: AddressLike, guardian: AddressLike]; + export type OutputTuple = [caller: string, guardian: string]; + export interface OutputObject { + caller: string; + guardian: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetIsAllocatorEvent { + export type InputTuple = [allocator: AddressLike, isAllocator: boolean]; + export type OutputTuple = [allocator: string, isAllocator: boolean]; + export interface OutputObject { + allocator: string; + isAllocator: boolean; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetSkimRecipientEvent { + export type InputTuple = [newSkimRecipient: AddressLike]; + export type OutputTuple = [newSkimRecipient: string]; + export interface OutputObject { + newSkimRecipient: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetSupplyQueueEvent { + export type InputTuple = [caller: AddressLike, newSupplyQueue: BytesLike[]]; + export type OutputTuple = [caller: string, newSupplyQueue: string[]]; + export interface OutputObject { + caller: string; + newSupplyQueue: string[]; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetTimelockEvent { + export type InputTuple = [caller: AddressLike, newTimelock: BigNumberish]; + export type OutputTuple = [caller: string, newTimelock: bigint]; + export interface OutputObject { + caller: string; + newTimelock: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetWithdrawQueueEvent { + export type InputTuple = [caller: AddressLike, newWithdrawQueue: BytesLike[]]; + export type OutputTuple = [caller: string, newWithdrawQueue: string[]]; + export interface OutputObject { + caller: string; + newWithdrawQueue: string[]; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SkimEvent { + export type InputTuple = [ + caller: AddressLike, + token: AddressLike, + amount: BigNumberish + ]; + export type OutputTuple = [caller: string, token: string, amount: bigint]; + export interface OutputObject { + caller: string; + token: string; + amount: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SubmitCapEvent { + export type InputTuple = [ + caller: AddressLike, + id: BytesLike, + cap: BigNumberish + ]; + export type OutputTuple = [caller: string, id: string, cap: bigint]; + export interface OutputObject { + caller: string; + id: string; + cap: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SubmitGuardianEvent { + export type InputTuple = [newGuardian: AddressLike]; + export type OutputTuple = [newGuardian: string]; + export interface OutputObject { + newGuardian: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SubmitMarketRemovalEvent { + export type InputTuple = [caller: AddressLike, id: BytesLike]; + export type OutputTuple = [caller: string, id: string]; + export interface OutputObject { + caller: string; + id: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SubmitTimelockEvent { + export type InputTuple = [newTimelock: BigNumberish]; + export type OutputTuple = [newTimelock: bigint]; + export interface OutputObject { + newTimelock: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UpdateLastTotalAssetsEvent { + export type InputTuple = [updatedTotalAssets: BigNumberish]; + export type OutputTuple = [updatedTotalAssets: bigint]; + export interface OutputObject { + updatedTotalAssets: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface EventsLib extends BaseContract { + connect(runner?: ContractRunner | null): EventsLib; + waitForDeployment(): Promise; + + interface: EventsLibInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + getEvent( + key: "AccrueInterest" + ): TypedContractEvent< + AccrueInterestEvent.InputTuple, + AccrueInterestEvent.OutputTuple, + AccrueInterestEvent.OutputObject + >; + getEvent( + key: "CreateMetaMorpho" + ): TypedContractEvent< + CreateMetaMorphoEvent.InputTuple, + CreateMetaMorphoEvent.OutputTuple, + CreateMetaMorphoEvent.OutputObject + >; + getEvent( + key: "ReallocateSupply" + ): TypedContractEvent< + ReallocateSupplyEvent.InputTuple, + ReallocateSupplyEvent.OutputTuple, + ReallocateSupplyEvent.OutputObject + >; + getEvent( + key: "ReallocateWithdraw" + ): TypedContractEvent< + ReallocateWithdrawEvent.InputTuple, + ReallocateWithdrawEvent.OutputTuple, + ReallocateWithdrawEvent.OutputObject + >; + getEvent( + key: "RevokePendingCap" + ): TypedContractEvent< + RevokePendingCapEvent.InputTuple, + RevokePendingCapEvent.OutputTuple, + RevokePendingCapEvent.OutputObject + >; + getEvent( + key: "RevokePendingGuardian" + ): TypedContractEvent< + RevokePendingGuardianEvent.InputTuple, + RevokePendingGuardianEvent.OutputTuple, + RevokePendingGuardianEvent.OutputObject + >; + getEvent( + key: "RevokePendingMarketRemoval" + ): TypedContractEvent< + RevokePendingMarketRemovalEvent.InputTuple, + RevokePendingMarketRemovalEvent.OutputTuple, + RevokePendingMarketRemovalEvent.OutputObject + >; + getEvent( + key: "RevokePendingTimelock" + ): TypedContractEvent< + RevokePendingTimelockEvent.InputTuple, + RevokePendingTimelockEvent.OutputTuple, + RevokePendingTimelockEvent.OutputObject + >; + getEvent( + key: "SetCap" + ): TypedContractEvent< + SetCapEvent.InputTuple, + SetCapEvent.OutputTuple, + SetCapEvent.OutputObject + >; + getEvent( + key: "SetCurator" + ): TypedContractEvent< + SetCuratorEvent.InputTuple, + SetCuratorEvent.OutputTuple, + SetCuratorEvent.OutputObject + >; + getEvent( + key: "SetFee" + ): TypedContractEvent< + SetFeeEvent.InputTuple, + SetFeeEvent.OutputTuple, + SetFeeEvent.OutputObject + >; + getEvent( + key: "SetFeeRecipient" + ): TypedContractEvent< + SetFeeRecipientEvent.InputTuple, + SetFeeRecipientEvent.OutputTuple, + SetFeeRecipientEvent.OutputObject + >; + getEvent( + key: "SetGuardian" + ): TypedContractEvent< + SetGuardianEvent.InputTuple, + SetGuardianEvent.OutputTuple, + SetGuardianEvent.OutputObject + >; + getEvent( + key: "SetIsAllocator" + ): TypedContractEvent< + SetIsAllocatorEvent.InputTuple, + SetIsAllocatorEvent.OutputTuple, + SetIsAllocatorEvent.OutputObject + >; + getEvent( + key: "SetSkimRecipient" + ): TypedContractEvent< + SetSkimRecipientEvent.InputTuple, + SetSkimRecipientEvent.OutputTuple, + SetSkimRecipientEvent.OutputObject + >; + getEvent( + key: "SetSupplyQueue" + ): TypedContractEvent< + SetSupplyQueueEvent.InputTuple, + SetSupplyQueueEvent.OutputTuple, + SetSupplyQueueEvent.OutputObject + >; + getEvent( + key: "SetTimelock" + ): TypedContractEvent< + SetTimelockEvent.InputTuple, + SetTimelockEvent.OutputTuple, + SetTimelockEvent.OutputObject + >; + getEvent( + key: "SetWithdrawQueue" + ): TypedContractEvent< + SetWithdrawQueueEvent.InputTuple, + SetWithdrawQueueEvent.OutputTuple, + SetWithdrawQueueEvent.OutputObject + >; + getEvent( + key: "Skim" + ): TypedContractEvent< + SkimEvent.InputTuple, + SkimEvent.OutputTuple, + SkimEvent.OutputObject + >; + getEvent( + key: "SubmitCap" + ): TypedContractEvent< + SubmitCapEvent.InputTuple, + SubmitCapEvent.OutputTuple, + SubmitCapEvent.OutputObject + >; + getEvent( + key: "SubmitGuardian" + ): TypedContractEvent< + SubmitGuardianEvent.InputTuple, + SubmitGuardianEvent.OutputTuple, + SubmitGuardianEvent.OutputObject + >; + getEvent( + key: "SubmitMarketRemoval" + ): TypedContractEvent< + SubmitMarketRemovalEvent.InputTuple, + SubmitMarketRemovalEvent.OutputTuple, + SubmitMarketRemovalEvent.OutputObject + >; + getEvent( + key: "SubmitTimelock" + ): TypedContractEvent< + SubmitTimelockEvent.InputTuple, + SubmitTimelockEvent.OutputTuple, + SubmitTimelockEvent.OutputObject + >; + getEvent( + key: "UpdateLastTotalAssets" + ): TypedContractEvent< + UpdateLastTotalAssetsEvent.InputTuple, + UpdateLastTotalAssetsEvent.OutputTuple, + UpdateLastTotalAssetsEvent.OutputObject + >; + + filters: { + "AccrueInterest(uint256,uint256)": TypedContractEvent< + AccrueInterestEvent.InputTuple, + AccrueInterestEvent.OutputTuple, + AccrueInterestEvent.OutputObject + >; + AccrueInterest: TypedContractEvent< + AccrueInterestEvent.InputTuple, + AccrueInterestEvent.OutputTuple, + AccrueInterestEvent.OutputObject + >; + + "CreateMetaMorpho(address,address,address,uint256,address,string,string,bytes32)": TypedContractEvent< + CreateMetaMorphoEvent.InputTuple, + CreateMetaMorphoEvent.OutputTuple, + CreateMetaMorphoEvent.OutputObject + >; + CreateMetaMorpho: TypedContractEvent< + CreateMetaMorphoEvent.InputTuple, + CreateMetaMorphoEvent.OutputTuple, + CreateMetaMorphoEvent.OutputObject + >; + + "ReallocateSupply(address,bytes32,uint256,uint256)": TypedContractEvent< + ReallocateSupplyEvent.InputTuple, + ReallocateSupplyEvent.OutputTuple, + ReallocateSupplyEvent.OutputObject + >; + ReallocateSupply: TypedContractEvent< + ReallocateSupplyEvent.InputTuple, + ReallocateSupplyEvent.OutputTuple, + ReallocateSupplyEvent.OutputObject + >; + + "ReallocateWithdraw(address,bytes32,uint256,uint256)": TypedContractEvent< + ReallocateWithdrawEvent.InputTuple, + ReallocateWithdrawEvent.OutputTuple, + ReallocateWithdrawEvent.OutputObject + >; + ReallocateWithdraw: TypedContractEvent< + ReallocateWithdrawEvent.InputTuple, + ReallocateWithdrawEvent.OutputTuple, + ReallocateWithdrawEvent.OutputObject + >; + + "RevokePendingCap(address,bytes32)": TypedContractEvent< + RevokePendingCapEvent.InputTuple, + RevokePendingCapEvent.OutputTuple, + RevokePendingCapEvent.OutputObject + >; + RevokePendingCap: TypedContractEvent< + RevokePendingCapEvent.InputTuple, + RevokePendingCapEvent.OutputTuple, + RevokePendingCapEvent.OutputObject + >; + + "RevokePendingGuardian(address)": TypedContractEvent< + RevokePendingGuardianEvent.InputTuple, + RevokePendingGuardianEvent.OutputTuple, + RevokePendingGuardianEvent.OutputObject + >; + RevokePendingGuardian: TypedContractEvent< + RevokePendingGuardianEvent.InputTuple, + RevokePendingGuardianEvent.OutputTuple, + RevokePendingGuardianEvent.OutputObject + >; + + "RevokePendingMarketRemoval(address,bytes32)": TypedContractEvent< + RevokePendingMarketRemovalEvent.InputTuple, + RevokePendingMarketRemovalEvent.OutputTuple, + RevokePendingMarketRemovalEvent.OutputObject + >; + RevokePendingMarketRemoval: TypedContractEvent< + RevokePendingMarketRemovalEvent.InputTuple, + RevokePendingMarketRemovalEvent.OutputTuple, + RevokePendingMarketRemovalEvent.OutputObject + >; + + "RevokePendingTimelock(address)": TypedContractEvent< + RevokePendingTimelockEvent.InputTuple, + RevokePendingTimelockEvent.OutputTuple, + RevokePendingTimelockEvent.OutputObject + >; + RevokePendingTimelock: TypedContractEvent< + RevokePendingTimelockEvent.InputTuple, + RevokePendingTimelockEvent.OutputTuple, + RevokePendingTimelockEvent.OutputObject + >; + + "SetCap(address,bytes32,uint256)": TypedContractEvent< + SetCapEvent.InputTuple, + SetCapEvent.OutputTuple, + SetCapEvent.OutputObject + >; + SetCap: TypedContractEvent< + SetCapEvent.InputTuple, + SetCapEvent.OutputTuple, + SetCapEvent.OutputObject + >; + + "SetCurator(address)": TypedContractEvent< + SetCuratorEvent.InputTuple, + SetCuratorEvent.OutputTuple, + SetCuratorEvent.OutputObject + >; + SetCurator: TypedContractEvent< + SetCuratorEvent.InputTuple, + SetCuratorEvent.OutputTuple, + SetCuratorEvent.OutputObject + >; + + "SetFee(address,uint256)": TypedContractEvent< + SetFeeEvent.InputTuple, + SetFeeEvent.OutputTuple, + SetFeeEvent.OutputObject + >; + SetFee: TypedContractEvent< + SetFeeEvent.InputTuple, + SetFeeEvent.OutputTuple, + SetFeeEvent.OutputObject + >; + + "SetFeeRecipient(address)": TypedContractEvent< + SetFeeRecipientEvent.InputTuple, + SetFeeRecipientEvent.OutputTuple, + SetFeeRecipientEvent.OutputObject + >; + SetFeeRecipient: TypedContractEvent< + SetFeeRecipientEvent.InputTuple, + SetFeeRecipientEvent.OutputTuple, + SetFeeRecipientEvent.OutputObject + >; + + "SetGuardian(address,address)": TypedContractEvent< + SetGuardianEvent.InputTuple, + SetGuardianEvent.OutputTuple, + SetGuardianEvent.OutputObject + >; + SetGuardian: TypedContractEvent< + SetGuardianEvent.InputTuple, + SetGuardianEvent.OutputTuple, + SetGuardianEvent.OutputObject + >; + + "SetIsAllocator(address,bool)": TypedContractEvent< + SetIsAllocatorEvent.InputTuple, + SetIsAllocatorEvent.OutputTuple, + SetIsAllocatorEvent.OutputObject + >; + SetIsAllocator: TypedContractEvent< + SetIsAllocatorEvent.InputTuple, + SetIsAllocatorEvent.OutputTuple, + SetIsAllocatorEvent.OutputObject + >; + + "SetSkimRecipient(address)": TypedContractEvent< + SetSkimRecipientEvent.InputTuple, + SetSkimRecipientEvent.OutputTuple, + SetSkimRecipientEvent.OutputObject + >; + SetSkimRecipient: TypedContractEvent< + SetSkimRecipientEvent.InputTuple, + SetSkimRecipientEvent.OutputTuple, + SetSkimRecipientEvent.OutputObject + >; + + "SetSupplyQueue(address,bytes32[])": TypedContractEvent< + SetSupplyQueueEvent.InputTuple, + SetSupplyQueueEvent.OutputTuple, + SetSupplyQueueEvent.OutputObject + >; + SetSupplyQueue: TypedContractEvent< + SetSupplyQueueEvent.InputTuple, + SetSupplyQueueEvent.OutputTuple, + SetSupplyQueueEvent.OutputObject + >; + + "SetTimelock(address,uint256)": TypedContractEvent< + SetTimelockEvent.InputTuple, + SetTimelockEvent.OutputTuple, + SetTimelockEvent.OutputObject + >; + SetTimelock: TypedContractEvent< + SetTimelockEvent.InputTuple, + SetTimelockEvent.OutputTuple, + SetTimelockEvent.OutputObject + >; + + "SetWithdrawQueue(address,bytes32[])": TypedContractEvent< + SetWithdrawQueueEvent.InputTuple, + SetWithdrawQueueEvent.OutputTuple, + SetWithdrawQueueEvent.OutputObject + >; + SetWithdrawQueue: TypedContractEvent< + SetWithdrawQueueEvent.InputTuple, + SetWithdrawQueueEvent.OutputTuple, + SetWithdrawQueueEvent.OutputObject + >; + + "Skim(address,address,uint256)": TypedContractEvent< + SkimEvent.InputTuple, + SkimEvent.OutputTuple, + SkimEvent.OutputObject + >; + Skim: TypedContractEvent< + SkimEvent.InputTuple, + SkimEvent.OutputTuple, + SkimEvent.OutputObject + >; + + "SubmitCap(address,bytes32,uint256)": TypedContractEvent< + SubmitCapEvent.InputTuple, + SubmitCapEvent.OutputTuple, + SubmitCapEvent.OutputObject + >; + SubmitCap: TypedContractEvent< + SubmitCapEvent.InputTuple, + SubmitCapEvent.OutputTuple, + SubmitCapEvent.OutputObject + >; + + "SubmitGuardian(address)": TypedContractEvent< + SubmitGuardianEvent.InputTuple, + SubmitGuardianEvent.OutputTuple, + SubmitGuardianEvent.OutputObject + >; + SubmitGuardian: TypedContractEvent< + SubmitGuardianEvent.InputTuple, + SubmitGuardianEvent.OutputTuple, + SubmitGuardianEvent.OutputObject + >; + + "SubmitMarketRemoval(address,bytes32)": TypedContractEvent< + SubmitMarketRemovalEvent.InputTuple, + SubmitMarketRemovalEvent.OutputTuple, + SubmitMarketRemovalEvent.OutputObject + >; + SubmitMarketRemoval: TypedContractEvent< + SubmitMarketRemovalEvent.InputTuple, + SubmitMarketRemovalEvent.OutputTuple, + SubmitMarketRemovalEvent.OutputObject + >; + + "SubmitTimelock(uint256)": TypedContractEvent< + SubmitTimelockEvent.InputTuple, + SubmitTimelockEvent.OutputTuple, + SubmitTimelockEvent.OutputObject + >; + SubmitTimelock: TypedContractEvent< + SubmitTimelockEvent.InputTuple, + SubmitTimelockEvent.OutputTuple, + SubmitTimelockEvent.OutputObject + >; + + "UpdateLastTotalAssets(uint256)": TypedContractEvent< + UpdateLastTotalAssetsEvent.InputTuple, + UpdateLastTotalAssetsEvent.OutputTuple, + UpdateLastTotalAssetsEvent.OutputObject + >; + UpdateLastTotalAssets: TypedContractEvent< + UpdateLastTotalAssetsEvent.InputTuple, + UpdateLastTotalAssetsEvent.OutputTuple, + UpdateLastTotalAssetsEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/metamorpho/src/libraries/index.ts b/pkg/types/lib/metamorpho/src/libraries/index.ts new file mode 100644 index 00000000..368141e2 --- /dev/null +++ b/pkg/types/lib/metamorpho/src/libraries/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ErrorsLib } from "./ErrorsLib"; +export type { EventsLib } from "./EventsLib"; diff --git a/pkg/types/lib/morpho-blue-irm/index.ts b/pkg/types/lib/morpho-blue-irm/index.ts new file mode 100644 index 00000000..ccf9a6e8 --- /dev/null +++ b/pkg/types/lib/morpho-blue-irm/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as lib from "./lib"; +export type { lib }; +import type * as src from "./src"; +export type { src }; diff --git a/pkg/types/lib/morpho-blue-irm/lib/index.ts b/pkg/types/lib/morpho-blue-irm/lib/index.ts new file mode 100644 index 00000000..82918b48 --- /dev/null +++ b/pkg/types/lib/morpho-blue-irm/lib/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as morphoBlue from "./morpho-blue"; +export type { morphoBlue }; diff --git a/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/index.ts b/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/index.ts new file mode 100644 index 00000000..f68cafed --- /dev/null +++ b/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as src from "./src"; +export type { src }; diff --git a/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/index.ts b/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/index.ts new file mode 100644 index 00000000..92159233 --- /dev/null +++ b/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; diff --git a/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IIrm.ts b/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IIrm.ts new file mode 100644 index 00000000..5e3c34b7 --- /dev/null +++ b/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IIrm.ts @@ -0,0 +1,167 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketStruct = { + totalSupplyAssets: BigNumberish; + totalSupplyShares: BigNumberish; + totalBorrowAssets: BigNumberish; + totalBorrowShares: BigNumberish; + lastUpdate: BigNumberish; + fee: BigNumberish; +}; + +export type MarketStructOutput = [ + totalSupplyAssets: bigint, + totalSupplyShares: bigint, + totalBorrowAssets: bigint, + totalBorrowShares: bigint, + lastUpdate: bigint, + fee: bigint +] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; +}; + +export interface IIrmInterface extends Interface { + getFunction( + nameOrSignature: "borrowRate" | "borrowRateView" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "borrowRate", + values: [MarketParamsStruct, MarketStruct] + ): string; + encodeFunctionData( + functionFragment: "borrowRateView", + values: [MarketParamsStruct, MarketStruct] + ): string; + + decodeFunctionResult(functionFragment: "borrowRate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "borrowRateView", + data: BytesLike + ): Result; +} + +export interface IIrm extends BaseContract { + connect(runner?: ContractRunner | null): IIrm; + waitForDeployment(): Promise; + + interface: IIrmInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + borrowRate: TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "nonpayable" + >; + + borrowRateView: TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "borrowRate" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrowRateView" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "view" + >; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho.ts b/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho.ts new file mode 100644 index 00000000..e7503db1 --- /dev/null +++ b/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho.ts @@ -0,0 +1,746 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketStruct = { + totalSupplyAssets: BigNumberish; + totalSupplyShares: BigNumberish; + totalBorrowAssets: BigNumberish; + totalBorrowShares: BigNumberish; + lastUpdate: BigNumberish; + fee: BigNumberish; +}; + +export type MarketStructOutput = [ + totalSupplyAssets: bigint, + totalSupplyShares: bigint, + totalBorrowAssets: bigint, + totalBorrowShares: bigint, + lastUpdate: bigint, + fee: bigint +] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; +}; + +export type PositionStruct = { + supplyShares: BigNumberish; + borrowShares: BigNumberish; + collateral: BigNumberish; +}; + +export type PositionStructOutput = [ + supplyShares: bigint, + borrowShares: bigint, + collateral: bigint +] & { supplyShares: bigint; borrowShares: bigint; collateral: bigint }; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export interface IMorphoInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "accrueInterest" + | "borrow" + | "createMarket" + | "enableIrm" + | "enableLltv" + | "extSloads" + | "feeRecipient" + | "flashLoan" + | "idToMarketParams" + | "isAuthorized" + | "isIrmEnabled" + | "isLltvEnabled" + | "liquidate" + | "market" + | "nonce" + | "owner" + | "position" + | "repay" + | "setAuthorization" + | "setAuthorizationWithSig" + | "setFee" + | "setFeeRecipient" + | "setOwner" + | "supply" + | "supplyCollateral" + | "withdraw" + | "withdrawCollateral" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "accrueInterest", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "createMarket", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "enableIrm", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "enableLltv", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "extSloads", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "flashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "idToMarketParams", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "isAuthorized", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isIrmEnabled", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isLltvEnabled", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "liquidate", + values: [ + MarketParamsStruct, + AddressLike, + BigNumberish, + BigNumberish, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "market", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "nonce", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "position", + values: [BytesLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "repay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "setAuthorization", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "supply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "supplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "withdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "accrueInterest", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "createMarket", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "enableIrm", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "enableLltv", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "extSloads", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "idToMarketParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isAuthorized", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isIrmEnabled", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isLltvEnabled", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "liquidate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "market", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonce", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "position", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setAuthorization", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawCollateral", + data: BytesLike + ): Result; +} + +export interface IMorpho extends BaseContract { + connect(runner?: ContractRunner | null): IMorpho; + waitForDeployment(): Promise; + + interface: IMorphoInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + accrueInterest: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + borrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + + createMarket: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + enableIrm: TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + + enableLltv: TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + + extSloads: TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + flashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + idToMarketParams: TypedContractMethod< + [id: BytesLike], + [MarketParamsStructOutput], + "view" + >; + + isAuthorized: TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + + isIrmEnabled: TypedContractMethod<[irm: AddressLike], [boolean], "view">; + + isLltvEnabled: TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + + liquidate: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + market: TypedContractMethod<[id: BytesLike], [MarketStructOutput], "view">; + + nonce: TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + position: TypedContractMethod< + [id: BytesLike, user: AddressLike], + [PositionStructOutput], + "view" + >; + + repay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + + setAuthorization: TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + + setAuthorizationWithSig: TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + supply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + + supplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + + withdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accrueInterest" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "createMarket" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "enableIrm" + ): TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "enableLltv" + ): TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "extSloads" + ): TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "flashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "idToMarketParams" + ): TypedContractMethod<[id: BytesLike], [MarketParamsStructOutput], "view">; + getFunction( + nameOrSignature: "isAuthorized" + ): TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "isIrmEnabled" + ): TypedContractMethod<[irm: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "isLltvEnabled" + ): TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "liquidate" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "market" + ): TypedContractMethod<[id: BytesLike], [MarketStructOutput], "view">; + getFunction( + nameOrSignature: "nonce" + ): TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "position" + ): TypedContractMethod< + [id: BytesLike, user: AddressLike], + [PositionStructOutput], + "view" + >; + getFunction( + nameOrSignature: "repay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorization" + ): TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorizationWithSig" + ): TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "supply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase.ts b/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase.ts new file mode 100644 index 00000000..8c8a03b2 --- /dev/null +++ b/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase.ts @@ -0,0 +1,664 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export interface IMorphoBaseInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "accrueInterest" + | "borrow" + | "createMarket" + | "enableIrm" + | "enableLltv" + | "extSloads" + | "feeRecipient" + | "flashLoan" + | "isAuthorized" + | "isIrmEnabled" + | "isLltvEnabled" + | "liquidate" + | "nonce" + | "owner" + | "repay" + | "setAuthorization" + | "setAuthorizationWithSig" + | "setFee" + | "setFeeRecipient" + | "setOwner" + | "supply" + | "supplyCollateral" + | "withdraw" + | "withdrawCollateral" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "accrueInterest", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "createMarket", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "enableIrm", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "enableLltv", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "extSloads", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "flashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "isAuthorized", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isIrmEnabled", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isLltvEnabled", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "liquidate", + values: [ + MarketParamsStruct, + AddressLike, + BigNumberish, + BigNumberish, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "nonce", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "repay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "setAuthorization", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "supply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "supplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "withdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "accrueInterest", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "createMarket", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "enableIrm", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "enableLltv", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "extSloads", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isAuthorized", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isIrmEnabled", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isLltvEnabled", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "liquidate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonce", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setAuthorization", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawCollateral", + data: BytesLike + ): Result; +} + +export interface IMorphoBase extends BaseContract { + connect(runner?: ContractRunner | null): IMorphoBase; + waitForDeployment(): Promise; + + interface: IMorphoBaseInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + accrueInterest: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + borrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + + createMarket: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + enableIrm: TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + + enableLltv: TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + + extSloads: TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + flashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + isAuthorized: TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + + isIrmEnabled: TypedContractMethod<[irm: AddressLike], [boolean], "view">; + + isLltvEnabled: TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + + liquidate: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + nonce: TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + repay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + + setAuthorization: TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + + setAuthorizationWithSig: TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + supply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + + supplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + + withdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accrueInterest" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "createMarket" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "enableIrm" + ): TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "enableLltv" + ): TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "extSloads" + ): TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "flashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "isAuthorized" + ): TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "isIrmEnabled" + ): TypedContractMethod<[irm: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "isLltvEnabled" + ): TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "liquidate" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "nonce" + ): TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "repay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorization" + ): TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorizationWithSig" + ): TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "supply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping.ts b/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping.ts new file mode 100644 index 00000000..ba5eb2d6 --- /dev/null +++ b/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping.ts @@ -0,0 +1,767 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export interface IMorphoStaticTypingInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "accrueInterest" + | "borrow" + | "createMarket" + | "enableIrm" + | "enableLltv" + | "extSloads" + | "feeRecipient" + | "flashLoan" + | "idToMarketParams" + | "isAuthorized" + | "isIrmEnabled" + | "isLltvEnabled" + | "liquidate" + | "market" + | "nonce" + | "owner" + | "position" + | "repay" + | "setAuthorization" + | "setAuthorizationWithSig" + | "setFee" + | "setFeeRecipient" + | "setOwner" + | "supply" + | "supplyCollateral" + | "withdraw" + | "withdrawCollateral" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "accrueInterest", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "createMarket", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "enableIrm", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "enableLltv", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "extSloads", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "flashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "idToMarketParams", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "isAuthorized", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isIrmEnabled", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isLltvEnabled", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "liquidate", + values: [ + MarketParamsStruct, + AddressLike, + BigNumberish, + BigNumberish, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "market", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "nonce", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "position", + values: [BytesLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "repay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "setAuthorization", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "supply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "supplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "withdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "accrueInterest", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "createMarket", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "enableIrm", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "enableLltv", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "extSloads", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "idToMarketParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isAuthorized", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isIrmEnabled", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isLltvEnabled", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "liquidate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "market", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonce", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "position", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setAuthorization", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawCollateral", + data: BytesLike + ): Result; +} + +export interface IMorphoStaticTyping extends BaseContract { + connect(runner?: ContractRunner | null): IMorphoStaticTyping; + waitForDeployment(): Promise; + + interface: IMorphoStaticTypingInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + accrueInterest: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + borrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + + createMarket: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + enableIrm: TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + + enableLltv: TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + + extSloads: TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + flashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + idToMarketParams: TypedContractMethod< + [id: BytesLike], + [ + [string, string, string, string, bigint] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; + } + ], + "view" + >; + + isAuthorized: TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + + isIrmEnabled: TypedContractMethod<[irm: AddressLike], [boolean], "view">; + + isLltvEnabled: TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + + liquidate: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + market: TypedContractMethod< + [id: BytesLike], + [ + [bigint, bigint, bigint, bigint, bigint, bigint] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; + } + ], + "view" + >; + + nonce: TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + position: TypedContractMethod< + [id: BytesLike, user: AddressLike], + [ + [bigint, bigint, bigint] & { + supplyShares: bigint; + borrowShares: bigint; + collateral: bigint; + } + ], + "view" + >; + + repay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + + setAuthorization: TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + + setAuthorizationWithSig: TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + supply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + + supplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + + withdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accrueInterest" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "createMarket" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "enableIrm" + ): TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "enableLltv" + ): TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "extSloads" + ): TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "flashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "idToMarketParams" + ): TypedContractMethod< + [id: BytesLike], + [ + [string, string, string, string, bigint] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "isAuthorized" + ): TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "isIrmEnabled" + ): TypedContractMethod<[irm: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "isLltvEnabled" + ): TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "liquidate" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "market" + ): TypedContractMethod< + [id: BytesLike], + [ + [bigint, bigint, bigint, bigint, bigint, bigint] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "nonce" + ): TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "position" + ): TypedContractMethod< + [id: BytesLike, user: AddressLike], + [ + [bigint, bigint, bigint] & { + supplyShares: bigint; + borrowShares: bigint; + collateral: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "repay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorization" + ): TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorizationWithSig" + ): TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "supply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts b/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts new file mode 100644 index 00000000..6839f78a --- /dev/null +++ b/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IMorpho } from "./IMorpho"; +export type { IMorphoBase } from "./IMorphoBase"; +export type { IMorphoStaticTyping } from "./IMorphoStaticTyping"; diff --git a/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/index.ts b/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/index.ts new file mode 100644 index 00000000..dc63e253 --- /dev/null +++ b/pkg/types/lib/morpho-blue-irm/lib/morpho-blue/src/interfaces/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as iMorphoSol from "./IMorpho.sol"; +export type { iMorphoSol }; +export type { IIrm } from "./IIrm"; diff --git a/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/AdaptiveCurveIrm.ts b/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/AdaptiveCurveIrm.ts new file mode 100644 index 00000000..35d74579 --- /dev/null +++ b/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/AdaptiveCurveIrm.ts @@ -0,0 +1,232 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketStruct = { + totalSupplyAssets: BigNumberish; + totalSupplyShares: BigNumberish; + totalBorrowAssets: BigNumberish; + totalBorrowShares: BigNumberish; + lastUpdate: BigNumberish; + fee: BigNumberish; +}; + +export type MarketStructOutput = [ + totalSupplyAssets: bigint, + totalSupplyShares: bigint, + totalBorrowAssets: bigint, + totalBorrowShares: bigint, + lastUpdate: bigint, + fee: bigint +] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; +}; + +export interface AdaptiveCurveIrmInterface extends Interface { + getFunction( + nameOrSignature: "MORPHO" | "borrowRate" | "borrowRateView" | "rateAtTarget" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "BorrowRateUpdate"): EventFragment; + + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "borrowRate", + values: [MarketParamsStruct, MarketStruct] + ): string; + encodeFunctionData( + functionFragment: "borrowRateView", + values: [MarketParamsStruct, MarketStruct] + ): string; + encodeFunctionData( + functionFragment: "rateAtTarget", + values: [BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "borrowRate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "borrowRateView", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "rateAtTarget", + data: BytesLike + ): Result; +} + +export namespace BorrowRateUpdateEvent { + export type InputTuple = [ + id: BytesLike, + avgBorrowRate: BigNumberish, + rateAtTarget: BigNumberish + ]; + export type OutputTuple = [ + id: string, + avgBorrowRate: bigint, + rateAtTarget: bigint + ]; + export interface OutputObject { + id: string; + avgBorrowRate: bigint; + rateAtTarget: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface AdaptiveCurveIrm extends BaseContract { + connect(runner?: ContractRunner | null): AdaptiveCurveIrm; + waitForDeployment(): Promise; + + interface: AdaptiveCurveIrmInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + MORPHO: TypedContractMethod<[], [string], "view">; + + borrowRate: TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "nonpayable" + >; + + borrowRateView: TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "view" + >; + + rateAtTarget: TypedContractMethod<[arg0: BytesLike], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "borrowRate" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrowRateView" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "rateAtTarget" + ): TypedContractMethod<[arg0: BytesLike], [bigint], "view">; + + getEvent( + key: "BorrowRateUpdate" + ): TypedContractEvent< + BorrowRateUpdateEvent.InputTuple, + BorrowRateUpdateEvent.OutputTuple, + BorrowRateUpdateEvent.OutputObject + >; + + filters: { + "BorrowRateUpdate(bytes32,uint256,uint256)": TypedContractEvent< + BorrowRateUpdateEvent.InputTuple, + BorrowRateUpdateEvent.OutputTuple, + BorrowRateUpdateEvent.OutputObject + >; + BorrowRateUpdate: TypedContractEvent< + BorrowRateUpdateEvent.InputTuple, + BorrowRateUpdateEvent.OutputTuple, + BorrowRateUpdateEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/index.ts b/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/index.ts new file mode 100644 index 00000000..824be417 --- /dev/null +++ b/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; +import type * as libraries from "./libraries"; +export type { libraries }; +export type { AdaptiveCurveIrm } from "./AdaptiveCurveIrm"; diff --git a/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/interfaces/IAdaptiveCurveIrm.ts b/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/interfaces/IAdaptiveCurveIrm.ts new file mode 100644 index 00000000..968a8b77 --- /dev/null +++ b/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/interfaces/IAdaptiveCurveIrm.ts @@ -0,0 +1,187 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketStruct = { + totalSupplyAssets: BigNumberish; + totalSupplyShares: BigNumberish; + totalBorrowAssets: BigNumberish; + totalBorrowShares: BigNumberish; + lastUpdate: BigNumberish; + fee: BigNumberish; +}; + +export type MarketStructOutput = [ + totalSupplyAssets: bigint, + totalSupplyShares: bigint, + totalBorrowAssets: bigint, + totalBorrowShares: bigint, + lastUpdate: bigint, + fee: bigint +] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; +}; + +export interface IAdaptiveCurveIrmInterface extends Interface { + getFunction( + nameOrSignature: "MORPHO" | "borrowRate" | "borrowRateView" | "rateAtTarget" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "borrowRate", + values: [MarketParamsStruct, MarketStruct] + ): string; + encodeFunctionData( + functionFragment: "borrowRateView", + values: [MarketParamsStruct, MarketStruct] + ): string; + encodeFunctionData( + functionFragment: "rateAtTarget", + values: [BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "borrowRate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "borrowRateView", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "rateAtTarget", + data: BytesLike + ): Result; +} + +export interface IAdaptiveCurveIrm extends BaseContract { + connect(runner?: ContractRunner | null): IAdaptiveCurveIrm; + waitForDeployment(): Promise; + + interface: IAdaptiveCurveIrmInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + MORPHO: TypedContractMethod<[], [string], "view">; + + borrowRate: TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "nonpayable" + >; + + borrowRateView: TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "view" + >; + + rateAtTarget: TypedContractMethod<[id: BytesLike], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "borrowRate" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrowRateView" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "rateAtTarget" + ): TypedContractMethod<[id: BytesLike], [bigint], "view">; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/interfaces/index.ts b/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/interfaces/index.ts new file mode 100644 index 00000000..1326bbcb --- /dev/null +++ b/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IAdaptiveCurveIrm } from "./IAdaptiveCurveIrm"; diff --git a/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/libraries/ConstantsLib.ts b/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/libraries/ConstantsLib.ts new file mode 100644 index 00000000..163c0b3e --- /dev/null +++ b/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/libraries/ConstantsLib.ts @@ -0,0 +1,163 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface ConstantsLibInterface extends Interface { + getFunction( + nameOrSignature: + | "ADJUSTMENT_SPEED" + | "CURVE_STEEPNESS" + | "INITIAL_RATE_AT_TARGET" + | "MAX_RATE_AT_TARGET" + | "MIN_RATE_AT_TARGET" + | "TARGET_UTILIZATION" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "ADJUSTMENT_SPEED", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "CURVE_STEEPNESS", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "INITIAL_RATE_AT_TARGET", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "MAX_RATE_AT_TARGET", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "MIN_RATE_AT_TARGET", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "TARGET_UTILIZATION", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "ADJUSTMENT_SPEED", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "CURVE_STEEPNESS", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "INITIAL_RATE_AT_TARGET", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "MAX_RATE_AT_TARGET", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "MIN_RATE_AT_TARGET", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "TARGET_UTILIZATION", + data: BytesLike + ): Result; +} + +export interface ConstantsLib extends BaseContract { + connect(runner?: ContractRunner | null): ConstantsLib; + waitForDeployment(): Promise; + + interface: ConstantsLibInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + ADJUSTMENT_SPEED: TypedContractMethod<[], [bigint], "view">; + + CURVE_STEEPNESS: TypedContractMethod<[], [bigint], "view">; + + INITIAL_RATE_AT_TARGET: TypedContractMethod<[], [bigint], "view">; + + MAX_RATE_AT_TARGET: TypedContractMethod<[], [bigint], "view">; + + MIN_RATE_AT_TARGET: TypedContractMethod<[], [bigint], "view">; + + TARGET_UTILIZATION: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "ADJUSTMENT_SPEED" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "CURVE_STEEPNESS" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "INITIAL_RATE_AT_TARGET" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "MAX_RATE_AT_TARGET" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "MIN_RATE_AT_TARGET" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "TARGET_UTILIZATION" + ): TypedContractMethod<[], [bigint], "view">; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/libraries/index.ts b/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/libraries/index.ts new file mode 100644 index 00000000..17ccd201 --- /dev/null +++ b/pkg/types/lib/morpho-blue-irm/src/adaptive-curve-irm/libraries/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ConstantsLib } from "./ConstantsLib"; diff --git a/pkg/types/lib/morpho-blue-irm/src/index.ts b/pkg/types/lib/morpho-blue-irm/src/index.ts new file mode 100644 index 00000000..4dfe2ff0 --- /dev/null +++ b/pkg/types/lib/morpho-blue-irm/src/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as adaptiveCurveIrm from "./adaptive-curve-irm"; +export type { adaptiveCurveIrm }; diff --git a/pkg/types/lib/morpho-blue/index.ts b/pkg/types/lib/morpho-blue/index.ts new file mode 100644 index 00000000..f68cafed --- /dev/null +++ b/pkg/types/lib/morpho-blue/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as src from "./src"; +export type { src }; diff --git a/pkg/types/lib/morpho-blue/src/Morpho.ts b/pkg/types/lib/morpho-blue/src/Morpho.ts new file mode 100644 index 00000000..8b7e9539 --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/Morpho.ts @@ -0,0 +1,767 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export interface MorphoInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "accrueInterest" + | "borrow" + | "createMarket" + | "enableIrm" + | "enableLltv" + | "extSloads" + | "feeRecipient" + | "flashLoan" + | "idToMarketParams" + | "isAuthorized" + | "isIrmEnabled" + | "isLltvEnabled" + | "liquidate" + | "market" + | "nonce" + | "owner" + | "position" + | "repay" + | "setAuthorization" + | "setAuthorizationWithSig" + | "setFee" + | "setFeeRecipient" + | "setOwner" + | "supply" + | "supplyCollateral" + | "withdraw" + | "withdrawCollateral" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "accrueInterest", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "createMarket", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "enableIrm", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "enableLltv", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "extSloads", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "flashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "idToMarketParams", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "isAuthorized", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isIrmEnabled", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isLltvEnabled", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "liquidate", + values: [ + MarketParamsStruct, + AddressLike, + BigNumberish, + BigNumberish, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "market", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "nonce", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "position", + values: [BytesLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "repay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "setAuthorization", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "supply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "supplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "withdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "accrueInterest", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "createMarket", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "enableIrm", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "enableLltv", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "extSloads", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "idToMarketParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isAuthorized", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isIrmEnabled", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isLltvEnabled", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "liquidate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "market", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonce", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "position", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setAuthorization", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawCollateral", + data: BytesLike + ): Result; +} + +export interface Morpho extends BaseContract { + connect(runner?: ContractRunner | null): Morpho; + waitForDeployment(): Promise; + + interface: MorphoInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + accrueInterest: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + borrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + createMarket: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + enableIrm: TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + + enableLltv: TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + + extSloads: TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + flashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + idToMarketParams: TypedContractMethod< + [arg0: BytesLike], + [ + [string, string, string, string, bigint] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; + } + ], + "view" + >; + + isAuthorized: TypedContractMethod< + [arg0: AddressLike, arg1: AddressLike], + [boolean], + "view" + >; + + isIrmEnabled: TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + + isLltvEnabled: TypedContractMethod<[arg0: BigNumberish], [boolean], "view">; + + liquidate: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + market: TypedContractMethod< + [arg0: BytesLike], + [ + [bigint, bigint, bigint, bigint, bigint, bigint] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; + } + ], + "view" + >; + + nonce: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + position: TypedContractMethod< + [arg0: BytesLike, arg1: AddressLike], + [ + [bigint, bigint, bigint] & { + supplyShares: bigint; + borrowShares: bigint; + collateral: bigint; + } + ], + "view" + >; + + repay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + setAuthorization: TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + + setAuthorizationWithSig: TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + supply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + supplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + withdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accrueInterest" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "createMarket" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "enableIrm" + ): TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "enableLltv" + ): TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "extSloads" + ): TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "flashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "idToMarketParams" + ): TypedContractMethod< + [arg0: BytesLike], + [ + [string, string, string, string, bigint] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "isAuthorized" + ): TypedContractMethod< + [arg0: AddressLike, arg1: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "isIrmEnabled" + ): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "isLltvEnabled" + ): TypedContractMethod<[arg0: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "liquidate" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "market" + ): TypedContractMethod< + [arg0: BytesLike], + [ + [bigint, bigint, bigint, bigint, bigint, bigint] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "nonce" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "position" + ): TypedContractMethod< + [arg0: BytesLike, arg1: AddressLike], + [ + [bigint, bigint, bigint] & { + supplyShares: bigint; + borrowShares: bigint; + collateral: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "repay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorization" + ): TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorizationWithSig" + ): TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "supply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue/src/index.ts b/pkg/types/lib/morpho-blue/src/index.ts new file mode 100644 index 00000000..bffeaaac --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; +import type * as libraries from "./libraries"; +export type { libraries }; +export type { Morpho } from "./Morpho"; diff --git a/pkg/types/lib/morpho-blue/src/interfaces/IIrm.ts b/pkg/types/lib/morpho-blue/src/interfaces/IIrm.ts new file mode 100644 index 00000000..1290894b --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/interfaces/IIrm.ts @@ -0,0 +1,167 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketStruct = { + totalSupplyAssets: BigNumberish; + totalSupplyShares: BigNumberish; + totalBorrowAssets: BigNumberish; + totalBorrowShares: BigNumberish; + lastUpdate: BigNumberish; + fee: BigNumberish; +}; + +export type MarketStructOutput = [ + totalSupplyAssets: bigint, + totalSupplyShares: bigint, + totalBorrowAssets: bigint, + totalBorrowShares: bigint, + lastUpdate: bigint, + fee: bigint +] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; +}; + +export interface IIrmInterface extends Interface { + getFunction( + nameOrSignature: "borrowRate" | "borrowRateView" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "borrowRate", + values: [MarketParamsStruct, MarketStruct] + ): string; + encodeFunctionData( + functionFragment: "borrowRateView", + values: [MarketParamsStruct, MarketStruct] + ): string; + + decodeFunctionResult(functionFragment: "borrowRate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "borrowRateView", + data: BytesLike + ): Result; +} + +export interface IIrm extends BaseContract { + connect(runner?: ContractRunner | null): IIrm; + waitForDeployment(): Promise; + + interface: IIrmInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + borrowRate: TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "nonpayable" + >; + + borrowRateView: TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "borrowRate" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrowRateView" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "view" + >; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho.ts b/pkg/types/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho.ts new file mode 100644 index 00000000..59d0e968 --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho.ts @@ -0,0 +1,746 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketStruct = { + totalSupplyAssets: BigNumberish; + totalSupplyShares: BigNumberish; + totalBorrowAssets: BigNumberish; + totalBorrowShares: BigNumberish; + lastUpdate: BigNumberish; + fee: BigNumberish; +}; + +export type MarketStructOutput = [ + totalSupplyAssets: bigint, + totalSupplyShares: bigint, + totalBorrowAssets: bigint, + totalBorrowShares: bigint, + lastUpdate: bigint, + fee: bigint +] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; +}; + +export type PositionStruct = { + supplyShares: BigNumberish; + borrowShares: BigNumberish; + collateral: BigNumberish; +}; + +export type PositionStructOutput = [ + supplyShares: bigint, + borrowShares: bigint, + collateral: bigint +] & { supplyShares: bigint; borrowShares: bigint; collateral: bigint }; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export interface IMorphoInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "accrueInterest" + | "borrow" + | "createMarket" + | "enableIrm" + | "enableLltv" + | "extSloads" + | "feeRecipient" + | "flashLoan" + | "idToMarketParams" + | "isAuthorized" + | "isIrmEnabled" + | "isLltvEnabled" + | "liquidate" + | "market" + | "nonce" + | "owner" + | "position" + | "repay" + | "setAuthorization" + | "setAuthorizationWithSig" + | "setFee" + | "setFeeRecipient" + | "setOwner" + | "supply" + | "supplyCollateral" + | "withdraw" + | "withdrawCollateral" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "accrueInterest", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "createMarket", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "enableIrm", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "enableLltv", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "extSloads", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "flashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "idToMarketParams", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "isAuthorized", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isIrmEnabled", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isLltvEnabled", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "liquidate", + values: [ + MarketParamsStruct, + AddressLike, + BigNumberish, + BigNumberish, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "market", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "nonce", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "position", + values: [BytesLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "repay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "setAuthorization", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "supply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "supplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "withdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "accrueInterest", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "createMarket", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "enableIrm", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "enableLltv", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "extSloads", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "idToMarketParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isAuthorized", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isIrmEnabled", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isLltvEnabled", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "liquidate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "market", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonce", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "position", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setAuthorization", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawCollateral", + data: BytesLike + ): Result; +} + +export interface IMorpho extends BaseContract { + connect(runner?: ContractRunner | null): IMorpho; + waitForDeployment(): Promise; + + interface: IMorphoInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + accrueInterest: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + borrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + + createMarket: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + enableIrm: TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + + enableLltv: TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + + extSloads: TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + flashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + idToMarketParams: TypedContractMethod< + [id: BytesLike], + [MarketParamsStructOutput], + "view" + >; + + isAuthorized: TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + + isIrmEnabled: TypedContractMethod<[irm: AddressLike], [boolean], "view">; + + isLltvEnabled: TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + + liquidate: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + market: TypedContractMethod<[id: BytesLike], [MarketStructOutput], "view">; + + nonce: TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + position: TypedContractMethod< + [id: BytesLike, user: AddressLike], + [PositionStructOutput], + "view" + >; + + repay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + + setAuthorization: TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + + setAuthorizationWithSig: TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + supply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + + supplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + + withdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accrueInterest" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "createMarket" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "enableIrm" + ): TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "enableLltv" + ): TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "extSloads" + ): TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "flashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "idToMarketParams" + ): TypedContractMethod<[id: BytesLike], [MarketParamsStructOutput], "view">; + getFunction( + nameOrSignature: "isAuthorized" + ): TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "isIrmEnabled" + ): TypedContractMethod<[irm: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "isLltvEnabled" + ): TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "liquidate" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "market" + ): TypedContractMethod<[id: BytesLike], [MarketStructOutput], "view">; + getFunction( + nameOrSignature: "nonce" + ): TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "position" + ): TypedContractMethod< + [id: BytesLike, user: AddressLike], + [PositionStructOutput], + "view" + >; + getFunction( + nameOrSignature: "repay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorization" + ): TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorizationWithSig" + ): TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "supply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase.ts b/pkg/types/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase.ts new file mode 100644 index 00000000..486dbfe2 --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase.ts @@ -0,0 +1,664 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export interface IMorphoBaseInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "accrueInterest" + | "borrow" + | "createMarket" + | "enableIrm" + | "enableLltv" + | "extSloads" + | "feeRecipient" + | "flashLoan" + | "isAuthorized" + | "isIrmEnabled" + | "isLltvEnabled" + | "liquidate" + | "nonce" + | "owner" + | "repay" + | "setAuthorization" + | "setAuthorizationWithSig" + | "setFee" + | "setFeeRecipient" + | "setOwner" + | "supply" + | "supplyCollateral" + | "withdraw" + | "withdrawCollateral" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "accrueInterest", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "createMarket", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "enableIrm", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "enableLltv", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "extSloads", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "flashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "isAuthorized", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isIrmEnabled", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isLltvEnabled", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "liquidate", + values: [ + MarketParamsStruct, + AddressLike, + BigNumberish, + BigNumberish, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "nonce", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "repay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "setAuthorization", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "supply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "supplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "withdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "accrueInterest", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "createMarket", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "enableIrm", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "enableLltv", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "extSloads", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isAuthorized", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isIrmEnabled", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isLltvEnabled", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "liquidate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonce", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setAuthorization", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawCollateral", + data: BytesLike + ): Result; +} + +export interface IMorphoBase extends BaseContract { + connect(runner?: ContractRunner | null): IMorphoBase; + waitForDeployment(): Promise; + + interface: IMorphoBaseInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + accrueInterest: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + borrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + + createMarket: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + enableIrm: TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + + enableLltv: TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + + extSloads: TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + flashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + isAuthorized: TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + + isIrmEnabled: TypedContractMethod<[irm: AddressLike], [boolean], "view">; + + isLltvEnabled: TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + + liquidate: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + nonce: TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + repay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + + setAuthorization: TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + + setAuthorizationWithSig: TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + supply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + + supplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + + withdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accrueInterest" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "createMarket" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "enableIrm" + ): TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "enableLltv" + ): TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "extSloads" + ): TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "flashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "isAuthorized" + ): TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "isIrmEnabled" + ): TypedContractMethod<[irm: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "isLltvEnabled" + ): TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "liquidate" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "nonce" + ): TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "repay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorization" + ): TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorizationWithSig" + ): TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "supply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping.ts b/pkg/types/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping.ts new file mode 100644 index 00000000..52498e8f --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping.ts @@ -0,0 +1,767 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export interface IMorphoStaticTypingInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "accrueInterest" + | "borrow" + | "createMarket" + | "enableIrm" + | "enableLltv" + | "extSloads" + | "feeRecipient" + | "flashLoan" + | "idToMarketParams" + | "isAuthorized" + | "isIrmEnabled" + | "isLltvEnabled" + | "liquidate" + | "market" + | "nonce" + | "owner" + | "position" + | "repay" + | "setAuthorization" + | "setAuthorizationWithSig" + | "setFee" + | "setFeeRecipient" + | "setOwner" + | "supply" + | "supplyCollateral" + | "withdraw" + | "withdrawCollateral" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "accrueInterest", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "createMarket", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "enableIrm", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "enableLltv", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "extSloads", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "flashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "idToMarketParams", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "isAuthorized", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isIrmEnabled", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isLltvEnabled", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "liquidate", + values: [ + MarketParamsStruct, + AddressLike, + BigNumberish, + BigNumberish, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "market", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "nonce", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "position", + values: [BytesLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "repay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "setAuthorization", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "supply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "supplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "withdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "accrueInterest", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "createMarket", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "enableIrm", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "enableLltv", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "extSloads", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "idToMarketParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isAuthorized", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isIrmEnabled", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isLltvEnabled", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "liquidate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "market", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonce", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "position", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setAuthorization", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawCollateral", + data: BytesLike + ): Result; +} + +export interface IMorphoStaticTyping extends BaseContract { + connect(runner?: ContractRunner | null): IMorphoStaticTyping; + waitForDeployment(): Promise; + + interface: IMorphoStaticTypingInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + accrueInterest: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + borrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + + createMarket: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + enableIrm: TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + + enableLltv: TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + + extSloads: TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + flashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + idToMarketParams: TypedContractMethod< + [id: BytesLike], + [ + [string, string, string, string, bigint] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; + } + ], + "view" + >; + + isAuthorized: TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + + isIrmEnabled: TypedContractMethod<[irm: AddressLike], [boolean], "view">; + + isLltvEnabled: TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + + liquidate: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + market: TypedContractMethod< + [id: BytesLike], + [ + [bigint, bigint, bigint, bigint, bigint, bigint] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; + } + ], + "view" + >; + + nonce: TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + position: TypedContractMethod< + [id: BytesLike, user: AddressLike], + [ + [bigint, bigint, bigint] & { + supplyShares: bigint; + borrowShares: bigint; + collateral: bigint; + } + ], + "view" + >; + + repay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + + setAuthorization: TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + + setAuthorizationWithSig: TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + supply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + + supplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + + withdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accrueInterest" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "createMarket" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "enableIrm" + ): TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "enableLltv" + ): TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "extSloads" + ): TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "flashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "idToMarketParams" + ): TypedContractMethod< + [id: BytesLike], + [ + [string, string, string, string, bigint] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "isAuthorized" + ): TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "isIrmEnabled" + ): TypedContractMethod<[irm: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "isLltvEnabled" + ): TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "liquidate" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "market" + ): TypedContractMethod< + [id: BytesLike], + [ + [bigint, bigint, bigint, bigint, bigint, bigint] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "nonce" + ): TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "position" + ): TypedContractMethod< + [id: BytesLike, user: AddressLike], + [ + [bigint, bigint, bigint] & { + supplyShares: bigint; + borrowShares: bigint; + collateral: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "repay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorization" + ): TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorizationWithSig" + ): TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "supply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts b/pkg/types/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts new file mode 100644 index 00000000..6839f78a --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IMorpho } from "./IMorpho"; +export type { IMorphoBase } from "./IMorphoBase"; +export type { IMorphoStaticTyping } from "./IMorphoStaticTyping"; diff --git a/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoFlashLoanCallback.ts b/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoFlashLoanCallback.ts new file mode 100644 index 00000000..020160ad --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoFlashLoanCallback.ts @@ -0,0 +1,99 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface IMorphoFlashLoanCallbackInterface extends Interface { + getFunction(nameOrSignature: "onMorphoFlashLoan"): FunctionFragment; + + encodeFunctionData( + functionFragment: "onMorphoFlashLoan", + values: [BigNumberish, BytesLike] + ): string; + + decodeFunctionResult( + functionFragment: "onMorphoFlashLoan", + data: BytesLike + ): Result; +} + +export interface IMorphoFlashLoanCallback extends BaseContract { + connect(runner?: ContractRunner | null): IMorphoFlashLoanCallback; + waitForDeployment(): Promise; + + interface: IMorphoFlashLoanCallbackInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + onMorphoFlashLoan: TypedContractMethod< + [assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "onMorphoFlashLoan" + ): TypedContractMethod< + [assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoLiquidateCallback.ts b/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoLiquidateCallback.ts new file mode 100644 index 00000000..e39156db --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoLiquidateCallback.ts @@ -0,0 +1,99 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface IMorphoLiquidateCallbackInterface extends Interface { + getFunction(nameOrSignature: "onMorphoLiquidate"): FunctionFragment; + + encodeFunctionData( + functionFragment: "onMorphoLiquidate", + values: [BigNumberish, BytesLike] + ): string; + + decodeFunctionResult( + functionFragment: "onMorphoLiquidate", + data: BytesLike + ): Result; +} + +export interface IMorphoLiquidateCallback extends BaseContract { + connect(runner?: ContractRunner | null): IMorphoLiquidateCallback; + waitForDeployment(): Promise; + + interface: IMorphoLiquidateCallbackInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + onMorphoLiquidate: TypedContractMethod< + [repaidAssets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "onMorphoLiquidate" + ): TypedContractMethod< + [repaidAssets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoRepayCallback.ts b/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoRepayCallback.ts new file mode 100644 index 00000000..2e717b5d --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoRepayCallback.ts @@ -0,0 +1,99 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface IMorphoRepayCallbackInterface extends Interface { + getFunction(nameOrSignature: "onMorphoRepay"): FunctionFragment; + + encodeFunctionData( + functionFragment: "onMorphoRepay", + values: [BigNumberish, BytesLike] + ): string; + + decodeFunctionResult( + functionFragment: "onMorphoRepay", + data: BytesLike + ): Result; +} + +export interface IMorphoRepayCallback extends BaseContract { + connect(runner?: ContractRunner | null): IMorphoRepayCallback; + waitForDeployment(): Promise; + + interface: IMorphoRepayCallbackInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + onMorphoRepay: TypedContractMethod< + [assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "onMorphoRepay" + ): TypedContractMethod< + [assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCallback.ts b/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCallback.ts new file mode 100644 index 00000000..1976a768 --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCallback.ts @@ -0,0 +1,99 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface IMorphoSupplyCallbackInterface extends Interface { + getFunction(nameOrSignature: "onMorphoSupply"): FunctionFragment; + + encodeFunctionData( + functionFragment: "onMorphoSupply", + values: [BigNumberish, BytesLike] + ): string; + + decodeFunctionResult( + functionFragment: "onMorphoSupply", + data: BytesLike + ): Result; +} + +export interface IMorphoSupplyCallback extends BaseContract { + connect(runner?: ContractRunner | null): IMorphoSupplyCallback; + waitForDeployment(): Promise; + + interface: IMorphoSupplyCallbackInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + onMorphoSupply: TypedContractMethod< + [assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "onMorphoSupply" + ): TypedContractMethod< + [assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCollateralCallback.ts b/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCollateralCallback.ts new file mode 100644 index 00000000..8ba3241e --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/IMorphoSupplyCollateralCallback.ts @@ -0,0 +1,99 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface IMorphoSupplyCollateralCallbackInterface extends Interface { + getFunction(nameOrSignature: "onMorphoSupplyCollateral"): FunctionFragment; + + encodeFunctionData( + functionFragment: "onMorphoSupplyCollateral", + values: [BigNumberish, BytesLike] + ): string; + + decodeFunctionResult( + functionFragment: "onMorphoSupplyCollateral", + data: BytesLike + ): Result; +} + +export interface IMorphoSupplyCollateralCallback extends BaseContract { + connect(runner?: ContractRunner | null): IMorphoSupplyCollateralCallback; + waitForDeployment(): Promise; + + interface: IMorphoSupplyCollateralCallbackInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + onMorphoSupplyCollateral: TypedContractMethod< + [assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "onMorphoSupplyCollateral" + ): TypedContractMethod< + [assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/index.ts b/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/index.ts new file mode 100644 index 00000000..6ee0d91b --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IMorphoFlashLoanCallback } from "./IMorphoFlashLoanCallback"; +export type { IMorphoLiquidateCallback } from "./IMorphoLiquidateCallback"; +export type { IMorphoRepayCallback } from "./IMorphoRepayCallback"; +export type { IMorphoSupplyCallback } from "./IMorphoSupplyCallback"; +export type { IMorphoSupplyCollateralCallback } from "./IMorphoSupplyCollateralCallback"; diff --git a/pkg/types/lib/morpho-blue/src/interfaces/IOracle.ts b/pkg/types/lib/morpho-blue/src/interfaces/IOracle.ts new file mode 100644 index 00000000..c28c8fbb --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/interfaces/IOracle.ts @@ -0,0 +1,84 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface IOracleInterface extends Interface { + getFunction(nameOrSignature: "price"): FunctionFragment; + + encodeFunctionData(functionFragment: "price", values?: undefined): string; + + decodeFunctionResult(functionFragment: "price", data: BytesLike): Result; +} + +export interface IOracle extends BaseContract { + connect(runner?: ContractRunner | null): IOracle; + waitForDeployment(): Promise; + + interface: IOracleInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + price: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "price" + ): TypedContractMethod<[], [bigint], "view">; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue/src/interfaces/index.ts b/pkg/types/lib/morpho-blue/src/interfaces/index.ts new file mode 100644 index 00000000..61958963 --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/interfaces/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as iMorphoSol from "./IMorpho.sol"; +export type { iMorphoSol }; +import type * as iMorphoCallbacksSol from "./IMorphoCallbacks.sol"; +export type { iMorphoCallbacksSol }; +export type { IIrm } from "./IIrm"; +export type { IOracle } from "./IOracle"; diff --git a/pkg/types/lib/morpho-blue/src/libraries/EventsLib.ts b/pkg/types/lib/morpho-blue/src/libraries/EventsLib.ts new file mode 100644 index 00000000..b75835f4 --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/libraries/EventsLib.ts @@ -0,0 +1,799 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, +} from "../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export interface EventsLibInterface extends Interface { + getEvent( + nameOrSignatureOrTopic: + | "AccrueInterest" + | "Borrow" + | "CreateMarket" + | "EnableIrm" + | "EnableLltv" + | "FlashLoan" + | "IncrementNonce" + | "Liquidate" + | "Repay" + | "SetAuthorization" + | "SetFee" + | "SetFeeRecipient" + | "SetOwner" + | "Supply" + | "SupplyCollateral" + | "Withdraw" + | "WithdrawCollateral" + ): EventFragment; +} + +export namespace AccrueInterestEvent { + export type InputTuple = [ + id: BytesLike, + prevBorrowRate: BigNumberish, + interest: BigNumberish, + feeShares: BigNumberish + ]; + export type OutputTuple = [ + id: string, + prevBorrowRate: bigint, + interest: bigint, + feeShares: bigint + ]; + export interface OutputObject { + id: string; + prevBorrowRate: bigint; + interest: bigint; + feeShares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace BorrowEvent { + export type InputTuple = [ + id: BytesLike, + caller: AddressLike, + onBehalf: AddressLike, + receiver: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + id: string, + caller: string, + onBehalf: string, + receiver: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + id: string; + caller: string; + onBehalf: string; + receiver: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace CreateMarketEvent { + export type InputTuple = [id: BytesLike, marketParams: MarketParamsStruct]; + export type OutputTuple = [ + id: string, + marketParams: MarketParamsStructOutput + ]; + export interface OutputObject { + id: string; + marketParams: MarketParamsStructOutput; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace EnableIrmEvent { + export type InputTuple = [irm: AddressLike]; + export type OutputTuple = [irm: string]; + export interface OutputObject { + irm: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace EnableLltvEvent { + export type InputTuple = [lltv: BigNumberish]; + export type OutputTuple = [lltv: bigint]; + export interface OutputObject { + lltv: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace FlashLoanEvent { + export type InputTuple = [ + caller: AddressLike, + token: AddressLike, + assets: BigNumberish + ]; + export type OutputTuple = [caller: string, token: string, assets: bigint]; + export interface OutputObject { + caller: string; + token: string; + assets: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace IncrementNonceEvent { + export type InputTuple = [ + caller: AddressLike, + authorizer: AddressLike, + usedNonce: BigNumberish + ]; + export type OutputTuple = [ + caller: string, + authorizer: string, + usedNonce: bigint + ]; + export interface OutputObject { + caller: string; + authorizer: string; + usedNonce: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace LiquidateEvent { + export type InputTuple = [ + id: BytesLike, + caller: AddressLike, + borrower: AddressLike, + repaidAssets: BigNumberish, + repaidShares: BigNumberish, + seizedAssets: BigNumberish, + badDebtAssets: BigNumberish, + badDebtShares: BigNumberish + ]; + export type OutputTuple = [ + id: string, + caller: string, + borrower: string, + repaidAssets: bigint, + repaidShares: bigint, + seizedAssets: bigint, + badDebtAssets: bigint, + badDebtShares: bigint + ]; + export interface OutputObject { + id: string; + caller: string; + borrower: string; + repaidAssets: bigint; + repaidShares: bigint; + seizedAssets: bigint; + badDebtAssets: bigint; + badDebtShares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RepayEvent { + export type InputTuple = [ + id: BytesLike, + caller: AddressLike, + onBehalf: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + id: string, + caller: string, + onBehalf: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + id: string; + caller: string; + onBehalf: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetAuthorizationEvent { + export type InputTuple = [ + caller: AddressLike, + authorizer: AddressLike, + authorized: AddressLike, + newIsAuthorized: boolean + ]; + export type OutputTuple = [ + caller: string, + authorizer: string, + authorized: string, + newIsAuthorized: boolean + ]; + export interface OutputObject { + caller: string; + authorizer: string; + authorized: string; + newIsAuthorized: boolean; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetFeeEvent { + export type InputTuple = [id: BytesLike, newFee: BigNumberish]; + export type OutputTuple = [id: string, newFee: bigint]; + export interface OutputObject { + id: string; + newFee: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetFeeRecipientEvent { + export type InputTuple = [newFeeRecipient: AddressLike]; + export type OutputTuple = [newFeeRecipient: string]; + export interface OutputObject { + newFeeRecipient: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetOwnerEvent { + export type InputTuple = [newOwner: AddressLike]; + export type OutputTuple = [newOwner: string]; + export interface OutputObject { + newOwner: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SupplyEvent { + export type InputTuple = [ + id: BytesLike, + caller: AddressLike, + onBehalf: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + id: string, + caller: string, + onBehalf: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + id: string; + caller: string; + onBehalf: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SupplyCollateralEvent { + export type InputTuple = [ + id: BytesLike, + caller: AddressLike, + onBehalf: AddressLike, + assets: BigNumberish + ]; + export type OutputTuple = [ + id: string, + caller: string, + onBehalf: string, + assets: bigint + ]; + export interface OutputObject { + id: string; + caller: string; + onBehalf: string; + assets: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace WithdrawEvent { + export type InputTuple = [ + id: BytesLike, + caller: AddressLike, + onBehalf: AddressLike, + receiver: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + id: string, + caller: string, + onBehalf: string, + receiver: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + id: string; + caller: string; + onBehalf: string; + receiver: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace WithdrawCollateralEvent { + export type InputTuple = [ + id: BytesLike, + caller: AddressLike, + onBehalf: AddressLike, + receiver: AddressLike, + assets: BigNumberish + ]; + export type OutputTuple = [ + id: string, + caller: string, + onBehalf: string, + receiver: string, + assets: bigint + ]; + export interface OutputObject { + id: string; + caller: string; + onBehalf: string; + receiver: string; + assets: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface EventsLib extends BaseContract { + connect(runner?: ContractRunner | null): EventsLib; + waitForDeployment(): Promise; + + interface: EventsLibInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + getEvent( + key: "AccrueInterest" + ): TypedContractEvent< + AccrueInterestEvent.InputTuple, + AccrueInterestEvent.OutputTuple, + AccrueInterestEvent.OutputObject + >; + getEvent( + key: "Borrow" + ): TypedContractEvent< + BorrowEvent.InputTuple, + BorrowEvent.OutputTuple, + BorrowEvent.OutputObject + >; + getEvent( + key: "CreateMarket" + ): TypedContractEvent< + CreateMarketEvent.InputTuple, + CreateMarketEvent.OutputTuple, + CreateMarketEvent.OutputObject + >; + getEvent( + key: "EnableIrm" + ): TypedContractEvent< + EnableIrmEvent.InputTuple, + EnableIrmEvent.OutputTuple, + EnableIrmEvent.OutputObject + >; + getEvent( + key: "EnableLltv" + ): TypedContractEvent< + EnableLltvEvent.InputTuple, + EnableLltvEvent.OutputTuple, + EnableLltvEvent.OutputObject + >; + getEvent( + key: "FlashLoan" + ): TypedContractEvent< + FlashLoanEvent.InputTuple, + FlashLoanEvent.OutputTuple, + FlashLoanEvent.OutputObject + >; + getEvent( + key: "IncrementNonce" + ): TypedContractEvent< + IncrementNonceEvent.InputTuple, + IncrementNonceEvent.OutputTuple, + IncrementNonceEvent.OutputObject + >; + getEvent( + key: "Liquidate" + ): TypedContractEvent< + LiquidateEvent.InputTuple, + LiquidateEvent.OutputTuple, + LiquidateEvent.OutputObject + >; + getEvent( + key: "Repay" + ): TypedContractEvent< + RepayEvent.InputTuple, + RepayEvent.OutputTuple, + RepayEvent.OutputObject + >; + getEvent( + key: "SetAuthorization" + ): TypedContractEvent< + SetAuthorizationEvent.InputTuple, + SetAuthorizationEvent.OutputTuple, + SetAuthorizationEvent.OutputObject + >; + getEvent( + key: "SetFee" + ): TypedContractEvent< + SetFeeEvent.InputTuple, + SetFeeEvent.OutputTuple, + SetFeeEvent.OutputObject + >; + getEvent( + key: "SetFeeRecipient" + ): TypedContractEvent< + SetFeeRecipientEvent.InputTuple, + SetFeeRecipientEvent.OutputTuple, + SetFeeRecipientEvent.OutputObject + >; + getEvent( + key: "SetOwner" + ): TypedContractEvent< + SetOwnerEvent.InputTuple, + SetOwnerEvent.OutputTuple, + SetOwnerEvent.OutputObject + >; + getEvent( + key: "Supply" + ): TypedContractEvent< + SupplyEvent.InputTuple, + SupplyEvent.OutputTuple, + SupplyEvent.OutputObject + >; + getEvent( + key: "SupplyCollateral" + ): TypedContractEvent< + SupplyCollateralEvent.InputTuple, + SupplyCollateralEvent.OutputTuple, + SupplyCollateralEvent.OutputObject + >; + getEvent( + key: "Withdraw" + ): TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + getEvent( + key: "WithdrawCollateral" + ): TypedContractEvent< + WithdrawCollateralEvent.InputTuple, + WithdrawCollateralEvent.OutputTuple, + WithdrawCollateralEvent.OutputObject + >; + + filters: { + "AccrueInterest(bytes32,uint256,uint256,uint256)": TypedContractEvent< + AccrueInterestEvent.InputTuple, + AccrueInterestEvent.OutputTuple, + AccrueInterestEvent.OutputObject + >; + AccrueInterest: TypedContractEvent< + AccrueInterestEvent.InputTuple, + AccrueInterestEvent.OutputTuple, + AccrueInterestEvent.OutputObject + >; + + "Borrow(bytes32,address,address,address,uint256,uint256)": TypedContractEvent< + BorrowEvent.InputTuple, + BorrowEvent.OutputTuple, + BorrowEvent.OutputObject + >; + Borrow: TypedContractEvent< + BorrowEvent.InputTuple, + BorrowEvent.OutputTuple, + BorrowEvent.OutputObject + >; + + "CreateMarket(bytes32,tuple)": TypedContractEvent< + CreateMarketEvent.InputTuple, + CreateMarketEvent.OutputTuple, + CreateMarketEvent.OutputObject + >; + CreateMarket: TypedContractEvent< + CreateMarketEvent.InputTuple, + CreateMarketEvent.OutputTuple, + CreateMarketEvent.OutputObject + >; + + "EnableIrm(address)": TypedContractEvent< + EnableIrmEvent.InputTuple, + EnableIrmEvent.OutputTuple, + EnableIrmEvent.OutputObject + >; + EnableIrm: TypedContractEvent< + EnableIrmEvent.InputTuple, + EnableIrmEvent.OutputTuple, + EnableIrmEvent.OutputObject + >; + + "EnableLltv(uint256)": TypedContractEvent< + EnableLltvEvent.InputTuple, + EnableLltvEvent.OutputTuple, + EnableLltvEvent.OutputObject + >; + EnableLltv: TypedContractEvent< + EnableLltvEvent.InputTuple, + EnableLltvEvent.OutputTuple, + EnableLltvEvent.OutputObject + >; + + "FlashLoan(address,address,uint256)": TypedContractEvent< + FlashLoanEvent.InputTuple, + FlashLoanEvent.OutputTuple, + FlashLoanEvent.OutputObject + >; + FlashLoan: TypedContractEvent< + FlashLoanEvent.InputTuple, + FlashLoanEvent.OutputTuple, + FlashLoanEvent.OutputObject + >; + + "IncrementNonce(address,address,uint256)": TypedContractEvent< + IncrementNonceEvent.InputTuple, + IncrementNonceEvent.OutputTuple, + IncrementNonceEvent.OutputObject + >; + IncrementNonce: TypedContractEvent< + IncrementNonceEvent.InputTuple, + IncrementNonceEvent.OutputTuple, + IncrementNonceEvent.OutputObject + >; + + "Liquidate(bytes32,address,address,uint256,uint256,uint256,uint256,uint256)": TypedContractEvent< + LiquidateEvent.InputTuple, + LiquidateEvent.OutputTuple, + LiquidateEvent.OutputObject + >; + Liquidate: TypedContractEvent< + LiquidateEvent.InputTuple, + LiquidateEvent.OutputTuple, + LiquidateEvent.OutputObject + >; + + "Repay(bytes32,address,address,uint256,uint256)": TypedContractEvent< + RepayEvent.InputTuple, + RepayEvent.OutputTuple, + RepayEvent.OutputObject + >; + Repay: TypedContractEvent< + RepayEvent.InputTuple, + RepayEvent.OutputTuple, + RepayEvent.OutputObject + >; + + "SetAuthorization(address,address,address,bool)": TypedContractEvent< + SetAuthorizationEvent.InputTuple, + SetAuthorizationEvent.OutputTuple, + SetAuthorizationEvent.OutputObject + >; + SetAuthorization: TypedContractEvent< + SetAuthorizationEvent.InputTuple, + SetAuthorizationEvent.OutputTuple, + SetAuthorizationEvent.OutputObject + >; + + "SetFee(bytes32,uint256)": TypedContractEvent< + SetFeeEvent.InputTuple, + SetFeeEvent.OutputTuple, + SetFeeEvent.OutputObject + >; + SetFee: TypedContractEvent< + SetFeeEvent.InputTuple, + SetFeeEvent.OutputTuple, + SetFeeEvent.OutputObject + >; + + "SetFeeRecipient(address)": TypedContractEvent< + SetFeeRecipientEvent.InputTuple, + SetFeeRecipientEvent.OutputTuple, + SetFeeRecipientEvent.OutputObject + >; + SetFeeRecipient: TypedContractEvent< + SetFeeRecipientEvent.InputTuple, + SetFeeRecipientEvent.OutputTuple, + SetFeeRecipientEvent.OutputObject + >; + + "SetOwner(address)": TypedContractEvent< + SetOwnerEvent.InputTuple, + SetOwnerEvent.OutputTuple, + SetOwnerEvent.OutputObject + >; + SetOwner: TypedContractEvent< + SetOwnerEvent.InputTuple, + SetOwnerEvent.OutputTuple, + SetOwnerEvent.OutputObject + >; + + "Supply(bytes32,address,address,uint256,uint256)": TypedContractEvent< + SupplyEvent.InputTuple, + SupplyEvent.OutputTuple, + SupplyEvent.OutputObject + >; + Supply: TypedContractEvent< + SupplyEvent.InputTuple, + SupplyEvent.OutputTuple, + SupplyEvent.OutputObject + >; + + "SupplyCollateral(bytes32,address,address,uint256)": TypedContractEvent< + SupplyCollateralEvent.InputTuple, + SupplyCollateralEvent.OutputTuple, + SupplyCollateralEvent.OutputObject + >; + SupplyCollateral: TypedContractEvent< + SupplyCollateralEvent.InputTuple, + SupplyCollateralEvent.OutputTuple, + SupplyCollateralEvent.OutputObject + >; + + "Withdraw(bytes32,address,address,address,uint256,uint256)": TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + Withdraw: TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + + "WithdrawCollateral(bytes32,address,address,address,uint256)": TypedContractEvent< + WithdrawCollateralEvent.InputTuple, + WithdrawCollateralEvent.OutputTuple, + WithdrawCollateralEvent.OutputObject + >; + WithdrawCollateral: TypedContractEvent< + WithdrawCollateralEvent.InputTuple, + WithdrawCollateralEvent.OutputTuple, + WithdrawCollateralEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/morpho-blue/src/libraries/SafeTransferLib.sol/IERC20Internal.ts b/pkg/types/lib/morpho-blue/src/libraries/SafeTransferLib.sol/IERC20Internal.ts new file mode 100644 index 00000000..18a6eb8d --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/libraries/SafeTransferLib.sol/IERC20Internal.ts @@ -0,0 +1,118 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface IERC20InternalInterface extends Interface { + getFunction(nameOrSignature: "transfer" | "transferFrom"): FunctionFragment; + + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export interface IERC20Internal extends BaseContract { + connect(runner?: ContractRunner | null): IERC20Internal; + waitForDeployment(): Promise; + + interface: IERC20InternalInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/morpho-blue/src/libraries/SafeTransferLib.sol/index.ts b/pkg/types/lib/morpho-blue/src/libraries/SafeTransferLib.sol/index.ts new file mode 100644 index 00000000..d30b0170 --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/libraries/SafeTransferLib.sol/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IERC20Internal } from "./IERC20Internal"; diff --git a/pkg/types/lib/morpho-blue/src/libraries/index.ts b/pkg/types/lib/morpho-blue/src/libraries/index.ts new file mode 100644 index 00000000..804384cc --- /dev/null +++ b/pkg/types/lib/morpho-blue/src/libraries/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as safeTransferLibSol from "./SafeTransferLib.sol"; +export type { safeTransferLibSol }; +export type { EventsLib } from "./EventsLib"; diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/index.ts b/pkg/types/lib/openzeppelin-contracts/contracts/index.ts new file mode 100644 index 00000000..d9c6d2e5 --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; +import type * as token from "./token"; +export type { token }; +import type * as utils from "./utils"; +export type { utils }; diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.ts b/pkg/types/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.ts new file mode 100644 index 00000000..6a51128a --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.ts @@ -0,0 +1,618 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface IERC4626Interface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "asset" + | "balanceOf" + | "convertToAssets" + | "convertToShares" + | "decimals" + | "deposit" + | "maxDeposit" + | "maxMint" + | "maxRedeem" + | "maxWithdraw" + | "mint" + | "name" + | "previewDeposit" + | "previewMint" + | "previewRedeem" + | "previewWithdraw" + | "redeem" + | "symbol" + | "totalAssets" + | "totalSupply" + | "transfer" + | "transferFrom" + | "withdraw" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "Approval" | "Deposit" | "Transfer" | "Withdraw" + ): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "asset", values?: undefined): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "convertToAssets", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "convertToShares", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "deposit", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxDeposit", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxMint", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxRedeem", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxWithdraw", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "previewDeposit", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewMint", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewRedeem", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewWithdraw", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "convertToAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "convertToShares", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxDeposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxMint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxRedeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "maxWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "previewDeposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewMint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewRedeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace DepositEvent { + export type InputTuple = [ + sender: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace WithdrawEvent { + export type InputTuple = [ + sender: AddressLike, + receiver: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + receiver: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + receiver: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IERC4626 extends BaseContract { + connect(runner?: ContractRunner | null): IERC4626; + waitForDeployment(): Promise; + + interface: IERC4626Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + asset: TypedContractMethod<[], [string], "view">; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + convertToAssets: TypedContractMethod< + [shares: BigNumberish], + [bigint], + "view" + >; + + convertToShares: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + decimals: TypedContractMethod<[], [bigint], "view">; + + deposit: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + maxDeposit: TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + + maxMint: TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + + maxRedeem: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + maxWithdraw: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + mint: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + previewDeposit: TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + + previewMint: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewRedeem: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewWithdraw: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + redeem: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + totalAssets: TypedContractMethod<[], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "asset" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "convertToAssets" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "convertToShares" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "maxDeposit" + ): TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxMint" + ): TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxRedeem" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxWithdraw" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "mint" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "previewDeposit" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewMint" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewRedeem" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewWithdraw" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "redeem" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalAssets" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Deposit" + ): TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + getEvent( + key: "Withdraw" + ): TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Deposit(address,address,uint256,uint256)": TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + Deposit: TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + "Withdraw(address,address,address,uint256,uint256)": TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + Withdraw: TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.ts b/pkg/types/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.ts new file mode 100644 index 00000000..0f538fba --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.ts @@ -0,0 +1,151 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface IERC5267Interface extends Interface { + getFunction(nameOrSignature: "eip712Domain"): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "EIP712DomainChanged"): EventFragment; + + encodeFunctionData( + functionFragment: "eip712Domain", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "eip712Domain", + data: BytesLike + ): Result; +} + +export namespace EIP712DomainChangedEvent { + export type InputTuple = []; + export type OutputTuple = []; + export interface OutputObject {} + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IERC5267 extends BaseContract { + connect(runner?: ContractRunner | null): IERC5267; + waitForDeployment(): Promise; + + interface: IERC5267Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + eip712Domain: TypedContractMethod< + [], + [ + [string, string, string, bigint, string, string, bigint[]] & { + fields: string; + name: string; + version: string; + chainId: bigint; + verifyingContract: string; + salt: string; + extensions: bigint[]; + } + ], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "eip712Domain" + ): TypedContractMethod< + [], + [ + [string, string, string, bigint, string, string, bigint[]] & { + fields: string; + name: string; + version: string; + chainId: bigint; + verifyingContract: string; + salt: string; + extensions: bigint[]; + } + ], + "view" + >; + + getEvent( + key: "EIP712DomainChanged" + ): TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + + filters: { + "EIP712DomainChanged()": TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + EIP712DomainChanged: TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/interfaces/index.ts b/pkg/types/lib/openzeppelin-contracts/contracts/interfaces/index.ts new file mode 100644 index 00000000..332882b9 --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/interfaces/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IERC4626 } from "./IERC4626"; +export type { IERC5267 } from "./IERC5267"; diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.ts b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.ts new file mode 100644 index 00000000..c042c347 --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.ts @@ -0,0 +1,330 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface ERC20Interface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "decreaseAllowance" + | "increaseAllowance" + | "name" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC20 extends BaseContract { + connect(runner?: ContractRunner | null): ERC20; + waitForDeployment(): Promise; + + interface: ERC20Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + decreaseAllowance: TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + increaseAllowance: TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "decreaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "increaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.ts b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.ts new file mode 100644 index 00000000..8c354f70 --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.ts @@ -0,0 +1,262 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface IERC20Interface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IERC20 extends BaseContract { + connect(runner?: ContractRunner | null): IERC20; + waitForDeployment(): Promise; + + interface: IERC20Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.ts b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.ts new file mode 100644 index 00000000..0ecc84f5 --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.ts @@ -0,0 +1,467 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../common"; + +export interface ERC20PermitInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "decreaseAllowance" + | "eip712Domain" + | "increaseAllowance" + | "name" + | "nonces" + | "permit" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "Approval" | "EIP712DomainChanged" | "Transfer" + ): EventFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "eip712Domain", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "eip712Domain", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace EIP712DomainChangedEvent { + export type InputTuple = []; + export type OutputTuple = []; + export interface OutputObject {} + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC20Permit extends BaseContract { + connect(runner?: ContractRunner | null): ERC20Permit; + waitForDeployment(): Promise; + + interface: ERC20PermitInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + decreaseAllowance: TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + eip712Domain: TypedContractMethod< + [], + [ + [string, string, string, bigint, string, string, bigint[]] & { + fields: string; + name: string; + version: string; + chainId: bigint; + verifyingContract: string; + salt: string; + extensions: bigint[]; + } + ], + "view" + >; + + increaseAllowance: TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + permit: TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "decreaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "eip712Domain" + ): TypedContractMethod< + [], + [ + [string, string, string, bigint, string, string, bigint[]] & { + fields: string; + name: string; + version: string; + chainId: bigint; + verifyingContract: string; + salt: string; + extensions: bigint[]; + } + ], + "view" + >; + getFunction( + nameOrSignature: "increaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "EIP712DomainChanged" + ): TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "EIP712DomainChanged()": TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + EIP712DomainChanged: TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.ts b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.ts new file mode 100644 index 00000000..b0ba7a45 --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.ts @@ -0,0 +1,379 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../common"; + +export interface ERC20WrapperInterface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "decreaseAllowance" + | "depositFor" + | "increaseAllowance" + | "name" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + | "underlying" + | "withdrawTo" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "depositFor", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "underlying", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "withdrawTo", + values: [AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "depositFor", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "underlying", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdrawTo", data: BytesLike): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC20Wrapper extends BaseContract { + connect(runner?: ContractRunner | null): ERC20Wrapper; + waitForDeployment(): Promise; + + interface: ERC20WrapperInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + decreaseAllowance: TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + depositFor: TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + increaseAllowance: TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + underlying: TypedContractMethod<[], [string], "view">; + + withdrawTo: TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "decreaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "depositFor" + ): TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "increaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "underlying" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "withdrawTo" + ): TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.ts b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.ts new file mode 100644 index 00000000..34f14496 --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.ts @@ -0,0 +1,662 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../common"; + +export interface ERC4626Interface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "asset" + | "balanceOf" + | "convertToAssets" + | "convertToShares" + | "decimals" + | "decreaseAllowance" + | "deposit" + | "increaseAllowance" + | "maxDeposit" + | "maxMint" + | "maxRedeem" + | "maxWithdraw" + | "mint" + | "name" + | "previewDeposit" + | "previewMint" + | "previewRedeem" + | "previewWithdraw" + | "redeem" + | "symbol" + | "totalAssets" + | "totalSupply" + | "transfer" + | "transferFrom" + | "withdraw" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "Approval" | "Deposit" | "Transfer" | "Withdraw" + ): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "asset", values?: undefined): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "convertToAssets", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "convertToShares", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "maxDeposit", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxMint", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxRedeem", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxWithdraw", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "previewDeposit", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewMint", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewRedeem", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewWithdraw", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "convertToAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "convertToShares", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "maxDeposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxMint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxRedeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "maxWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "previewDeposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewMint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewRedeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace DepositEvent { + export type InputTuple = [ + sender: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace WithdrawEvent { + export type InputTuple = [ + sender: AddressLike, + receiver: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + receiver: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + receiver: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC4626 extends BaseContract { + connect(runner?: ContractRunner | null): ERC4626; + waitForDeployment(): Promise; + + interface: ERC4626Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + asset: TypedContractMethod<[], [string], "view">; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + convertToAssets: TypedContractMethod< + [shares: BigNumberish], + [bigint], + "view" + >; + + convertToShares: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + decimals: TypedContractMethod<[], [bigint], "view">; + + decreaseAllowance: TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + deposit: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + increaseAllowance: TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + maxDeposit: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + maxMint: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + maxRedeem: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + maxWithdraw: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + mint: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + previewDeposit: TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + + previewMint: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewRedeem: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewWithdraw: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + redeem: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + totalAssets: TypedContractMethod<[], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "asset" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "convertToAssets" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "convertToShares" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "decreaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "increaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "maxDeposit" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxMint" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxRedeem" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxWithdraw" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "mint" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "previewDeposit" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewMint" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewRedeem" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewWithdraw" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "redeem" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalAssets" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Deposit" + ): TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + getEvent( + key: "Withdraw" + ): TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Deposit(address,address,uint256,uint256)": TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + Deposit: TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + "Withdraw(address,address,address,uint256,uint256)": TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + Withdraw: TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.ts b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.ts new file mode 100644 index 00000000..16b2e76a --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.ts @@ -0,0 +1,286 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../common"; + +export interface IERC20MetadataInterface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "name" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IERC20Metadata extends BaseContract { + connect(runner?: ContractRunner | null): IERC20Metadata; + waitForDeployment(): Promise; + + interface: IERC20MetadataInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + name: TypedContractMethod<[], [string], "view">; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.ts b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.ts new file mode 100644 index 00000000..b43f3675 --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.ts @@ -0,0 +1,143 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../common"; + +export interface IERC20PermitInterface extends Interface { + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" | "nonces" | "permit" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; +} + +export interface IERC20Permit extends BaseContract { + connect(runner?: ContractRunner | null): IERC20Permit; + waitForDeployment(): Promise; + + interface: IERC20PermitInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + permit: TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts new file mode 100644 index 00000000..571c72c3 --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ERC20Permit } from "./ERC20Permit"; +export type { ERC20Wrapper } from "./ERC20Wrapper"; +export type { ERC4626 } from "./ERC4626"; +export type { IERC20Metadata } from "./IERC20Metadata"; +export type { IERC20Permit } from "./IERC20Permit"; diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts new file mode 100644 index 00000000..cc196974 --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as extensions from "./extensions"; +export type { extensions }; +export type { ERC20 } from "./ERC20"; +export type { IERC20 } from "./IERC20"; diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/token/index.ts b/pkg/types/lib/openzeppelin-contracts/contracts/token/index.ts new file mode 100644 index 00000000..5c4062a9 --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/token/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as erc20 from "./ERC20"; +export type { erc20 }; diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/utils/ShortStrings.ts b/pkg/types/lib/openzeppelin-contracts/contracts/utils/ShortStrings.ts new file mode 100644 index 00000000..5a07587b --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/utils/ShortStrings.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../../common"; + +export interface ShortStringsInterface extends Interface {} + +export interface ShortStrings extends BaseContract { + connect(runner?: ContractRunner | null): ShortStrings; + waitForDeployment(): Promise; + + interface: ShortStringsInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.ts b/pkg/types/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.ts new file mode 100644 index 00000000..699bc4c1 --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.ts @@ -0,0 +1,151 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface EIP712Interface extends Interface { + getFunction(nameOrSignature: "eip712Domain"): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "EIP712DomainChanged"): EventFragment; + + encodeFunctionData( + functionFragment: "eip712Domain", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "eip712Domain", + data: BytesLike + ): Result; +} + +export namespace EIP712DomainChangedEvent { + export type InputTuple = []; + export type OutputTuple = []; + export interface OutputObject {} + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface EIP712 extends BaseContract { + connect(runner?: ContractRunner | null): EIP712; + waitForDeployment(): Promise; + + interface: EIP712Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + eip712Domain: TypedContractMethod< + [], + [ + [string, string, string, bigint, string, string, bigint[]] & { + fields: string; + name: string; + version: string; + chainId: bigint; + verifyingContract: string; + salt: string; + extensions: bigint[]; + } + ], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "eip712Domain" + ): TypedContractMethod< + [], + [ + [string, string, string, bigint, string, string, bigint[]] & { + fields: string; + name: string; + version: string; + chainId: bigint; + verifyingContract: string; + salt: string; + extensions: bigint[]; + } + ], + "view" + >; + + getEvent( + key: "EIP712DomainChanged" + ): TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + + filters: { + "EIP712DomainChanged()": TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + EIP712DomainChanged: TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/utils/cryptography/index.ts b/pkg/types/lib/openzeppelin-contracts/contracts/utils/cryptography/index.ts new file mode 100644 index 00000000..bd032578 --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/utils/cryptography/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { EIP712 } from "./EIP712"; diff --git a/pkg/types/lib/openzeppelin-contracts/contracts/utils/index.ts b/pkg/types/lib/openzeppelin-contracts/contracts/utils/index.ts new file mode 100644 index 00000000..5909a42a --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/contracts/utils/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as cryptography from "./cryptography"; +export type { cryptography }; +export type { ShortStrings } from "./ShortStrings"; diff --git a/pkg/types/lib/openzeppelin-contracts/index.ts b/pkg/types/lib/openzeppelin-contracts/index.ts new file mode 100644 index 00000000..a11e4ca2 --- /dev/null +++ b/pkg/types/lib/openzeppelin-contracts/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as contracts from "./contracts"; +export type { contracts }; diff --git a/pkg/types/lib/permit2/index.ts b/pkg/types/lib/permit2/index.ts new file mode 100644 index 00000000..f68cafed --- /dev/null +++ b/pkg/types/lib/permit2/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as src from "./src"; +export type { src }; diff --git a/pkg/types/lib/permit2/src/index.ts b/pkg/types/lib/permit2/src/index.ts new file mode 100644 index 00000000..dd5456fc --- /dev/null +++ b/pkg/types/lib/permit2/src/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; +import type * as libraries from "./libraries"; +export type { libraries }; diff --git a/pkg/types/lib/permit2/src/interfaces/IAllowanceTransfer.ts b/pkg/types/lib/permit2/src/interfaces/IAllowanceTransfer.ts new file mode 100644 index 00000000..d3709af5 --- /dev/null +++ b/pkg/types/lib/permit2/src/interfaces/IAllowanceTransfer.ts @@ -0,0 +1,570 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export declare namespace IAllowanceTransfer { + export type TokenSpenderPairStruct = { + token: AddressLike; + spender: AddressLike; + }; + + export type TokenSpenderPairStructOutput = [ + token: string, + spender: string + ] & { token: string; spender: string }; + + export type PermitDetailsStruct = { + token: AddressLike; + amount: BigNumberish; + expiration: BigNumberish; + nonce: BigNumberish; + }; + + export type PermitDetailsStructOutput = [ + token: string, + amount: bigint, + expiration: bigint, + nonce: bigint + ] & { token: string; amount: bigint; expiration: bigint; nonce: bigint }; + + export type PermitBatchStruct = { + details: IAllowanceTransfer.PermitDetailsStruct[]; + spender: AddressLike; + sigDeadline: BigNumberish; + }; + + export type PermitBatchStructOutput = [ + details: IAllowanceTransfer.PermitDetailsStructOutput[], + spender: string, + sigDeadline: bigint + ] & { + details: IAllowanceTransfer.PermitDetailsStructOutput[]; + spender: string; + sigDeadline: bigint; + }; + + export type PermitSingleStruct = { + details: IAllowanceTransfer.PermitDetailsStruct; + spender: AddressLike; + sigDeadline: BigNumberish; + }; + + export type PermitSingleStructOutput = [ + details: IAllowanceTransfer.PermitDetailsStructOutput, + spender: string, + sigDeadline: bigint + ] & { + details: IAllowanceTransfer.PermitDetailsStructOutput; + spender: string; + sigDeadline: bigint; + }; + + export type AllowanceTransferDetailsStruct = { + from: AddressLike; + to: AddressLike; + amount: BigNumberish; + token: AddressLike; + }; + + export type AllowanceTransferDetailsStructOutput = [ + from: string, + to: string, + amount: bigint, + token: string + ] & { from: string; to: string; amount: bigint; token: string }; +} + +export interface IAllowanceTransferInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "allowance" + | "approve" + | "invalidateNonces" + | "lockdown" + | "permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)" + | "permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)" + | "transferFrom((address,address,uint160,address)[])" + | "transferFrom(address,address,uint160,address)" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: + | "Approval" + | "Lockdown" + | "NonceInvalidation" + | "Permit" + ): EventFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, AddressLike, BigNumberish, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "invalidateNonces", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "lockdown", + values: [IAllowanceTransfer.TokenSpenderPairStruct[]] + ): string; + encodeFunctionData( + functionFragment: "permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)", + values: [AddressLike, IAllowanceTransfer.PermitBatchStruct, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)", + values: [AddressLike, IAllowanceTransfer.PermitSingleStruct, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "transferFrom((address,address,uint160,address)[])", + values: [IAllowanceTransfer.AllowanceTransferDetailsStruct[]] + ): string; + encodeFunctionData( + functionFragment: "transferFrom(address,address,uint160,address)", + values: [AddressLike, AddressLike, BigNumberish, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "invalidateNonces", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "lockdown", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferFrom((address,address,uint160,address)[])", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferFrom(address,address,uint160,address)", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + token: AddressLike, + spender: AddressLike, + amount: BigNumberish, + expiration: BigNumberish + ]; + export type OutputTuple = [ + owner: string, + token: string, + spender: string, + amount: bigint, + expiration: bigint + ]; + export interface OutputObject { + owner: string; + token: string; + spender: string; + amount: bigint; + expiration: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace LockdownEvent { + export type InputTuple = [ + owner: AddressLike, + token: AddressLike, + spender: AddressLike + ]; + export type OutputTuple = [owner: string, token: string, spender: string]; + export interface OutputObject { + owner: string; + token: string; + spender: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace NonceInvalidationEvent { + export type InputTuple = [ + owner: AddressLike, + token: AddressLike, + spender: AddressLike, + newNonce: BigNumberish, + oldNonce: BigNumberish + ]; + export type OutputTuple = [ + owner: string, + token: string, + spender: string, + newNonce: bigint, + oldNonce: bigint + ]; + export interface OutputObject { + owner: string; + token: string; + spender: string; + newNonce: bigint; + oldNonce: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace PermitEvent { + export type InputTuple = [ + owner: AddressLike, + token: AddressLike, + spender: AddressLike, + amount: BigNumberish, + expiration: BigNumberish, + nonce: BigNumberish + ]; + export type OutputTuple = [ + owner: string, + token: string, + spender: string, + amount: bigint, + expiration: bigint, + nonce: bigint + ]; + export interface OutputObject { + owner: string; + token: string; + spender: string; + amount: bigint; + expiration: bigint; + nonce: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IAllowanceTransfer extends BaseContract { + connect(runner?: ContractRunner | null): IAllowanceTransfer; + waitForDeployment(): Promise; + + interface: IAllowanceTransferInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + allowance: TypedContractMethod< + [user: AddressLike, token: AddressLike, spender: AddressLike], + [ + [bigint, bigint, bigint] & { + amount: bigint; + expiration: bigint; + nonce: bigint; + } + ], + "view" + >; + + approve: TypedContractMethod< + [ + token: AddressLike, + spender: AddressLike, + amount: BigNumberish, + expiration: BigNumberish + ], + [void], + "nonpayable" + >; + + invalidateNonces: TypedContractMethod< + [token: AddressLike, spender: AddressLike, newNonce: BigNumberish], + [void], + "nonpayable" + >; + + lockdown: TypedContractMethod< + [approvals: IAllowanceTransfer.TokenSpenderPairStruct[]], + [void], + "nonpayable" + >; + + "permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)": TypedContractMethod< + [ + owner: AddressLike, + permitBatch: IAllowanceTransfer.PermitBatchStruct, + signature: BytesLike + ], + [void], + "nonpayable" + >; + + "permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)": TypedContractMethod< + [ + owner: AddressLike, + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike + ], + [void], + "nonpayable" + >; + + "transferFrom((address,address,uint160,address)[])": TypedContractMethod< + [transferDetails: IAllowanceTransfer.AllowanceTransferDetailsStruct[]], + [void], + "nonpayable" + >; + + "transferFrom(address,address,uint160,address)": TypedContractMethod< + [ + from: AddressLike, + to: AddressLike, + amount: BigNumberish, + token: AddressLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [user: AddressLike, token: AddressLike, spender: AddressLike], + [ + [bigint, bigint, bigint] & { + amount: bigint; + expiration: bigint; + nonce: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [ + token: AddressLike, + spender: AddressLike, + amount: BigNumberish, + expiration: BigNumberish + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "invalidateNonces" + ): TypedContractMethod< + [token: AddressLike, spender: AddressLike, newNonce: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "lockdown" + ): TypedContractMethod< + [approvals: IAllowanceTransfer.TokenSpenderPairStruct[]], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "permit(address,((address,uint160,uint48,uint48)[],address,uint256),bytes)" + ): TypedContractMethod< + [ + owner: AddressLike, + permitBatch: IAllowanceTransfer.PermitBatchStruct, + signature: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "permit(address,((address,uint160,uint48,uint48),address,uint256),bytes)" + ): TypedContractMethod< + [ + owner: AddressLike, + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom((address,address,uint160,address)[])" + ): TypedContractMethod< + [transferDetails: IAllowanceTransfer.AllowanceTransferDetailsStruct[]], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom(address,address,uint160,address)" + ): TypedContractMethod< + [ + from: AddressLike, + to: AddressLike, + amount: BigNumberish, + token: AddressLike + ], + [void], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Lockdown" + ): TypedContractEvent< + LockdownEvent.InputTuple, + LockdownEvent.OutputTuple, + LockdownEvent.OutputObject + >; + getEvent( + key: "NonceInvalidation" + ): TypedContractEvent< + NonceInvalidationEvent.InputTuple, + NonceInvalidationEvent.OutputTuple, + NonceInvalidationEvent.OutputObject + >; + getEvent( + key: "Permit" + ): TypedContractEvent< + PermitEvent.InputTuple, + PermitEvent.OutputTuple, + PermitEvent.OutputObject + >; + + filters: { + "Approval(address,address,address,uint160,uint48)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Lockdown(address,address,address)": TypedContractEvent< + LockdownEvent.InputTuple, + LockdownEvent.OutputTuple, + LockdownEvent.OutputObject + >; + Lockdown: TypedContractEvent< + LockdownEvent.InputTuple, + LockdownEvent.OutputTuple, + LockdownEvent.OutputObject + >; + + "NonceInvalidation(address,address,address,uint48,uint48)": TypedContractEvent< + NonceInvalidationEvent.InputTuple, + NonceInvalidationEvent.OutputTuple, + NonceInvalidationEvent.OutputObject + >; + NonceInvalidation: TypedContractEvent< + NonceInvalidationEvent.InputTuple, + NonceInvalidationEvent.OutputTuple, + NonceInvalidationEvent.OutputObject + >; + + "Permit(address,address,address,uint160,uint48,uint48)": TypedContractEvent< + PermitEvent.InputTuple, + PermitEvent.OutputTuple, + PermitEvent.OutputObject + >; + Permit: TypedContractEvent< + PermitEvent.InputTuple, + PermitEvent.OutputTuple, + PermitEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/permit2/src/interfaces/IDAIPermit.ts b/pkg/types/lib/permit2/src/interfaces/IDAIPermit.ts new file mode 100644 index 00000000..e0848a1b --- /dev/null +++ b/pkg/types/lib/permit2/src/interfaces/IDAIPermit.ts @@ -0,0 +1,124 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface IDAIPermitInterface extends Interface { + getFunction(nameOrSignature: "permit"): FunctionFragment; + + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + boolean, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; +} + +export interface IDAIPermit extends BaseContract { + connect(runner?: ContractRunner | null): IDAIPermit; + waitForDeployment(): Promise; + + interface: IDAIPermitInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + permit: TypedContractMethod< + [ + holder: AddressLike, + spender: AddressLike, + nonce: BigNumberish, + expiry: BigNumberish, + allowed: boolean, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + holder: AddressLike, + spender: AddressLike, + nonce: BigNumberish, + expiry: BigNumberish, + allowed: boolean, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/permit2/src/interfaces/IEIP712.ts b/pkg/types/lib/permit2/src/interfaces/IEIP712.ts new file mode 100644 index 00000000..2065778c --- /dev/null +++ b/pkg/types/lib/permit2/src/interfaces/IEIP712.ts @@ -0,0 +1,90 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface IEIP712Interface extends Interface { + getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; +} + +export interface IEIP712 extends BaseContract { + connect(runner?: ContractRunner | null): IEIP712; + waitForDeployment(): Promise; + + interface: IEIP712Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + + filters: {}; +} diff --git a/pkg/types/lib/permit2/src/interfaces/index.ts b/pkg/types/lib/permit2/src/interfaces/index.ts new file mode 100644 index 00000000..ccac21d1 --- /dev/null +++ b/pkg/types/lib/permit2/src/interfaces/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IAllowanceTransfer } from "./IAllowanceTransfer"; +export type { IDAIPermit } from "./IDAIPermit"; +export type { IEIP712 } from "./IEIP712"; diff --git a/pkg/types/lib/permit2/src/libraries/SafeCast160.ts b/pkg/types/lib/permit2/src/libraries/SafeCast160.ts new file mode 100644 index 00000000..7863a1c5 --- /dev/null +++ b/pkg/types/lib/permit2/src/libraries/SafeCast160.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../../common"; + +export interface SafeCast160Interface extends Interface {} + +export interface SafeCast160 extends BaseContract { + connect(runner?: ContractRunner | null): SafeCast160; + waitForDeployment(): Promise; + + interface: SafeCast160Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/pkg/types/lib/permit2/src/libraries/index.ts b/pkg/types/lib/permit2/src/libraries/index.ts new file mode 100644 index 00000000..00b2bc45 --- /dev/null +++ b/pkg/types/lib/permit2/src/libraries/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { SafeCast160 } from "./SafeCast160"; diff --git a/pkg/types/lib/public-allocator/index.ts b/pkg/types/lib/public-allocator/index.ts new file mode 100644 index 00000000..ccf9a6e8 --- /dev/null +++ b/pkg/types/lib/public-allocator/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as lib from "./lib"; +export type { lib }; +import type * as src from "./src"; +export type { src }; diff --git a/pkg/types/lib/public-allocator/lib/index.ts b/pkg/types/lib/public-allocator/lib/index.ts new file mode 100644 index 00000000..1e87dda3 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as metamorpho from "./metamorpho"; +export type { metamorpho }; diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/index.ts b/pkg/types/lib/public-allocator/lib/metamorpho/index.ts new file mode 100644 index 00000000..ccf9a6e8 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as lib from "./lib"; +export type { lib }; +import type * as src from "./src"; +export type { src }; diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/index.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/index.ts new file mode 100644 index 00000000..784cfb7c --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as morphoBlue from "./morpho-blue"; +export type { morphoBlue }; +import type * as openzeppelinContracts from "./openzeppelin-contracts"; +export type { openzeppelinContracts }; diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/index.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/index.ts new file mode 100644 index 00000000..f68cafed --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as src from "./src"; +export type { src }; diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/index.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/index.ts new file mode 100644 index 00000000..92159233 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IIrm.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IIrm.ts new file mode 100644 index 00000000..c0de411a --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IIrm.ts @@ -0,0 +1,167 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketStruct = { + totalSupplyAssets: BigNumberish; + totalSupplyShares: BigNumberish; + totalBorrowAssets: BigNumberish; + totalBorrowShares: BigNumberish; + lastUpdate: BigNumberish; + fee: BigNumberish; +}; + +export type MarketStructOutput = [ + totalSupplyAssets: bigint, + totalSupplyShares: bigint, + totalBorrowAssets: bigint, + totalBorrowShares: bigint, + lastUpdate: bigint, + fee: bigint +] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; +}; + +export interface IIrmInterface extends Interface { + getFunction( + nameOrSignature: "borrowRate" | "borrowRateView" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "borrowRate", + values: [MarketParamsStruct, MarketStruct] + ): string; + encodeFunctionData( + functionFragment: "borrowRateView", + values: [MarketParamsStruct, MarketStruct] + ): string; + + decodeFunctionResult(functionFragment: "borrowRate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "borrowRateView", + data: BytesLike + ): Result; +} + +export interface IIrm extends BaseContract { + connect(runner?: ContractRunner | null): IIrm; + waitForDeployment(): Promise; + + interface: IIrmInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + borrowRate: TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "nonpayable" + >; + + borrowRateView: TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "borrowRate" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrowRateView" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "view" + >; + + filters: {}; +} diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho.ts new file mode 100644 index 00000000..14cb9462 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorpho.ts @@ -0,0 +1,746 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketStruct = { + totalSupplyAssets: BigNumberish; + totalSupplyShares: BigNumberish; + totalBorrowAssets: BigNumberish; + totalBorrowShares: BigNumberish; + lastUpdate: BigNumberish; + fee: BigNumberish; +}; + +export type MarketStructOutput = [ + totalSupplyAssets: bigint, + totalSupplyShares: bigint, + totalBorrowAssets: bigint, + totalBorrowShares: bigint, + lastUpdate: bigint, + fee: bigint +] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; +}; + +export type PositionStruct = { + supplyShares: BigNumberish; + borrowShares: BigNumberish; + collateral: BigNumberish; +}; + +export type PositionStructOutput = [ + supplyShares: bigint, + borrowShares: bigint, + collateral: bigint +] & { supplyShares: bigint; borrowShares: bigint; collateral: bigint }; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export interface IMorphoInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "accrueInterest" + | "borrow" + | "createMarket" + | "enableIrm" + | "enableLltv" + | "extSloads" + | "feeRecipient" + | "flashLoan" + | "idToMarketParams" + | "isAuthorized" + | "isIrmEnabled" + | "isLltvEnabled" + | "liquidate" + | "market" + | "nonce" + | "owner" + | "position" + | "repay" + | "setAuthorization" + | "setAuthorizationWithSig" + | "setFee" + | "setFeeRecipient" + | "setOwner" + | "supply" + | "supplyCollateral" + | "withdraw" + | "withdrawCollateral" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "accrueInterest", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "createMarket", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "enableIrm", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "enableLltv", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "extSloads", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "flashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "idToMarketParams", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "isAuthorized", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isIrmEnabled", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isLltvEnabled", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "liquidate", + values: [ + MarketParamsStruct, + AddressLike, + BigNumberish, + BigNumberish, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "market", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "nonce", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "position", + values: [BytesLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "repay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "setAuthorization", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "supply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "supplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "withdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "accrueInterest", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "createMarket", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "enableIrm", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "enableLltv", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "extSloads", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "idToMarketParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isAuthorized", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isIrmEnabled", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isLltvEnabled", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "liquidate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "market", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonce", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "position", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setAuthorization", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawCollateral", + data: BytesLike + ): Result; +} + +export interface IMorpho extends BaseContract { + connect(runner?: ContractRunner | null): IMorpho; + waitForDeployment(): Promise; + + interface: IMorphoInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + accrueInterest: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + borrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + + createMarket: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + enableIrm: TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + + enableLltv: TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + + extSloads: TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + flashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + idToMarketParams: TypedContractMethod< + [id: BytesLike], + [MarketParamsStructOutput], + "view" + >; + + isAuthorized: TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + + isIrmEnabled: TypedContractMethod<[irm: AddressLike], [boolean], "view">; + + isLltvEnabled: TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + + liquidate: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + market: TypedContractMethod<[id: BytesLike], [MarketStructOutput], "view">; + + nonce: TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + position: TypedContractMethod< + [id: BytesLike, user: AddressLike], + [PositionStructOutput], + "view" + >; + + repay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + + setAuthorization: TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + + setAuthorizationWithSig: TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + supply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + + supplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + + withdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accrueInterest" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "createMarket" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "enableIrm" + ): TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "enableLltv" + ): TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "extSloads" + ): TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "flashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "idToMarketParams" + ): TypedContractMethod<[id: BytesLike], [MarketParamsStructOutput], "view">; + getFunction( + nameOrSignature: "isAuthorized" + ): TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "isIrmEnabled" + ): TypedContractMethod<[irm: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "isLltvEnabled" + ): TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "liquidate" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "market" + ): TypedContractMethod<[id: BytesLike], [MarketStructOutput], "view">; + getFunction( + nameOrSignature: "nonce" + ): TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "position" + ): TypedContractMethod< + [id: BytesLike, user: AddressLike], + [PositionStructOutput], + "view" + >; + getFunction( + nameOrSignature: "repay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorization" + ): TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorizationWithSig" + ): TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "supply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase.ts new file mode 100644 index 00000000..74b912f1 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoBase.ts @@ -0,0 +1,664 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export interface IMorphoBaseInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "accrueInterest" + | "borrow" + | "createMarket" + | "enableIrm" + | "enableLltv" + | "extSloads" + | "feeRecipient" + | "flashLoan" + | "isAuthorized" + | "isIrmEnabled" + | "isLltvEnabled" + | "liquidate" + | "nonce" + | "owner" + | "repay" + | "setAuthorization" + | "setAuthorizationWithSig" + | "setFee" + | "setFeeRecipient" + | "setOwner" + | "supply" + | "supplyCollateral" + | "withdraw" + | "withdrawCollateral" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "accrueInterest", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "createMarket", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "enableIrm", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "enableLltv", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "extSloads", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "flashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "isAuthorized", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isIrmEnabled", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isLltvEnabled", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "liquidate", + values: [ + MarketParamsStruct, + AddressLike, + BigNumberish, + BigNumberish, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "nonce", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "repay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "setAuthorization", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "supply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "supplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "withdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "accrueInterest", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "createMarket", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "enableIrm", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "enableLltv", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "extSloads", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isAuthorized", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isIrmEnabled", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isLltvEnabled", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "liquidate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonce", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setAuthorization", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawCollateral", + data: BytesLike + ): Result; +} + +export interface IMorphoBase extends BaseContract { + connect(runner?: ContractRunner | null): IMorphoBase; + waitForDeployment(): Promise; + + interface: IMorphoBaseInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + accrueInterest: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + borrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + + createMarket: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + enableIrm: TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + + enableLltv: TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + + extSloads: TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + flashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + isAuthorized: TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + + isIrmEnabled: TypedContractMethod<[irm: AddressLike], [boolean], "view">; + + isLltvEnabled: TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + + liquidate: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + nonce: TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + repay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + + setAuthorization: TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + + setAuthorizationWithSig: TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + supply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + + supplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + + withdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accrueInterest" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "createMarket" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "enableIrm" + ): TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "enableLltv" + ): TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "extSloads" + ): TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "flashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "isAuthorized" + ): TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "isIrmEnabled" + ): TypedContractMethod<[irm: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "isLltvEnabled" + ): TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "liquidate" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "nonce" + ): TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "repay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorization" + ): TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorizationWithSig" + ): TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "supply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping.ts new file mode 100644 index 00000000..5b72b42c --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/IMorphoStaticTyping.ts @@ -0,0 +1,767 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export interface IMorphoStaticTypingInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "accrueInterest" + | "borrow" + | "createMarket" + | "enableIrm" + | "enableLltv" + | "extSloads" + | "feeRecipient" + | "flashLoan" + | "idToMarketParams" + | "isAuthorized" + | "isIrmEnabled" + | "isLltvEnabled" + | "liquidate" + | "market" + | "nonce" + | "owner" + | "position" + | "repay" + | "setAuthorization" + | "setAuthorizationWithSig" + | "setFee" + | "setFeeRecipient" + | "setOwner" + | "supply" + | "supplyCollateral" + | "withdraw" + | "withdrawCollateral" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "accrueInterest", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "createMarket", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "enableIrm", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "enableLltv", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "extSloads", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "flashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "idToMarketParams", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "isAuthorized", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isIrmEnabled", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isLltvEnabled", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "liquidate", + values: [ + MarketParamsStruct, + AddressLike, + BigNumberish, + BigNumberish, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "market", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "nonce", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "position", + values: [BytesLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "repay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "setAuthorization", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "supply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "supplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "withdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "accrueInterest", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "createMarket", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "enableIrm", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "enableLltv", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "extSloads", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "idToMarketParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isAuthorized", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isIrmEnabled", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isLltvEnabled", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "liquidate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "market", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonce", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "position", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setAuthorization", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawCollateral", + data: BytesLike + ): Result; +} + +export interface IMorphoStaticTyping extends BaseContract { + connect(runner?: ContractRunner | null): IMorphoStaticTyping; + waitForDeployment(): Promise; + + interface: IMorphoStaticTypingInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + accrueInterest: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + borrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + + createMarket: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + enableIrm: TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + + enableLltv: TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + + extSloads: TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + flashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + idToMarketParams: TypedContractMethod< + [id: BytesLike], + [ + [string, string, string, string, bigint] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; + } + ], + "view" + >; + + isAuthorized: TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + + isIrmEnabled: TypedContractMethod<[irm: AddressLike], [boolean], "view">; + + isLltvEnabled: TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + + liquidate: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + market: TypedContractMethod< + [id: BytesLike], + [ + [bigint, bigint, bigint, bigint, bigint, bigint] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; + } + ], + "view" + >; + + nonce: TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + position: TypedContractMethod< + [id: BytesLike, user: AddressLike], + [ + [bigint, bigint, bigint] & { + supplyShares: bigint; + borrowShares: bigint; + collateral: bigint; + } + ], + "view" + >; + + repay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + + setAuthorization: TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + + setAuthorizationWithSig: TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + supply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + + supplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + + withdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accrueInterest" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsBorrowed: bigint; sharesBorrowed: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "createMarket" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "enableIrm" + ): TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "enableLltv" + ): TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "extSloads" + ): TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "flashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "idToMarketParams" + ): TypedContractMethod< + [id: BytesLike], + [ + [string, string, string, string, bigint] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "isAuthorized" + ): TypedContractMethod< + [authorizer: AddressLike, authorized: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "isIrmEnabled" + ): TypedContractMethod<[irm: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "isLltvEnabled" + ): TypedContractMethod<[lltv: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "liquidate" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "market" + ): TypedContractMethod< + [id: BytesLike], + [ + [bigint, bigint, bigint, bigint, bigint, bigint] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "nonce" + ): TypedContractMethod<[authorizer: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "position" + ): TypedContractMethod< + [id: BytesLike, user: AddressLike], + [ + [bigint, bigint, bigint] & { + supplyShares: bigint; + borrowShares: bigint; + collateral: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "repay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsRepaid: bigint; sharesRepaid: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorization" + ): TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorizationWithSig" + ): TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "supply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint] & { assetsSupplied: bigint; sharesSupplied: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint] & { assetsWithdrawn: bigint; sharesWithdrawn: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts new file mode 100644 index 00000000..6839f78a --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/IMorpho.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IMorpho } from "./IMorpho"; +export type { IMorphoBase } from "./IMorphoBase"; +export type { IMorphoStaticTyping } from "./IMorphoStaticTyping"; diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/index.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/index.ts new file mode 100644 index 00000000..dc63e253 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/morpho-blue/src/interfaces/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as iMorphoSol from "./IMorpho.sol"; +export type { iMorphoSol }; +export type { IIrm } from "./IIrm"; diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/index.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/index.ts new file mode 100644 index 00000000..b248dd25 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; +import type * as token from "./token"; +export type { token }; diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.ts new file mode 100644 index 00000000..ccad4021 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.ts @@ -0,0 +1,618 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../../../common"; + +export interface IERC4626Interface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "asset" + | "balanceOf" + | "convertToAssets" + | "convertToShares" + | "decimals" + | "deposit" + | "maxDeposit" + | "maxMint" + | "maxRedeem" + | "maxWithdraw" + | "mint" + | "name" + | "previewDeposit" + | "previewMint" + | "previewRedeem" + | "previewWithdraw" + | "redeem" + | "symbol" + | "totalAssets" + | "totalSupply" + | "transfer" + | "transferFrom" + | "withdraw" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "Approval" | "Deposit" | "Transfer" | "Withdraw" + ): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "asset", values?: undefined): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "convertToAssets", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "convertToShares", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "deposit", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxDeposit", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxMint", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxRedeem", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxWithdraw", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "previewDeposit", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewMint", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewRedeem", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewWithdraw", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "convertToAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "convertToShares", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxDeposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxMint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxRedeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "maxWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "previewDeposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewMint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewRedeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace DepositEvent { + export type InputTuple = [ + sender: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace WithdrawEvent { + export type InputTuple = [ + sender: AddressLike, + receiver: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + receiver: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + receiver: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IERC4626 extends BaseContract { + connect(runner?: ContractRunner | null): IERC4626; + waitForDeployment(): Promise; + + interface: IERC4626Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + asset: TypedContractMethod<[], [string], "view">; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + convertToAssets: TypedContractMethod< + [shares: BigNumberish], + [bigint], + "view" + >; + + convertToShares: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + decimals: TypedContractMethod<[], [bigint], "view">; + + deposit: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + maxDeposit: TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + + maxMint: TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + + maxRedeem: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + maxWithdraw: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + mint: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + previewDeposit: TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + + previewMint: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewRedeem: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewWithdraw: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + redeem: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + totalAssets: TypedContractMethod<[], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "asset" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "convertToAssets" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "convertToShares" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "maxDeposit" + ): TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxMint" + ): TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxRedeem" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxWithdraw" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "mint" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "previewDeposit" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewMint" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewRedeem" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewWithdraw" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "redeem" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalAssets" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Deposit" + ): TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + getEvent( + key: "Withdraw" + ): TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Deposit(address,address,uint256,uint256)": TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + Deposit: TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + "Withdraw(address,address,address,uint256,uint256)": TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + Withdraw: TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/index.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/index.ts new file mode 100644 index 00000000..7f401936 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IERC4626 } from "./IERC4626"; diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.ts new file mode 100644 index 00000000..d007b495 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.ts @@ -0,0 +1,262 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../../../../common"; + +export interface IERC20Interface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IERC20 extends BaseContract { + connect(runner?: ContractRunner | null): IERC20; + waitForDeployment(): Promise; + + interface: IERC20Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.ts new file mode 100644 index 00000000..8670c3af --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.ts @@ -0,0 +1,286 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../../../../../common"; + +export interface IERC20MetadataInterface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "name" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IERC20Metadata extends BaseContract { + connect(runner?: ContractRunner | null): IERC20Metadata; + waitForDeployment(): Promise; + + interface: IERC20MetadataInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + name: TypedContractMethod<[], [string], "view">; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.ts new file mode 100644 index 00000000..f72f26fe --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.ts @@ -0,0 +1,143 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../../../../common"; + +export interface IERC20PermitInterface extends Interface { + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" | "nonces" | "permit" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; +} + +export interface IERC20Permit extends BaseContract { + connect(runner?: ContractRunner | null): IERC20Permit; + waitForDeployment(): Promise; + + interface: IERC20PermitInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + permit: TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts new file mode 100644 index 00000000..e8184b6a --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IERC20Metadata } from "./IERC20Metadata"; +export type { IERC20Permit } from "./IERC20Permit"; diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts new file mode 100644 index 00000000..a8eb12b2 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as extensions from "./extensions"; +export type { extensions }; +export type { IERC20 } from "./IERC20"; diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/index.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/index.ts new file mode 100644 index 00000000..5c4062a9 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/contracts/token/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as erc20 from "./ERC20"; +export type { erc20 }; diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/index.ts b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/index.ts new file mode 100644 index 00000000..a11e4ca2 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/lib/openzeppelin-contracts/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as contracts from "./contracts"; +export type { contracts }; diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/src/index.ts b/pkg/types/lib/public-allocator/lib/metamorpho/src/index.ts new file mode 100644 index 00000000..92159233 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/src/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorpho.ts b/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorpho.ts new file mode 100644 index 00000000..d2bc99d1 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorpho.ts @@ -0,0 +1,1390 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketConfigStruct = { + cap: BigNumberish; + enabled: boolean; + removableAt: BigNumberish; +}; + +export type MarketConfigStructOutput = [ + cap: bigint, + enabled: boolean, + removableAt: bigint +] & { cap: bigint; enabled: boolean; removableAt: bigint }; + +export type PendingUint192Struct = { + value: BigNumberish; + validAt: BigNumberish; +}; + +export type PendingUint192StructOutput = [value: bigint, validAt: bigint] & { + value: bigint; + validAt: bigint; +}; + +export type PendingAddressStruct = { + value: AddressLike; + validAt: BigNumberish; +}; + +export type PendingAddressStructOutput = [value: string, validAt: bigint] & { + value: string; + validAt: bigint; +}; + +export type MarketAllocationStruct = { + marketParams: MarketParamsStruct; + assets: BigNumberish; +}; + +export type MarketAllocationStructOutput = [ + marketParams: MarketParamsStructOutput, + assets: bigint +] & { marketParams: MarketParamsStructOutput; assets: bigint }; + +export interface IMetaMorphoInterface extends Interface { + getFunction( + nameOrSignature: + | "DECIMALS_OFFSET" + | "DOMAIN_SEPARATOR" + | "MORPHO" + | "acceptCap" + | "acceptGuardian" + | "acceptOwnership" + | "acceptTimelock" + | "allowance" + | "approve" + | "asset" + | "balanceOf" + | "config" + | "convertToAssets" + | "convertToShares" + | "curator" + | "decimals" + | "deposit" + | "fee" + | "feeRecipient" + | "guardian" + | "isAllocator" + | "lastTotalAssets" + | "maxDeposit" + | "maxMint" + | "maxRedeem" + | "maxWithdraw" + | "mint" + | "multicall" + | "name" + | "nonces" + | "owner" + | "pendingCap" + | "pendingGuardian" + | "pendingOwner" + | "pendingTimelock" + | "permit" + | "previewDeposit" + | "previewMint" + | "previewRedeem" + | "previewWithdraw" + | "reallocate" + | "redeem" + | "renounceOwnership" + | "revokePendingCap" + | "revokePendingGuardian" + | "revokePendingMarketRemoval" + | "revokePendingTimelock" + | "setCurator" + | "setFee" + | "setFeeRecipient" + | "setIsAllocator" + | "setSkimRecipient" + | "setSupplyQueue" + | "skim" + | "skimRecipient" + | "submitCap" + | "submitGuardian" + | "submitMarketRemoval" + | "submitTimelock" + | "supplyQueue" + | "supplyQueueLength" + | "symbol" + | "timelock" + | "totalAssets" + | "totalSupply" + | "transfer" + | "transferFrom" + | "transferOwnership" + | "updateWithdrawQueue" + | "withdraw" + | "withdrawQueue" + | "withdrawQueueLength" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "Approval" | "Deposit" | "Transfer" | "Withdraw" + ): EventFragment; + + encodeFunctionData( + functionFragment: "DECIMALS_OFFSET", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "acceptCap", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "acceptGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "acceptOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "acceptTimelock", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "asset", values?: undefined): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "config", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "convertToAssets", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "convertToShares", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "curator", values?: undefined): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "deposit", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData(functionFragment: "fee", values?: undefined): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "guardian", values?: undefined): string; + encodeFunctionData( + functionFragment: "isAllocator", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "lastTotalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "maxDeposit", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxMint", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxRedeem", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxWithdraw", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "pendingCap", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "pendingGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "pendingOwner", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "pendingTimelock", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "previewDeposit", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewMint", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewRedeem", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewWithdraw", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "reallocate", + values: [MarketAllocationStruct[]] + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "revokePendingCap", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "revokePendingGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "revokePendingMarketRemoval", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "revokePendingTimelock", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setCurator", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setIsAllocator", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setSkimRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setSupplyQueue", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "skim", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "skimRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "submitCap", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "submitGuardian", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "submitMarketRemoval", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "submitTimelock", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyQueue", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyQueueLength", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData(functionFragment: "timelock", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "updateWithdrawQueue", + values: [BigNumberish[]] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "withdrawQueue", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdrawQueueLength", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "DECIMALS_OFFSET", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "acceptCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "acceptGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "acceptOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "acceptTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "config", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "convertToAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "convertToShares", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "curator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "guardian", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isAllocator", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "lastTotalAssets", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "maxDeposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxMint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxRedeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "maxWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "pendingCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "pendingGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "pendingOwner", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "pendingTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "previewDeposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewMint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewRedeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "reallocate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingCap", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingMarketRemoval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setCurator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setIsAllocator", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSkimRecipient", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSupplyQueue", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "skim", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "skimRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "submitCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "submitGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "submitMarketRemoval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "submitTimelock", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supplyQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supplyQueueLength", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "timelock", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateWithdrawQueue", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawQueueLength", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace DepositEvent { + export type InputTuple = [ + sender: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace WithdrawEvent { + export type InputTuple = [ + sender: AddressLike, + receiver: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + receiver: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + receiver: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IMetaMorpho extends BaseContract { + connect(runner?: ContractRunner | null): IMetaMorpho; + waitForDeployment(): Promise; + + interface: IMetaMorphoInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DECIMALS_OFFSET: TypedContractMethod<[], [bigint], "view">; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + MORPHO: TypedContractMethod<[], [string], "view">; + + acceptCap: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + acceptGuardian: TypedContractMethod<[], [void], "nonpayable">; + + acceptOwnership: TypedContractMethod<[], [void], "nonpayable">; + + acceptTimelock: TypedContractMethod<[], [void], "nonpayable">; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + asset: TypedContractMethod<[], [string], "view">; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + config: TypedContractMethod< + [arg0: BytesLike], + [MarketConfigStructOutput], + "view" + >; + + convertToAssets: TypedContractMethod< + [shares: BigNumberish], + [bigint], + "view" + >; + + convertToShares: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + curator: TypedContractMethod<[], [string], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + deposit: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + fee: TypedContractMethod<[], [bigint], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + guardian: TypedContractMethod<[], [string], "view">; + + isAllocator: TypedContractMethod<[target: AddressLike], [boolean], "view">; + + lastTotalAssets: TypedContractMethod<[], [bigint], "view">; + + maxDeposit: TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + + maxMint: TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + + maxRedeem: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + maxWithdraw: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + mint: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + multicall: TypedContractMethod<[arg0: BytesLike[]], [string[]], "nonpayable">; + + name: TypedContractMethod<[], [string], "view">; + + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + pendingCap: TypedContractMethod< + [arg0: BytesLike], + [PendingUint192StructOutput], + "view" + >; + + pendingGuardian: TypedContractMethod< + [], + [PendingAddressStructOutput], + "view" + >; + + pendingOwner: TypedContractMethod<[], [string], "view">; + + pendingTimelock: TypedContractMethod< + [], + [PendingUint192StructOutput], + "view" + >; + + permit: TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + previewDeposit: TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + + previewMint: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewRedeem: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewWithdraw: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + reallocate: TypedContractMethod< + [allocations: MarketAllocationStruct[]], + [void], + "nonpayable" + >; + + redeem: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; + + revokePendingCap: TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + + revokePendingGuardian: TypedContractMethod<[], [void], "nonpayable">; + + revokePendingMarketRemoval: TypedContractMethod< + [id: BytesLike], + [void], + "nonpayable" + >; + + revokePendingTimelock: TypedContractMethod<[], [void], "nonpayable">; + + setCurator: TypedContractMethod< + [newCurator: AddressLike], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod<[newFee: BigNumberish], [void], "nonpayable">; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setIsAllocator: TypedContractMethod< + [newAllocator: AddressLike, newIsAllocator: boolean], + [void], + "nonpayable" + >; + + setSkimRecipient: TypedContractMethod< + [newSkimRecipient: AddressLike], + [void], + "nonpayable" + >; + + setSupplyQueue: TypedContractMethod< + [newSupplyQueue: BytesLike[]], + [void], + "nonpayable" + >; + + skim: TypedContractMethod<[arg0: AddressLike], [void], "nonpayable">; + + skimRecipient: TypedContractMethod<[], [string], "view">; + + submitCap: TypedContractMethod< + [marketParams: MarketParamsStruct, newSupplyCap: BigNumberish], + [void], + "nonpayable" + >; + + submitGuardian: TypedContractMethod< + [newGuardian: AddressLike], + [void], + "nonpayable" + >; + + submitMarketRemoval: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + submitTimelock: TypedContractMethod< + [newTimelock: BigNumberish], + [void], + "nonpayable" + >; + + supplyQueue: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + supplyQueueLength: TypedContractMethod<[], [bigint], "view">; + + symbol: TypedContractMethod<[], [string], "view">; + + timelock: TypedContractMethod<[], [bigint], "view">; + + totalAssets: TypedContractMethod<[], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferOwnership: TypedContractMethod< + [arg0: AddressLike], + [void], + "nonpayable" + >; + + updateWithdrawQueue: TypedContractMethod< + [indexes: BigNumberish[]], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + withdrawQueue: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + withdrawQueueLength: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DECIMALS_OFFSET" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "acceptCap" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "acceptGuardian" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "acceptOwnership" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "acceptTimelock" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "asset" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "config" + ): TypedContractMethod<[arg0: BytesLike], [MarketConfigStructOutput], "view">; + getFunction( + nameOrSignature: "convertToAssets" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "convertToShares" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "curator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "fee" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "guardian" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "isAllocator" + ): TypedContractMethod<[target: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "lastTotalAssets" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "maxDeposit" + ): TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxMint" + ): TypedContractMethod<[receiver: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxRedeem" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxWithdraw" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "mint" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[arg0: BytesLike[]], [string[]], "nonpayable">; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "pendingCap" + ): TypedContractMethod< + [arg0: BytesLike], + [PendingUint192StructOutput], + "view" + >; + getFunction( + nameOrSignature: "pendingGuardian" + ): TypedContractMethod<[], [PendingAddressStructOutput], "view">; + getFunction( + nameOrSignature: "pendingOwner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "pendingTimelock" + ): TypedContractMethod<[], [PendingUint192StructOutput], "view">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "previewDeposit" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewMint" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewRedeem" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewWithdraw" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "reallocate" + ): TypedContractMethod< + [allocations: MarketAllocationStruct[]], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "redeem" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "renounceOwnership" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingCap" + ): TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingGuardian" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingMarketRemoval" + ): TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingTimelock" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "setCurator" + ): TypedContractMethod<[newCurator: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod<[newFee: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setIsAllocator" + ): TypedContractMethod< + [newAllocator: AddressLike, newIsAllocator: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setSkimRecipient" + ): TypedContractMethod<[newSkimRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setSupplyQueue" + ): TypedContractMethod<[newSupplyQueue: BytesLike[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "skim" + ): TypedContractMethod<[arg0: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "skimRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "submitCap" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newSupplyCap: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "submitGuardian" + ): TypedContractMethod<[newGuardian: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "submitMarketRemoval" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "submitTimelock" + ): TypedContractMethod<[newTimelock: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "supplyQueue" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "supplyQueueLength" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "timelock" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "totalAssets" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferOwnership" + ): TypedContractMethod<[arg0: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "updateWithdrawQueue" + ): TypedContractMethod<[indexes: BigNumberish[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawQueue" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "withdrawQueueLength" + ): TypedContractMethod<[], [bigint], "view">; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Deposit" + ): TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + getEvent( + key: "Withdraw" + ): TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Deposit(address,address,uint256,uint256)": TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + Deposit: TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + "Withdraw(address,address,address,uint256,uint256)": TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + Withdraw: TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoBase.ts b/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoBase.ts new file mode 100644 index 00000000..0ab8032c --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoBase.ts @@ -0,0 +1,610 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketAllocationStruct = { + marketParams: MarketParamsStruct; + assets: BigNumberish; +}; + +export type MarketAllocationStructOutput = [ + marketParams: MarketParamsStructOutput, + assets: bigint +] & { marketParams: MarketParamsStructOutput; assets: bigint }; + +export interface IMetaMorphoBaseInterface extends Interface { + getFunction( + nameOrSignature: + | "DECIMALS_OFFSET" + | "MORPHO" + | "acceptCap" + | "acceptGuardian" + | "acceptTimelock" + | "curator" + | "fee" + | "feeRecipient" + | "guardian" + | "isAllocator" + | "lastTotalAssets" + | "reallocate" + | "revokePendingCap" + | "revokePendingGuardian" + | "revokePendingMarketRemoval" + | "revokePendingTimelock" + | "setCurator" + | "setFee" + | "setFeeRecipient" + | "setIsAllocator" + | "setSkimRecipient" + | "setSupplyQueue" + | "skim" + | "skimRecipient" + | "submitCap" + | "submitGuardian" + | "submitMarketRemoval" + | "submitTimelock" + | "supplyQueue" + | "supplyQueueLength" + | "timelock" + | "updateWithdrawQueue" + | "withdrawQueue" + | "withdrawQueueLength" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DECIMALS_OFFSET", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "acceptCap", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "acceptGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "acceptTimelock", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "curator", values?: undefined): string; + encodeFunctionData(functionFragment: "fee", values?: undefined): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "guardian", values?: undefined): string; + encodeFunctionData( + functionFragment: "isAllocator", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "lastTotalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "reallocate", + values: [MarketAllocationStruct[]] + ): string; + encodeFunctionData( + functionFragment: "revokePendingCap", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "revokePendingGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "revokePendingMarketRemoval", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "revokePendingTimelock", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setCurator", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setIsAllocator", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setSkimRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setSupplyQueue", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "skim", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "skimRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "submitCap", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "submitGuardian", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "submitMarketRemoval", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "submitTimelock", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyQueue", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyQueueLength", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "timelock", values?: undefined): string; + encodeFunctionData( + functionFragment: "updateWithdrawQueue", + values: [BigNumberish[]] + ): string; + encodeFunctionData( + functionFragment: "withdrawQueue", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdrawQueueLength", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "DECIMALS_OFFSET", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "acceptCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "acceptGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "acceptTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "curator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "guardian", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isAllocator", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "lastTotalAssets", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "reallocate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "revokePendingCap", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingMarketRemoval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setCurator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setIsAllocator", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSkimRecipient", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSupplyQueue", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "skim", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "skimRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "submitCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "submitGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "submitMarketRemoval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "submitTimelock", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supplyQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supplyQueueLength", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "timelock", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "updateWithdrawQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawQueueLength", + data: BytesLike + ): Result; +} + +export interface IMetaMorphoBase extends BaseContract { + connect(runner?: ContractRunner | null): IMetaMorphoBase; + waitForDeployment(): Promise; + + interface: IMetaMorphoBaseInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DECIMALS_OFFSET: TypedContractMethod<[], [bigint], "view">; + + MORPHO: TypedContractMethod<[], [string], "view">; + + acceptCap: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + acceptGuardian: TypedContractMethod<[], [void], "nonpayable">; + + acceptTimelock: TypedContractMethod<[], [void], "nonpayable">; + + curator: TypedContractMethod<[], [string], "view">; + + fee: TypedContractMethod<[], [bigint], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + guardian: TypedContractMethod<[], [string], "view">; + + isAllocator: TypedContractMethod<[target: AddressLike], [boolean], "view">; + + lastTotalAssets: TypedContractMethod<[], [bigint], "view">; + + reallocate: TypedContractMethod< + [allocations: MarketAllocationStruct[]], + [void], + "nonpayable" + >; + + revokePendingCap: TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + + revokePendingGuardian: TypedContractMethod<[], [void], "nonpayable">; + + revokePendingMarketRemoval: TypedContractMethod< + [id: BytesLike], + [void], + "nonpayable" + >; + + revokePendingTimelock: TypedContractMethod<[], [void], "nonpayable">; + + setCurator: TypedContractMethod< + [newCurator: AddressLike], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod<[newFee: BigNumberish], [void], "nonpayable">; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setIsAllocator: TypedContractMethod< + [newAllocator: AddressLike, newIsAllocator: boolean], + [void], + "nonpayable" + >; + + setSkimRecipient: TypedContractMethod< + [newSkimRecipient: AddressLike], + [void], + "nonpayable" + >; + + setSupplyQueue: TypedContractMethod< + [newSupplyQueue: BytesLike[]], + [void], + "nonpayable" + >; + + skim: TypedContractMethod<[arg0: AddressLike], [void], "nonpayable">; + + skimRecipient: TypedContractMethod<[], [string], "view">; + + submitCap: TypedContractMethod< + [marketParams: MarketParamsStruct, newSupplyCap: BigNumberish], + [void], + "nonpayable" + >; + + submitGuardian: TypedContractMethod< + [newGuardian: AddressLike], + [void], + "nonpayable" + >; + + submitMarketRemoval: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + submitTimelock: TypedContractMethod< + [newTimelock: BigNumberish], + [void], + "nonpayable" + >; + + supplyQueue: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + supplyQueueLength: TypedContractMethod<[], [bigint], "view">; + + timelock: TypedContractMethod<[], [bigint], "view">; + + updateWithdrawQueue: TypedContractMethod< + [indexes: BigNumberish[]], + [void], + "nonpayable" + >; + + withdrawQueue: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + withdrawQueueLength: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DECIMALS_OFFSET" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "acceptCap" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "acceptGuardian" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "acceptTimelock" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "curator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "fee" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "guardian" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "isAllocator" + ): TypedContractMethod<[target: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "lastTotalAssets" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "reallocate" + ): TypedContractMethod< + [allocations: MarketAllocationStruct[]], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "revokePendingCap" + ): TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingGuardian" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingMarketRemoval" + ): TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingTimelock" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "setCurator" + ): TypedContractMethod<[newCurator: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod<[newFee: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setIsAllocator" + ): TypedContractMethod< + [newAllocator: AddressLike, newIsAllocator: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setSkimRecipient" + ): TypedContractMethod<[newSkimRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setSupplyQueue" + ): TypedContractMethod<[newSupplyQueue: BytesLike[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "skim" + ): TypedContractMethod<[arg0: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "skimRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "submitCap" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newSupplyCap: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "submitGuardian" + ): TypedContractMethod<[newGuardian: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "submitMarketRemoval" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "submitTimelock" + ): TypedContractMethod<[newTimelock: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "supplyQueue" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "supplyQueueLength" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "timelock" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "updateWithdrawQueue" + ): TypedContractMethod<[indexes: BigNumberish[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "withdrawQueue" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "withdrawQueueLength" + ): TypedContractMethod<[], [bigint], "view">; + + filters: {}; +} diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoStaticTyping.ts b/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoStaticTyping.ts new file mode 100644 index 00000000..78c8c0f2 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMetaMorphoStaticTyping.ts @@ -0,0 +1,701 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketAllocationStruct = { + marketParams: MarketParamsStruct; + assets: BigNumberish; +}; + +export type MarketAllocationStructOutput = [ + marketParams: MarketParamsStructOutput, + assets: bigint +] & { marketParams: MarketParamsStructOutput; assets: bigint }; + +export interface IMetaMorphoStaticTypingInterface extends Interface { + getFunction( + nameOrSignature: + | "DECIMALS_OFFSET" + | "MORPHO" + | "acceptCap" + | "acceptGuardian" + | "acceptTimelock" + | "config" + | "curator" + | "fee" + | "feeRecipient" + | "guardian" + | "isAllocator" + | "lastTotalAssets" + | "pendingCap" + | "pendingGuardian" + | "pendingTimelock" + | "reallocate" + | "revokePendingCap" + | "revokePendingGuardian" + | "revokePendingMarketRemoval" + | "revokePendingTimelock" + | "setCurator" + | "setFee" + | "setFeeRecipient" + | "setIsAllocator" + | "setSkimRecipient" + | "setSupplyQueue" + | "skim" + | "skimRecipient" + | "submitCap" + | "submitGuardian" + | "submitMarketRemoval" + | "submitTimelock" + | "supplyQueue" + | "supplyQueueLength" + | "timelock" + | "updateWithdrawQueue" + | "withdrawQueue" + | "withdrawQueueLength" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DECIMALS_OFFSET", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "acceptCap", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "acceptGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "acceptTimelock", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "config", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "curator", values?: undefined): string; + encodeFunctionData(functionFragment: "fee", values?: undefined): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "guardian", values?: undefined): string; + encodeFunctionData( + functionFragment: "isAllocator", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "lastTotalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "pendingCap", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "pendingGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "pendingTimelock", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "reallocate", + values: [MarketAllocationStruct[]] + ): string; + encodeFunctionData( + functionFragment: "revokePendingCap", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "revokePendingGuardian", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "revokePendingMarketRemoval", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "revokePendingTimelock", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setCurator", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setIsAllocator", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setSkimRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setSupplyQueue", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "skim", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "skimRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "submitCap", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "submitGuardian", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "submitMarketRemoval", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "submitTimelock", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyQueue", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyQueueLength", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "timelock", values?: undefined): string; + encodeFunctionData( + functionFragment: "updateWithdrawQueue", + values: [BigNumberish[]] + ): string; + encodeFunctionData( + functionFragment: "withdrawQueue", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdrawQueueLength", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "DECIMALS_OFFSET", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "acceptCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "acceptGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "acceptTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "config", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "curator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "guardian", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isAllocator", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "lastTotalAssets", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "pendingCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "pendingGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "pendingTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "reallocate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "revokePendingCap", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingMarketRemoval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setCurator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setIsAllocator", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSkimRecipient", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSupplyQueue", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "skim", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "skimRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "submitCap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "submitGuardian", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "submitMarketRemoval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "submitTimelock", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supplyQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supplyQueueLength", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "timelock", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "updateWithdrawQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawQueue", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawQueueLength", + data: BytesLike + ): Result; +} + +export interface IMetaMorphoStaticTyping extends BaseContract { + connect(runner?: ContractRunner | null): IMetaMorphoStaticTyping; + waitForDeployment(): Promise; + + interface: IMetaMorphoStaticTypingInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DECIMALS_OFFSET: TypedContractMethod<[], [bigint], "view">; + + MORPHO: TypedContractMethod<[], [string], "view">; + + acceptCap: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + acceptGuardian: TypedContractMethod<[], [void], "nonpayable">; + + acceptTimelock: TypedContractMethod<[], [void], "nonpayable">; + + config: TypedContractMethod< + [arg0: BytesLike], + [ + [bigint, boolean, bigint] & { + cap: bigint; + enabled: boolean; + removableAt: bigint; + } + ], + "view" + >; + + curator: TypedContractMethod<[], [string], "view">; + + fee: TypedContractMethod<[], [bigint], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + guardian: TypedContractMethod<[], [string], "view">; + + isAllocator: TypedContractMethod<[target: AddressLike], [boolean], "view">; + + lastTotalAssets: TypedContractMethod<[], [bigint], "view">; + + pendingCap: TypedContractMethod< + [arg0: BytesLike], + [[bigint, bigint] & { value: bigint; validAt: bigint }], + "view" + >; + + pendingGuardian: TypedContractMethod< + [], + [[string, bigint] & { guardian: string; validAt: bigint }], + "view" + >; + + pendingTimelock: TypedContractMethod< + [], + [[bigint, bigint] & { value: bigint; validAt: bigint }], + "view" + >; + + reallocate: TypedContractMethod< + [allocations: MarketAllocationStruct[]], + [void], + "nonpayable" + >; + + revokePendingCap: TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + + revokePendingGuardian: TypedContractMethod<[], [void], "nonpayable">; + + revokePendingMarketRemoval: TypedContractMethod< + [id: BytesLike], + [void], + "nonpayable" + >; + + revokePendingTimelock: TypedContractMethod<[], [void], "nonpayable">; + + setCurator: TypedContractMethod< + [newCurator: AddressLike], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod<[newFee: BigNumberish], [void], "nonpayable">; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setIsAllocator: TypedContractMethod< + [newAllocator: AddressLike, newIsAllocator: boolean], + [void], + "nonpayable" + >; + + setSkimRecipient: TypedContractMethod< + [newSkimRecipient: AddressLike], + [void], + "nonpayable" + >; + + setSupplyQueue: TypedContractMethod< + [newSupplyQueue: BytesLike[]], + [void], + "nonpayable" + >; + + skim: TypedContractMethod<[arg0: AddressLike], [void], "nonpayable">; + + skimRecipient: TypedContractMethod<[], [string], "view">; + + submitCap: TypedContractMethod< + [marketParams: MarketParamsStruct, newSupplyCap: BigNumberish], + [void], + "nonpayable" + >; + + submitGuardian: TypedContractMethod< + [newGuardian: AddressLike], + [void], + "nonpayable" + >; + + submitMarketRemoval: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + submitTimelock: TypedContractMethod< + [newTimelock: BigNumberish], + [void], + "nonpayable" + >; + + supplyQueue: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + supplyQueueLength: TypedContractMethod<[], [bigint], "view">; + + timelock: TypedContractMethod<[], [bigint], "view">; + + updateWithdrawQueue: TypedContractMethod< + [indexes: BigNumberish[]], + [void], + "nonpayable" + >; + + withdrawQueue: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + withdrawQueueLength: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DECIMALS_OFFSET" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "acceptCap" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "acceptGuardian" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "acceptTimelock" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "config" + ): TypedContractMethod< + [arg0: BytesLike], + [ + [bigint, boolean, bigint] & { + cap: bigint; + enabled: boolean; + removableAt: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "curator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "fee" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "guardian" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "isAllocator" + ): TypedContractMethod<[target: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "lastTotalAssets" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "pendingCap" + ): TypedContractMethod< + [arg0: BytesLike], + [[bigint, bigint] & { value: bigint; validAt: bigint }], + "view" + >; + getFunction( + nameOrSignature: "pendingGuardian" + ): TypedContractMethod< + [], + [[string, bigint] & { guardian: string; validAt: bigint }], + "view" + >; + getFunction( + nameOrSignature: "pendingTimelock" + ): TypedContractMethod< + [], + [[bigint, bigint] & { value: bigint; validAt: bigint }], + "view" + >; + getFunction( + nameOrSignature: "reallocate" + ): TypedContractMethod< + [allocations: MarketAllocationStruct[]], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "revokePendingCap" + ): TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingGuardian" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingMarketRemoval" + ): TypedContractMethod<[id: BytesLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "revokePendingTimelock" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "setCurator" + ): TypedContractMethod<[newCurator: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod<[newFee: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setIsAllocator" + ): TypedContractMethod< + [newAllocator: AddressLike, newIsAllocator: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setSkimRecipient" + ): TypedContractMethod<[newSkimRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setSupplyQueue" + ): TypedContractMethod<[newSupplyQueue: BytesLike[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "skim" + ): TypedContractMethod<[arg0: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "skimRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "submitCap" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newSupplyCap: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "submitGuardian" + ): TypedContractMethod<[newGuardian: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "submitMarketRemoval" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "submitTimelock" + ): TypedContractMethod<[newTimelock: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "supplyQueue" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "supplyQueueLength" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "timelock" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "updateWithdrawQueue" + ): TypedContractMethod<[indexes: BigNumberish[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "withdrawQueue" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "withdrawQueueLength" + ): TypedContractMethod<[], [bigint], "view">; + + filters: {}; +} diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMulticall.ts b/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMulticall.ts new file mode 100644 index 00000000..c0147f50 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IMulticall.ts @@ -0,0 +1,87 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export interface IMulticallInterface extends Interface { + getFunction(nameOrSignature: "multicall"): FunctionFragment; + + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; +} + +export interface IMulticall extends BaseContract { + connect(runner?: ContractRunner | null): IMulticall; + waitForDeployment(): Promise; + + interface: IMulticallInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + multicall: TypedContractMethod<[arg0: BytesLike[]], [string[]], "nonpayable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[arg0: BytesLike[]], [string[]], "nonpayable">; + + filters: {}; +} diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IOwnable.ts b/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IOwnable.ts new file mode 100644 index 00000000..de13f007 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/IOwnable.ts @@ -0,0 +1,148 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export interface IOwnableInterface extends Interface { + getFunction( + nameOrSignature: + | "acceptOwnership" + | "owner" + | "pendingOwner" + | "renounceOwnership" + | "transferOwnership" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "acceptOwnership", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "pendingOwner", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "acceptOwnership", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "pendingOwner", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; +} + +export interface IOwnable extends BaseContract { + connect(runner?: ContractRunner | null): IOwnable; + waitForDeployment(): Promise; + + interface: IOwnableInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + acceptOwnership: TypedContractMethod<[], [void], "nonpayable">; + + owner: TypedContractMethod<[], [string], "view">; + + pendingOwner: TypedContractMethod<[], [string], "view">; + + renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; + + transferOwnership: TypedContractMethod< + [arg0: AddressLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "acceptOwnership" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "pendingOwner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "renounceOwnership" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "transferOwnership" + ): TypedContractMethod<[arg0: AddressLike], [void], "nonpayable">; + + filters: {}; +} diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/index.ts b/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/index.ts new file mode 100644 index 00000000..5b149c53 --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/IMetaMorpho.sol/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IMetaMorpho } from "./IMetaMorpho"; +export type { IMetaMorphoBase } from "./IMetaMorphoBase"; +export type { IMetaMorphoStaticTyping } from "./IMetaMorphoStaticTyping"; +export type { IMulticall } from "./IMulticall"; +export type { IOwnable } from "./IOwnable"; diff --git a/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/index.ts b/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/index.ts new file mode 100644 index 00000000..cc8fd50e --- /dev/null +++ b/pkg/types/lib/public-allocator/lib/metamorpho/src/interfaces/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as iMetaMorphoSol from "./IMetaMorpho.sol"; +export type { iMetaMorphoSol }; diff --git a/pkg/types/lib/public-allocator/src/PublicAllocator.ts b/pkg/types/lib/public-allocator/src/PublicAllocator.ts new file mode 100644 index 00000000..0dc9ad5f --- /dev/null +++ b/pkg/types/lib/public-allocator/src/PublicAllocator.ts @@ -0,0 +1,547 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export type FlowCapsStruct = { maxIn: BigNumberish; maxOut: BigNumberish }; + +export type FlowCapsStructOutput = [maxIn: bigint, maxOut: bigint] & { + maxIn: bigint; + maxOut: bigint; +}; + +export type FlowCapsConfigStruct = { id: BytesLike; caps: FlowCapsStruct }; + +export type FlowCapsConfigStructOutput = [ + id: string, + caps: FlowCapsStructOutput +] & { id: string; caps: FlowCapsStructOutput }; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type WithdrawalStruct = { + marketParams: MarketParamsStruct; + amount: BigNumberish; +}; + +export type WithdrawalStructOutput = [ + marketParams: MarketParamsStructOutput, + amount: bigint +] & { marketParams: MarketParamsStructOutput; amount: bigint }; + +export interface PublicAllocatorInterface extends Interface { + getFunction( + nameOrSignature: + | "MORPHO" + | "accruedFee" + | "admin" + | "fee" + | "flowCaps" + | "reallocateTo" + | "setAdmin" + | "setFee" + | "setFlowCaps" + | "transferFee" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: + | "PublicReallocateTo" + | "PublicWithdrawal" + | "SetAdmin" + | "SetFee" + | "SetFlowCaps" + | "TransferFee" + ): EventFragment; + + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "accruedFee", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "admin", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "fee", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "flowCaps", + values: [AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "reallocateTo", + values: [AddressLike, WithdrawalStruct[], MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "setAdmin", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFlowCaps", + values: [AddressLike, FlowCapsConfigStruct[]] + ): string; + encodeFunctionData( + functionFragment: "transferFee", + values: [AddressLike, AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "accruedFee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "flowCaps", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "reallocateTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setAdmin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFlowCaps", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferFee", + data: BytesLike + ): Result; +} + +export namespace PublicReallocateToEvent { + export type InputTuple = [ + sender: AddressLike, + vault: AddressLike, + supplyMarketId: BytesLike, + suppliedAssets: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + vault: string, + supplyMarketId: string, + suppliedAssets: bigint + ]; + export interface OutputObject { + sender: string; + vault: string; + supplyMarketId: string; + suppliedAssets: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace PublicWithdrawalEvent { + export type InputTuple = [ + sender: AddressLike, + vault: AddressLike, + id: BytesLike, + withdrawnAssets: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + vault: string, + id: string, + withdrawnAssets: bigint + ]; + export interface OutputObject { + sender: string; + vault: string; + id: string; + withdrawnAssets: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetAdminEvent { + export type InputTuple = [ + sender: AddressLike, + vault: AddressLike, + admin: AddressLike + ]; + export type OutputTuple = [sender: string, vault: string, admin: string]; + export interface OutputObject { + sender: string; + vault: string; + admin: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetFeeEvent { + export type InputTuple = [ + sender: AddressLike, + vault: AddressLike, + fee: BigNumberish + ]; + export type OutputTuple = [sender: string, vault: string, fee: bigint]; + export interface OutputObject { + sender: string; + vault: string; + fee: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetFlowCapsEvent { + export type InputTuple = [ + sender: AddressLike, + vault: AddressLike, + config: FlowCapsConfigStruct[] + ]; + export type OutputTuple = [ + sender: string, + vault: string, + config: FlowCapsConfigStructOutput[] + ]; + export interface OutputObject { + sender: string; + vault: string; + config: FlowCapsConfigStructOutput[]; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferFeeEvent { + export type InputTuple = [ + sender: AddressLike, + vault: AddressLike, + amount: BigNumberish, + feeRecipient: AddressLike + ]; + export type OutputTuple = [ + sender: string, + vault: string, + amount: bigint, + feeRecipient: string + ]; + export interface OutputObject { + sender: string; + vault: string; + amount: bigint; + feeRecipient: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface PublicAllocator extends BaseContract { + connect(runner?: ContractRunner | null): PublicAllocator; + waitForDeployment(): Promise; + + interface: PublicAllocatorInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + MORPHO: TypedContractMethod<[], [string], "view">; + + accruedFee: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + admin: TypedContractMethod<[arg0: AddressLike], [string], "view">; + + fee: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + flowCaps: TypedContractMethod< + [arg0: AddressLike, arg1: BytesLike], + [[bigint, bigint] & { maxIn: bigint; maxOut: bigint }], + "view" + >; + + reallocateTo: TypedContractMethod< + [ + vault: AddressLike, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + + setAdmin: TypedContractMethod< + [vault: AddressLike, newAdmin: AddressLike], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [vault: AddressLike, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFlowCaps: TypedContractMethod< + [vault: AddressLike, config: FlowCapsConfigStruct[]], + [void], + "nonpayable" + >; + + transferFee: TypedContractMethod< + [vault: AddressLike, feeRecipient: AddressLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accruedFee" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "admin" + ): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "fee" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "flowCaps" + ): TypedContractMethod< + [arg0: AddressLike, arg1: BytesLike], + [[bigint, bigint] & { maxIn: bigint; maxOut: bigint }], + "view" + >; + getFunction( + nameOrSignature: "reallocateTo" + ): TypedContractMethod< + [ + vault: AddressLike, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "setAdmin" + ): TypedContractMethod< + [vault: AddressLike, newAdmin: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [vault: AddressLike, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFlowCaps" + ): TypedContractMethod< + [vault: AddressLike, config: FlowCapsConfigStruct[]], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFee" + ): TypedContractMethod< + [vault: AddressLike, feeRecipient: AddressLike], + [void], + "nonpayable" + >; + + getEvent( + key: "PublicReallocateTo" + ): TypedContractEvent< + PublicReallocateToEvent.InputTuple, + PublicReallocateToEvent.OutputTuple, + PublicReallocateToEvent.OutputObject + >; + getEvent( + key: "PublicWithdrawal" + ): TypedContractEvent< + PublicWithdrawalEvent.InputTuple, + PublicWithdrawalEvent.OutputTuple, + PublicWithdrawalEvent.OutputObject + >; + getEvent( + key: "SetAdmin" + ): TypedContractEvent< + SetAdminEvent.InputTuple, + SetAdminEvent.OutputTuple, + SetAdminEvent.OutputObject + >; + getEvent( + key: "SetFee" + ): TypedContractEvent< + SetFeeEvent.InputTuple, + SetFeeEvent.OutputTuple, + SetFeeEvent.OutputObject + >; + getEvent( + key: "SetFlowCaps" + ): TypedContractEvent< + SetFlowCapsEvent.InputTuple, + SetFlowCapsEvent.OutputTuple, + SetFlowCapsEvent.OutputObject + >; + getEvent( + key: "TransferFee" + ): TypedContractEvent< + TransferFeeEvent.InputTuple, + TransferFeeEvent.OutputTuple, + TransferFeeEvent.OutputObject + >; + + filters: { + "PublicReallocateTo(address,address,bytes32,uint256)": TypedContractEvent< + PublicReallocateToEvent.InputTuple, + PublicReallocateToEvent.OutputTuple, + PublicReallocateToEvent.OutputObject + >; + PublicReallocateTo: TypedContractEvent< + PublicReallocateToEvent.InputTuple, + PublicReallocateToEvent.OutputTuple, + PublicReallocateToEvent.OutputObject + >; + + "PublicWithdrawal(address,address,bytes32,uint256)": TypedContractEvent< + PublicWithdrawalEvent.InputTuple, + PublicWithdrawalEvent.OutputTuple, + PublicWithdrawalEvent.OutputObject + >; + PublicWithdrawal: TypedContractEvent< + PublicWithdrawalEvent.InputTuple, + PublicWithdrawalEvent.OutputTuple, + PublicWithdrawalEvent.OutputObject + >; + + "SetAdmin(address,address,address)": TypedContractEvent< + SetAdminEvent.InputTuple, + SetAdminEvent.OutputTuple, + SetAdminEvent.OutputObject + >; + SetAdmin: TypedContractEvent< + SetAdminEvent.InputTuple, + SetAdminEvent.OutputTuple, + SetAdminEvent.OutputObject + >; + + "SetFee(address,address,uint256)": TypedContractEvent< + SetFeeEvent.InputTuple, + SetFeeEvent.OutputTuple, + SetFeeEvent.OutputObject + >; + SetFee: TypedContractEvent< + SetFeeEvent.InputTuple, + SetFeeEvent.OutputTuple, + SetFeeEvent.OutputObject + >; + + "SetFlowCaps(address,address,tuple[])": TypedContractEvent< + SetFlowCapsEvent.InputTuple, + SetFlowCapsEvent.OutputTuple, + SetFlowCapsEvent.OutputObject + >; + SetFlowCaps: TypedContractEvent< + SetFlowCapsEvent.InputTuple, + SetFlowCapsEvent.OutputTuple, + SetFlowCapsEvent.OutputObject + >; + + "TransferFee(address,address,uint256,address)": TypedContractEvent< + TransferFeeEvent.InputTuple, + TransferFeeEvent.OutputTuple, + TransferFeeEvent.OutputObject + >; + TransferFee: TypedContractEvent< + TransferFeeEvent.InputTuple, + TransferFeeEvent.OutputTuple, + TransferFeeEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/public-allocator/src/index.ts b/pkg/types/lib/public-allocator/src/index.ts new file mode 100644 index 00000000..eebe7bd9 --- /dev/null +++ b/pkg/types/lib/public-allocator/src/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; +import type * as libraries from "./libraries"; +export type { libraries }; +export type { PublicAllocator } from "./PublicAllocator"; diff --git a/pkg/types/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocator.ts b/pkg/types/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocator.ts new file mode 100644 index 00000000..c9d15ac5 --- /dev/null +++ b/pkg/types/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocator.ts @@ -0,0 +1,293 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export type FlowCapsStruct = { maxIn: BigNumberish; maxOut: BigNumberish }; + +export type FlowCapsStructOutput = [maxIn: bigint, maxOut: bigint] & { + maxIn: bigint; + maxOut: bigint; +}; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type WithdrawalStruct = { + marketParams: MarketParamsStruct; + amount: BigNumberish; +}; + +export type WithdrawalStructOutput = [ + marketParams: MarketParamsStructOutput, + amount: bigint +] & { marketParams: MarketParamsStructOutput; amount: bigint }; + +export type FlowCapsConfigStruct = { id: BytesLike; caps: FlowCapsStruct }; + +export type FlowCapsConfigStructOutput = [ + id: string, + caps: FlowCapsStructOutput +] & { id: string; caps: FlowCapsStructOutput }; + +export interface IPublicAllocatorInterface extends Interface { + getFunction( + nameOrSignature: + | "MORPHO" + | "accruedFee" + | "admin" + | "fee" + | "flowCaps" + | "reallocateTo" + | "setAdmin" + | "setFee" + | "setFlowCaps" + | "transferFee" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "accruedFee", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "admin", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "fee", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "flowCaps", + values: [AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "reallocateTo", + values: [AddressLike, WithdrawalStruct[], MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "setAdmin", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFlowCaps", + values: [AddressLike, FlowCapsConfigStruct[]] + ): string; + encodeFunctionData( + functionFragment: "transferFee", + values: [AddressLike, AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "accruedFee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "flowCaps", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "reallocateTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setAdmin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFlowCaps", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferFee", + data: BytesLike + ): Result; +} + +export interface IPublicAllocator extends BaseContract { + connect(runner?: ContractRunner | null): IPublicAllocator; + waitForDeployment(): Promise; + + interface: IPublicAllocatorInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + MORPHO: TypedContractMethod<[], [string], "view">; + + accruedFee: TypedContractMethod<[vault: AddressLike], [bigint], "view">; + + admin: TypedContractMethod<[vault: AddressLike], [string], "view">; + + fee: TypedContractMethod<[vault: AddressLike], [bigint], "view">; + + flowCaps: TypedContractMethod< + [vault: AddressLike, arg1: BytesLike], + [FlowCapsStructOutput], + "view" + >; + + reallocateTo: TypedContractMethod< + [ + vault: AddressLike, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + + setAdmin: TypedContractMethod< + [vault: AddressLike, newAdmin: AddressLike], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [vault: AddressLike, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFlowCaps: TypedContractMethod< + [vault: AddressLike, config: FlowCapsConfigStruct[]], + [void], + "nonpayable" + >; + + transferFee: TypedContractMethod< + [vault: AddressLike, feeRecipient: AddressLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accruedFee" + ): TypedContractMethod<[vault: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "admin" + ): TypedContractMethod<[vault: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "fee" + ): TypedContractMethod<[vault: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "flowCaps" + ): TypedContractMethod< + [vault: AddressLike, arg1: BytesLike], + [FlowCapsStructOutput], + "view" + >; + getFunction( + nameOrSignature: "reallocateTo" + ): TypedContractMethod< + [ + vault: AddressLike, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "setAdmin" + ): TypedContractMethod< + [vault: AddressLike, newAdmin: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [vault: AddressLike, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFlowCaps" + ): TypedContractMethod< + [vault: AddressLike, config: FlowCapsConfigStruct[]], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFee" + ): TypedContractMethod< + [vault: AddressLike, feeRecipient: AddressLike], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorBase.ts b/pkg/types/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorBase.ts new file mode 100644 index 00000000..edddaa3f --- /dev/null +++ b/pkg/types/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorBase.ts @@ -0,0 +1,274 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type WithdrawalStruct = { + marketParams: MarketParamsStruct; + amount: BigNumberish; +}; + +export type WithdrawalStructOutput = [ + marketParams: MarketParamsStructOutput, + amount: bigint +] & { marketParams: MarketParamsStructOutput; amount: bigint }; + +export type FlowCapsStruct = { maxIn: BigNumberish; maxOut: BigNumberish }; + +export type FlowCapsStructOutput = [maxIn: bigint, maxOut: bigint] & { + maxIn: bigint; + maxOut: bigint; +}; + +export type FlowCapsConfigStruct = { id: BytesLike; caps: FlowCapsStruct }; + +export type FlowCapsConfigStructOutput = [ + id: string, + caps: FlowCapsStructOutput +] & { id: string; caps: FlowCapsStructOutput }; + +export interface IPublicAllocatorBaseInterface extends Interface { + getFunction( + nameOrSignature: + | "MORPHO" + | "accruedFee" + | "admin" + | "fee" + | "reallocateTo" + | "setAdmin" + | "setFee" + | "setFlowCaps" + | "transferFee" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "accruedFee", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "admin", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "fee", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "reallocateTo", + values: [AddressLike, WithdrawalStruct[], MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "setAdmin", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFlowCaps", + values: [AddressLike, FlowCapsConfigStruct[]] + ): string; + encodeFunctionData( + functionFragment: "transferFee", + values: [AddressLike, AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "accruedFee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "reallocateTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setAdmin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFlowCaps", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferFee", + data: BytesLike + ): Result; +} + +export interface IPublicAllocatorBase extends BaseContract { + connect(runner?: ContractRunner | null): IPublicAllocatorBase; + waitForDeployment(): Promise; + + interface: IPublicAllocatorBaseInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + MORPHO: TypedContractMethod<[], [string], "view">; + + accruedFee: TypedContractMethod<[vault: AddressLike], [bigint], "view">; + + admin: TypedContractMethod<[vault: AddressLike], [string], "view">; + + fee: TypedContractMethod<[vault: AddressLike], [bigint], "view">; + + reallocateTo: TypedContractMethod< + [ + vault: AddressLike, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + + setAdmin: TypedContractMethod< + [vault: AddressLike, newAdmin: AddressLike], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [vault: AddressLike, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFlowCaps: TypedContractMethod< + [vault: AddressLike, config: FlowCapsConfigStruct[]], + [void], + "nonpayable" + >; + + transferFee: TypedContractMethod< + [vault: AddressLike, feeRecipient: AddressLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accruedFee" + ): TypedContractMethod<[vault: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "admin" + ): TypedContractMethod<[vault: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "fee" + ): TypedContractMethod<[vault: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "reallocateTo" + ): TypedContractMethod< + [ + vault: AddressLike, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "setAdmin" + ): TypedContractMethod< + [vault: AddressLike, newAdmin: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [vault: AddressLike, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFlowCaps" + ): TypedContractMethod< + [vault: AddressLike, config: FlowCapsConfigStruct[]], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFee" + ): TypedContractMethod< + [vault: AddressLike, feeRecipient: AddressLike], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorStaticTyping.ts b/pkg/types/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorStaticTyping.ts new file mode 100644 index 00000000..420638f2 --- /dev/null +++ b/pkg/types/lib/public-allocator/src/interfaces/IPublicAllocator.sol/IPublicAllocatorStaticTyping.ts @@ -0,0 +1,293 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type WithdrawalStruct = { + marketParams: MarketParamsStruct; + amount: BigNumberish; +}; + +export type WithdrawalStructOutput = [ + marketParams: MarketParamsStructOutput, + amount: bigint +] & { marketParams: MarketParamsStructOutput; amount: bigint }; + +export type FlowCapsStruct = { maxIn: BigNumberish; maxOut: BigNumberish }; + +export type FlowCapsStructOutput = [maxIn: bigint, maxOut: bigint] & { + maxIn: bigint; + maxOut: bigint; +}; + +export type FlowCapsConfigStruct = { id: BytesLike; caps: FlowCapsStruct }; + +export type FlowCapsConfigStructOutput = [ + id: string, + caps: FlowCapsStructOutput +] & { id: string; caps: FlowCapsStructOutput }; + +export interface IPublicAllocatorStaticTypingInterface extends Interface { + getFunction( + nameOrSignature: + | "MORPHO" + | "accruedFee" + | "admin" + | "fee" + | "flowCaps" + | "reallocateTo" + | "setAdmin" + | "setFee" + | "setFlowCaps" + | "transferFee" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "accruedFee", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "admin", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "fee", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "flowCaps", + values: [AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "reallocateTo", + values: [AddressLike, WithdrawalStruct[], MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "setAdmin", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFlowCaps", + values: [AddressLike, FlowCapsConfigStruct[]] + ): string; + encodeFunctionData( + functionFragment: "transferFee", + values: [AddressLike, AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "accruedFee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "flowCaps", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "reallocateTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setAdmin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFlowCaps", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferFee", + data: BytesLike + ): Result; +} + +export interface IPublicAllocatorStaticTyping extends BaseContract { + connect(runner?: ContractRunner | null): IPublicAllocatorStaticTyping; + waitForDeployment(): Promise; + + interface: IPublicAllocatorStaticTypingInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + MORPHO: TypedContractMethod<[], [string], "view">; + + accruedFee: TypedContractMethod<[vault: AddressLike], [bigint], "view">; + + admin: TypedContractMethod<[vault: AddressLike], [string], "view">; + + fee: TypedContractMethod<[vault: AddressLike], [bigint], "view">; + + flowCaps: TypedContractMethod< + [vault: AddressLike, arg1: BytesLike], + [[bigint, bigint]], + "view" + >; + + reallocateTo: TypedContractMethod< + [ + vault: AddressLike, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + + setAdmin: TypedContractMethod< + [vault: AddressLike, newAdmin: AddressLike], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [vault: AddressLike, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFlowCaps: TypedContractMethod< + [vault: AddressLike, config: FlowCapsConfigStruct[]], + [void], + "nonpayable" + >; + + transferFee: TypedContractMethod< + [vault: AddressLike, feeRecipient: AddressLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accruedFee" + ): TypedContractMethod<[vault: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "admin" + ): TypedContractMethod<[vault: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "fee" + ): TypedContractMethod<[vault: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "flowCaps" + ): TypedContractMethod< + [vault: AddressLike, arg1: BytesLike], + [[bigint, bigint]], + "view" + >; + getFunction( + nameOrSignature: "reallocateTo" + ): TypedContractMethod< + [ + vault: AddressLike, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "setAdmin" + ): TypedContractMethod< + [vault: AddressLike, newAdmin: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [vault: AddressLike, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFlowCaps" + ): TypedContractMethod< + [vault: AddressLike, config: FlowCapsConfigStruct[]], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFee" + ): TypedContractMethod< + [vault: AddressLike, feeRecipient: AddressLike], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/public-allocator/src/interfaces/IPublicAllocator.sol/index.ts b/pkg/types/lib/public-allocator/src/interfaces/IPublicAllocator.sol/index.ts new file mode 100644 index 00000000..d18aa840 --- /dev/null +++ b/pkg/types/lib/public-allocator/src/interfaces/IPublicAllocator.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IPublicAllocator } from "./IPublicAllocator"; +export type { IPublicAllocatorBase } from "./IPublicAllocatorBase"; +export type { IPublicAllocatorStaticTyping } from "./IPublicAllocatorStaticTyping"; diff --git a/pkg/types/lib/public-allocator/src/interfaces/index.ts b/pkg/types/lib/public-allocator/src/interfaces/index.ts new file mode 100644 index 00000000..41733dd4 --- /dev/null +++ b/pkg/types/lib/public-allocator/src/interfaces/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as iPublicAllocatorSol from "./IPublicAllocator.sol"; +export type { iPublicAllocatorSol }; diff --git a/pkg/types/lib/public-allocator/src/libraries/ErrorsLib.ts b/pkg/types/lib/public-allocator/src/libraries/ErrorsLib.ts new file mode 100644 index 00000000..b73e9563 --- /dev/null +++ b/pkg/types/lib/public-allocator/src/libraries/ErrorsLib.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../../common"; + +export interface ErrorsLibInterface extends Interface {} + +export interface ErrorsLib extends BaseContract { + connect(runner?: ContractRunner | null): ErrorsLib; + waitForDeployment(): Promise; + + interface: ErrorsLibInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/pkg/types/lib/public-allocator/src/libraries/EventsLib.ts b/pkg/types/lib/public-allocator/src/libraries/EventsLib.ts new file mode 100644 index 00000000..08eac42c --- /dev/null +++ b/pkg/types/lib/public-allocator/src/libraries/EventsLib.ts @@ -0,0 +1,340 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, +} from "../../../../common"; + +export type FlowCapsStruct = { maxIn: BigNumberish; maxOut: BigNumberish }; + +export type FlowCapsStructOutput = [maxIn: bigint, maxOut: bigint] & { + maxIn: bigint; + maxOut: bigint; +}; + +export type FlowCapsConfigStruct = { id: BytesLike; caps: FlowCapsStruct }; + +export type FlowCapsConfigStructOutput = [ + id: string, + caps: FlowCapsStructOutput +] & { id: string; caps: FlowCapsStructOutput }; + +export interface EventsLibInterface extends Interface { + getEvent( + nameOrSignatureOrTopic: + | "PublicReallocateTo" + | "PublicWithdrawal" + | "SetAdmin" + | "SetFee" + | "SetFlowCaps" + | "TransferFee" + ): EventFragment; +} + +export namespace PublicReallocateToEvent { + export type InputTuple = [ + sender: AddressLike, + vault: AddressLike, + supplyMarketId: BytesLike, + suppliedAssets: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + vault: string, + supplyMarketId: string, + suppliedAssets: bigint + ]; + export interface OutputObject { + sender: string; + vault: string; + supplyMarketId: string; + suppliedAssets: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace PublicWithdrawalEvent { + export type InputTuple = [ + sender: AddressLike, + vault: AddressLike, + id: BytesLike, + withdrawnAssets: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + vault: string, + id: string, + withdrawnAssets: bigint + ]; + export interface OutputObject { + sender: string; + vault: string; + id: string; + withdrawnAssets: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetAdminEvent { + export type InputTuple = [ + sender: AddressLike, + vault: AddressLike, + admin: AddressLike + ]; + export type OutputTuple = [sender: string, vault: string, admin: string]; + export interface OutputObject { + sender: string; + vault: string; + admin: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetFeeEvent { + export type InputTuple = [ + sender: AddressLike, + vault: AddressLike, + fee: BigNumberish + ]; + export type OutputTuple = [sender: string, vault: string, fee: bigint]; + export interface OutputObject { + sender: string; + vault: string; + fee: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetFlowCapsEvent { + export type InputTuple = [ + sender: AddressLike, + vault: AddressLike, + config: FlowCapsConfigStruct[] + ]; + export type OutputTuple = [ + sender: string, + vault: string, + config: FlowCapsConfigStructOutput[] + ]; + export interface OutputObject { + sender: string; + vault: string; + config: FlowCapsConfigStructOutput[]; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferFeeEvent { + export type InputTuple = [ + sender: AddressLike, + vault: AddressLike, + amount: BigNumberish, + feeRecipient: AddressLike + ]; + export type OutputTuple = [ + sender: string, + vault: string, + amount: bigint, + feeRecipient: string + ]; + export interface OutputObject { + sender: string; + vault: string; + amount: bigint; + feeRecipient: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface EventsLib extends BaseContract { + connect(runner?: ContractRunner | null): EventsLib; + waitForDeployment(): Promise; + + interface: EventsLibInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + getEvent( + key: "PublicReallocateTo" + ): TypedContractEvent< + PublicReallocateToEvent.InputTuple, + PublicReallocateToEvent.OutputTuple, + PublicReallocateToEvent.OutputObject + >; + getEvent( + key: "PublicWithdrawal" + ): TypedContractEvent< + PublicWithdrawalEvent.InputTuple, + PublicWithdrawalEvent.OutputTuple, + PublicWithdrawalEvent.OutputObject + >; + getEvent( + key: "SetAdmin" + ): TypedContractEvent< + SetAdminEvent.InputTuple, + SetAdminEvent.OutputTuple, + SetAdminEvent.OutputObject + >; + getEvent( + key: "SetFee" + ): TypedContractEvent< + SetFeeEvent.InputTuple, + SetFeeEvent.OutputTuple, + SetFeeEvent.OutputObject + >; + getEvent( + key: "SetFlowCaps" + ): TypedContractEvent< + SetFlowCapsEvent.InputTuple, + SetFlowCapsEvent.OutputTuple, + SetFlowCapsEvent.OutputObject + >; + getEvent( + key: "TransferFee" + ): TypedContractEvent< + TransferFeeEvent.InputTuple, + TransferFeeEvent.OutputTuple, + TransferFeeEvent.OutputObject + >; + + filters: { + "PublicReallocateTo(address,address,bytes32,uint256)": TypedContractEvent< + PublicReallocateToEvent.InputTuple, + PublicReallocateToEvent.OutputTuple, + PublicReallocateToEvent.OutputObject + >; + PublicReallocateTo: TypedContractEvent< + PublicReallocateToEvent.InputTuple, + PublicReallocateToEvent.OutputTuple, + PublicReallocateToEvent.OutputObject + >; + + "PublicWithdrawal(address,address,bytes32,uint256)": TypedContractEvent< + PublicWithdrawalEvent.InputTuple, + PublicWithdrawalEvent.OutputTuple, + PublicWithdrawalEvent.OutputObject + >; + PublicWithdrawal: TypedContractEvent< + PublicWithdrawalEvent.InputTuple, + PublicWithdrawalEvent.OutputTuple, + PublicWithdrawalEvent.OutputObject + >; + + "SetAdmin(address,address,address)": TypedContractEvent< + SetAdminEvent.InputTuple, + SetAdminEvent.OutputTuple, + SetAdminEvent.OutputObject + >; + SetAdmin: TypedContractEvent< + SetAdminEvent.InputTuple, + SetAdminEvent.OutputTuple, + SetAdminEvent.OutputObject + >; + + "SetFee(address,address,uint256)": TypedContractEvent< + SetFeeEvent.InputTuple, + SetFeeEvent.OutputTuple, + SetFeeEvent.OutputObject + >; + SetFee: TypedContractEvent< + SetFeeEvent.InputTuple, + SetFeeEvent.OutputTuple, + SetFeeEvent.OutputObject + >; + + "SetFlowCaps(address,address,tuple[])": TypedContractEvent< + SetFlowCapsEvent.InputTuple, + SetFlowCapsEvent.OutputTuple, + SetFlowCapsEvent.OutputObject + >; + SetFlowCaps: TypedContractEvent< + SetFlowCapsEvent.InputTuple, + SetFlowCapsEvent.OutputTuple, + SetFlowCapsEvent.OutputObject + >; + + "TransferFee(address,address,uint256,address)": TypedContractEvent< + TransferFeeEvent.InputTuple, + TransferFeeEvent.OutputTuple, + TransferFeeEvent.OutputObject + >; + TransferFee: TypedContractEvent< + TransferFeeEvent.InputTuple, + TransferFeeEvent.OutputTuple, + TransferFeeEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/public-allocator/src/libraries/index.ts b/pkg/types/lib/public-allocator/src/libraries/index.ts new file mode 100644 index 00000000..368141e2 --- /dev/null +++ b/pkg/types/lib/public-allocator/src/libraries/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ErrorsLib } from "./ErrorsLib"; +export type { EventsLib } from "./EventsLib"; diff --git a/pkg/types/lib/solmate/index.ts b/pkg/types/lib/solmate/index.ts new file mode 100644 index 00000000..f68cafed --- /dev/null +++ b/pkg/types/lib/solmate/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as src from "./src"; +export type { src }; diff --git a/pkg/types/lib/solmate/src/index.ts b/pkg/types/lib/solmate/src/index.ts new file mode 100644 index 00000000..acf42633 --- /dev/null +++ b/pkg/types/lib/solmate/src/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as tokens from "./tokens"; +export type { tokens }; diff --git a/pkg/types/lib/solmate/src/tokens/ERC20.ts b/pkg/types/lib/solmate/src/tokens/ERC20.ts new file mode 100644 index 00000000..7d43c966 --- /dev/null +++ b/pkg/types/lib/solmate/src/tokens/ERC20.ts @@ -0,0 +1,351 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface ERC20Interface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "name" + | "nonces" + | "permit" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + amount: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, amount: bigint]; + export interface OutputObject { + owner: string; + spender: string; + amount: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + amount: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, amount: bigint]; + export interface OutputObject { + from: string; + to: string; + amount: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC20 extends BaseContract { + connect(runner?: ContractRunner | null): ERC20; + waitForDeployment(): Promise; + + interface: ERC20Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + allowance: TypedContractMethod< + [arg0: AddressLike, arg1: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + name: TypedContractMethod<[], [string], "view">; + + nonces: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + permit: TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [arg0: AddressLike, arg1: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/solmate/src/tokens/index.ts b/pkg/types/lib/solmate/src/tokens/index.ts new file mode 100644 index 00000000..063d2fbc --- /dev/null +++ b/pkg/types/lib/solmate/src/tokens/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ERC20 } from "./ERC20"; diff --git a/pkg/types/lib/universal-rewards-distributor/index.ts b/pkg/types/lib/universal-rewards-distributor/index.ts new file mode 100644 index 00000000..ccf9a6e8 --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as lib from "./lib"; +export type { lib }; +import type * as src from "./src"; +export type { src }; diff --git a/pkg/types/lib/universal-rewards-distributor/lib/index.ts b/pkg/types/lib/universal-rewards-distributor/lib/index.ts new file mode 100644 index 00000000..44d44127 --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/lib/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as openzeppelinContracts from "./openzeppelin-contracts"; +export type { openzeppelinContracts }; diff --git a/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/index.ts b/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/index.ts new file mode 100644 index 00000000..c2d4e462 --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as token from "./token"; +export type { token }; diff --git a/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.ts b/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.ts new file mode 100644 index 00000000..9ea56f4b --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.ts @@ -0,0 +1,262 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export interface IERC20Interface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IERC20 extends BaseContract { + connect(runner?: ContractRunner | null): IERC20; + waitForDeployment(): Promise; + + interface: IERC20Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.ts b/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.ts new file mode 100644 index 00000000..ee625a89 --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.ts @@ -0,0 +1,143 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../../common"; + +export interface IERC20PermitInterface extends Interface { + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" | "nonces" | "permit" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; +} + +export interface IERC20Permit extends BaseContract { + connect(runner?: ContractRunner | null): IERC20Permit; + waitForDeployment(): Promise; + + interface: IERC20PermitInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + permit: TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts b/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts new file mode 100644 index 00000000..6673dc7d --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IERC20Permit } from "./IERC20Permit"; diff --git a/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts b/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts new file mode 100644 index 00000000..a8eb12b2 --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/ERC20/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as extensions from "./extensions"; +export type { extensions }; +export type { IERC20 } from "./IERC20"; diff --git a/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/index.ts b/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/index.ts new file mode 100644 index 00000000..5c4062a9 --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/contracts/token/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as erc20 from "./ERC20"; +export type { erc20 }; diff --git a/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/index.ts b/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/index.ts new file mode 100644 index 00000000..a11e4ca2 --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/lib/openzeppelin-contracts/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as contracts from "./contracts"; +export type { contracts }; diff --git a/pkg/types/lib/universal-rewards-distributor/src/UniversalRewardsDistributor.ts b/pkg/types/lib/universal-rewards-distributor/src/UniversalRewardsDistributor.ts new file mode 100644 index 00000000..435cc54f --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/src/UniversalRewardsDistributor.ts @@ -0,0 +1,320 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface UniversalRewardsDistributorInterface extends Interface { + getFunction( + nameOrSignature: + | "acceptRoot" + | "claim" + | "claimed" + | "ipfsHash" + | "isUpdater" + | "owner" + | "pendingRoot" + | "revokePendingRoot" + | "root" + | "setOwner" + | "setRoot" + | "setRootUpdater" + | "setTimelock" + | "submitRoot" + | "timelock" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "acceptRoot", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "claim", + values: [AddressLike, AddressLike, BigNumberish, BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "claimed", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "ipfsHash", values?: undefined): string; + encodeFunctionData( + functionFragment: "isUpdater", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "pendingRoot", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "revokePendingRoot", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "root", values?: undefined): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setRoot", + values: [BytesLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "setRootUpdater", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setTimelock", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "submitRoot", + values: [BytesLike, BytesLike] + ): string; + encodeFunctionData(functionFragment: "timelock", values?: undefined): string; + + decodeFunctionResult(functionFragment: "acceptRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "claim", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "claimed", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ipfsHash", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isUpdater", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "pendingRoot", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingRoot", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "root", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setRoot", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setRootUpdater", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "submitRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "timelock", data: BytesLike): Result; +} + +export interface UniversalRewardsDistributor extends BaseContract { + connect(runner?: ContractRunner | null): UniversalRewardsDistributor; + waitForDeployment(): Promise; + + interface: UniversalRewardsDistributorInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + acceptRoot: TypedContractMethod<[], [void], "nonpayable">; + + claim: TypedContractMethod< + [ + account: AddressLike, + reward: AddressLike, + claimable: BigNumberish, + proof: BytesLike[] + ], + [bigint], + "nonpayable" + >; + + claimed: TypedContractMethod< + [account: AddressLike, reward: AddressLike], + [bigint], + "view" + >; + + ipfsHash: TypedContractMethod<[], [string], "view">; + + isUpdater: TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + pendingRoot: TypedContractMethod< + [], + [ + [string, string, bigint] & { + root: string; + ipfsHash: string; + validAt: bigint; + } + ], + "view" + >; + + revokePendingRoot: TypedContractMethod<[], [void], "nonpayable">; + + root: TypedContractMethod<[], [string], "view">; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + setRoot: TypedContractMethod< + [newRoot: BytesLike, newIpfsHash: BytesLike], + [void], + "nonpayable" + >; + + setRootUpdater: TypedContractMethod< + [updater: AddressLike, active: boolean], + [void], + "nonpayable" + >; + + setTimelock: TypedContractMethod< + [newTimelock: BigNumberish], + [void], + "nonpayable" + >; + + submitRoot: TypedContractMethod< + [newRoot: BytesLike, newIpfsHash: BytesLike], + [void], + "nonpayable" + >; + + timelock: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "acceptRoot" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "claim" + ): TypedContractMethod< + [ + account: AddressLike, + reward: AddressLike, + claimable: BigNumberish, + proof: BytesLike[] + ], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "claimed" + ): TypedContractMethod< + [account: AddressLike, reward: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "ipfsHash" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "isUpdater" + ): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "pendingRoot" + ): TypedContractMethod< + [], + [ + [string, string, bigint] & { + root: string; + ipfsHash: string; + validAt: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "revokePendingRoot" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "root" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setRoot" + ): TypedContractMethod< + [newRoot: BytesLike, newIpfsHash: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setRootUpdater" + ): TypedContractMethod< + [updater: AddressLike, active: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setTimelock" + ): TypedContractMethod<[newTimelock: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "submitRoot" + ): TypedContractMethod< + [newRoot: BytesLike, newIpfsHash: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "timelock" + ): TypedContractMethod<[], [bigint], "view">; + + filters: {}; +} diff --git a/pkg/types/lib/universal-rewards-distributor/src/UrdFactory.ts b/pkg/types/lib/universal-rewards-distributor/src/UrdFactory.ts new file mode 100644 index 00000000..13c1ded8 --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/src/UrdFactory.ts @@ -0,0 +1,116 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface UrdFactoryInterface extends Interface { + getFunction(nameOrSignature: "createUrd" | "isUrd"): FunctionFragment; + + encodeFunctionData( + functionFragment: "createUrd", + values: [AddressLike, BigNumberish, BytesLike, BytesLike, BytesLike] + ): string; + encodeFunctionData(functionFragment: "isUrd", values: [AddressLike]): string; + + decodeFunctionResult(functionFragment: "createUrd", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isUrd", data: BytesLike): Result; +} + +export interface UrdFactory extends BaseContract { + connect(runner?: ContractRunner | null): UrdFactory; + waitForDeployment(): Promise; + + interface: UrdFactoryInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + createUrd: TypedContractMethod< + [ + initialOwner: AddressLike, + initialTimelock: BigNumberish, + initialRoot: BytesLike, + initialIpfsHash: BytesLike, + salt: BytesLike + ], + [string], + "nonpayable" + >; + + isUrd: TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "createUrd" + ): TypedContractMethod< + [ + initialOwner: AddressLike, + initialTimelock: BigNumberish, + initialRoot: BytesLike, + initialIpfsHash: BytesLike, + salt: BytesLike + ], + [string], + "nonpayable" + >; + getFunction( + nameOrSignature: "isUrd" + ): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + + filters: {}; +} diff --git a/pkg/types/lib/universal-rewards-distributor/src/index.ts b/pkg/types/lib/universal-rewards-distributor/src/index.ts new file mode 100644 index 00000000..e2c87686 --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/src/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; +import type * as libraries from "./libraries"; +export type { libraries }; +export type { UniversalRewardsDistributor } from "./UniversalRewardsDistributor"; +export type { UrdFactory } from "./UrdFactory"; diff --git a/pkg/types/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributor.ts b/pkg/types/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributor.ts new file mode 100644 index 00000000..5d08ba0e --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributor.ts @@ -0,0 +1,312 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export type PendingRootStruct = { + root: BytesLike; + ipfsHash: BytesLike; + validAt: BigNumberish; +}; + +export type PendingRootStructOutput = [ + root: string, + ipfsHash: string, + validAt: bigint +] & { root: string; ipfsHash: string; validAt: bigint }; + +export interface IUniversalRewardsDistributorInterface extends Interface { + getFunction( + nameOrSignature: + | "acceptRoot" + | "claim" + | "claimed" + | "ipfsHash" + | "isUpdater" + | "owner" + | "pendingRoot" + | "revokePendingRoot" + | "root" + | "setOwner" + | "setRoot" + | "setRootUpdater" + | "setTimelock" + | "submitRoot" + | "timelock" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "acceptRoot", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "claim", + values: [AddressLike, AddressLike, BigNumberish, BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "claimed", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "ipfsHash", values?: undefined): string; + encodeFunctionData( + functionFragment: "isUpdater", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "pendingRoot", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "revokePendingRoot", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "root", values?: undefined): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setRoot", + values: [BytesLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "setRootUpdater", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setTimelock", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "submitRoot", + values: [BytesLike, BytesLike] + ): string; + encodeFunctionData(functionFragment: "timelock", values?: undefined): string; + + decodeFunctionResult(functionFragment: "acceptRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "claim", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "claimed", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ipfsHash", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isUpdater", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "pendingRoot", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingRoot", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "root", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setRoot", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setRootUpdater", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "submitRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "timelock", data: BytesLike): Result; +} + +export interface IUniversalRewardsDistributor extends BaseContract { + connect(runner?: ContractRunner | null): IUniversalRewardsDistributor; + waitForDeployment(): Promise; + + interface: IUniversalRewardsDistributorInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + acceptRoot: TypedContractMethod<[], [void], "nonpayable">; + + claim: TypedContractMethod< + [ + account: AddressLike, + reward: AddressLike, + claimable: BigNumberish, + proof: BytesLike[] + ], + [bigint], + "nonpayable" + >; + + claimed: TypedContractMethod< + [arg0: AddressLike, arg1: AddressLike], + [bigint], + "view" + >; + + ipfsHash: TypedContractMethod<[], [string], "view">; + + isUpdater: TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + pendingRoot: TypedContractMethod<[], [PendingRootStructOutput], "view">; + + revokePendingRoot: TypedContractMethod<[], [void], "nonpayable">; + + root: TypedContractMethod<[], [string], "view">; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + setRoot: TypedContractMethod< + [newRoot: BytesLike, newIpfsHash: BytesLike], + [void], + "nonpayable" + >; + + setRootUpdater: TypedContractMethod< + [updater: AddressLike, active: boolean], + [void], + "nonpayable" + >; + + setTimelock: TypedContractMethod< + [newTimelock: BigNumberish], + [void], + "nonpayable" + >; + + submitRoot: TypedContractMethod< + [newRoot: BytesLike, ipfsHash: BytesLike], + [void], + "nonpayable" + >; + + timelock: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "acceptRoot" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "claim" + ): TypedContractMethod< + [ + account: AddressLike, + reward: AddressLike, + claimable: BigNumberish, + proof: BytesLike[] + ], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "claimed" + ): TypedContractMethod< + [arg0: AddressLike, arg1: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "ipfsHash" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "isUpdater" + ): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "pendingRoot" + ): TypedContractMethod<[], [PendingRootStructOutput], "view">; + getFunction( + nameOrSignature: "revokePendingRoot" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "root" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setRoot" + ): TypedContractMethod< + [newRoot: BytesLike, newIpfsHash: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setRootUpdater" + ): TypedContractMethod< + [updater: AddressLike, active: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setTimelock" + ): TypedContractMethod<[newTimelock: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "submitRoot" + ): TypedContractMethod< + [newRoot: BytesLike, ipfsHash: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "timelock" + ): TypedContractMethod<[], [bigint], "view">; + + filters: {}; +} diff --git a/pkg/types/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorBase.ts b/pkg/types/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorBase.ts new file mode 100644 index 00000000..de79d0c9 --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorBase.ts @@ -0,0 +1,286 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface IUniversalRewardsDistributorBaseInterface extends Interface { + getFunction( + nameOrSignature: + | "acceptRoot" + | "claim" + | "claimed" + | "ipfsHash" + | "isUpdater" + | "owner" + | "revokePendingRoot" + | "root" + | "setOwner" + | "setRoot" + | "setRootUpdater" + | "setTimelock" + | "submitRoot" + | "timelock" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "acceptRoot", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "claim", + values: [AddressLike, AddressLike, BigNumberish, BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "claimed", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "ipfsHash", values?: undefined): string; + encodeFunctionData( + functionFragment: "isUpdater", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "revokePendingRoot", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "root", values?: undefined): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setRoot", + values: [BytesLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "setRootUpdater", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setTimelock", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "submitRoot", + values: [BytesLike, BytesLike] + ): string; + encodeFunctionData(functionFragment: "timelock", values?: undefined): string; + + decodeFunctionResult(functionFragment: "acceptRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "claim", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "claimed", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ipfsHash", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isUpdater", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "revokePendingRoot", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "root", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setRoot", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setRootUpdater", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "submitRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "timelock", data: BytesLike): Result; +} + +export interface IUniversalRewardsDistributorBase extends BaseContract { + connect(runner?: ContractRunner | null): IUniversalRewardsDistributorBase; + waitForDeployment(): Promise; + + interface: IUniversalRewardsDistributorBaseInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + acceptRoot: TypedContractMethod<[], [void], "nonpayable">; + + claim: TypedContractMethod< + [ + account: AddressLike, + reward: AddressLike, + claimable: BigNumberish, + proof: BytesLike[] + ], + [bigint], + "nonpayable" + >; + + claimed: TypedContractMethod< + [arg0: AddressLike, arg1: AddressLike], + [bigint], + "view" + >; + + ipfsHash: TypedContractMethod<[], [string], "view">; + + isUpdater: TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + revokePendingRoot: TypedContractMethod<[], [void], "nonpayable">; + + root: TypedContractMethod<[], [string], "view">; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + setRoot: TypedContractMethod< + [newRoot: BytesLike, newIpfsHash: BytesLike], + [void], + "nonpayable" + >; + + setRootUpdater: TypedContractMethod< + [updater: AddressLike, active: boolean], + [void], + "nonpayable" + >; + + setTimelock: TypedContractMethod< + [newTimelock: BigNumberish], + [void], + "nonpayable" + >; + + submitRoot: TypedContractMethod< + [newRoot: BytesLike, ipfsHash: BytesLike], + [void], + "nonpayable" + >; + + timelock: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "acceptRoot" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "claim" + ): TypedContractMethod< + [ + account: AddressLike, + reward: AddressLike, + claimable: BigNumberish, + proof: BytesLike[] + ], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "claimed" + ): TypedContractMethod< + [arg0: AddressLike, arg1: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "ipfsHash" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "isUpdater" + ): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "revokePendingRoot" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "root" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setRoot" + ): TypedContractMethod< + [newRoot: BytesLike, newIpfsHash: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setRootUpdater" + ): TypedContractMethod< + [updater: AddressLike, active: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setTimelock" + ): TypedContractMethod<[newTimelock: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "submitRoot" + ): TypedContractMethod< + [newRoot: BytesLike, ipfsHash: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "timelock" + ): TypedContractMethod<[], [bigint], "view">; + + filters: {}; +} diff --git a/pkg/types/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorStaticTyping.ts b/pkg/types/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorStaticTyping.ts new file mode 100644 index 00000000..1f966e91 --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/IUniversalRewardsDistributorStaticTyping.ts @@ -0,0 +1,323 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface IUniversalRewardsDistributorStaticTypingInterface + extends Interface { + getFunction( + nameOrSignature: + | "acceptRoot" + | "claim" + | "claimed" + | "ipfsHash" + | "isUpdater" + | "owner" + | "pendingRoot" + | "revokePendingRoot" + | "root" + | "setOwner" + | "setRoot" + | "setRootUpdater" + | "setTimelock" + | "submitRoot" + | "timelock" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "acceptRoot", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "claim", + values: [AddressLike, AddressLike, BigNumberish, BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "claimed", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "ipfsHash", values?: undefined): string; + encodeFunctionData( + functionFragment: "isUpdater", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "pendingRoot", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "revokePendingRoot", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "root", values?: undefined): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setRoot", + values: [BytesLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "setRootUpdater", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setTimelock", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "submitRoot", + values: [BytesLike, BytesLike] + ): string; + encodeFunctionData(functionFragment: "timelock", values?: undefined): string; + + decodeFunctionResult(functionFragment: "acceptRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "claim", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "claimed", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ipfsHash", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isUpdater", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "pendingRoot", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "revokePendingRoot", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "root", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setRoot", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setRootUpdater", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setTimelock", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "submitRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "timelock", data: BytesLike): Result; +} + +export interface IUniversalRewardsDistributorStaticTyping extends BaseContract { + connect( + runner?: ContractRunner | null + ): IUniversalRewardsDistributorStaticTyping; + waitForDeployment(): Promise; + + interface: IUniversalRewardsDistributorStaticTypingInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + acceptRoot: TypedContractMethod<[], [void], "nonpayable">; + + claim: TypedContractMethod< + [ + account: AddressLike, + reward: AddressLike, + claimable: BigNumberish, + proof: BytesLike[] + ], + [bigint], + "nonpayable" + >; + + claimed: TypedContractMethod< + [arg0: AddressLike, arg1: AddressLike], + [bigint], + "view" + >; + + ipfsHash: TypedContractMethod<[], [string], "view">; + + isUpdater: TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + pendingRoot: TypedContractMethod< + [], + [ + [string, string, bigint] & { + root: string; + ipfsHash: string; + validAt: bigint; + } + ], + "view" + >; + + revokePendingRoot: TypedContractMethod<[], [void], "nonpayable">; + + root: TypedContractMethod<[], [string], "view">; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + setRoot: TypedContractMethod< + [newRoot: BytesLike, newIpfsHash: BytesLike], + [void], + "nonpayable" + >; + + setRootUpdater: TypedContractMethod< + [updater: AddressLike, active: boolean], + [void], + "nonpayable" + >; + + setTimelock: TypedContractMethod< + [newTimelock: BigNumberish], + [void], + "nonpayable" + >; + + submitRoot: TypedContractMethod< + [newRoot: BytesLike, ipfsHash: BytesLike], + [void], + "nonpayable" + >; + + timelock: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "acceptRoot" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "claim" + ): TypedContractMethod< + [ + account: AddressLike, + reward: AddressLike, + claimable: BigNumberish, + proof: BytesLike[] + ], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "claimed" + ): TypedContractMethod< + [arg0: AddressLike, arg1: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "ipfsHash" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "isUpdater" + ): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "pendingRoot" + ): TypedContractMethod< + [], + [ + [string, string, bigint] & { + root: string; + ipfsHash: string; + validAt: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "revokePendingRoot" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "root" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setRoot" + ): TypedContractMethod< + [newRoot: BytesLike, newIpfsHash: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setRootUpdater" + ): TypedContractMethod< + [updater: AddressLike, active: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setTimelock" + ): TypedContractMethod<[newTimelock: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "submitRoot" + ): TypedContractMethod< + [newRoot: BytesLike, ipfsHash: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "timelock" + ): TypedContractMethod<[], [bigint], "view">; + + filters: {}; +} diff --git a/pkg/types/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/index.ts b/pkg/types/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/index.ts new file mode 100644 index 00000000..2204f726 --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/src/interfaces/IUniversalRewardsDistributor.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IUniversalRewardsDistributor } from "./IUniversalRewardsDistributor"; +export type { IUniversalRewardsDistributorBase } from "./IUniversalRewardsDistributorBase"; +export type { IUniversalRewardsDistributorStaticTyping } from "./IUniversalRewardsDistributorStaticTyping"; diff --git a/pkg/types/lib/universal-rewards-distributor/src/interfaces/IUrdFactory.ts b/pkg/types/lib/universal-rewards-distributor/src/interfaces/IUrdFactory.ts new file mode 100644 index 00000000..17b24b36 --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/src/interfaces/IUrdFactory.ts @@ -0,0 +1,116 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface IUrdFactoryInterface extends Interface { + getFunction(nameOrSignature: "createUrd" | "isUrd"): FunctionFragment; + + encodeFunctionData( + functionFragment: "createUrd", + values: [AddressLike, BigNumberish, BytesLike, BytesLike, BytesLike] + ): string; + encodeFunctionData(functionFragment: "isUrd", values: [AddressLike]): string; + + decodeFunctionResult(functionFragment: "createUrd", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isUrd", data: BytesLike): Result; +} + +export interface IUrdFactory extends BaseContract { + connect(runner?: ContractRunner | null): IUrdFactory; + waitForDeployment(): Promise; + + interface: IUrdFactoryInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + createUrd: TypedContractMethod< + [ + initialOwner: AddressLike, + initialTimelock: BigNumberish, + initialRoot: BytesLike, + initialIpfsHash: BytesLike, + salt: BytesLike + ], + [string], + "nonpayable" + >; + + isUrd: TypedContractMethod<[target: AddressLike], [boolean], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "createUrd" + ): TypedContractMethod< + [ + initialOwner: AddressLike, + initialTimelock: BigNumberish, + initialRoot: BytesLike, + initialIpfsHash: BytesLike, + salt: BytesLike + ], + [string], + "nonpayable" + >; + getFunction( + nameOrSignature: "isUrd" + ): TypedContractMethod<[target: AddressLike], [boolean], "view">; + + filters: {}; +} diff --git a/pkg/types/lib/universal-rewards-distributor/src/interfaces/index.ts b/pkg/types/lib/universal-rewards-distributor/src/interfaces/index.ts new file mode 100644 index 00000000..e33fc8f3 --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/src/interfaces/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as iUniversalRewardsDistributorSol from "./IUniversalRewardsDistributor.sol"; +export type { iUniversalRewardsDistributorSol }; +export type { IUrdFactory } from "./IUrdFactory"; diff --git a/pkg/types/lib/universal-rewards-distributor/src/libraries/EventsLib.ts b/pkg/types/lib/universal-rewards-distributor/src/libraries/EventsLib.ts new file mode 100644 index 00000000..b01ccab7 --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/src/libraries/EventsLib.ts @@ -0,0 +1,367 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, +} from "../../../../common"; + +export interface EventsLibInterface extends Interface { + getEvent( + nameOrSignatureOrTopic: + | "Claimed" + | "OwnerSet" + | "PendingRootRevoked" + | "PendingRootSet" + | "RootSet" + | "RootUpdaterSet" + | "TimelockSet" + | "UrdCreated" + ): EventFragment; +} + +export namespace ClaimedEvent { + export type InputTuple = [ + account: AddressLike, + reward: AddressLike, + amount: BigNumberish + ]; + export type OutputTuple = [account: string, reward: string, amount: bigint]; + export interface OutputObject { + account: string; + reward: string; + amount: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace OwnerSetEvent { + export type InputTuple = [newOwner: AddressLike]; + export type OutputTuple = [newOwner: string]; + export interface OutputObject { + newOwner: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace PendingRootRevokedEvent { + export type InputTuple = [caller: AddressLike]; + export type OutputTuple = [caller: string]; + export interface OutputObject { + caller: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace PendingRootSetEvent { + export type InputTuple = [ + caller: AddressLike, + newRoot: BytesLike, + newIpfsHash: BytesLike + ]; + export type OutputTuple = [ + caller: string, + newRoot: string, + newIpfsHash: string + ]; + export interface OutputObject { + caller: string; + newRoot: string; + newIpfsHash: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RootSetEvent { + export type InputTuple = [newRoot: BytesLike, newIpfsHash: BytesLike]; + export type OutputTuple = [newRoot: string, newIpfsHash: string]; + export interface OutputObject { + newRoot: string; + newIpfsHash: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RootUpdaterSetEvent { + export type InputTuple = [rootUpdater: AddressLike, active: boolean]; + export type OutputTuple = [rootUpdater: string, active: boolean]; + export interface OutputObject { + rootUpdater: string; + active: boolean; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TimelockSetEvent { + export type InputTuple = [newTimelock: BigNumberish]; + export type OutputTuple = [newTimelock: bigint]; + export interface OutputObject { + newTimelock: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UrdCreatedEvent { + export type InputTuple = [ + urd: AddressLike, + caller: AddressLike, + initialOwner: AddressLike, + initialTimelock: BigNumberish, + initialRoot: BytesLike, + initialIpfsHash: BytesLike, + salt: BytesLike + ]; + export type OutputTuple = [ + urd: string, + caller: string, + initialOwner: string, + initialTimelock: bigint, + initialRoot: string, + initialIpfsHash: string, + salt: string + ]; + export interface OutputObject { + urd: string; + caller: string; + initialOwner: string; + initialTimelock: bigint; + initialRoot: string; + initialIpfsHash: string; + salt: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface EventsLib extends BaseContract { + connect(runner?: ContractRunner | null): EventsLib; + waitForDeployment(): Promise; + + interface: EventsLibInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getFunction( + key: string | FunctionFragment + ): T; + + getEvent( + key: "Claimed" + ): TypedContractEvent< + ClaimedEvent.InputTuple, + ClaimedEvent.OutputTuple, + ClaimedEvent.OutputObject + >; + getEvent( + key: "OwnerSet" + ): TypedContractEvent< + OwnerSetEvent.InputTuple, + OwnerSetEvent.OutputTuple, + OwnerSetEvent.OutputObject + >; + getEvent( + key: "PendingRootRevoked" + ): TypedContractEvent< + PendingRootRevokedEvent.InputTuple, + PendingRootRevokedEvent.OutputTuple, + PendingRootRevokedEvent.OutputObject + >; + getEvent( + key: "PendingRootSet" + ): TypedContractEvent< + PendingRootSetEvent.InputTuple, + PendingRootSetEvent.OutputTuple, + PendingRootSetEvent.OutputObject + >; + getEvent( + key: "RootSet" + ): TypedContractEvent< + RootSetEvent.InputTuple, + RootSetEvent.OutputTuple, + RootSetEvent.OutputObject + >; + getEvent( + key: "RootUpdaterSet" + ): TypedContractEvent< + RootUpdaterSetEvent.InputTuple, + RootUpdaterSetEvent.OutputTuple, + RootUpdaterSetEvent.OutputObject + >; + getEvent( + key: "TimelockSet" + ): TypedContractEvent< + TimelockSetEvent.InputTuple, + TimelockSetEvent.OutputTuple, + TimelockSetEvent.OutputObject + >; + getEvent( + key: "UrdCreated" + ): TypedContractEvent< + UrdCreatedEvent.InputTuple, + UrdCreatedEvent.OutputTuple, + UrdCreatedEvent.OutputObject + >; + + filters: { + "Claimed(address,address,uint256)": TypedContractEvent< + ClaimedEvent.InputTuple, + ClaimedEvent.OutputTuple, + ClaimedEvent.OutputObject + >; + Claimed: TypedContractEvent< + ClaimedEvent.InputTuple, + ClaimedEvent.OutputTuple, + ClaimedEvent.OutputObject + >; + + "OwnerSet(address)": TypedContractEvent< + OwnerSetEvent.InputTuple, + OwnerSetEvent.OutputTuple, + OwnerSetEvent.OutputObject + >; + OwnerSet: TypedContractEvent< + OwnerSetEvent.InputTuple, + OwnerSetEvent.OutputTuple, + OwnerSetEvent.OutputObject + >; + + "PendingRootRevoked(address)": TypedContractEvent< + PendingRootRevokedEvent.InputTuple, + PendingRootRevokedEvent.OutputTuple, + PendingRootRevokedEvent.OutputObject + >; + PendingRootRevoked: TypedContractEvent< + PendingRootRevokedEvent.InputTuple, + PendingRootRevokedEvent.OutputTuple, + PendingRootRevokedEvent.OutputObject + >; + + "PendingRootSet(address,bytes32,bytes32)": TypedContractEvent< + PendingRootSetEvent.InputTuple, + PendingRootSetEvent.OutputTuple, + PendingRootSetEvent.OutputObject + >; + PendingRootSet: TypedContractEvent< + PendingRootSetEvent.InputTuple, + PendingRootSetEvent.OutputTuple, + PendingRootSetEvent.OutputObject + >; + + "RootSet(bytes32,bytes32)": TypedContractEvent< + RootSetEvent.InputTuple, + RootSetEvent.OutputTuple, + RootSetEvent.OutputObject + >; + RootSet: TypedContractEvent< + RootSetEvent.InputTuple, + RootSetEvent.OutputTuple, + RootSetEvent.OutputObject + >; + + "RootUpdaterSet(address,bool)": TypedContractEvent< + RootUpdaterSetEvent.InputTuple, + RootUpdaterSetEvent.OutputTuple, + RootUpdaterSetEvent.OutputObject + >; + RootUpdaterSet: TypedContractEvent< + RootUpdaterSetEvent.InputTuple, + RootUpdaterSetEvent.OutputTuple, + RootUpdaterSetEvent.OutputObject + >; + + "TimelockSet(uint256)": TypedContractEvent< + TimelockSetEvent.InputTuple, + TimelockSetEvent.OutputTuple, + TimelockSetEvent.OutputObject + >; + TimelockSet: TypedContractEvent< + TimelockSetEvent.InputTuple, + TimelockSetEvent.OutputTuple, + TimelockSetEvent.OutputObject + >; + + "UrdCreated(address,address,address,uint256,bytes32,bytes32,bytes32)": TypedContractEvent< + UrdCreatedEvent.InputTuple, + UrdCreatedEvent.OutputTuple, + UrdCreatedEvent.OutputObject + >; + UrdCreated: TypedContractEvent< + UrdCreatedEvent.InputTuple, + UrdCreatedEvent.OutputTuple, + UrdCreatedEvent.OutputObject + >; + }; +} diff --git a/pkg/types/lib/universal-rewards-distributor/src/libraries/index.ts b/pkg/types/lib/universal-rewards-distributor/src/libraries/index.ts new file mode 100644 index 00000000..dcd40154 --- /dev/null +++ b/pkg/types/lib/universal-rewards-distributor/src/libraries/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { EventsLib } from "./EventsLib"; diff --git a/pkg/types/solmate/index.ts b/pkg/types/solmate/index.ts new file mode 100644 index 00000000..f68cafed --- /dev/null +++ b/pkg/types/solmate/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as src from "./src"; +export type { src }; diff --git a/pkg/types/solmate/src/index.ts b/pkg/types/solmate/src/index.ts new file mode 100644 index 00000000..acf42633 --- /dev/null +++ b/pkg/types/solmate/src/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as tokens from "./tokens"; +export type { tokens }; diff --git a/pkg/types/solmate/src/tokens/ERC20.ts b/pkg/types/solmate/src/tokens/ERC20.ts new file mode 100644 index 00000000..17a52e77 --- /dev/null +++ b/pkg/types/solmate/src/tokens/ERC20.ts @@ -0,0 +1,351 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface ERC20Interface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "name" + | "nonces" + | "permit" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + amount: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, amount: bigint]; + export interface OutputObject { + owner: string; + spender: string; + amount: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + amount: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, amount: bigint]; + export interface OutputObject { + from: string; + to: string; + amount: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC20 extends BaseContract { + connect(runner?: ContractRunner | null): ERC20; + waitForDeployment(): Promise; + + interface: ERC20Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + allowance: TypedContractMethod< + [arg0: AddressLike, arg1: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + name: TypedContractMethod<[], [string], "view">; + + nonces: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + permit: TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [arg0: AddressLike, arg1: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/pkg/types/solmate/src/tokens/index.ts b/pkg/types/solmate/src/tokens/index.ts new file mode 100644 index 00000000..063d2fbc --- /dev/null +++ b/pkg/types/solmate/src/tokens/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ERC20 } from "./ERC20"; diff --git a/pkg/types/src/BaseBundler.ts b/pkg/types/src/BaseBundler.ts new file mode 100644 index 00000000..8cea7411 --- /dev/null +++ b/pkg/types/src/BaseBundler.ts @@ -0,0 +1,94 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../common"; + +export interface BaseBundlerInterface extends Interface { + getFunction(nameOrSignature: "initiator" | "multicall"): FunctionFragment; + + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; +} + +export interface BaseBundler extends BaseContract { + connect(runner?: ContractRunner | null): BaseBundler; + waitForDeployment(): Promise; + + interface: BaseBundlerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + initiator: TypedContractMethod<[], [string], "view">; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + filters: {}; +} diff --git a/pkg/types/src/ERC20WrapperBundler.ts b/pkg/types/src/ERC20WrapperBundler.ts new file mode 100644 index 00000000..740f51ca --- /dev/null +++ b/pkg/types/src/ERC20WrapperBundler.ts @@ -0,0 +1,144 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../common"; + +export interface ERC20WrapperBundlerInterface extends Interface { + getFunction( + nameOrSignature: + | "erc20WrapperDepositFor" + | "erc20WrapperWithdrawTo" + | "initiator" + | "multicall" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "erc20WrapperDepositFor", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20WrapperWithdrawTo", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + + decodeFunctionResult( + functionFragment: "erc20WrapperDepositFor", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20WrapperWithdrawTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; +} + +export interface ERC20WrapperBundler extends BaseContract { + connect(runner?: ContractRunner | null): ERC20WrapperBundler; + waitForDeployment(): Promise; + + interface: ERC20WrapperBundlerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + erc20WrapperDepositFor: TypedContractMethod< + [wrapper: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20WrapperWithdrawTo: TypedContractMethod< + [wrapper: AddressLike, account: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + initiator: TypedContractMethod<[], [string], "view">; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "erc20WrapperDepositFor" + ): TypedContractMethod< + [wrapper: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20WrapperWithdrawTo" + ): TypedContractMethod< + [wrapper: AddressLike, account: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + filters: {}; +} diff --git a/pkg/types/src/ERC4626Bundler.ts b/pkg/types/src/ERC4626Bundler.ts new file mode 100644 index 00000000..fb4e198f --- /dev/null +++ b/pkg/types/src/ERC4626Bundler.ts @@ -0,0 +1,232 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../common"; + +export interface ERC4626BundlerInterface extends Interface { + getFunction( + nameOrSignature: + | "erc4626Deposit" + | "erc4626Mint" + | "erc4626Redeem" + | "erc4626Withdraw" + | "initiator" + | "multicall" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "erc4626Deposit", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Mint", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Redeem", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Withdraw", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + + decodeFunctionResult( + functionFragment: "erc4626Deposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Mint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Redeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Withdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; +} + +export interface ERC4626Bundler extends BaseContract { + connect(runner?: ContractRunner | null): ERC4626Bundler; + waitForDeployment(): Promise; + + interface: ERC4626BundlerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + erc4626Deposit: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Mint: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Redeem: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + erc4626Withdraw: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + initiator: TypedContractMethod<[], [string], "view">; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "erc4626Deposit" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Mint" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Redeem" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Withdraw" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + filters: {}; +} diff --git a/pkg/types/src/MorphoBundler.ts b/pkg/types/src/MorphoBundler.ts new file mode 100644 index 00000000..b6210659 --- /dev/null +++ b/pkg/types/src/MorphoBundler.ts @@ -0,0 +1,578 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export type WithdrawalStruct = { + marketParams: MarketParamsStruct; + amount: BigNumberish; +}; + +export type WithdrawalStructOutput = [ + marketParams: MarketParamsStructOutput, + amount: bigint +] & { marketParams: MarketParamsStructOutput; amount: bigint }; + +export interface MorphoBundlerInterface extends Interface { + getFunction( + nameOrSignature: + | "MORPHO" + | "initiator" + | "morphoBorrow" + | "morphoFlashLoan" + | "morphoRepay" + | "morphoSetAuthorizationWithSig" + | "morphoSupply" + | "morphoSupplyCollateral" + | "morphoWithdraw" + | "morphoWithdrawCollateral" + | "multicall" + | "onMorphoFlashLoan" + | "onMorphoRepay" + | "onMorphoSupply" + | "onMorphoSupplyCollateral" + | "reallocateTo" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "morphoBorrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoFlashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoRepay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSetAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct, boolean] + ): string; + encodeFunctionData( + functionFragment: "morphoSupply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSupplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "onMorphoFlashLoan", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoRepay", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupply", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupplyCollateral", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "reallocateTo", + values: [ + AddressLike, + AddressLike, + BigNumberish, + WithdrawalStruct[], + MarketParamsStruct + ] + ): string; + + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "morphoBorrow", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSetAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdrawCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "onMorphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "reallocateTo", + data: BytesLike + ): Result; +} + +export interface MorphoBundler extends BaseContract { + connect(runner?: ContractRunner | null): MorphoBundler; + waitForDeployment(): Promise; + + interface: MorphoBundlerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + MORPHO: TypedContractMethod<[], [string], "view">; + + initiator: TypedContractMethod<[], [string], "view">; + + morphoBorrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoFlashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + + morphoRepay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSetAuthorizationWithSig: TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + + morphoSupply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSupplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoWithdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoWithdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + onMorphoFlashLoan: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoRepay: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupply: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupplyCollateral: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + reallocateTo: TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "morphoBorrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoFlashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoRepay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSetAuthorizationWithSig" + ): TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "onMorphoFlashLoan" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoRepay" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupply" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupplyCollateral" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "reallocateTo" + ): TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + + filters: {}; +} diff --git a/pkg/types/src/Permit2Bundler.ts b/pkg/types/src/Permit2Bundler.ts new file mode 100644 index 00000000..4a8a7efe --- /dev/null +++ b/pkg/types/src/Permit2Bundler.ts @@ -0,0 +1,177 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../common"; + +export declare namespace IAllowanceTransfer { + export type PermitDetailsStruct = { + token: AddressLike; + amount: BigNumberish; + expiration: BigNumberish; + nonce: BigNumberish; + }; + + export type PermitDetailsStructOutput = [ + token: string, + amount: bigint, + expiration: bigint, + nonce: bigint + ] & { token: string; amount: bigint; expiration: bigint; nonce: bigint }; + + export type PermitSingleStruct = { + details: IAllowanceTransfer.PermitDetailsStruct; + spender: AddressLike; + sigDeadline: BigNumberish; + }; + + export type PermitSingleStructOutput = [ + details: IAllowanceTransfer.PermitDetailsStructOutput, + spender: string, + sigDeadline: bigint + ] & { + details: IAllowanceTransfer.PermitDetailsStructOutput; + spender: string; + sigDeadline: bigint; + }; +} + +export interface Permit2BundlerInterface extends Interface { + getFunction( + nameOrSignature: "approve2" | "initiator" | "multicall" | "transferFrom2" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "approve2", + values: [IAllowanceTransfer.PermitSingleStruct, BytesLike, boolean] + ): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "transferFrom2", + values: [AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "approve2", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom2", + data: BytesLike + ): Result; +} + +export interface Permit2Bundler extends BaseContract { + connect(runner?: ContractRunner | null): Permit2Bundler; + waitForDeployment(): Promise; + + interface: Permit2BundlerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + approve2: TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + initiator: TypedContractMethod<[], [string], "view">; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + transferFrom2: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "approve2" + ): TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "transferFrom2" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + filters: {}; +} diff --git a/pkg/types/src/PermitBundler.ts b/pkg/types/src/PermitBundler.ts new file mode 100644 index 00000000..b7e5adf4 --- /dev/null +++ b/pkg/types/src/PermitBundler.ts @@ -0,0 +1,140 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../common"; + +export interface PermitBundlerInterface extends Interface { + getFunction( + nameOrSignature: "initiator" | "multicall" | "permit" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike, + boolean + ] + ): string; + + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; +} + +export interface PermitBundler extends BaseContract { + connect(runner?: ContractRunner | null): PermitBundler; + waitForDeployment(): Promise; + + interface: PermitBundlerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + initiator: TypedContractMethod<[], [string], "view">; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + permit: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + filters: {}; +} diff --git a/pkg/types/src/StEthBundler.ts b/pkg/types/src/StEthBundler.ts new file mode 100644 index 00000000..b114cf3c --- /dev/null +++ b/pkg/types/src/StEthBundler.ts @@ -0,0 +1,160 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../common"; + +export interface StEthBundlerInterface extends Interface { + getFunction( + nameOrSignature: + | "ST_ETH" + | "WST_ETH" + | "initiator" + | "multicall" + | "stakeEth" + | "unwrapStEth" + | "wrapStEth" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "ST_ETH", values?: undefined): string; + encodeFunctionData(functionFragment: "WST_ETH", values?: undefined): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "stakeEth", + values: [BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "unwrapStEth", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "wrapStEth", + values: [BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "ST_ETH", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "WST_ETH", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "stakeEth", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "unwrapStEth", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "wrapStEth", data: BytesLike): Result; +} + +export interface StEthBundler extends BaseContract { + connect(runner?: ContractRunner | null): StEthBundler; + waitForDeployment(): Promise; + + interface: StEthBundlerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + ST_ETH: TypedContractMethod<[], [string], "view">; + + WST_ETH: TypedContractMethod<[], [string], "view">; + + initiator: TypedContractMethod<[], [string], "view">; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + stakeEth: TypedContractMethod< + [amount: BigNumberish, minShares: BigNumberish, referral: AddressLike], + [void], + "payable" + >; + + unwrapStEth: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + wrapStEth: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "ST_ETH" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "WST_ETH" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "stakeEth" + ): TypedContractMethod< + [amount: BigNumberish, minShares: BigNumberish, referral: AddressLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "unwrapStEth" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "wrapStEth" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + filters: {}; +} diff --git a/pkg/types/src/TransferBundler.ts b/pkg/types/src/TransferBundler.ts new file mode 100644 index 00000000..3d404c09 --- /dev/null +++ b/pkg/types/src/TransferBundler.ts @@ -0,0 +1,166 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../common"; + +export interface TransferBundlerInterface extends Interface { + getFunction( + nameOrSignature: + | "erc20Transfer" + | "erc20TransferFrom" + | "initiator" + | "multicall" + | "nativeTransfer" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "erc20Transfer", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20TransferFrom", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "nativeTransfer", + values: [AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "erc20Transfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20TransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "nativeTransfer", + data: BytesLike + ): Result; +} + +export interface TransferBundler extends BaseContract { + connect(runner?: ContractRunner | null): TransferBundler; + waitForDeployment(): Promise; + + interface: TransferBundlerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + erc20Transfer: TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20TransferFrom: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + initiator: TypedContractMethod<[], [string], "view">; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + nativeTransfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "erc20Transfer" + ): TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20TransferFrom" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "nativeTransfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + filters: {}; +} diff --git a/pkg/types/src/UrdBundler.ts b/pkg/types/src/UrdBundler.ts new file mode 100644 index 00000000..44bdcd62 --- /dev/null +++ b/pkg/types/src/UrdBundler.ts @@ -0,0 +1,137 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../common"; + +export interface UrdBundlerInterface extends Interface { + getFunction( + nameOrSignature: "initiator" | "multicall" | "urdClaim" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "urdClaim", + values: [ + AddressLike, + AddressLike, + AddressLike, + BigNumberish, + BytesLike[], + boolean + ] + ): string; + + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "urdClaim", data: BytesLike): Result; +} + +export interface UrdBundler extends BaseContract { + connect(runner?: ContractRunner | null): UrdBundler; + waitForDeployment(): Promise; + + interface: UrdBundlerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + initiator: TypedContractMethod<[], [string], "view">; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + urdClaim: TypedContractMethod< + [ + distributor: AddressLike, + account: AddressLike, + reward: AddressLike, + amount: BigNumberish, + proof: BytesLike[], + skipRevert: boolean + ], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "urdClaim" + ): TypedContractMethod< + [ + distributor: AddressLike, + account: AddressLike, + reward: AddressLike, + amount: BigNumberish, + proof: BytesLike[], + skipRevert: boolean + ], + [void], + "payable" + >; + + filters: {}; +} diff --git a/pkg/types/src/WNativeBundler.ts b/pkg/types/src/WNativeBundler.ts new file mode 100644 index 00000000..6ec7ed46 --- /dev/null +++ b/pkg/types/src/WNativeBundler.ts @@ -0,0 +1,138 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../common"; + +export interface WNativeBundlerInterface extends Interface { + getFunction( + nameOrSignature: + | "WRAPPED_NATIVE" + | "initiator" + | "multicall" + | "unwrapNative" + | "wrapNative" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "WRAPPED_NATIVE", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "unwrapNative", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "wrapNative", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "WRAPPED_NATIVE", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "unwrapNative", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "wrapNative", data: BytesLike): Result; +} + +export interface WNativeBundler extends BaseContract { + connect(runner?: ContractRunner | null): WNativeBundler; + waitForDeployment(): Promise; + + interface: WNativeBundlerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + WRAPPED_NATIVE: TypedContractMethod<[], [string], "view">; + + initiator: TypedContractMethod<[], [string], "view">; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + unwrapNative: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + wrapNative: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "WRAPPED_NATIVE" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "unwrapNative" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "wrapNative" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + filters: {}; +} diff --git a/pkg/types/src/chain-agnostic/ChainAgnosticBundlerV2.ts b/pkg/types/src/chain-agnostic/ChainAgnosticBundlerV2.ts new file mode 100644 index 00000000..02ab7de3 --- /dev/null +++ b/pkg/types/src/chain-agnostic/ChainAgnosticBundlerV2.ts @@ -0,0 +1,1023 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export type WithdrawalStruct = { + marketParams: MarketParamsStruct; + amount: BigNumberish; +}; + +export type WithdrawalStructOutput = [ + marketParams: MarketParamsStructOutput, + amount: bigint +] & { marketParams: MarketParamsStructOutput; amount: bigint }; + +export declare namespace IAllowanceTransfer { + export type PermitDetailsStruct = { + token: AddressLike; + amount: BigNumberish; + expiration: BigNumberish; + nonce: BigNumberish; + }; + + export type PermitDetailsStructOutput = [ + token: string, + amount: bigint, + expiration: bigint, + nonce: bigint + ] & { token: string; amount: bigint; expiration: bigint; nonce: bigint }; + + export type PermitSingleStruct = { + details: IAllowanceTransfer.PermitDetailsStruct; + spender: AddressLike; + sigDeadline: BigNumberish; + }; + + export type PermitSingleStructOutput = [ + details: IAllowanceTransfer.PermitDetailsStructOutput, + spender: string, + sigDeadline: bigint + ] & { + details: IAllowanceTransfer.PermitDetailsStructOutput; + spender: string; + sigDeadline: bigint; + }; +} + +export interface ChainAgnosticBundlerV2Interface extends Interface { + getFunction( + nameOrSignature: + | "MORPHO" + | "WRAPPED_NATIVE" + | "approve2" + | "erc20Transfer" + | "erc20TransferFrom" + | "erc20WrapperDepositFor" + | "erc20WrapperWithdrawTo" + | "erc4626Deposit" + | "erc4626Mint" + | "erc4626Redeem" + | "erc4626Withdraw" + | "initiator" + | "morphoBorrow" + | "morphoFlashLoan" + | "morphoRepay" + | "morphoSetAuthorizationWithSig" + | "morphoSupply" + | "morphoSupplyCollateral" + | "morphoWithdraw" + | "morphoWithdrawCollateral" + | "multicall" + | "nativeTransfer" + | "onMorphoFlashLoan" + | "onMorphoRepay" + | "onMorphoSupply" + | "onMorphoSupplyCollateral" + | "permit" + | "reallocateTo" + | "transferFrom2" + | "unwrapNative" + | "urdClaim" + | "wrapNative" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "WRAPPED_NATIVE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "approve2", + values: [IAllowanceTransfer.PermitSingleStruct, BytesLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "erc20Transfer", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20TransferFrom", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20WrapperDepositFor", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20WrapperWithdrawTo", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc4626Deposit", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Mint", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Redeem", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Withdraw", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "morphoBorrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoFlashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoRepay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSetAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct, boolean] + ): string; + encodeFunctionData( + functionFragment: "morphoSupply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSupplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "nativeTransfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "onMorphoFlashLoan", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoRepay", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupply", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupplyCollateral", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike, + boolean + ] + ): string; + encodeFunctionData( + functionFragment: "reallocateTo", + values: [ + AddressLike, + AddressLike, + BigNumberish, + WithdrawalStruct[], + MarketParamsStruct + ] + ): string; + encodeFunctionData( + functionFragment: "transferFrom2", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "unwrapNative", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "urdClaim", + values: [ + AddressLike, + AddressLike, + AddressLike, + BigNumberish, + BytesLike[], + boolean + ] + ): string; + encodeFunctionData( + functionFragment: "wrapNative", + values: [BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "WRAPPED_NATIVE", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "approve2", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "erc20Transfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20TransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20WrapperDepositFor", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20WrapperWithdrawTo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Deposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Mint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Redeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Withdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "morphoBorrow", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSetAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdrawCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "nativeTransfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "reallocateTo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferFrom2", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "unwrapNative", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "urdClaim", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "wrapNative", data: BytesLike): Result; +} + +export interface ChainAgnosticBundlerV2 extends BaseContract { + connect(runner?: ContractRunner | null): ChainAgnosticBundlerV2; + waitForDeployment(): Promise; + + interface: ChainAgnosticBundlerV2Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + MORPHO: TypedContractMethod<[], [string], "view">; + + WRAPPED_NATIVE: TypedContractMethod<[], [string], "view">; + + approve2: TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + erc20Transfer: TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20TransferFrom: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20WrapperDepositFor: TypedContractMethod< + [wrapper: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20WrapperWithdrawTo: TypedContractMethod< + [wrapper: AddressLike, account: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc4626Deposit: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Mint: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Redeem: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + erc4626Withdraw: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + initiator: TypedContractMethod<[], [string], "view">; + + morphoBorrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoFlashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + + morphoRepay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSetAuthorizationWithSig: TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + + morphoSupply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSupplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoWithdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoWithdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + nativeTransfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + onMorphoFlashLoan: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoRepay: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupply: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupplyCollateral: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + permit: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + reallocateTo: TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + + transferFrom2: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + unwrapNative: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + urdClaim: TypedContractMethod< + [ + distributor: AddressLike, + account: AddressLike, + reward: AddressLike, + amount: BigNumberish, + proof: BytesLike[], + skipRevert: boolean + ], + [void], + "payable" + >; + + wrapNative: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "WRAPPED_NATIVE" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "approve2" + ): TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20Transfer" + ): TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20TransferFrom" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20WrapperDepositFor" + ): TypedContractMethod< + [wrapper: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20WrapperWithdrawTo" + ): TypedContractMethod< + [wrapper: AddressLike, account: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Deposit" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Mint" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Redeem" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Withdraw" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "morphoBorrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoFlashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoRepay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSetAuthorizationWithSig" + ): TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "nativeTransfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "onMorphoFlashLoan" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoRepay" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupply" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupplyCollateral" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "reallocateTo" + ): TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "transferFrom2" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "unwrapNative" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "urdClaim" + ): TypedContractMethod< + [ + distributor: AddressLike, + account: AddressLike, + reward: AddressLike, + amount: BigNumberish, + proof: BytesLike[], + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "wrapNative" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + filters: {}; +} diff --git a/pkg/types/src/chain-agnostic/index.ts b/pkg/types/src/chain-agnostic/index.ts new file mode 100644 index 00000000..f9b16b84 --- /dev/null +++ b/pkg/types/src/chain-agnostic/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ChainAgnosticBundlerV2 } from "./ChainAgnosticBundlerV2"; diff --git a/pkg/types/src/ethereum/EthereumBundlerV2.ts b/pkg/types/src/ethereum/EthereumBundlerV2.ts new file mode 100644 index 00000000..46a01b94 --- /dev/null +++ b/pkg/types/src/ethereum/EthereumBundlerV2.ts @@ -0,0 +1,1126 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export type WithdrawalStruct = { + marketParams: MarketParamsStruct; + amount: BigNumberish; +}; + +export type WithdrawalStructOutput = [ + marketParams: MarketParamsStructOutput, + amount: bigint +] & { marketParams: MarketParamsStructOutput; amount: bigint }; + +export declare namespace IAllowanceTransfer { + export type PermitDetailsStruct = { + token: AddressLike; + amount: BigNumberish; + expiration: BigNumberish; + nonce: BigNumberish; + }; + + export type PermitDetailsStructOutput = [ + token: string, + amount: bigint, + expiration: bigint, + nonce: bigint + ] & { token: string; amount: bigint; expiration: bigint; nonce: bigint }; + + export type PermitSingleStruct = { + details: IAllowanceTransfer.PermitDetailsStruct; + spender: AddressLike; + sigDeadline: BigNumberish; + }; + + export type PermitSingleStructOutput = [ + details: IAllowanceTransfer.PermitDetailsStructOutput, + spender: string, + sigDeadline: bigint + ] & { + details: IAllowanceTransfer.PermitDetailsStructOutput; + spender: string; + sigDeadline: bigint; + }; +} + +export interface EthereumBundlerV2Interface extends Interface { + getFunction( + nameOrSignature: + | "MORPHO" + | "ST_ETH" + | "WRAPPED_NATIVE" + | "WST_ETH" + | "approve2" + | "erc20Transfer" + | "erc20TransferFrom" + | "erc20WrapperDepositFor" + | "erc20WrapperWithdrawTo" + | "erc4626Deposit" + | "erc4626Mint" + | "erc4626Redeem" + | "erc4626Withdraw" + | "initiator" + | "morphoBorrow" + | "morphoFlashLoan" + | "morphoRepay" + | "morphoSetAuthorizationWithSig" + | "morphoSupply" + | "morphoSupplyCollateral" + | "morphoWithdraw" + | "morphoWithdrawCollateral" + | "multicall" + | "nativeTransfer" + | "onMorphoFlashLoan" + | "onMorphoRepay" + | "onMorphoSupply" + | "onMorphoSupplyCollateral" + | "permit" + | "permitDai" + | "reallocateTo" + | "stakeEth" + | "transferFrom2" + | "unwrapNative" + | "unwrapStEth" + | "urdClaim" + | "wrapNative" + | "wrapStEth" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData(functionFragment: "ST_ETH", values?: undefined): string; + encodeFunctionData( + functionFragment: "WRAPPED_NATIVE", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "WST_ETH", values?: undefined): string; + encodeFunctionData( + functionFragment: "approve2", + values: [IAllowanceTransfer.PermitSingleStruct, BytesLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "erc20Transfer", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20TransferFrom", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20WrapperDepositFor", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20WrapperWithdrawTo", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc4626Deposit", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Mint", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Redeem", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Withdraw", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "morphoBorrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoFlashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoRepay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSetAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct, boolean] + ): string; + encodeFunctionData( + functionFragment: "morphoSupply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSupplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "nativeTransfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "onMorphoFlashLoan", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoRepay", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupply", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupplyCollateral", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike, + boolean + ] + ): string; + encodeFunctionData( + functionFragment: "permitDai", + values: [ + BigNumberish, + BigNumberish, + boolean, + BigNumberish, + BytesLike, + BytesLike, + boolean + ] + ): string; + encodeFunctionData( + functionFragment: "reallocateTo", + values: [ + AddressLike, + AddressLike, + BigNumberish, + WithdrawalStruct[], + MarketParamsStruct + ] + ): string; + encodeFunctionData( + functionFragment: "stakeEth", + values: [BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "transferFrom2", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "unwrapNative", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "unwrapStEth", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "urdClaim", + values: [ + AddressLike, + AddressLike, + AddressLike, + BigNumberish, + BytesLike[], + boolean + ] + ): string; + encodeFunctionData( + functionFragment: "wrapNative", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "wrapStEth", + values: [BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ST_ETH", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "WRAPPED_NATIVE", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "WST_ETH", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve2", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "erc20Transfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20TransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20WrapperDepositFor", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20WrapperWithdrawTo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Deposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Mint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Redeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Withdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "morphoBorrow", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSetAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdrawCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "nativeTransfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permitDai", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "reallocateTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "stakeEth", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom2", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "unwrapNative", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "unwrapStEth", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "urdClaim", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "wrapNative", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "wrapStEth", data: BytesLike): Result; +} + +export interface EthereumBundlerV2 extends BaseContract { + connect(runner?: ContractRunner | null): EthereumBundlerV2; + waitForDeployment(): Promise; + + interface: EthereumBundlerV2Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + MORPHO: TypedContractMethod<[], [string], "view">; + + ST_ETH: TypedContractMethod<[], [string], "view">; + + WRAPPED_NATIVE: TypedContractMethod<[], [string], "view">; + + WST_ETH: TypedContractMethod<[], [string], "view">; + + approve2: TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + erc20Transfer: TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20TransferFrom: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20WrapperDepositFor: TypedContractMethod< + [wrapper: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20WrapperWithdrawTo: TypedContractMethod< + [wrapper: AddressLike, account: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc4626Deposit: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Mint: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Redeem: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + erc4626Withdraw: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + initiator: TypedContractMethod<[], [string], "view">; + + morphoBorrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoFlashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + + morphoRepay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSetAuthorizationWithSig: TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + + morphoSupply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSupplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoWithdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoWithdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + nativeTransfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + onMorphoFlashLoan: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoRepay: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupply: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupplyCollateral: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + permit: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + permitDai: TypedContractMethod< + [ + nonce: BigNumberish, + expiry: BigNumberish, + allowed: boolean, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + reallocateTo: TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + + stakeEth: TypedContractMethod< + [amount: BigNumberish, minShares: BigNumberish, referral: AddressLike], + [void], + "payable" + >; + + transferFrom2: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + unwrapNative: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + unwrapStEth: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + urdClaim: TypedContractMethod< + [ + distributor: AddressLike, + account: AddressLike, + reward: AddressLike, + amount: BigNumberish, + proof: BytesLike[], + skipRevert: boolean + ], + [void], + "payable" + >; + + wrapNative: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + wrapStEth: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "ST_ETH" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "WRAPPED_NATIVE" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "WST_ETH" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "approve2" + ): TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20Transfer" + ): TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20TransferFrom" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20WrapperDepositFor" + ): TypedContractMethod< + [wrapper: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20WrapperWithdrawTo" + ): TypedContractMethod< + [wrapper: AddressLike, account: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Deposit" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Mint" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Redeem" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Withdraw" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "morphoBorrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoFlashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoRepay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSetAuthorizationWithSig" + ): TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "nativeTransfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "onMorphoFlashLoan" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoRepay" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupply" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupplyCollateral" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "permitDai" + ): TypedContractMethod< + [ + nonce: BigNumberish, + expiry: BigNumberish, + allowed: boolean, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "reallocateTo" + ): TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "stakeEth" + ): TypedContractMethod< + [amount: BigNumberish, minShares: BigNumberish, referral: AddressLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "transferFrom2" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "unwrapNative" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "unwrapStEth" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "urdClaim" + ): TypedContractMethod< + [ + distributor: AddressLike, + account: AddressLike, + reward: AddressLike, + amount: BigNumberish, + proof: BytesLike[], + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "wrapNative" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "wrapStEth" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + filters: {}; +} diff --git a/pkg/types/src/ethereum/EthereumPermitBundler.ts b/pkg/types/src/ethereum/EthereumPermitBundler.ts new file mode 100644 index 00000000..37a4aa00 --- /dev/null +++ b/pkg/types/src/ethereum/EthereumPermitBundler.ts @@ -0,0 +1,182 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface EthereumPermitBundlerInterface extends Interface { + getFunction( + nameOrSignature: "initiator" | "multicall" | "permit" | "permitDai" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike, + boolean + ] + ): string; + encodeFunctionData( + functionFragment: "permitDai", + values: [ + BigNumberish, + BigNumberish, + boolean, + BigNumberish, + BytesLike, + BytesLike, + boolean + ] + ): string; + + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permitDai", data: BytesLike): Result; +} + +export interface EthereumPermitBundler extends BaseContract { + connect(runner?: ContractRunner | null): EthereumPermitBundler; + waitForDeployment(): Promise; + + interface: EthereumPermitBundlerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + initiator: TypedContractMethod<[], [string], "view">; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + permit: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + permitDai: TypedContractMethod< + [ + nonce: BigNumberish, + expiry: BigNumberish, + allowed: boolean, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "permitDai" + ): TypedContractMethod< + [ + nonce: BigNumberish, + expiry: BigNumberish, + allowed: boolean, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + filters: {}; +} diff --git a/pkg/types/src/ethereum/EthereumStEthBundler.ts b/pkg/types/src/ethereum/EthereumStEthBundler.ts new file mode 100644 index 00000000..032cdd59 --- /dev/null +++ b/pkg/types/src/ethereum/EthereumStEthBundler.ts @@ -0,0 +1,160 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface EthereumStEthBundlerInterface extends Interface { + getFunction( + nameOrSignature: + | "ST_ETH" + | "WST_ETH" + | "initiator" + | "multicall" + | "stakeEth" + | "unwrapStEth" + | "wrapStEth" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "ST_ETH", values?: undefined): string; + encodeFunctionData(functionFragment: "WST_ETH", values?: undefined): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "stakeEth", + values: [BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "unwrapStEth", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "wrapStEth", + values: [BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "ST_ETH", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "WST_ETH", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "stakeEth", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "unwrapStEth", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "wrapStEth", data: BytesLike): Result; +} + +export interface EthereumStEthBundler extends BaseContract { + connect(runner?: ContractRunner | null): EthereumStEthBundler; + waitForDeployment(): Promise; + + interface: EthereumStEthBundlerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + ST_ETH: TypedContractMethod<[], [string], "view">; + + WST_ETH: TypedContractMethod<[], [string], "view">; + + initiator: TypedContractMethod<[], [string], "view">; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + stakeEth: TypedContractMethod< + [amount: BigNumberish, minShares: BigNumberish, referral: AddressLike], + [void], + "payable" + >; + + unwrapStEth: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + wrapStEth: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "ST_ETH" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "WST_ETH" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "stakeEth" + ): TypedContractMethod< + [amount: BigNumberish, minShares: BigNumberish, referral: AddressLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "unwrapStEth" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "wrapStEth" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + filters: {}; +} diff --git a/pkg/types/src/ethereum/index.ts b/pkg/types/src/ethereum/index.ts new file mode 100644 index 00000000..f1d2a516 --- /dev/null +++ b/pkg/types/src/ethereum/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; +export type { EthereumBundlerV2 } from "./EthereumBundlerV2"; +export type { EthereumPermitBundler } from "./EthereumPermitBundler"; +export type { EthereumStEthBundler } from "./EthereumStEthBundler"; diff --git a/pkg/types/src/ethereum/interfaces/IDaiPermit.ts b/pkg/types/src/ethereum/interfaces/IDaiPermit.ts new file mode 100644 index 00000000..7e54a4d9 --- /dev/null +++ b/pkg/types/src/ethereum/interfaces/IDaiPermit.ts @@ -0,0 +1,131 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface IDaiPermitInterface extends Interface { + getFunction(nameOrSignature: "nonces" | "permit"): FunctionFragment; + + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + boolean, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; +} + +export interface IDaiPermit extends BaseContract { + connect(runner?: ContractRunner | null): IDaiPermit; + waitForDeployment(): Promise; + + interface: IDaiPermitInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + nonces: TypedContractMethod<[holder: AddressLike], [bigint], "view">; + + permit: TypedContractMethod< + [ + holder: AddressLike, + spender: AddressLike, + nonce: BigNumberish, + expiry: BigNumberish, + allowed: boolean, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[holder: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + holder: AddressLike, + spender: AddressLike, + nonce: BigNumberish, + expiry: BigNumberish, + allowed: boolean, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/src/ethereum/interfaces/index.ts b/pkg/types/src/ethereum/interfaces/index.ts new file mode 100644 index 00000000..25b1a8de --- /dev/null +++ b/pkg/types/src/ethereum/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IDaiPermit } from "./IDaiPermit"; diff --git a/pkg/types/src/goerli/GoerliBundlerV2.ts b/pkg/types/src/goerli/GoerliBundlerV2.ts new file mode 100644 index 00000000..fe71253e --- /dev/null +++ b/pkg/types/src/goerli/GoerliBundlerV2.ts @@ -0,0 +1,1083 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export type WithdrawalStruct = { + marketParams: MarketParamsStruct; + amount: BigNumberish; +}; + +export type WithdrawalStructOutput = [ + marketParams: MarketParamsStructOutput, + amount: bigint +] & { marketParams: MarketParamsStructOutput; amount: bigint }; + +export declare namespace IAllowanceTransfer { + export type PermitDetailsStruct = { + token: AddressLike; + amount: BigNumberish; + expiration: BigNumberish; + nonce: BigNumberish; + }; + + export type PermitDetailsStructOutput = [ + token: string, + amount: bigint, + expiration: bigint, + nonce: bigint + ] & { token: string; amount: bigint; expiration: bigint; nonce: bigint }; + + export type PermitSingleStruct = { + details: IAllowanceTransfer.PermitDetailsStruct; + spender: AddressLike; + sigDeadline: BigNumberish; + }; + + export type PermitSingleStructOutput = [ + details: IAllowanceTransfer.PermitDetailsStructOutput, + spender: string, + sigDeadline: bigint + ] & { + details: IAllowanceTransfer.PermitDetailsStructOutput; + spender: string; + sigDeadline: bigint; + }; +} + +export interface GoerliBundlerV2Interface extends Interface { + getFunction( + nameOrSignature: + | "MORPHO" + | "ST_ETH" + | "WRAPPED_NATIVE" + | "WST_ETH" + | "approve2" + | "erc20Transfer" + | "erc20TransferFrom" + | "erc20WrapperDepositFor" + | "erc20WrapperWithdrawTo" + | "erc4626Deposit" + | "erc4626Mint" + | "erc4626Redeem" + | "erc4626Withdraw" + | "initiator" + | "morphoBorrow" + | "morphoFlashLoan" + | "morphoRepay" + | "morphoSetAuthorizationWithSig" + | "morphoSupply" + | "morphoSupplyCollateral" + | "morphoWithdraw" + | "morphoWithdrawCollateral" + | "multicall" + | "nativeTransfer" + | "onMorphoFlashLoan" + | "onMorphoRepay" + | "onMorphoSupply" + | "onMorphoSupplyCollateral" + | "permit" + | "reallocateTo" + | "stakeEth" + | "transferFrom2" + | "unwrapNative" + | "unwrapStEth" + | "urdClaim" + | "wrapNative" + | "wrapStEth" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData(functionFragment: "ST_ETH", values?: undefined): string; + encodeFunctionData( + functionFragment: "WRAPPED_NATIVE", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "WST_ETH", values?: undefined): string; + encodeFunctionData( + functionFragment: "approve2", + values: [IAllowanceTransfer.PermitSingleStruct, BytesLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "erc20Transfer", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20TransferFrom", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20WrapperDepositFor", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20WrapperWithdrawTo", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc4626Deposit", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Mint", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Redeem", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Withdraw", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "morphoBorrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoFlashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoRepay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSetAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct, boolean] + ): string; + encodeFunctionData( + functionFragment: "morphoSupply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSupplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "nativeTransfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "onMorphoFlashLoan", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoRepay", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupply", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupplyCollateral", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike, + boolean + ] + ): string; + encodeFunctionData( + functionFragment: "reallocateTo", + values: [ + AddressLike, + AddressLike, + BigNumberish, + WithdrawalStruct[], + MarketParamsStruct + ] + ): string; + encodeFunctionData( + functionFragment: "stakeEth", + values: [BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "transferFrom2", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "unwrapNative", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "unwrapStEth", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "urdClaim", + values: [ + AddressLike, + AddressLike, + AddressLike, + BigNumberish, + BytesLike[], + boolean + ] + ): string; + encodeFunctionData( + functionFragment: "wrapNative", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "wrapStEth", + values: [BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ST_ETH", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "WRAPPED_NATIVE", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "WST_ETH", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve2", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "erc20Transfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20TransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20WrapperDepositFor", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20WrapperWithdrawTo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Deposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Mint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Redeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Withdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "morphoBorrow", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSetAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdrawCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "nativeTransfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "reallocateTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "stakeEth", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom2", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "unwrapNative", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "unwrapStEth", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "urdClaim", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "wrapNative", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "wrapStEth", data: BytesLike): Result; +} + +export interface GoerliBundlerV2 extends BaseContract { + connect(runner?: ContractRunner | null): GoerliBundlerV2; + waitForDeployment(): Promise; + + interface: GoerliBundlerV2Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + MORPHO: TypedContractMethod<[], [string], "view">; + + ST_ETH: TypedContractMethod<[], [string], "view">; + + WRAPPED_NATIVE: TypedContractMethod<[], [string], "view">; + + WST_ETH: TypedContractMethod<[], [string], "view">; + + approve2: TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + erc20Transfer: TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20TransferFrom: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20WrapperDepositFor: TypedContractMethod< + [wrapper: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20WrapperWithdrawTo: TypedContractMethod< + [wrapper: AddressLike, account: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc4626Deposit: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Mint: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Redeem: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + erc4626Withdraw: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + initiator: TypedContractMethod<[], [string], "view">; + + morphoBorrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoFlashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + + morphoRepay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSetAuthorizationWithSig: TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + + morphoSupply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSupplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoWithdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoWithdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + nativeTransfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + onMorphoFlashLoan: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoRepay: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupply: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupplyCollateral: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + permit: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + reallocateTo: TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + + stakeEth: TypedContractMethod< + [amount: BigNumberish, minShares: BigNumberish, referral: AddressLike], + [void], + "payable" + >; + + transferFrom2: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + unwrapNative: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + unwrapStEth: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + urdClaim: TypedContractMethod< + [ + distributor: AddressLike, + account: AddressLike, + reward: AddressLike, + amount: BigNumberish, + proof: BytesLike[], + skipRevert: boolean + ], + [void], + "payable" + >; + + wrapNative: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + wrapStEth: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "ST_ETH" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "WRAPPED_NATIVE" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "WST_ETH" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "approve2" + ): TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20Transfer" + ): TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20TransferFrom" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20WrapperDepositFor" + ): TypedContractMethod< + [wrapper: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20WrapperWithdrawTo" + ): TypedContractMethod< + [wrapper: AddressLike, account: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Deposit" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Mint" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Redeem" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Withdraw" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "morphoBorrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoFlashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoRepay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSetAuthorizationWithSig" + ): TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "nativeTransfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "onMorphoFlashLoan" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoRepay" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupply" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupplyCollateral" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "reallocateTo" + ): TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "stakeEth" + ): TypedContractMethod< + [amount: BigNumberish, minShares: BigNumberish, referral: AddressLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "transferFrom2" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "unwrapNative" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "unwrapStEth" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "urdClaim" + ): TypedContractMethod< + [ + distributor: AddressLike, + account: AddressLike, + reward: AddressLike, + amount: BigNumberish, + proof: BytesLike[], + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "wrapNative" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "wrapStEth" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + filters: {}; +} diff --git a/pkg/types/src/goerli/index.ts b/pkg/types/src/goerli/index.ts new file mode 100644 index 00000000..7c4436c8 --- /dev/null +++ b/pkg/types/src/goerli/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { GoerliBundlerV2 } from "./GoerliBundlerV2"; diff --git a/pkg/types/src/index.ts b/pkg/types/src/index.ts new file mode 100644 index 00000000..0a5d8934 --- /dev/null +++ b/pkg/types/src/index.ts @@ -0,0 +1,27 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as chainAgnostic from "./chain-agnostic"; +export type { chainAgnostic }; +import type * as ethereum from "./ethereum"; +export type { ethereum }; +import type * as goerli from "./goerli"; +export type { goerli }; +import type * as interfaces from "./interfaces"; +export type { interfaces }; +import type * as migration from "./migration"; +export type { migration }; +import type * as mocks from "./mocks"; +export type { mocks }; +import type * as sepolia from "./sepolia"; +export type { sepolia }; +export type { BaseBundler } from "./BaseBundler"; +export type { ERC20WrapperBundler } from "./ERC20WrapperBundler"; +export type { ERC4626Bundler } from "./ERC4626Bundler"; +export type { MorphoBundler } from "./MorphoBundler"; +export type { Permit2Bundler } from "./Permit2Bundler"; +export type { PermitBundler } from "./PermitBundler"; +export type { StEthBundler } from "./StEthBundler"; +export type { TransferBundler } from "./TransferBundler"; +export type { UrdBundler } from "./UrdBundler"; +export type { WNativeBundler } from "./WNativeBundler"; diff --git a/pkg/types/src/interfaces/IMorphoBundler.ts b/pkg/types/src/interfaces/IMorphoBundler.ts new file mode 100644 index 00000000..2af62480 --- /dev/null +++ b/pkg/types/src/interfaces/IMorphoBundler.ts @@ -0,0 +1,168 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface IMorphoBundlerInterface extends Interface { + getFunction( + nameOrSignature: + | "onMorphoFlashLoan" + | "onMorphoRepay" + | "onMorphoSupply" + | "onMorphoSupplyCollateral" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "onMorphoFlashLoan", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoRepay", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupply", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupplyCollateral", + values: [BigNumberish, BytesLike] + ): string; + + decodeFunctionResult( + functionFragment: "onMorphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupplyCollateral", + data: BytesLike + ): Result; +} + +export interface IMorphoBundler extends BaseContract { + connect(runner?: ContractRunner | null): IMorphoBundler; + waitForDeployment(): Promise; + + interface: IMorphoBundlerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + onMorphoFlashLoan: TypedContractMethod< + [assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoRepay: TypedContractMethod< + [assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupply: TypedContractMethod< + [assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupplyCollateral: TypedContractMethod< + [assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "onMorphoFlashLoan" + ): TypedContractMethod< + [assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoRepay" + ): TypedContractMethod< + [assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupply" + ): TypedContractMethod< + [assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupplyCollateral" + ): TypedContractMethod< + [assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/src/interfaces/IMulticall.ts b/pkg/types/src/interfaces/IMulticall.ts new file mode 100644 index 00000000..5035170b --- /dev/null +++ b/pkg/types/src/interfaces/IMulticall.ts @@ -0,0 +1,87 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface IMulticallInterface extends Interface { + getFunction(nameOrSignature: "multicall"): FunctionFragment; + + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; +} + +export interface IMulticall extends BaseContract { + connect(runner?: ContractRunner | null): IMulticall; + waitForDeployment(): Promise; + + interface: IMulticallInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + filters: {}; +} diff --git a/pkg/types/src/interfaces/IPublicAllocator.ts b/pkg/types/src/interfaces/IPublicAllocator.ts new file mode 100644 index 00000000..d8fe09cc --- /dev/null +++ b/pkg/types/src/interfaces/IPublicAllocator.ts @@ -0,0 +1,293 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export type FlowCapsStruct = { maxIn: BigNumberish; maxOut: BigNumberish }; + +export type FlowCapsStructOutput = [maxIn: bigint, maxOut: bigint] & { + maxIn: bigint; + maxOut: bigint; +}; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type WithdrawalStruct = { + marketParams: MarketParamsStruct; + amount: BigNumberish; +}; + +export type WithdrawalStructOutput = [ + marketParams: MarketParamsStructOutput, + amount: bigint +] & { marketParams: MarketParamsStructOutput; amount: bigint }; + +export type FlowCapsConfigStruct = { id: BytesLike; caps: FlowCapsStruct }; + +export type FlowCapsConfigStructOutput = [ + id: string, + caps: FlowCapsStructOutput +] & { id: string; caps: FlowCapsStructOutput }; + +export interface IPublicAllocatorInterface extends Interface { + getFunction( + nameOrSignature: + | "MORPHO" + | "accruedFee" + | "fee" + | "flowCaps" + | "owner" + | "reallocateTo" + | "setFee" + | "setFlowCaps" + | "setOwner" + | "transferFee" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "accruedFee", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "fee", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "flowCaps", + values: [AddressLike, BytesLike] + ): string; + encodeFunctionData(functionFragment: "owner", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "reallocateTo", + values: [AddressLike, WithdrawalStruct[], MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFlowCaps", + values: [AddressLike, FlowCapsConfigStruct[]] + ): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "transferFee", + values: [AddressLike, AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "accruedFee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "flowCaps", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "reallocateTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFlowCaps", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFee", + data: BytesLike + ): Result; +} + +export interface IPublicAllocator extends BaseContract { + connect(runner?: ContractRunner | null): IPublicAllocator; + waitForDeployment(): Promise; + + interface: IPublicAllocatorInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + MORPHO: TypedContractMethod<[], [string], "view">; + + accruedFee: TypedContractMethod<[vault: AddressLike], [bigint], "view">; + + fee: TypedContractMethod<[vault: AddressLike], [bigint], "view">; + + flowCaps: TypedContractMethod< + [vault: AddressLike, arg1: BytesLike], + [FlowCapsStructOutput], + "view" + >; + + owner: TypedContractMethod<[vault: AddressLike], [string], "view">; + + reallocateTo: TypedContractMethod< + [ + vault: AddressLike, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + + setFee: TypedContractMethod< + [vault: AddressLike, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFlowCaps: TypedContractMethod< + [vault: AddressLike, config: FlowCapsConfigStruct[]], + [void], + "nonpayable" + >; + + setOwner: TypedContractMethod< + [vault: AddressLike, newOwner: AddressLike], + [void], + "nonpayable" + >; + + transferFee: TypedContractMethod< + [vault: AddressLike, feeRecipient: AddressLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accruedFee" + ): TypedContractMethod<[vault: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "fee" + ): TypedContractMethod<[vault: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "flowCaps" + ): TypedContractMethod< + [vault: AddressLike, arg1: BytesLike], + [FlowCapsStructOutput], + "view" + >; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[vault: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "reallocateTo" + ): TypedContractMethod< + [ + vault: AddressLike, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [vault: AddressLike, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFlowCaps" + ): TypedContractMethod< + [vault: AddressLike, config: FlowCapsConfigStruct[]], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod< + [vault: AddressLike, newOwner: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFee" + ): TypedContractMethod< + [vault: AddressLike, feeRecipient: AddressLike], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/src/interfaces/IStEth.ts b/pkg/types/src/interfaces/IStEth.ts new file mode 100644 index 00000000..878ea337 --- /dev/null +++ b/pkg/types/src/interfaces/IStEth.ts @@ -0,0 +1,172 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface IStEthInterface extends Interface { + getFunction( + nameOrSignature: + | "getCurrentStakeLimit" + | "getPooledEthByShares" + | "getSharesByPooledEth" + | "sharesOf" + | "submit" + | "transferShares" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "getCurrentStakeLimit", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getPooledEthByShares", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getSharesByPooledEth", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "sharesOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "submit", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "transferShares", + values: [AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "getCurrentStakeLimit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPooledEthByShares", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getSharesByPooledEth", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "sharesOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "submit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferShares", + data: BytesLike + ): Result; +} + +export interface IStEth extends BaseContract { + connect(runner?: ContractRunner | null): IStEth; + waitForDeployment(): Promise; + + interface: IStEthInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + getCurrentStakeLimit: TypedContractMethod<[], [bigint], "view">; + + getPooledEthByShares: TypedContractMethod< + [_sharesAmount: BigNumberish], + [bigint], + "view" + >; + + getSharesByPooledEth: TypedContractMethod< + [_stEthAmount: BigNumberish], + [bigint], + "view" + >; + + sharesOf: TypedContractMethod<[_account: AddressLike], [bigint], "view">; + + submit: TypedContractMethod<[_referral: AddressLike], [bigint], "payable">; + + transferShares: TypedContractMethod< + [_recipient: AddressLike, _sharesAmount: BigNumberish], + [bigint], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "getCurrentStakeLimit" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "getPooledEthByShares" + ): TypedContractMethod<[_sharesAmount: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "getSharesByPooledEth" + ): TypedContractMethod<[_stEthAmount: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "sharesOf" + ): TypedContractMethod<[_account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "submit" + ): TypedContractMethod<[_referral: AddressLike], [bigint], "payable">; + getFunction( + nameOrSignature: "transferShares" + ): TypedContractMethod< + [_recipient: AddressLike, _sharesAmount: BigNumberish], + [bigint], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/src/interfaces/IWNative.ts b/pkg/types/src/interfaces/IWNative.ts new file mode 100644 index 00000000..eea516ba --- /dev/null +++ b/pkg/types/src/interfaces/IWNative.ts @@ -0,0 +1,137 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface IWNativeInterface extends Interface { + getFunction( + nameOrSignature: "approve" | "deposit" | "transferFrom" | "withdraw" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "deposit", values?: undefined): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; +} + +export interface IWNative extends BaseContract { + connect(runner?: ContractRunner | null): IWNative; + waitForDeployment(): Promise; + + interface: IWNativeInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + approve: TypedContractMethod< + [guy: AddressLike, wad: BigNumberish], + [boolean], + "nonpayable" + >; + + deposit: TypedContractMethod<[], [void], "payable">; + + transferFrom: TypedContractMethod< + [src: AddressLike, dst: AddressLike, wad: BigNumberish], + [boolean], + "nonpayable" + >; + + withdraw: TypedContractMethod<[wad: BigNumberish], [void], "nonpayable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [guy: AddressLike, wad: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod<[], [void], "payable">; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [src: AddressLike, dst: AddressLike, wad: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod<[wad: BigNumberish], [void], "nonpayable">; + + filters: {}; +} diff --git a/pkg/types/src/interfaces/IWstEth.ts b/pkg/types/src/interfaces/IWstEth.ts new file mode 100644 index 00000000..2c9bf4b0 --- /dev/null +++ b/pkg/types/src/interfaces/IWstEth.ts @@ -0,0 +1,417 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface IWstEthInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "decreaseAllowance" + | "getStETHByWstETH" + | "getWstETHByStETH" + | "increaseAllowance" + | "name" + | "nonces" + | "permit" + | "stETH" + | "stEthPerToken" + | "symbol" + | "tokensPerStEth" + | "totalSupply" + | "transfer" + | "transferFrom" + | "unwrap" + | "wrap" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getStETHByWstETH", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getWstETHByStETH", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "stETH", values?: undefined): string; + encodeFunctionData( + functionFragment: "stEthPerToken", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "tokensPerStEth", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "unwrap", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "wrap", values: [BigNumberish]): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getStETHByWstETH", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getWstETHByStETH", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "stETH", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "stEthPerToken", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "tokensPerStEth", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "unwrap", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "wrap", data: BytesLike): Result; +} + +export interface IWstEth extends BaseContract { + connect(runner?: ContractRunner | null): IWstEth; + waitForDeployment(): Promise; + + interface: IWstEthInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + decreaseAllowance: TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + getStETHByWstETH: TypedContractMethod< + [wstETHAmount: BigNumberish], + [bigint], + "view" + >; + + getWstETHByStETH: TypedContractMethod< + [stETHAmount: BigNumberish], + [bigint], + "view" + >; + + increaseAllowance: TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + permit: TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + stETH: TypedContractMethod<[], [string], "view">; + + stEthPerToken: TypedContractMethod<[], [bigint], "view">; + + symbol: TypedContractMethod<[], [string], "view">; + + tokensPerStEth: TypedContractMethod<[], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + unwrap: TypedContractMethod< + [wstETHAmount: BigNumberish], + [bigint], + "nonpayable" + >; + + wrap: TypedContractMethod< + [stETHAmount: BigNumberish], + [bigint], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "decreaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "getStETHByWstETH" + ): TypedContractMethod<[wstETHAmount: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "getWstETHByStETH" + ): TypedContractMethod<[stETHAmount: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "increaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "stETH" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "stEthPerToken" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "tokensPerStEth" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "unwrap" + ): TypedContractMethod<[wstETHAmount: BigNumberish], [bigint], "nonpayable">; + getFunction( + nameOrSignature: "wrap" + ): TypedContractMethod<[stETHAmount: BigNumberish], [bigint], "nonpayable">; + + filters: {}; +} diff --git a/pkg/types/src/interfaces/index.ts b/pkg/types/src/interfaces/index.ts new file mode 100644 index 00000000..644705dc --- /dev/null +++ b/pkg/types/src/interfaces/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IMorphoBundler } from "./IMorphoBundler"; +export type { IMulticall } from "./IMulticall"; +export type { IPublicAllocator } from "./IPublicAllocator"; +export type { IStEth } from "./IStEth"; +export type { IWNative } from "./IWNative"; +export type { IWstEth } from "./IWstEth"; diff --git a/pkg/types/src/migration/AaveV2MigrationBundlerV2.ts b/pkg/types/src/migration/AaveV2MigrationBundlerV2.ts new file mode 100644 index 00000000..be3475c3 --- /dev/null +++ b/pkg/types/src/migration/AaveV2MigrationBundlerV2.ts @@ -0,0 +1,1018 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export type WithdrawalStruct = { + marketParams: MarketParamsStruct; + amount: BigNumberish; +}; + +export type WithdrawalStructOutput = [ + marketParams: MarketParamsStructOutput, + amount: bigint +] & { marketParams: MarketParamsStructOutput; amount: bigint }; + +export declare namespace IAllowanceTransfer { + export type PermitDetailsStruct = { + token: AddressLike; + amount: BigNumberish; + expiration: BigNumberish; + nonce: BigNumberish; + }; + + export type PermitDetailsStructOutput = [ + token: string, + amount: bigint, + expiration: bigint, + nonce: bigint + ] & { token: string; amount: bigint; expiration: bigint; nonce: bigint }; + + export type PermitSingleStruct = { + details: IAllowanceTransfer.PermitDetailsStruct; + spender: AddressLike; + sigDeadline: BigNumberish; + }; + + export type PermitSingleStructOutput = [ + details: IAllowanceTransfer.PermitDetailsStructOutput, + spender: string, + sigDeadline: bigint + ] & { + details: IAllowanceTransfer.PermitDetailsStructOutput; + spender: string; + sigDeadline: bigint; + }; +} + +export interface AaveV2MigrationBundlerV2Interface extends Interface { + getFunction( + nameOrSignature: + | "AAVE_V2_POOL" + | "MORPHO" + | "ST_ETH" + | "WST_ETH" + | "aaveV2Repay" + | "aaveV2Withdraw" + | "approve2" + | "erc20Transfer" + | "erc20TransferFrom" + | "erc4626Deposit" + | "erc4626Mint" + | "erc4626Redeem" + | "erc4626Withdraw" + | "initiator" + | "morphoBorrow" + | "morphoFlashLoan" + | "morphoRepay" + | "morphoSetAuthorizationWithSig" + | "morphoSupply" + | "morphoSupplyCollateral" + | "morphoWithdraw" + | "morphoWithdrawCollateral" + | "multicall" + | "nativeTransfer" + | "onMorphoFlashLoan" + | "onMorphoRepay" + | "onMorphoSupply" + | "onMorphoSupplyCollateral" + | "permit" + | "reallocateTo" + | "stakeEth" + | "transferFrom2" + | "unwrapStEth" + | "wrapStEth" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "AAVE_V2_POOL", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData(functionFragment: "ST_ETH", values?: undefined): string; + encodeFunctionData(functionFragment: "WST_ETH", values?: undefined): string; + encodeFunctionData( + functionFragment: "aaveV2Repay", + values: [AddressLike, BigNumberish, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "aaveV2Withdraw", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "approve2", + values: [IAllowanceTransfer.PermitSingleStruct, BytesLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "erc20Transfer", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20TransferFrom", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc4626Deposit", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Mint", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Redeem", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Withdraw", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "morphoBorrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoFlashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoRepay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSetAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct, boolean] + ): string; + encodeFunctionData( + functionFragment: "morphoSupply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSupplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "nativeTransfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "onMorphoFlashLoan", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoRepay", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupply", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupplyCollateral", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike, + boolean + ] + ): string; + encodeFunctionData( + functionFragment: "reallocateTo", + values: [ + AddressLike, + AddressLike, + BigNumberish, + WithdrawalStruct[], + MarketParamsStruct + ] + ): string; + encodeFunctionData( + functionFragment: "stakeEth", + values: [BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "transferFrom2", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "unwrapStEth", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "wrapStEth", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "AAVE_V2_POOL", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ST_ETH", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "WST_ETH", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "aaveV2Repay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "aaveV2Withdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "approve2", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "erc20Transfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20TransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Deposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Mint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Redeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Withdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "morphoBorrow", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSetAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdrawCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "nativeTransfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "reallocateTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "stakeEth", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom2", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "unwrapStEth", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "wrapStEth", data: BytesLike): Result; +} + +export interface AaveV2MigrationBundlerV2 extends BaseContract { + connect(runner?: ContractRunner | null): AaveV2MigrationBundlerV2; + waitForDeployment(): Promise; + + interface: AaveV2MigrationBundlerV2Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + AAVE_V2_POOL: TypedContractMethod<[], [string], "view">; + + MORPHO: TypedContractMethod<[], [string], "view">; + + ST_ETH: TypedContractMethod<[], [string], "view">; + + WST_ETH: TypedContractMethod<[], [string], "view">; + + aaveV2Repay: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish, interestRateMode: BigNumberish], + [void], + "payable" + >; + + aaveV2Withdraw: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + approve2: TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + erc20Transfer: TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20TransferFrom: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc4626Deposit: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Mint: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Redeem: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + erc4626Withdraw: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + initiator: TypedContractMethod<[], [string], "view">; + + morphoBorrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoFlashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + + morphoRepay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSetAuthorizationWithSig: TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + + morphoSupply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSupplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoWithdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoWithdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + nativeTransfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + onMorphoFlashLoan: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoRepay: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupply: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupplyCollateral: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + permit: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + reallocateTo: TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + + stakeEth: TypedContractMethod< + [amount: BigNumberish, minShares: BigNumberish, referral: AddressLike], + [void], + "payable" + >; + + transferFrom2: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + unwrapStEth: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + wrapStEth: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "AAVE_V2_POOL" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "ST_ETH" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "WST_ETH" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "aaveV2Repay" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish, interestRateMode: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "aaveV2Withdraw" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "approve2" + ): TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20Transfer" + ): TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20TransferFrom" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Deposit" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Mint" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Redeem" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Withdraw" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "morphoBorrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoFlashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoRepay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSetAuthorizationWithSig" + ): TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "nativeTransfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "onMorphoFlashLoan" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoRepay" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupply" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupplyCollateral" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "reallocateTo" + ): TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "stakeEth" + ): TypedContractMethod< + [amount: BigNumberish, minShares: BigNumberish, referral: AddressLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "transferFrom2" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "unwrapStEth" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "wrapStEth" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + filters: {}; +} diff --git a/pkg/types/src/migration/AaveV3MigrationBundlerV2.ts b/pkg/types/src/migration/AaveV3MigrationBundlerV2.ts new file mode 100644 index 00000000..dc2c1cb2 --- /dev/null +++ b/pkg/types/src/migration/AaveV3MigrationBundlerV2.ts @@ -0,0 +1,958 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export type WithdrawalStruct = { + marketParams: MarketParamsStruct; + amount: BigNumberish; +}; + +export type WithdrawalStructOutput = [ + marketParams: MarketParamsStructOutput, + amount: bigint +] & { marketParams: MarketParamsStructOutput; amount: bigint }; + +export declare namespace IAllowanceTransfer { + export type PermitDetailsStruct = { + token: AddressLike; + amount: BigNumberish; + expiration: BigNumberish; + nonce: BigNumberish; + }; + + export type PermitDetailsStructOutput = [ + token: string, + amount: bigint, + expiration: bigint, + nonce: bigint + ] & { token: string; amount: bigint; expiration: bigint; nonce: bigint }; + + export type PermitSingleStruct = { + details: IAllowanceTransfer.PermitDetailsStruct; + spender: AddressLike; + sigDeadline: BigNumberish; + }; + + export type PermitSingleStructOutput = [ + details: IAllowanceTransfer.PermitDetailsStructOutput, + spender: string, + sigDeadline: bigint + ] & { + details: IAllowanceTransfer.PermitDetailsStructOutput; + spender: string; + sigDeadline: bigint; + }; +} + +export interface AaveV3MigrationBundlerV2Interface extends Interface { + getFunction( + nameOrSignature: + | "AAVE_V3_POOL" + | "MORPHO" + | "aaveV3Repay" + | "aaveV3Withdraw" + | "approve2" + | "erc20Transfer" + | "erc20TransferFrom" + | "erc4626Deposit" + | "erc4626Mint" + | "erc4626Redeem" + | "erc4626Withdraw" + | "initiator" + | "morphoBorrow" + | "morphoFlashLoan" + | "morphoRepay" + | "morphoSetAuthorizationWithSig" + | "morphoSupply" + | "morphoSupplyCollateral" + | "morphoWithdraw" + | "morphoWithdrawCollateral" + | "multicall" + | "nativeTransfer" + | "onMorphoFlashLoan" + | "onMorphoRepay" + | "onMorphoSupply" + | "onMorphoSupplyCollateral" + | "permit" + | "reallocateTo" + | "transferFrom2" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "AAVE_V3_POOL", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "aaveV3Repay", + values: [AddressLike, BigNumberish, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "aaveV3Withdraw", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "approve2", + values: [IAllowanceTransfer.PermitSingleStruct, BytesLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "erc20Transfer", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20TransferFrom", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc4626Deposit", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Mint", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Redeem", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Withdraw", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "morphoBorrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoFlashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoRepay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSetAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct, boolean] + ): string; + encodeFunctionData( + functionFragment: "morphoSupply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSupplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "nativeTransfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "onMorphoFlashLoan", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoRepay", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupply", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupplyCollateral", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike, + boolean + ] + ): string; + encodeFunctionData( + functionFragment: "reallocateTo", + values: [ + AddressLike, + AddressLike, + BigNumberish, + WithdrawalStruct[], + MarketParamsStruct + ] + ): string; + encodeFunctionData( + functionFragment: "transferFrom2", + values: [AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "AAVE_V3_POOL", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "aaveV3Repay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "aaveV3Withdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "approve2", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "erc20Transfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20TransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Deposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Mint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Redeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Withdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "morphoBorrow", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSetAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdrawCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "nativeTransfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "reallocateTo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferFrom2", + data: BytesLike + ): Result; +} + +export interface AaveV3MigrationBundlerV2 extends BaseContract { + connect(runner?: ContractRunner | null): AaveV3MigrationBundlerV2; + waitForDeployment(): Promise; + + interface: AaveV3MigrationBundlerV2Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + AAVE_V3_POOL: TypedContractMethod<[], [string], "view">; + + MORPHO: TypedContractMethod<[], [string], "view">; + + aaveV3Repay: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish, interestRateMode: BigNumberish], + [void], + "payable" + >; + + aaveV3Withdraw: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + approve2: TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + erc20Transfer: TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20TransferFrom: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc4626Deposit: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Mint: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Redeem: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + erc4626Withdraw: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + initiator: TypedContractMethod<[], [string], "view">; + + morphoBorrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoFlashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + + morphoRepay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSetAuthorizationWithSig: TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + + morphoSupply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSupplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoWithdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoWithdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + nativeTransfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + onMorphoFlashLoan: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoRepay: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupply: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupplyCollateral: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + permit: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + reallocateTo: TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + + transferFrom2: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "AAVE_V3_POOL" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "aaveV3Repay" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish, interestRateMode: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "aaveV3Withdraw" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "approve2" + ): TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20Transfer" + ): TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20TransferFrom" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Deposit" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Mint" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Redeem" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Withdraw" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "morphoBorrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoFlashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoRepay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSetAuthorizationWithSig" + ): TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "nativeTransfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "onMorphoFlashLoan" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoRepay" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupply" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupplyCollateral" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "reallocateTo" + ): TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "transferFrom2" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + filters: {}; +} diff --git a/pkg/types/src/migration/AaveV3OptimizerMigrationBundlerV2.ts b/pkg/types/src/migration/AaveV3OptimizerMigrationBundlerV2.ts new file mode 100644 index 00000000..328231d8 --- /dev/null +++ b/pkg/types/src/migration/AaveV3OptimizerMigrationBundlerV2.ts @@ -0,0 +1,1022 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type WithdrawalStruct = { + marketParams: MarketParamsStruct; + amount: BigNumberish; +}; + +export type WithdrawalStructOutput = [ + marketParams: MarketParamsStructOutput, + amount: bigint +] & { marketParams: MarketParamsStructOutput; amount: bigint }; + +export declare namespace IAllowanceTransfer { + export type PermitDetailsStruct = { + token: AddressLike; + amount: BigNumberish; + expiration: BigNumberish; + nonce: BigNumberish; + }; + + export type PermitDetailsStructOutput = [ + token: string, + amount: bigint, + expiration: bigint, + nonce: bigint + ] & { token: string; amount: bigint; expiration: bigint; nonce: bigint }; + + export type PermitSingleStruct = { + details: IAllowanceTransfer.PermitDetailsStruct; + spender: AddressLike; + sigDeadline: BigNumberish; + }; + + export type PermitSingleStructOutput = [ + details: IAllowanceTransfer.PermitDetailsStructOutput, + spender: string, + sigDeadline: bigint + ] & { + details: IAllowanceTransfer.PermitDetailsStructOutput; + spender: string; + sigDeadline: bigint; + }; +} + +export interface AaveV3OptimizerMigrationBundlerV2Interface extends Interface { + getFunction( + nameOrSignature: + | "AAVE_V3_OPTIMIZER" + | "MORPHO" + | "aaveV3OptimizerApproveManagerWithSig" + | "aaveV3OptimizerRepay" + | "aaveV3OptimizerWithdraw" + | "aaveV3OptimizerWithdrawCollateral" + | "approve2" + | "erc20Transfer" + | "erc20TransferFrom" + | "erc4626Deposit" + | "erc4626Mint" + | "erc4626Redeem" + | "erc4626Withdraw" + | "initiator" + | "morphoBorrow" + | "morphoFlashLoan" + | "morphoRepay" + | "morphoSetAuthorizationWithSig" + | "morphoSupply" + | "morphoSupplyCollateral" + | "morphoWithdraw" + | "morphoWithdrawCollateral" + | "multicall" + | "nativeTransfer" + | "onMorphoFlashLoan" + | "onMorphoRepay" + | "onMorphoSupply" + | "onMorphoSupplyCollateral" + | "permit" + | "reallocateTo" + | "transferFrom2" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "AAVE_V3_OPTIMIZER", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "aaveV3OptimizerApproveManagerWithSig", + values: [boolean, BigNumberish, BigNumberish, SignatureStruct, boolean] + ): string; + encodeFunctionData( + functionFragment: "aaveV3OptimizerRepay", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "aaveV3OptimizerWithdraw", + values: [AddressLike, BigNumberish, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "aaveV3OptimizerWithdrawCollateral", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "approve2", + values: [IAllowanceTransfer.PermitSingleStruct, BytesLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "erc20Transfer", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20TransferFrom", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc4626Deposit", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Mint", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Redeem", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Withdraw", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "morphoBorrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoFlashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoRepay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSetAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct, boolean] + ): string; + encodeFunctionData( + functionFragment: "morphoSupply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSupplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "nativeTransfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "onMorphoFlashLoan", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoRepay", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupply", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupplyCollateral", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike, + boolean + ] + ): string; + encodeFunctionData( + functionFragment: "reallocateTo", + values: [ + AddressLike, + AddressLike, + BigNumberish, + WithdrawalStruct[], + MarketParamsStruct + ] + ): string; + encodeFunctionData( + functionFragment: "transferFrom2", + values: [AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "AAVE_V3_OPTIMIZER", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "aaveV3OptimizerApproveManagerWithSig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "aaveV3OptimizerRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "aaveV3OptimizerWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "aaveV3OptimizerWithdrawCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "approve2", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "erc20Transfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20TransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Deposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Mint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Redeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Withdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "morphoBorrow", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSetAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdrawCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "nativeTransfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "reallocateTo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferFrom2", + data: BytesLike + ): Result; +} + +export interface AaveV3OptimizerMigrationBundlerV2 extends BaseContract { + connect(runner?: ContractRunner | null): AaveV3OptimizerMigrationBundlerV2; + waitForDeployment(): Promise; + + interface: AaveV3OptimizerMigrationBundlerV2Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + AAVE_V3_OPTIMIZER: TypedContractMethod<[], [string], "view">; + + MORPHO: TypedContractMethod<[], [string], "view">; + + aaveV3OptimizerApproveManagerWithSig: TypedContractMethod< + [ + isApproved: boolean, + nonce: BigNumberish, + deadline: BigNumberish, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + + aaveV3OptimizerRepay: TypedContractMethod< + [underlying: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + aaveV3OptimizerWithdraw: TypedContractMethod< + [ + underlying: AddressLike, + amount: BigNumberish, + maxIterations: BigNumberish + ], + [void], + "payable" + >; + + aaveV3OptimizerWithdrawCollateral: TypedContractMethod< + [underlying: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + approve2: TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + erc20Transfer: TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20TransferFrom: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc4626Deposit: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Mint: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Redeem: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + erc4626Withdraw: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + initiator: TypedContractMethod<[], [string], "view">; + + morphoBorrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoFlashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + + morphoRepay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSetAuthorizationWithSig: TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + + morphoSupply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSupplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoWithdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoWithdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + nativeTransfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + onMorphoFlashLoan: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoRepay: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupply: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupplyCollateral: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + permit: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + reallocateTo: TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + + transferFrom2: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "AAVE_V3_OPTIMIZER" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "aaveV3OptimizerApproveManagerWithSig" + ): TypedContractMethod< + [ + isApproved: boolean, + nonce: BigNumberish, + deadline: BigNumberish, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "aaveV3OptimizerRepay" + ): TypedContractMethod< + [underlying: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "aaveV3OptimizerWithdraw" + ): TypedContractMethod< + [ + underlying: AddressLike, + amount: BigNumberish, + maxIterations: BigNumberish + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "aaveV3OptimizerWithdrawCollateral" + ): TypedContractMethod< + [underlying: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "approve2" + ): TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20Transfer" + ): TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20TransferFrom" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Deposit" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Mint" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Redeem" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Withdraw" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "morphoBorrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoFlashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoRepay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSetAuthorizationWithSig" + ): TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "nativeTransfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "onMorphoFlashLoan" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoRepay" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupply" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupplyCollateral" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "reallocateTo" + ): TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "transferFrom2" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + filters: {}; +} diff --git a/pkg/types/src/migration/CompoundV2MigrationBundlerV2.ts b/pkg/types/src/migration/CompoundV2MigrationBundlerV2.ts new file mode 100644 index 00000000..e401cf4c --- /dev/null +++ b/pkg/types/src/migration/CompoundV2MigrationBundlerV2.ts @@ -0,0 +1,991 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export type WithdrawalStruct = { + marketParams: MarketParamsStruct; + amount: BigNumberish; +}; + +export type WithdrawalStructOutput = [ + marketParams: MarketParamsStructOutput, + amount: bigint +] & { marketParams: MarketParamsStructOutput; amount: bigint }; + +export declare namespace IAllowanceTransfer { + export type PermitDetailsStruct = { + token: AddressLike; + amount: BigNumberish; + expiration: BigNumberish; + nonce: BigNumberish; + }; + + export type PermitDetailsStructOutput = [ + token: string, + amount: bigint, + expiration: bigint, + nonce: bigint + ] & { token: string; amount: bigint; expiration: bigint; nonce: bigint }; + + export type PermitSingleStruct = { + details: IAllowanceTransfer.PermitDetailsStruct; + spender: AddressLike; + sigDeadline: BigNumberish; + }; + + export type PermitSingleStructOutput = [ + details: IAllowanceTransfer.PermitDetailsStructOutput, + spender: string, + sigDeadline: bigint + ] & { + details: IAllowanceTransfer.PermitDetailsStructOutput; + spender: string; + sigDeadline: bigint; + }; +} + +export interface CompoundV2MigrationBundlerV2Interface extends Interface { + getFunction( + nameOrSignature: + | "C_ETH" + | "MORPHO" + | "WRAPPED_NATIVE" + | "approve2" + | "compoundV2Redeem" + | "compoundV2Repay" + | "erc20Transfer" + | "erc20TransferFrom" + | "erc4626Deposit" + | "erc4626Mint" + | "erc4626Redeem" + | "erc4626Withdraw" + | "initiator" + | "morphoBorrow" + | "morphoFlashLoan" + | "morphoRepay" + | "morphoSetAuthorizationWithSig" + | "morphoSupply" + | "morphoSupplyCollateral" + | "morphoWithdraw" + | "morphoWithdrawCollateral" + | "multicall" + | "nativeTransfer" + | "onMorphoFlashLoan" + | "onMorphoRepay" + | "onMorphoSupply" + | "onMorphoSupplyCollateral" + | "permit" + | "reallocateTo" + | "transferFrom2" + | "unwrapNative" + | "wrapNative" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "C_ETH", values?: undefined): string; + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "WRAPPED_NATIVE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "approve2", + values: [IAllowanceTransfer.PermitSingleStruct, BytesLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "compoundV2Redeem", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "compoundV2Repay", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20Transfer", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20TransferFrom", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc4626Deposit", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Mint", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Redeem", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Withdraw", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "morphoBorrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoFlashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoRepay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSetAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct, boolean] + ): string; + encodeFunctionData( + functionFragment: "morphoSupply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSupplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "nativeTransfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "onMorphoFlashLoan", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoRepay", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupply", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupplyCollateral", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike, + boolean + ] + ): string; + encodeFunctionData( + functionFragment: "reallocateTo", + values: [ + AddressLike, + AddressLike, + BigNumberish, + WithdrawalStruct[], + MarketParamsStruct + ] + ): string; + encodeFunctionData( + functionFragment: "transferFrom2", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "unwrapNative", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "wrapNative", + values: [BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "C_ETH", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "WRAPPED_NATIVE", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "approve2", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "compoundV2Redeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "compoundV2Repay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20Transfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20TransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Deposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Mint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Redeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Withdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "morphoBorrow", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSetAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdrawCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "nativeTransfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "reallocateTo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferFrom2", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "unwrapNative", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "wrapNative", data: BytesLike): Result; +} + +export interface CompoundV2MigrationBundlerV2 extends BaseContract { + connect(runner?: ContractRunner | null): CompoundV2MigrationBundlerV2; + waitForDeployment(): Promise; + + interface: CompoundV2MigrationBundlerV2Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + C_ETH: TypedContractMethod<[], [string], "view">; + + MORPHO: TypedContractMethod<[], [string], "view">; + + WRAPPED_NATIVE: TypedContractMethod<[], [string], "view">; + + approve2: TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + compoundV2Redeem: TypedContractMethod< + [cToken: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + compoundV2Repay: TypedContractMethod< + [cToken: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20Transfer: TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20TransferFrom: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc4626Deposit: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Mint: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Redeem: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + erc4626Withdraw: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + initiator: TypedContractMethod<[], [string], "view">; + + morphoBorrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoFlashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + + morphoRepay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSetAuthorizationWithSig: TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + + morphoSupply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSupplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoWithdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoWithdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + nativeTransfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + onMorphoFlashLoan: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoRepay: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupply: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupplyCollateral: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + permit: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + reallocateTo: TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + + transferFrom2: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + unwrapNative: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + wrapNative: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "C_ETH" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "WRAPPED_NATIVE" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "approve2" + ): TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "compoundV2Redeem" + ): TypedContractMethod< + [cToken: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "compoundV2Repay" + ): TypedContractMethod< + [cToken: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20Transfer" + ): TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20TransferFrom" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Deposit" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Mint" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Redeem" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Withdraw" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "morphoBorrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoFlashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoRepay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSetAuthorizationWithSig" + ): TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "nativeTransfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "onMorphoFlashLoan" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoRepay" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupply" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupplyCollateral" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "reallocateTo" + ): TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "transferFrom2" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "unwrapNative" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "wrapNative" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + filters: {}; +} diff --git a/pkg/types/src/migration/CompoundV3MigrationBundlerV2.ts b/pkg/types/src/migration/CompoundV3MigrationBundlerV2.ts new file mode 100644 index 00000000..e5d0d414 --- /dev/null +++ b/pkg/types/src/migration/CompoundV3MigrationBundlerV2.ts @@ -0,0 +1,993 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export type WithdrawalStruct = { + marketParams: MarketParamsStruct; + amount: BigNumberish; +}; + +export type WithdrawalStructOutput = [ + marketParams: MarketParamsStructOutput, + amount: bigint +] & { marketParams: MarketParamsStructOutput; amount: bigint }; + +export declare namespace IAllowanceTransfer { + export type PermitDetailsStruct = { + token: AddressLike; + amount: BigNumberish; + expiration: BigNumberish; + nonce: BigNumberish; + }; + + export type PermitDetailsStructOutput = [ + token: string, + amount: bigint, + expiration: bigint, + nonce: bigint + ] & { token: string; amount: bigint; expiration: bigint; nonce: bigint }; + + export type PermitSingleStruct = { + details: IAllowanceTransfer.PermitDetailsStruct; + spender: AddressLike; + sigDeadline: BigNumberish; + }; + + export type PermitSingleStructOutput = [ + details: IAllowanceTransfer.PermitDetailsStructOutput, + spender: string, + sigDeadline: bigint + ] & { + details: IAllowanceTransfer.PermitDetailsStructOutput; + spender: string; + sigDeadline: bigint; + }; +} + +export interface CompoundV3MigrationBundlerV2Interface extends Interface { + getFunction( + nameOrSignature: + | "MORPHO" + | "approve2" + | "compoundV3AllowBySig" + | "compoundV3Repay" + | "compoundV3WithdrawFrom" + | "erc20Transfer" + | "erc20TransferFrom" + | "erc4626Deposit" + | "erc4626Mint" + | "erc4626Redeem" + | "erc4626Withdraw" + | "initiator" + | "morphoBorrow" + | "morphoFlashLoan" + | "morphoRepay" + | "morphoSetAuthorizationWithSig" + | "morphoSupply" + | "morphoSupplyCollateral" + | "morphoWithdraw" + | "morphoWithdrawCollateral" + | "multicall" + | "nativeTransfer" + | "onMorphoFlashLoan" + | "onMorphoRepay" + | "onMorphoSupply" + | "onMorphoSupplyCollateral" + | "permit" + | "reallocateTo" + | "transferFrom2" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "approve2", + values: [IAllowanceTransfer.PermitSingleStruct, BytesLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "compoundV3AllowBySig", + values: [ + AddressLike, + boolean, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike, + boolean + ] + ): string; + encodeFunctionData( + functionFragment: "compoundV3Repay", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "compoundV3WithdrawFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20Transfer", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20TransferFrom", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc4626Deposit", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Mint", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Redeem", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Withdraw", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "morphoBorrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoFlashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoRepay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSetAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct, boolean] + ): string; + encodeFunctionData( + functionFragment: "morphoSupply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSupplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "nativeTransfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "onMorphoFlashLoan", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoRepay", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupply", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupplyCollateral", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike, + boolean + ] + ): string; + encodeFunctionData( + functionFragment: "reallocateTo", + values: [ + AddressLike, + AddressLike, + BigNumberish, + WithdrawalStruct[], + MarketParamsStruct + ] + ): string; + encodeFunctionData( + functionFragment: "transferFrom2", + values: [AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve2", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "compoundV3AllowBySig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "compoundV3Repay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "compoundV3WithdrawFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20Transfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20TransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Deposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Mint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Redeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Withdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "morphoBorrow", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSetAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdrawCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "nativeTransfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "reallocateTo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferFrom2", + data: BytesLike + ): Result; +} + +export interface CompoundV3MigrationBundlerV2 extends BaseContract { + connect(runner?: ContractRunner | null): CompoundV3MigrationBundlerV2; + waitForDeployment(): Promise; + + interface: CompoundV3MigrationBundlerV2Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + MORPHO: TypedContractMethod<[], [string], "view">; + + approve2: TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + compoundV3AllowBySig: TypedContractMethod< + [ + instance: AddressLike, + isAllowed: boolean, + nonce: BigNumberish, + expiry: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + compoundV3Repay: TypedContractMethod< + [instance: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + compoundV3WithdrawFrom: TypedContractMethod< + [instance: AddressLike, asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20Transfer: TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20TransferFrom: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc4626Deposit: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Mint: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Redeem: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + erc4626Withdraw: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + initiator: TypedContractMethod<[], [string], "view">; + + morphoBorrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoFlashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + + morphoRepay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSetAuthorizationWithSig: TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + + morphoSupply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSupplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoWithdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoWithdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + nativeTransfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + onMorphoFlashLoan: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoRepay: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupply: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupplyCollateral: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + permit: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + reallocateTo: TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + + transferFrom2: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "approve2" + ): TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "compoundV3AllowBySig" + ): TypedContractMethod< + [ + instance: AddressLike, + isAllowed: boolean, + nonce: BigNumberish, + expiry: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "compoundV3Repay" + ): TypedContractMethod< + [instance: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "compoundV3WithdrawFrom" + ): TypedContractMethod< + [instance: AddressLike, asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20Transfer" + ): TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20TransferFrom" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Deposit" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Mint" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Redeem" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Withdraw" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "morphoBorrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoFlashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoRepay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSetAuthorizationWithSig" + ): TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "nativeTransfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "onMorphoFlashLoan" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoRepay" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupply" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupplyCollateral" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "reallocateTo" + ): TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "transferFrom2" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + filters: {}; +} diff --git a/pkg/types/src/migration/MigrationBundler.ts b/pkg/types/src/migration/MigrationBundler.ts new file mode 100644 index 00000000..98d9d939 --- /dev/null +++ b/pkg/types/src/migration/MigrationBundler.ts @@ -0,0 +1,900 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export type WithdrawalStruct = { + marketParams: MarketParamsStruct; + amount: BigNumberish; +}; + +export type WithdrawalStructOutput = [ + marketParams: MarketParamsStructOutput, + amount: bigint +] & { marketParams: MarketParamsStructOutput; amount: bigint }; + +export declare namespace IAllowanceTransfer { + export type PermitDetailsStruct = { + token: AddressLike; + amount: BigNumberish; + expiration: BigNumberish; + nonce: BigNumberish; + }; + + export type PermitDetailsStructOutput = [ + token: string, + amount: bigint, + expiration: bigint, + nonce: bigint + ] & { token: string; amount: bigint; expiration: bigint; nonce: bigint }; + + export type PermitSingleStruct = { + details: IAllowanceTransfer.PermitDetailsStruct; + spender: AddressLike; + sigDeadline: BigNumberish; + }; + + export type PermitSingleStructOutput = [ + details: IAllowanceTransfer.PermitDetailsStructOutput, + spender: string, + sigDeadline: bigint + ] & { + details: IAllowanceTransfer.PermitDetailsStructOutput; + spender: string; + sigDeadline: bigint; + }; +} + +export interface MigrationBundlerInterface extends Interface { + getFunction( + nameOrSignature: + | "MORPHO" + | "approve2" + | "erc20Transfer" + | "erc20TransferFrom" + | "erc4626Deposit" + | "erc4626Mint" + | "erc4626Redeem" + | "erc4626Withdraw" + | "initiator" + | "morphoBorrow" + | "morphoFlashLoan" + | "morphoRepay" + | "morphoSetAuthorizationWithSig" + | "morphoSupply" + | "morphoSupplyCollateral" + | "morphoWithdraw" + | "morphoWithdrawCollateral" + | "multicall" + | "nativeTransfer" + | "onMorphoFlashLoan" + | "onMorphoRepay" + | "onMorphoSupply" + | "onMorphoSupplyCollateral" + | "permit" + | "reallocateTo" + | "transferFrom2" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData( + functionFragment: "approve2", + values: [IAllowanceTransfer.PermitSingleStruct, BytesLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "erc20Transfer", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20TransferFrom", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc4626Deposit", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Mint", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Redeem", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Withdraw", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "morphoBorrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoFlashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoRepay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSetAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct, boolean] + ): string; + encodeFunctionData( + functionFragment: "morphoSupply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSupplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "nativeTransfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "onMorphoFlashLoan", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoRepay", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupply", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupplyCollateral", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike, + boolean + ] + ): string; + encodeFunctionData( + functionFragment: "reallocateTo", + values: [ + AddressLike, + AddressLike, + BigNumberish, + WithdrawalStruct[], + MarketParamsStruct + ] + ): string; + encodeFunctionData( + functionFragment: "transferFrom2", + values: [AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve2", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "erc20Transfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20TransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Deposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Mint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Redeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Withdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "morphoBorrow", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSetAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdrawCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "nativeTransfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "reallocateTo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferFrom2", + data: BytesLike + ): Result; +} + +export interface MigrationBundler extends BaseContract { + connect(runner?: ContractRunner | null): MigrationBundler; + waitForDeployment(): Promise; + + interface: MigrationBundlerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + MORPHO: TypedContractMethod<[], [string], "view">; + + approve2: TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + erc20Transfer: TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20TransferFrom: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc4626Deposit: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Mint: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Redeem: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + erc4626Withdraw: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + initiator: TypedContractMethod<[], [string], "view">; + + morphoBorrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoFlashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + + morphoRepay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSetAuthorizationWithSig: TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + + morphoSupply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSupplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoWithdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoWithdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + nativeTransfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + onMorphoFlashLoan: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoRepay: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupply: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupplyCollateral: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + permit: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + reallocateTo: TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + + transferFrom2: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "approve2" + ): TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20Transfer" + ): TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20TransferFrom" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Deposit" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Mint" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Redeem" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Withdraw" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "morphoBorrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoFlashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoRepay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSetAuthorizationWithSig" + ): TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "nativeTransfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "onMorphoFlashLoan" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoRepay" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupply" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupplyCollateral" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "reallocateTo" + ): TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "transferFrom2" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + filters: {}; +} diff --git a/pkg/types/src/migration/index.ts b/pkg/types/src/migration/index.ts new file mode 100644 index 00000000..e746858a --- /dev/null +++ b/pkg/types/src/migration/index.ts @@ -0,0 +1,11 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; +export type { AaveV2MigrationBundlerV2 } from "./AaveV2MigrationBundlerV2"; +export type { AaveV3MigrationBundlerV2 } from "./AaveV3MigrationBundlerV2"; +export type { AaveV3OptimizerMigrationBundlerV2 } from "./AaveV3OptimizerMigrationBundlerV2"; +export type { CompoundV2MigrationBundlerV2 } from "./CompoundV2MigrationBundlerV2"; +export type { CompoundV3MigrationBundlerV2 } from "./CompoundV3MigrationBundlerV2"; +export type { MigrationBundler } from "./MigrationBundler"; diff --git a/pkg/types/src/migration/interfaces/IAaveV2.ts b/pkg/types/src/migration/interfaces/IAaveV2.ts new file mode 100644 index 00000000..34fe8cc7 --- /dev/null +++ b/pkg/types/src/migration/interfaces/IAaveV2.ts @@ -0,0 +1,658 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export type ReserveConfigurationMapStruct = { data: BigNumberish }; + +export type ReserveConfigurationMapStructOutput = [data: bigint] & { + data: bigint; +}; + +export type ReserveDataStruct = { + configuration: ReserveConfigurationMapStruct; + liquidityIndex: BigNumberish; + variableBorrowIndex: BigNumberish; + currentLiquidityRate: BigNumberish; + currentVariableBorrowRate: BigNumberish; + currentStableBorrowRate: BigNumberish; + lastUpdateTimestamp: BigNumberish; + aTokenAddress: AddressLike; + stableDebtTokenAddress: AddressLike; + variableDebtTokenAddress: AddressLike; + interestRateStrategyAddress: AddressLike; + id: BigNumberish; +}; + +export type ReserveDataStructOutput = [ + configuration: ReserveConfigurationMapStructOutput, + liquidityIndex: bigint, + variableBorrowIndex: bigint, + currentLiquidityRate: bigint, + currentVariableBorrowRate: bigint, + currentStableBorrowRate: bigint, + lastUpdateTimestamp: bigint, + aTokenAddress: string, + stableDebtTokenAddress: string, + variableDebtTokenAddress: string, + interestRateStrategyAddress: string, + id: bigint +] & { + configuration: ReserveConfigurationMapStructOutput; + liquidityIndex: bigint; + variableBorrowIndex: bigint; + currentLiquidityRate: bigint; + currentVariableBorrowRate: bigint; + currentStableBorrowRate: bigint; + lastUpdateTimestamp: bigint; + aTokenAddress: string; + stableDebtTokenAddress: string; + variableDebtTokenAddress: string; + interestRateStrategyAddress: string; + id: bigint; +}; + +export interface IAaveV2Interface extends Interface { + getFunction( + nameOrSignature: + | "FLASHLOAN_PREMIUM_TOTAL" + | "borrow" + | "deposit" + | "finalizeTransfer" + | "flashLoan" + | "getAddressesProvider" + | "getReserveData" + | "getReserveNormalizedIncome" + | "getReserveNormalizedVariableDebt" + | "getReservesList" + | "getUserAccountData" + | "initReserve" + | "liquidationCall" + | "paused" + | "rebalanceStableBorrowRate" + | "repay" + | "setConfiguration" + | "setPause" + | "setReserveInterestRateStrategyAddress" + | "setUserUseReserveAsCollateral" + | "swapBorrowRateMode" + | "withdraw" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "FLASHLOAN_PREMIUM_TOTAL", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [AddressLike, BigNumberish, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [AddressLike, BigNumberish, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "finalizeTransfer", + values: [ + AddressLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish + ] + ): string; + encodeFunctionData( + functionFragment: "flashLoan", + values: [ + AddressLike, + AddressLike[], + BigNumberish[], + BigNumberish[], + AddressLike, + BytesLike, + BigNumberish + ] + ): string; + encodeFunctionData( + functionFragment: "getAddressesProvider", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getReserveData", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getReserveNormalizedIncome", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getReserveNormalizedVariableDebt", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getReservesList", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getUserAccountData", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "initReserve", + values: [AddressLike, AddressLike, AddressLike, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "liquidationCall", + values: [AddressLike, AddressLike, AddressLike, BigNumberish, boolean] + ): string; + encodeFunctionData(functionFragment: "paused", values?: undefined): string; + encodeFunctionData( + functionFragment: "rebalanceStableBorrowRate", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "repay", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setConfiguration", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "setPause", values: [boolean]): string; + encodeFunctionData( + functionFragment: "setReserveInterestRateStrategyAddress", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setUserUseReserveAsCollateral", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "swapBorrowRateMode", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [AddressLike, BigNumberish, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "FLASHLOAN_PREMIUM_TOTAL", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "finalizeTransfer", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getAddressesProvider", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getReserveData", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getReserveNormalizedIncome", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getReserveNormalizedVariableDebt", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getReservesList", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getUserAccountData", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "initReserve", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "liquidationCall", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "rebalanceStableBorrowRate", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setConfiguration", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setPause", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setReserveInterestRateStrategyAddress", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setUserUseReserveAsCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "swapBorrowRateMode", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; +} + +export interface IAaveV2 extends BaseContract { + connect(runner?: ContractRunner | null): IAaveV2; + waitForDeployment(): Promise; + + interface: IAaveV2Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + FLASHLOAN_PREMIUM_TOTAL: TypedContractMethod<[], [bigint], "view">; + + borrow: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + interestRateMode: BigNumberish, + referralCode: BigNumberish, + onBehalfOf: AddressLike + ], + [void], + "nonpayable" + >; + + deposit: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + onBehalfOf: AddressLike, + referralCode: BigNumberish + ], + [void], + "nonpayable" + >; + + finalizeTransfer: TypedContractMethod< + [ + asset: AddressLike, + from: AddressLike, + to: AddressLike, + amount: BigNumberish, + balanceFromAfter: BigNumberish, + balanceToBefore: BigNumberish + ], + [void], + "nonpayable" + >; + + flashLoan: TypedContractMethod< + [ + receiverAddress: AddressLike, + assets: AddressLike[], + amounts: BigNumberish[], + modes: BigNumberish[], + onBehalfOf: AddressLike, + params: BytesLike, + referralCode: BigNumberish + ], + [void], + "nonpayable" + >; + + getAddressesProvider: TypedContractMethod<[], [string], "view">; + + getReserveData: TypedContractMethod< + [asset: AddressLike], + [ReserveDataStructOutput], + "view" + >; + + getReserveNormalizedIncome: TypedContractMethod< + [asset: AddressLike], + [bigint], + "view" + >; + + getReserveNormalizedVariableDebt: TypedContractMethod< + [asset: AddressLike], + [bigint], + "view" + >; + + getReservesList: TypedContractMethod<[], [string[]], "view">; + + getUserAccountData: TypedContractMethod< + [user: AddressLike], + [ + [bigint, bigint, bigint, bigint, bigint, bigint] & { + totalCollateralETH: bigint; + totalDebtETH: bigint; + availableBorrowsETH: bigint; + currentLiquidationThreshold: bigint; + ltv: bigint; + healthFactor: bigint; + } + ], + "view" + >; + + initReserve: TypedContractMethod< + [ + reserve: AddressLike, + aTokenAddress: AddressLike, + stableDebtAddress: AddressLike, + variableDebtAddress: AddressLike, + interestRateStrategyAddress: AddressLike + ], + [void], + "nonpayable" + >; + + liquidationCall: TypedContractMethod< + [ + collateralAsset: AddressLike, + debtAsset: AddressLike, + user: AddressLike, + debtToCover: BigNumberish, + receiveAToken: boolean + ], + [void], + "nonpayable" + >; + + paused: TypedContractMethod<[], [boolean], "view">; + + rebalanceStableBorrowRate: TypedContractMethod< + [asset: AddressLike, user: AddressLike], + [void], + "nonpayable" + >; + + repay: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + rateMode: BigNumberish, + onBehalfOf: AddressLike + ], + [bigint], + "nonpayable" + >; + + setConfiguration: TypedContractMethod< + [reserve: AddressLike, configuration: BigNumberish], + [void], + "nonpayable" + >; + + setPause: TypedContractMethod<[val: boolean], [void], "nonpayable">; + + setReserveInterestRateStrategyAddress: TypedContractMethod< + [reserve: AddressLike, rateStrategyAddress: AddressLike], + [void], + "nonpayable" + >; + + setUserUseReserveAsCollateral: TypedContractMethod< + [asset: AddressLike, useAsCollateral: boolean], + [void], + "nonpayable" + >; + + swapBorrowRateMode: TypedContractMethod< + [asset: AddressLike, rateMode: BigNumberish], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish, to: AddressLike], + [bigint], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "FLASHLOAN_PREMIUM_TOTAL" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + interestRateMode: BigNumberish, + referralCode: BigNumberish, + onBehalfOf: AddressLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + onBehalfOf: AddressLike, + referralCode: BigNumberish + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "finalizeTransfer" + ): TypedContractMethod< + [ + asset: AddressLike, + from: AddressLike, + to: AddressLike, + amount: BigNumberish, + balanceFromAfter: BigNumberish, + balanceToBefore: BigNumberish + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "flashLoan" + ): TypedContractMethod< + [ + receiverAddress: AddressLike, + assets: AddressLike[], + amounts: BigNumberish[], + modes: BigNumberish[], + onBehalfOf: AddressLike, + params: BytesLike, + referralCode: BigNumberish + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "getAddressesProvider" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "getReserveData" + ): TypedContractMethod< + [asset: AddressLike], + [ReserveDataStructOutput], + "view" + >; + getFunction( + nameOrSignature: "getReserveNormalizedIncome" + ): TypedContractMethod<[asset: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "getReserveNormalizedVariableDebt" + ): TypedContractMethod<[asset: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "getReservesList" + ): TypedContractMethod<[], [string[]], "view">; + getFunction( + nameOrSignature: "getUserAccountData" + ): TypedContractMethod< + [user: AddressLike], + [ + [bigint, bigint, bigint, bigint, bigint, bigint] & { + totalCollateralETH: bigint; + totalDebtETH: bigint; + availableBorrowsETH: bigint; + currentLiquidationThreshold: bigint; + ltv: bigint; + healthFactor: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "initReserve" + ): TypedContractMethod< + [ + reserve: AddressLike, + aTokenAddress: AddressLike, + stableDebtAddress: AddressLike, + variableDebtAddress: AddressLike, + interestRateStrategyAddress: AddressLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "liquidationCall" + ): TypedContractMethod< + [ + collateralAsset: AddressLike, + debtAsset: AddressLike, + user: AddressLike, + debtToCover: BigNumberish, + receiveAToken: boolean + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "paused" + ): TypedContractMethod<[], [boolean], "view">; + getFunction( + nameOrSignature: "rebalanceStableBorrowRate" + ): TypedContractMethod< + [asset: AddressLike, user: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "repay" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + rateMode: BigNumberish, + onBehalfOf: AddressLike + ], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "setConfiguration" + ): TypedContractMethod< + [reserve: AddressLike, configuration: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setPause" + ): TypedContractMethod<[val: boolean], [void], "nonpayable">; + getFunction( + nameOrSignature: "setReserveInterestRateStrategyAddress" + ): TypedContractMethod< + [reserve: AddressLike, rateStrategyAddress: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setUserUseReserveAsCollateral" + ): TypedContractMethod< + [asset: AddressLike, useAsCollateral: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "swapBorrowRateMode" + ): TypedContractMethod< + [asset: AddressLike, rateMode: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish, to: AddressLike], + [bigint], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/src/migration/interfaces/IAaveV3.ts b/pkg/types/src/migration/interfaces/IAaveV3.ts new file mode 100644 index 00000000..b3a9e3ac --- /dev/null +++ b/pkg/types/src/migration/interfaces/IAaveV3.ts @@ -0,0 +1,1098 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export type ReserveConfigurationMapStruct = { data: BigNumberish }; + +export type ReserveConfigurationMapStructOutput = [data: bigint] & { + data: bigint; +}; + +export type ReserveDataStruct = { + configuration: ReserveConfigurationMapStruct; + liquidityIndex: BigNumberish; + currentLiquidityRate: BigNumberish; + variableBorrowIndex: BigNumberish; + currentVariableBorrowRate: BigNumberish; + currentStableBorrowRate: BigNumberish; + lastUpdateTimestamp: BigNumberish; + id: BigNumberish; + aTokenAddress: AddressLike; + stableDebtTokenAddress: AddressLike; + variableDebtTokenAddress: AddressLike; + interestRateStrategyAddress: AddressLike; + accruedToTreasury: BigNumberish; + unbacked: BigNumberish; + isolationModeTotalDebt: BigNumberish; +}; + +export type ReserveDataStructOutput = [ + configuration: ReserveConfigurationMapStructOutput, + liquidityIndex: bigint, + currentLiquidityRate: bigint, + variableBorrowIndex: bigint, + currentVariableBorrowRate: bigint, + currentStableBorrowRate: bigint, + lastUpdateTimestamp: bigint, + id: bigint, + aTokenAddress: string, + stableDebtTokenAddress: string, + variableDebtTokenAddress: string, + interestRateStrategyAddress: string, + accruedToTreasury: bigint, + unbacked: bigint, + isolationModeTotalDebt: bigint +] & { + configuration: ReserveConfigurationMapStructOutput; + liquidityIndex: bigint; + currentLiquidityRate: bigint; + variableBorrowIndex: bigint; + currentVariableBorrowRate: bigint; + currentStableBorrowRate: bigint; + lastUpdateTimestamp: bigint; + id: bigint; + aTokenAddress: string; + stableDebtTokenAddress: string; + variableDebtTokenAddress: string; + interestRateStrategyAddress: string; + accruedToTreasury: bigint; + unbacked: bigint; + isolationModeTotalDebt: bigint; +}; + +export interface IAaveV3Interface extends Interface { + getFunction( + nameOrSignature: + | "ADDRESSES_PROVIDER" + | "BRIDGE_PROTOCOL_FEE" + | "FLASHLOAN_PREMIUM_TOTAL" + | "FLASHLOAN_PREMIUM_TO_PROTOCOL" + | "MAX_NUMBER_RESERVES" + | "MAX_STABLE_RATE_BORROW_SIZE_PERCENT" + | "backUnbacked" + | "borrow" + | "deposit" + | "dropReserve" + | "finalizeTransfer" + | "flashLoan" + | "flashLoanSimple" + | "getReserveAddressById" + | "getReserveData" + | "getReserveNormalizedIncome" + | "getReserveNormalizedVariableDebt" + | "getReservesList" + | "getUserAccountData" + | "getUserEMode" + | "initReserve" + | "liquidationCall" + | "mintToTreasury" + | "mintUnbacked" + | "rebalanceStableBorrowRate" + | "repay" + | "repayWithATokens" + | "repayWithPermit" + | "rescueTokens" + | "resetIsolationModeTotalDebt" + | "setReserveInterestRateStrategyAddress" + | "setUserEMode" + | "setUserUseReserveAsCollateral" + | "supply" + | "supplyWithPermit" + | "swapBorrowRateMode" + | "updateBridgeProtocolFee" + | "updateFlashloanPremiums" + | "withdraw" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "ADDRESSES_PROVIDER", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "BRIDGE_PROTOCOL_FEE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "FLASHLOAN_PREMIUM_TOTAL", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "FLASHLOAN_PREMIUM_TO_PROTOCOL", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "MAX_NUMBER_RESERVES", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "backUnbacked", + values: [AddressLike, BigNumberish, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [AddressLike, BigNumberish, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [AddressLike, BigNumberish, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "dropReserve", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "finalizeTransfer", + values: [ + AddressLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish + ] + ): string; + encodeFunctionData( + functionFragment: "flashLoan", + values: [ + AddressLike, + AddressLike[], + BigNumberish[], + BigNumberish[], + AddressLike, + BytesLike, + BigNumberish + ] + ): string; + encodeFunctionData( + functionFragment: "flashLoanSimple", + values: [AddressLike, AddressLike, BigNumberish, BytesLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getReserveAddressById", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getReserveData", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getReserveNormalizedIncome", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getReserveNormalizedVariableDebt", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getReservesList", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getUserAccountData", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getUserEMode", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "initReserve", + values: [AddressLike, AddressLike, AddressLike, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "liquidationCall", + values: [AddressLike, AddressLike, AddressLike, BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "mintToTreasury", + values: [AddressLike[]] + ): string; + encodeFunctionData( + functionFragment: "mintUnbacked", + values: [AddressLike, BigNumberish, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "rebalanceStableBorrowRate", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "repay", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "repayWithATokens", + values: [AddressLike, BigNumberish, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "repayWithPermit", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + AddressLike, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "rescueTokens", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "resetIsolationModeTotalDebt", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setReserveInterestRateStrategyAddress", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setUserEMode", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setUserUseReserveAsCollateral", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "supply", + values: [AddressLike, BigNumberish, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyWithPermit", + values: [ + AddressLike, + BigNumberish, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "swapBorrowRateMode", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "updateBridgeProtocolFee", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "updateFlashloanPremiums", + values: [BigNumberish, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [AddressLike, BigNumberish, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "ADDRESSES_PROVIDER", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "BRIDGE_PROTOCOL_FEE", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "FLASHLOAN_PREMIUM_TOTAL", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "FLASHLOAN_PREMIUM_TO_PROTOCOL", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "MAX_NUMBER_RESERVES", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "backUnbacked", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "dropReserve", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "finalizeTransfer", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "flashLoanSimple", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getReserveAddressById", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getReserveData", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getReserveNormalizedIncome", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getReserveNormalizedVariableDebt", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getReservesList", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getUserAccountData", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getUserEMode", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "initReserve", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "liquidationCall", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "mintToTreasury", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "mintUnbacked", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "rebalanceStableBorrowRate", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "repayWithATokens", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "repayWithPermit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "rescueTokens", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "resetIsolationModeTotalDebt", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setReserveInterestRateStrategyAddress", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setUserEMode", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setUserUseReserveAsCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supplyWithPermit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "swapBorrowRateMode", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateBridgeProtocolFee", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateFlashloanPremiums", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; +} + +export interface IAaveV3 extends BaseContract { + connect(runner?: ContractRunner | null): IAaveV3; + waitForDeployment(): Promise; + + interface: IAaveV3Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + ADDRESSES_PROVIDER: TypedContractMethod<[], [string], "view">; + + BRIDGE_PROTOCOL_FEE: TypedContractMethod<[], [bigint], "view">; + + FLASHLOAN_PREMIUM_TOTAL: TypedContractMethod<[], [bigint], "view">; + + FLASHLOAN_PREMIUM_TO_PROTOCOL: TypedContractMethod<[], [bigint], "view">; + + MAX_NUMBER_RESERVES: TypedContractMethod<[], [bigint], "view">; + + MAX_STABLE_RATE_BORROW_SIZE_PERCENT: TypedContractMethod< + [], + [bigint], + "view" + >; + + backUnbacked: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish, fee: BigNumberish], + [bigint], + "nonpayable" + >; + + borrow: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + interestRateMode: BigNumberish, + referralCode: BigNumberish, + onBehalfOf: AddressLike + ], + [void], + "nonpayable" + >; + + deposit: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + onBehalfOf: AddressLike, + referralCode: BigNumberish + ], + [void], + "nonpayable" + >; + + dropReserve: TypedContractMethod<[asset: AddressLike], [void], "nonpayable">; + + finalizeTransfer: TypedContractMethod< + [ + asset: AddressLike, + from: AddressLike, + to: AddressLike, + amount: BigNumberish, + balanceFromBefore: BigNumberish, + balanceToBefore: BigNumberish + ], + [void], + "nonpayable" + >; + + flashLoan: TypedContractMethod< + [ + receiverAddress: AddressLike, + assets: AddressLike[], + amounts: BigNumberish[], + interestRateModes: BigNumberish[], + onBehalfOf: AddressLike, + params: BytesLike, + referralCode: BigNumberish + ], + [void], + "nonpayable" + >; + + flashLoanSimple: TypedContractMethod< + [ + receiverAddress: AddressLike, + asset: AddressLike, + amount: BigNumberish, + params: BytesLike, + referralCode: BigNumberish + ], + [void], + "nonpayable" + >; + + getReserveAddressById: TypedContractMethod< + [id: BigNumberish], + [string], + "view" + >; + + getReserveData: TypedContractMethod< + [asset: AddressLike], + [ReserveDataStructOutput], + "view" + >; + + getReserveNormalizedIncome: TypedContractMethod< + [asset: AddressLike], + [bigint], + "view" + >; + + getReserveNormalizedVariableDebt: TypedContractMethod< + [asset: AddressLike], + [bigint], + "view" + >; + + getReservesList: TypedContractMethod<[], [string[]], "view">; + + getUserAccountData: TypedContractMethod< + [user: AddressLike], + [ + [bigint, bigint, bigint, bigint, bigint, bigint] & { + totalCollateralBase: bigint; + totalDebtBase: bigint; + availableBorrowsBase: bigint; + currentLiquidationThreshold: bigint; + ltv: bigint; + healthFactor: bigint; + } + ], + "view" + >; + + getUserEMode: TypedContractMethod<[user: AddressLike], [bigint], "view">; + + initReserve: TypedContractMethod< + [ + asset: AddressLike, + aTokenAddress: AddressLike, + stableDebtAddress: AddressLike, + variableDebtAddress: AddressLike, + interestRateStrategyAddress: AddressLike + ], + [void], + "nonpayable" + >; + + liquidationCall: TypedContractMethod< + [ + collateralAsset: AddressLike, + debtAsset: AddressLike, + user: AddressLike, + debtToCover: BigNumberish, + receiveAToken: boolean + ], + [void], + "nonpayable" + >; + + mintToTreasury: TypedContractMethod< + [assets: AddressLike[]], + [void], + "nonpayable" + >; + + mintUnbacked: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + onBehalfOf: AddressLike, + referralCode: BigNumberish + ], + [void], + "nonpayable" + >; + + rebalanceStableBorrowRate: TypedContractMethod< + [asset: AddressLike, user: AddressLike], + [void], + "nonpayable" + >; + + repay: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + interestRateMode: BigNumberish, + onBehalfOf: AddressLike + ], + [bigint], + "nonpayable" + >; + + repayWithATokens: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish, interestRateMode: BigNumberish], + [bigint], + "nonpayable" + >; + + repayWithPermit: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + interestRateMode: BigNumberish, + onBehalfOf: AddressLike, + deadline: BigNumberish, + permitV: BigNumberish, + permitR: BytesLike, + permitS: BytesLike + ], + [bigint], + "nonpayable" + >; + + rescueTokens: TypedContractMethod< + [token: AddressLike, to: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + resetIsolationModeTotalDebt: TypedContractMethod< + [asset: AddressLike], + [void], + "nonpayable" + >; + + setReserveInterestRateStrategyAddress: TypedContractMethod< + [asset: AddressLike, rateStrategyAddress: AddressLike], + [void], + "nonpayable" + >; + + setUserEMode: TypedContractMethod< + [categoryId: BigNumberish], + [void], + "nonpayable" + >; + + setUserUseReserveAsCollateral: TypedContractMethod< + [asset: AddressLike, useAsCollateral: boolean], + [void], + "nonpayable" + >; + + supply: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + onBehalfOf: AddressLike, + referralCode: BigNumberish + ], + [void], + "nonpayable" + >; + + supplyWithPermit: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + onBehalfOf: AddressLike, + referralCode: BigNumberish, + deadline: BigNumberish, + permitV: BigNumberish, + permitR: BytesLike, + permitS: BytesLike + ], + [void], + "nonpayable" + >; + + swapBorrowRateMode: TypedContractMethod< + [asset: AddressLike, interestRateMode: BigNumberish], + [void], + "nonpayable" + >; + + updateBridgeProtocolFee: TypedContractMethod< + [bridgeProtocolFee: BigNumberish], + [void], + "nonpayable" + >; + + updateFlashloanPremiums: TypedContractMethod< + [ + flashLoanPremiumTotal: BigNumberish, + flashLoanPremiumToProtocol: BigNumberish + ], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish, to: AddressLike], + [bigint], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "ADDRESSES_PROVIDER" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "BRIDGE_PROTOCOL_FEE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "FLASHLOAN_PREMIUM_TOTAL" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "FLASHLOAN_PREMIUM_TO_PROTOCOL" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "MAX_NUMBER_RESERVES" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "MAX_STABLE_RATE_BORROW_SIZE_PERCENT" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "backUnbacked" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish, fee: BigNumberish], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + interestRateMode: BigNumberish, + referralCode: BigNumberish, + onBehalfOf: AddressLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + onBehalfOf: AddressLike, + referralCode: BigNumberish + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "dropReserve" + ): TypedContractMethod<[asset: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "finalizeTransfer" + ): TypedContractMethod< + [ + asset: AddressLike, + from: AddressLike, + to: AddressLike, + amount: BigNumberish, + balanceFromBefore: BigNumberish, + balanceToBefore: BigNumberish + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "flashLoan" + ): TypedContractMethod< + [ + receiverAddress: AddressLike, + assets: AddressLike[], + amounts: BigNumberish[], + interestRateModes: BigNumberish[], + onBehalfOf: AddressLike, + params: BytesLike, + referralCode: BigNumberish + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "flashLoanSimple" + ): TypedContractMethod< + [ + receiverAddress: AddressLike, + asset: AddressLike, + amount: BigNumberish, + params: BytesLike, + referralCode: BigNumberish + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "getReserveAddressById" + ): TypedContractMethod<[id: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "getReserveData" + ): TypedContractMethod< + [asset: AddressLike], + [ReserveDataStructOutput], + "view" + >; + getFunction( + nameOrSignature: "getReserveNormalizedIncome" + ): TypedContractMethod<[asset: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "getReserveNormalizedVariableDebt" + ): TypedContractMethod<[asset: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "getReservesList" + ): TypedContractMethod<[], [string[]], "view">; + getFunction( + nameOrSignature: "getUserAccountData" + ): TypedContractMethod< + [user: AddressLike], + [ + [bigint, bigint, bigint, bigint, bigint, bigint] & { + totalCollateralBase: bigint; + totalDebtBase: bigint; + availableBorrowsBase: bigint; + currentLiquidationThreshold: bigint; + ltv: bigint; + healthFactor: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "getUserEMode" + ): TypedContractMethod<[user: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "initReserve" + ): TypedContractMethod< + [ + asset: AddressLike, + aTokenAddress: AddressLike, + stableDebtAddress: AddressLike, + variableDebtAddress: AddressLike, + interestRateStrategyAddress: AddressLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "liquidationCall" + ): TypedContractMethod< + [ + collateralAsset: AddressLike, + debtAsset: AddressLike, + user: AddressLike, + debtToCover: BigNumberish, + receiveAToken: boolean + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "mintToTreasury" + ): TypedContractMethod<[assets: AddressLike[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "mintUnbacked" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + onBehalfOf: AddressLike, + referralCode: BigNumberish + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "rebalanceStableBorrowRate" + ): TypedContractMethod< + [asset: AddressLike, user: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "repay" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + interestRateMode: BigNumberish, + onBehalfOf: AddressLike + ], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "repayWithATokens" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish, interestRateMode: BigNumberish], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "repayWithPermit" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + interestRateMode: BigNumberish, + onBehalfOf: AddressLike, + deadline: BigNumberish, + permitV: BigNumberish, + permitR: BytesLike, + permitS: BytesLike + ], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "rescueTokens" + ): TypedContractMethod< + [token: AddressLike, to: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "resetIsolationModeTotalDebt" + ): TypedContractMethod<[asset: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setReserveInterestRateStrategyAddress" + ): TypedContractMethod< + [asset: AddressLike, rateStrategyAddress: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setUserEMode" + ): TypedContractMethod<[categoryId: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setUserUseReserveAsCollateral" + ): TypedContractMethod< + [asset: AddressLike, useAsCollateral: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "supply" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + onBehalfOf: AddressLike, + referralCode: BigNumberish + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyWithPermit" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + onBehalfOf: AddressLike, + referralCode: BigNumberish, + deadline: BigNumberish, + permitV: BigNumberish, + permitR: BytesLike, + permitS: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "swapBorrowRateMode" + ): TypedContractMethod< + [asset: AddressLike, interestRateMode: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "updateBridgeProtocolFee" + ): TypedContractMethod< + [bridgeProtocolFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "updateFlashloanPremiums" + ): TypedContractMethod< + [ + flashLoanPremiumTotal: BigNumberish, + flashLoanPremiumToProtocol: BigNumberish + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish, to: AddressLike], + [bigint], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/src/migration/interfaces/IAaveV3Optimizer.ts b/pkg/types/src/migration/interfaces/IAaveV3Optimizer.ts new file mode 100644 index 00000000..8ceff419 --- /dev/null +++ b/pkg/types/src/migration/interfaces/IAaveV3Optimizer.ts @@ -0,0 +1,516 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export interface IAaveV3OptimizerInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "approveManager" + | "approveManagerWithSig" + | "borrow" + | "claimRewards" + | "liquidate" + | "repay" + | "repayWithPermit" + | "supply" + | "supplyCollateral" + | "supplyCollateralWithPermit" + | "supplyWithPermit" + | "withdraw" + | "withdrawCollateral" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "approveManager", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "approveManagerWithSig", + values: [ + AddressLike, + AddressLike, + boolean, + BigNumberish, + BigNumberish, + SignatureStruct + ] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [AddressLike, BigNumberish, AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "claimRewards", + values: [AddressLike[], AddressLike] + ): string; + encodeFunctionData( + functionFragment: "liquidate", + values: [AddressLike, AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "repay", + values: [AddressLike, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "repayWithPermit", + values: [ + AddressLike, + BigNumberish, + AddressLike, + BigNumberish, + SignatureStruct + ] + ): string; + encodeFunctionData( + functionFragment: "supply", + values: [AddressLike, BigNumberish, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyCollateral", + values: [AddressLike, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "supplyCollateralWithPermit", + values: [ + AddressLike, + BigNumberish, + AddressLike, + BigNumberish, + SignatureStruct + ] + ): string; + encodeFunctionData( + functionFragment: "supplyWithPermit", + values: [ + AddressLike, + BigNumberish, + AddressLike, + BigNumberish, + BigNumberish, + SignatureStruct + ] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [AddressLike, BigNumberish, AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdrawCollateral", + values: [AddressLike, BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "approveManager", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "approveManagerWithSig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "claimRewards", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "liquidate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "repayWithPermit", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supplyCollateralWithPermit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supplyWithPermit", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawCollateral", + data: BytesLike + ): Result; +} + +export interface IAaveV3Optimizer extends BaseContract { + connect(runner?: ContractRunner | null): IAaveV3Optimizer; + waitForDeployment(): Promise; + + interface: IAaveV3OptimizerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + approveManager: TypedContractMethod< + [manager: AddressLike, isAllowed: boolean], + [void], + "nonpayable" + >; + + approveManagerWithSig: TypedContractMethod< + [ + delegator: AddressLike, + manager: AddressLike, + isAllowed: boolean, + nonce: BigNumberish, + deadline: BigNumberish, + signature: SignatureStruct + ], + [void], + "nonpayable" + >; + + borrow: TypedContractMethod< + [ + underlying: AddressLike, + amount: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike, + maxIterations: BigNumberish + ], + [bigint], + "nonpayable" + >; + + claimRewards: TypedContractMethod< + [assets: AddressLike[], onBehalf: AddressLike], + [ + [string[], bigint[]] & { + rewardTokens: string[]; + claimedAmounts: bigint[]; + } + ], + "nonpayable" + >; + + liquidate: TypedContractMethod< + [ + underlyingBorrowed: AddressLike, + underlyingCollateral: AddressLike, + user: AddressLike, + amount: BigNumberish + ], + [[bigint, bigint] & { repaid: bigint; seized: bigint }], + "nonpayable" + >; + + repay: TypedContractMethod< + [underlying: AddressLike, amount: BigNumberish, onBehalf: AddressLike], + [bigint], + "nonpayable" + >; + + repayWithPermit: TypedContractMethod< + [ + underlying: AddressLike, + amount: BigNumberish, + onBehalf: AddressLike, + deadline: BigNumberish, + signature: SignatureStruct + ], + [bigint], + "nonpayable" + >; + + supply: TypedContractMethod< + [ + underlying: AddressLike, + amount: BigNumberish, + onBehalf: AddressLike, + maxIterations: BigNumberish + ], + [bigint], + "nonpayable" + >; + + supplyCollateral: TypedContractMethod< + [underlying: AddressLike, amount: BigNumberish, onBehalf: AddressLike], + [bigint], + "nonpayable" + >; + + supplyCollateralWithPermit: TypedContractMethod< + [ + underlying: AddressLike, + amount: BigNumberish, + onBehalf: AddressLike, + deadline: BigNumberish, + signature: SignatureStruct + ], + [bigint], + "nonpayable" + >; + + supplyWithPermit: TypedContractMethod< + [ + underlying: AddressLike, + amount: BigNumberish, + onBehalf: AddressLike, + maxIterations: BigNumberish, + deadline: BigNumberish, + signature: SignatureStruct + ], + [bigint], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [ + underlying: AddressLike, + amount: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike, + maxIterations: BigNumberish + ], + [bigint], + "nonpayable" + >; + + withdrawCollateral: TypedContractMethod< + [ + underlying: AddressLike, + amount: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [bigint], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "approveManager" + ): TypedContractMethod< + [manager: AddressLike, isAllowed: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "approveManagerWithSig" + ): TypedContractMethod< + [ + delegator: AddressLike, + manager: AddressLike, + isAllowed: boolean, + nonce: BigNumberish, + deadline: BigNumberish, + signature: SignatureStruct + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod< + [ + underlying: AddressLike, + amount: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike, + maxIterations: BigNumberish + ], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "claimRewards" + ): TypedContractMethod< + [assets: AddressLike[], onBehalf: AddressLike], + [ + [string[], bigint[]] & { + rewardTokens: string[]; + claimedAmounts: bigint[]; + } + ], + "nonpayable" + >; + getFunction( + nameOrSignature: "liquidate" + ): TypedContractMethod< + [ + underlyingBorrowed: AddressLike, + underlyingCollateral: AddressLike, + user: AddressLike, + amount: BigNumberish + ], + [[bigint, bigint] & { repaid: bigint; seized: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "repay" + ): TypedContractMethod< + [underlying: AddressLike, amount: BigNumberish, onBehalf: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "repayWithPermit" + ): TypedContractMethod< + [ + underlying: AddressLike, + amount: BigNumberish, + onBehalf: AddressLike, + deadline: BigNumberish, + signature: SignatureStruct + ], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "supply" + ): TypedContractMethod< + [ + underlying: AddressLike, + amount: BigNumberish, + onBehalf: AddressLike, + maxIterations: BigNumberish + ], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyCollateral" + ): TypedContractMethod< + [underlying: AddressLike, amount: BigNumberish, onBehalf: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyCollateralWithPermit" + ): TypedContractMethod< + [ + underlying: AddressLike, + amount: BigNumberish, + onBehalf: AddressLike, + deadline: BigNumberish, + signature: SignatureStruct + ], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyWithPermit" + ): TypedContractMethod< + [ + underlying: AddressLike, + amount: BigNumberish, + onBehalf: AddressLike, + maxIterations: BigNumberish, + deadline: BigNumberish, + signature: SignatureStruct + ], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + underlying: AddressLike, + amount: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike, + maxIterations: BigNumberish + ], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawCollateral" + ): TypedContractMethod< + [ + underlying: AddressLike, + amount: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [bigint], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/src/migration/interfaces/ICEth.ts b/pkg/types/src/migration/interfaces/ICEth.ts new file mode 100644 index 00000000..bca9d291 --- /dev/null +++ b/pkg/types/src/migration/interfaces/ICEth.ts @@ -0,0 +1,198 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface ICEthInterface extends Interface { + getFunction( + nameOrSignature: + | "balanceOf" + | "borrow" + | "borrowBalanceCurrent" + | "exchangeRateStored" + | "mint" + | "redeem" + | "redeemUnderlying" + | "repayBorrowBehalf" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "borrowBalanceCurrent", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "exchangeRateStored", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "mint", values?: undefined): string; + encodeFunctionData( + functionFragment: "redeem", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "redeemUnderlying", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "repayBorrowBehalf", + values: [AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "borrowBalanceCurrent", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "exchangeRateStored", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "redeemUnderlying", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "repayBorrowBehalf", + data: BytesLike + ): Result; +} + +export interface ICEth extends BaseContract { + connect(runner?: ContractRunner | null): ICEth; + waitForDeployment(): Promise; + + interface: ICEthInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + balanceOf: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + borrow: TypedContractMethod< + [borrowAmount: BigNumberish], + [bigint], + "nonpayable" + >; + + borrowBalanceCurrent: TypedContractMethod< + [borrower: AddressLike], + [bigint], + "nonpayable" + >; + + exchangeRateStored: TypedContractMethod<[], [bigint], "view">; + + mint: TypedContractMethod<[], [void], "payable">; + + redeem: TypedContractMethod< + [redeemTokens: BigNumberish], + [bigint], + "nonpayable" + >; + + redeemUnderlying: TypedContractMethod< + [redeemAmount: BigNumberish], + [bigint], + "nonpayable" + >; + + repayBorrowBehalf: TypedContractMethod< + [borrower: AddressLike], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod<[borrowAmount: BigNumberish], [bigint], "nonpayable">; + getFunction( + nameOrSignature: "borrowBalanceCurrent" + ): TypedContractMethod<[borrower: AddressLike], [bigint], "nonpayable">; + getFunction( + nameOrSignature: "exchangeRateStored" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "mint" + ): TypedContractMethod<[], [void], "payable">; + getFunction( + nameOrSignature: "redeem" + ): TypedContractMethod<[redeemTokens: BigNumberish], [bigint], "nonpayable">; + getFunction( + nameOrSignature: "redeemUnderlying" + ): TypedContractMethod<[redeemAmount: BigNumberish], [bigint], "nonpayable">; + getFunction( + nameOrSignature: "repayBorrowBehalf" + ): TypedContractMethod<[borrower: AddressLike], [void], "payable">; + + filters: {}; +} diff --git a/pkg/types/src/migration/interfaces/ICToken.ts b/pkg/types/src/migration/interfaces/ICToken.ts new file mode 100644 index 00000000..d7a31ef9 --- /dev/null +++ b/pkg/types/src/migration/interfaces/ICToken.ts @@ -0,0 +1,213 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface ICTokenInterface extends Interface { + getFunction( + nameOrSignature: + | "balanceOf" + | "borrow" + | "borrowBalanceCurrent" + | "exchangeRateStored" + | "mint" + | "redeem" + | "redeemUnderlying" + | "repayBorrowBehalf" + | "underlying" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "borrowBalanceCurrent", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "exchangeRateStored", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "mint", values: [BigNumberish]): string; + encodeFunctionData( + functionFragment: "redeem", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "redeemUnderlying", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "repayBorrowBehalf", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "underlying", + values?: undefined + ): string; + + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "borrowBalanceCurrent", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "exchangeRateStored", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "redeemUnderlying", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "repayBorrowBehalf", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "underlying", data: BytesLike): Result; +} + +export interface ICToken extends BaseContract { + connect(runner?: ContractRunner | null): ICToken; + waitForDeployment(): Promise; + + interface: ICTokenInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + balanceOf: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + borrow: TypedContractMethod< + [borrowAmount: BigNumberish], + [bigint], + "nonpayable" + >; + + borrowBalanceCurrent: TypedContractMethod< + [borrower: AddressLike], + [bigint], + "nonpayable" + >; + + exchangeRateStored: TypedContractMethod<[], [bigint], "view">; + + mint: TypedContractMethod<[mintAmount: BigNumberish], [bigint], "nonpayable">; + + redeem: TypedContractMethod< + [redeemTokens: BigNumberish], + [bigint], + "nonpayable" + >; + + redeemUnderlying: TypedContractMethod< + [redeemAmount: BigNumberish], + [bigint], + "nonpayable" + >; + + repayBorrowBehalf: TypedContractMethod< + [borrower: AddressLike, repayAmount: BigNumberish], + [bigint], + "nonpayable" + >; + + underlying: TypedContractMethod<[], [string], "nonpayable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod<[borrowAmount: BigNumberish], [bigint], "nonpayable">; + getFunction( + nameOrSignature: "borrowBalanceCurrent" + ): TypedContractMethod<[borrower: AddressLike], [bigint], "nonpayable">; + getFunction( + nameOrSignature: "exchangeRateStored" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "mint" + ): TypedContractMethod<[mintAmount: BigNumberish], [bigint], "nonpayable">; + getFunction( + nameOrSignature: "redeem" + ): TypedContractMethod<[redeemTokens: BigNumberish], [bigint], "nonpayable">; + getFunction( + nameOrSignature: "redeemUnderlying" + ): TypedContractMethod<[redeemAmount: BigNumberish], [bigint], "nonpayable">; + getFunction( + nameOrSignature: "repayBorrowBehalf" + ): TypedContractMethod< + [borrower: AddressLike, repayAmount: BigNumberish], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "underlying" + ): TypedContractMethod<[], [string], "nonpayable">; + + filters: {}; +} diff --git a/pkg/types/src/migration/interfaces/ICompoundV3.ts b/pkg/types/src/migration/interfaces/ICompoundV3.ts new file mode 100644 index 00000000..4e6e144f --- /dev/null +++ b/pkg/types/src/migration/interfaces/ICompoundV3.ts @@ -0,0 +1,330 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export type UserCollateralStruct = { + balance: BigNumberish; + _reserved: BigNumberish; +}; + +export type UserCollateralStructOutput = [ + balance: bigint, + _reserved: bigint +] & { balance: bigint; _reserved: bigint }; + +export interface ICompoundV3Interface extends Interface { + getFunction( + nameOrSignature: + | "allowBySig" + | "balanceOf" + | "baseToken" + | "borrowBalanceOf" + | "name" + | "supply" + | "supplyFrom" + | "supplyTo" + | "userCollateral" + | "version" + | "withdraw" + | "withdrawFrom" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "allowBySig", + values: [ + AddressLike, + AddressLike, + boolean, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "baseToken", values?: undefined): string; + encodeFunctionData( + functionFragment: "borrowBalanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "supply", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyFrom", + values: [AddressLike, AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "supplyTo", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "userCollateral", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdrawFrom", + values: [AddressLike, AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowBySig", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "baseToken", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "borrowBalanceOf", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supplyFrom", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supplyTo", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "userCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawFrom", + data: BytesLike + ): Result; +} + +export interface ICompoundV3 extends BaseContract { + connect(runner?: ContractRunner | null): ICompoundV3; + waitForDeployment(): Promise; + + interface: ICompoundV3Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowBySig: TypedContractMethod< + [ + owner: AddressLike, + manager: AddressLike, + isAllowed: boolean, + nonce: BigNumberish, + expiry: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + baseToken: TypedContractMethod<[], [string], "view">; + + borrowBalanceOf: TypedContractMethod< + [account: AddressLike], + [bigint], + "view" + >; + + name: TypedContractMethod<[], [string], "view">; + + supply: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + supplyFrom: TypedContractMethod< + [ + from: AddressLike, + dst: AddressLike, + asset: AddressLike, + amount: BigNumberish + ], + [void], + "nonpayable" + >; + + supplyTo: TypedContractMethod< + [dst: AddressLike, asset: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + userCollateral: TypedContractMethod< + [account: AddressLike, asset: AddressLike], + [UserCollateralStructOutput], + "view" + >; + + version: TypedContractMethod<[], [string], "view">; + + withdraw: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + withdrawFrom: TypedContractMethod< + [ + src: AddressLike, + to: AddressLike, + asset: AddressLike, + amount: BigNumberish + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowBySig" + ): TypedContractMethod< + [ + owner: AddressLike, + manager: AddressLike, + isAllowed: boolean, + nonce: BigNumberish, + expiry: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "baseToken" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "borrowBalanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "supply" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyFrom" + ): TypedContractMethod< + [ + from: AddressLike, + dst: AddressLike, + asset: AddressLike, + amount: BigNumberish + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyTo" + ): TypedContractMethod< + [dst: AddressLike, asset: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "userCollateral" + ): TypedContractMethod< + [account: AddressLike, asset: AddressLike], + [UserCollateralStructOutput], + "view" + >; + getFunction( + nameOrSignature: "version" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawFrom" + ): TypedContractMethod< + [ + src: AddressLike, + to: AddressLike, + asset: AddressLike, + amount: BigNumberish + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/src/migration/interfaces/IComptroller.ts b/pkg/types/src/migration/interfaces/IComptroller.ts new file mode 100644 index 00000000..dbe88aad --- /dev/null +++ b/pkg/types/src/migration/interfaces/IComptroller.ts @@ -0,0 +1,95 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface IComptrollerInterface extends Interface { + getFunction(nameOrSignature: "enterMarkets"): FunctionFragment; + + encodeFunctionData( + functionFragment: "enterMarkets", + values: [AddressLike[]] + ): string; + + decodeFunctionResult( + functionFragment: "enterMarkets", + data: BytesLike + ): Result; +} + +export interface IComptroller extends BaseContract { + connect(runner?: ContractRunner | null): IComptroller; + waitForDeployment(): Promise; + + interface: IComptrollerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + enterMarkets: TypedContractMethod< + [cTokens: AddressLike[]], + [bigint[]], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "enterMarkets" + ): TypedContractMethod<[cTokens: AddressLike[]], [bigint[]], "nonpayable">; + + filters: {}; +} diff --git a/pkg/types/src/migration/interfaces/index.ts b/pkg/types/src/migration/interfaces/index.ts new file mode 100644 index 00000000..93f98624 --- /dev/null +++ b/pkg/types/src/migration/interfaces/index.ts @@ -0,0 +1,10 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IAaveV2 } from "./IAaveV2"; +export type { IAaveV3 } from "./IAaveV3"; +export type { IAaveV3Optimizer } from "./IAaveV3Optimizer"; +export type { ICEth } from "./ICEth"; +export type { ICToken } from "./ICToken"; +export type { ICompoundV3 } from "./ICompoundV3"; +export type { IComptroller } from "./IComptroller"; diff --git a/pkg/types/src/mocks/ERC20Mock.ts b/pkg/types/src/mocks/ERC20Mock.ts new file mode 100644 index 00000000..ce9bfa41 --- /dev/null +++ b/pkg/types/src/mocks/ERC20Mock.ts @@ -0,0 +1,349 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface ERC20MockInterface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "decreaseAllowance" + | "increaseAllowance" + | "name" + | "setBalance" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "setBalance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setBalance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC20Mock extends BaseContract { + connect(runner?: ContractRunner | null): ERC20Mock; + waitForDeployment(): Promise; + + interface: ERC20MockInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + decreaseAllowance: TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + increaseAllowance: TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + setBalance: TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "decreaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "increaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "setBalance" + ): TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/pkg/types/src/mocks/ERC20PermitMock.ts b/pkg/types/src/mocks/ERC20PermitMock.ts new file mode 100644 index 00000000..9ea9e588 --- /dev/null +++ b/pkg/types/src/mocks/ERC20PermitMock.ts @@ -0,0 +1,486 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface ERC20PermitMockInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "decreaseAllowance" + | "eip712Domain" + | "increaseAllowance" + | "name" + | "nonces" + | "permit" + | "setBalance" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "Approval" | "EIP712DomainChanged" | "Transfer" + ): EventFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "eip712Domain", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "setBalance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "eip712Domain", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setBalance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace EIP712DomainChangedEvent { + export type InputTuple = []; + export type OutputTuple = []; + export interface OutputObject {} + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC20PermitMock extends BaseContract { + connect(runner?: ContractRunner | null): ERC20PermitMock; + waitForDeployment(): Promise; + + interface: ERC20PermitMockInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + decreaseAllowance: TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + eip712Domain: TypedContractMethod< + [], + [ + [string, string, string, bigint, string, string, bigint[]] & { + fields: string; + name: string; + version: string; + chainId: bigint; + verifyingContract: string; + salt: string; + extensions: bigint[]; + } + ], + "view" + >; + + increaseAllowance: TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + permit: TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + setBalance: TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "decreaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "eip712Domain" + ): TypedContractMethod< + [], + [ + [string, string, string, bigint, string, string, bigint[]] & { + fields: string; + name: string; + version: string; + chainId: bigint; + verifyingContract: string; + salt: string; + extensions: bigint[]; + } + ], + "view" + >; + getFunction( + nameOrSignature: "increaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setBalance" + ): TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "EIP712DomainChanged" + ): TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "EIP712DomainChanged()": TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + EIP712DomainChanged: TypedContractEvent< + EIP712DomainChangedEvent.InputTuple, + EIP712DomainChangedEvent.OutputTuple, + EIP712DomainChangedEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/pkg/types/src/mocks/ERC20WrapperMock.ts b/pkg/types/src/mocks/ERC20WrapperMock.ts new file mode 100644 index 00000000..939324f7 --- /dev/null +++ b/pkg/types/src/mocks/ERC20WrapperMock.ts @@ -0,0 +1,398 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface ERC20WrapperMockInterface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "decreaseAllowance" + | "depositFor" + | "increaseAllowance" + | "name" + | "setBalance" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + | "underlying" + | "withdrawTo" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "depositFor", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "setBalance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "underlying", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "withdrawTo", + values: [AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "depositFor", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setBalance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "underlying", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdrawTo", data: BytesLike): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC20WrapperMock extends BaseContract { + connect(runner?: ContractRunner | null): ERC20WrapperMock; + waitForDeployment(): Promise; + + interface: ERC20WrapperMockInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + decreaseAllowance: TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + depositFor: TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + increaseAllowance: TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + setBalance: TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + underlying: TypedContractMethod<[], [string], "view">; + + withdrawTo: TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "decreaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "depositFor" + ): TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "increaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "setBalance" + ): TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "underlying" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "withdrawTo" + ): TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/pkg/types/src/mocks/ERC4626Mock.ts b/pkg/types/src/mocks/ERC4626Mock.ts new file mode 100644 index 00000000..d435fa12 --- /dev/null +++ b/pkg/types/src/mocks/ERC4626Mock.ts @@ -0,0 +1,662 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface ERC4626MockInterface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "asset" + | "balanceOf" + | "convertToAssets" + | "convertToShares" + | "decimals" + | "decreaseAllowance" + | "deposit" + | "increaseAllowance" + | "maxDeposit" + | "maxMint" + | "maxRedeem" + | "maxWithdraw" + | "mint" + | "name" + | "previewDeposit" + | "previewMint" + | "previewRedeem" + | "previewWithdraw" + | "redeem" + | "symbol" + | "totalAssets" + | "totalSupply" + | "transfer" + | "transferFrom" + | "withdraw" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "Approval" | "Deposit" | "Transfer" | "Withdraw" + ): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "asset", values?: undefined): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "convertToAssets", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "convertToShares", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "maxDeposit", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxMint", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxRedeem", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "maxWithdraw", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "previewDeposit", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewMint", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewRedeem", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "previewWithdraw", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "redeem", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalAssets", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "convertToAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "convertToShares", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "maxDeposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxMint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxRedeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "maxWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "previewDeposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewMint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewRedeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "previewWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalAssets", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace DepositEvent { + export type InputTuple = [ + sender: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace WithdrawEvent { + export type InputTuple = [ + sender: AddressLike, + receiver: AddressLike, + owner: AddressLike, + assets: BigNumberish, + shares: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + receiver: string, + owner: string, + assets: bigint, + shares: bigint + ]; + export interface OutputObject { + sender: string; + receiver: string; + owner: string; + assets: bigint; + shares: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC4626Mock extends BaseContract { + connect(runner?: ContractRunner | null): ERC4626Mock; + waitForDeployment(): Promise; + + interface: ERC4626MockInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + asset: TypedContractMethod<[], [string], "view">; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + convertToAssets: TypedContractMethod< + [shares: BigNumberish], + [bigint], + "view" + >; + + convertToShares: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + decimals: TypedContractMethod<[], [bigint], "view">; + + decreaseAllowance: TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + deposit: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + increaseAllowance: TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + maxDeposit: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + maxMint: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + maxRedeem: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + maxWithdraw: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + mint: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + previewDeposit: TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + + previewMint: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewRedeem: TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + + previewWithdraw: TypedContractMethod< + [assets: BigNumberish], + [bigint], + "view" + >; + + redeem: TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + totalAssets: TypedContractMethod<[], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "asset" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "convertToAssets" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "convertToShares" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "decreaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "increaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "maxDeposit" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxMint" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxRedeem" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "maxWithdraw" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "mint" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "previewDeposit" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewMint" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewRedeem" + ): TypedContractMethod<[shares: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "previewWithdraw" + ): TypedContractMethod<[assets: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "redeem" + ): TypedContractMethod< + [shares: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalAssets" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [assets: BigNumberish, receiver: AddressLike, owner: AddressLike], + [bigint], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Deposit" + ): TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + getEvent( + key: "Withdraw" + ): TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Deposit(address,address,uint256,uint256)": TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + Deposit: TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + "Withdraw(address,address,address,uint256,uint256)": TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + Withdraw: TypedContractEvent< + WithdrawEvent.InputTuple, + WithdrawEvent.OutputTuple, + WithdrawEvent.OutputObject + >; + }; +} diff --git a/pkg/types/src/mocks/IrmMock.ts b/pkg/types/src/mocks/IrmMock.ts new file mode 100644 index 00000000..bb019627 --- /dev/null +++ b/pkg/types/src/mocks/IrmMock.ts @@ -0,0 +1,167 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type MarketStruct = { + totalSupplyAssets: BigNumberish; + totalSupplyShares: BigNumberish; + totalBorrowAssets: BigNumberish; + totalBorrowShares: BigNumberish; + lastUpdate: BigNumberish; + fee: BigNumberish; +}; + +export type MarketStructOutput = [ + totalSupplyAssets: bigint, + totalSupplyShares: bigint, + totalBorrowAssets: bigint, + totalBorrowShares: bigint, + lastUpdate: bigint, + fee: bigint +] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; +}; + +export interface IrmMockInterface extends Interface { + getFunction( + nameOrSignature: "borrowRate" | "borrowRateView" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "borrowRate", + values: [MarketParamsStruct, MarketStruct] + ): string; + encodeFunctionData( + functionFragment: "borrowRateView", + values: [MarketParamsStruct, MarketStruct] + ): string; + + decodeFunctionResult(functionFragment: "borrowRate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "borrowRateView", + data: BytesLike + ): Result; +} + +export interface IrmMock extends BaseContract { + connect(runner?: ContractRunner | null): IrmMock; + waitForDeployment(): Promise; + + interface: IrmMockInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + borrowRate: TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "view" + >; + + borrowRateView: TypedContractMethod< + [arg0: MarketParamsStruct, market: MarketStruct], + [bigint], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "borrowRate" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, market: MarketStruct], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "borrowRateView" + ): TypedContractMethod< + [arg0: MarketParamsStruct, market: MarketStruct], + [bigint], + "view" + >; + + filters: {}; +} diff --git a/pkg/types/src/mocks/MorphoMock.ts b/pkg/types/src/mocks/MorphoMock.ts new file mode 100644 index 00000000..0cd37d2a --- /dev/null +++ b/pkg/types/src/mocks/MorphoMock.ts @@ -0,0 +1,767 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export interface MorphoMockInterface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "accrueInterest" + | "borrow" + | "createMarket" + | "enableIrm" + | "enableLltv" + | "extSloads" + | "feeRecipient" + | "flashLoan" + | "idToMarketParams" + | "isAuthorized" + | "isIrmEnabled" + | "isLltvEnabled" + | "liquidate" + | "market" + | "nonce" + | "owner" + | "position" + | "repay" + | "setAuthorization" + | "setAuthorizationWithSig" + | "setFee" + | "setFeeRecipient" + | "setOwner" + | "supply" + | "supplyCollateral" + | "withdraw" + | "withdrawCollateral" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "accrueInterest", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "borrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "createMarket", + values: [MarketParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "enableIrm", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "enableLltv", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "extSloads", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "feeRecipient", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "flashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "idToMarketParams", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "isAuthorized", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isIrmEnabled", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isLltvEnabled", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "liquidate", + values: [ + MarketParamsStruct, + AddressLike, + BigNumberish, + BigNumberish, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "market", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "nonce", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "position", + values: [BytesLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "repay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "setAuthorization", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct] + ): string; + encodeFunctionData( + functionFragment: "setFee", + values: [MarketParamsStruct, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeRecipient", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "supply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "supplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + AddressLike, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "withdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "accrueInterest", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "createMarket", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "enableIrm", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "enableLltv", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "extSloads", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "idToMarketParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isAuthorized", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isIrmEnabled", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isLltvEnabled", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "liquidate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "market", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonce", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "position", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setAuthorization", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFeeRecipient", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "supplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawCollateral", + data: BytesLike + ): Result; +} + +export interface MorphoMock extends BaseContract { + connect(runner?: ContractRunner | null): MorphoMock; + waitForDeployment(): Promise; + + interface: MorphoMockInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + accrueInterest: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + borrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + createMarket: TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + + enableIrm: TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + + enableLltv: TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + + extSloads: TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + + feeRecipient: TypedContractMethod<[], [string], "view">; + + flashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + idToMarketParams: TypedContractMethod< + [arg0: BytesLike], + [ + [string, string, string, string, bigint] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; + } + ], + "view" + >; + + isAuthorized: TypedContractMethod< + [arg0: AddressLike, arg1: AddressLike], + [boolean], + "view" + >; + + isIrmEnabled: TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + + isLltvEnabled: TypedContractMethod<[arg0: BigNumberish], [boolean], "view">; + + liquidate: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + market: TypedContractMethod< + [arg0: BytesLike], + [ + [bigint, bigint, bigint, bigint, bigint, bigint] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; + } + ], + "view" + >; + + nonce: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + position: TypedContractMethod< + [arg0: BytesLike, arg1: AddressLike], + [ + [bigint, bigint, bigint] & { + supplyShares: bigint; + borrowShares: bigint; + collateral: bigint; + } + ], + "view" + >; + + repay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + setAuthorization: TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + + setAuthorizationWithSig: TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + + setFee: TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setFeeRecipient: TypedContractMethod< + [newFeeRecipient: AddressLike], + [void], + "nonpayable" + >; + + setOwner: TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + supply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + supplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint]], + "nonpayable" + >; + + withdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accrueInterest" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "borrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "createMarket" + ): TypedContractMethod< + [marketParams: MarketParamsStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "enableIrm" + ): TypedContractMethod<[irm: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "enableLltv" + ): TypedContractMethod<[lltv: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "extSloads" + ): TypedContractMethod<[slots: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "feeRecipient" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "flashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "idToMarketParams" + ): TypedContractMethod< + [arg0: BytesLike], + [ + [string, string, string, string, bigint] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "isAuthorized" + ): TypedContractMethod< + [arg0: AddressLike, arg1: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "isIrmEnabled" + ): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "isLltvEnabled" + ): TypedContractMethod<[arg0: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "liquidate" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + borrower: AddressLike, + seizedAssets: BigNumberish, + repaidShares: BigNumberish, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "market" + ): TypedContractMethod< + [arg0: BytesLike], + [ + [bigint, bigint, bigint, bigint, bigint, bigint] & { + totalSupplyAssets: bigint; + totalSupplyShares: bigint; + totalBorrowAssets: bigint; + totalBorrowShares: bigint; + lastUpdate: bigint; + fee: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "nonce" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "position" + ): TypedContractMethod< + [arg0: BytesLike, arg1: AddressLike], + [ + [bigint, bigint, bigint] & { + supplyShares: bigint; + borrowShares: bigint; + collateral: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "repay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorization" + ): TypedContractMethod< + [authorized: AddressLike, newIsAuthorized: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setAuthorizationWithSig" + ): TypedContractMethod< + [authorization: AuthorizationStruct, signature: SignatureStruct], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFee" + ): TypedContractMethod< + [marketParams: MarketParamsStruct, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFeeRecipient" + ): TypedContractMethod<[newFeeRecipient: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "supply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "supplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [[bigint, bigint]], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + receiver: AddressLike + ], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/pkg/types/src/mocks/OracleMock.ts b/pkg/types/src/mocks/OracleMock.ts new file mode 100644 index 00000000..d0446b91 --- /dev/null +++ b/pkg/types/src/mocks/OracleMock.ts @@ -0,0 +1,95 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface OracleMockInterface extends Interface { + getFunction(nameOrSignature: "price" | "setPrice"): FunctionFragment; + + encodeFunctionData(functionFragment: "price", values?: undefined): string; + encodeFunctionData( + functionFragment: "setPrice", + values: [BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "price", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setPrice", data: BytesLike): Result; +} + +export interface OracleMock extends BaseContract { + connect(runner?: ContractRunner | null): OracleMock; + waitForDeployment(): Promise; + + interface: OracleMockInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + price: TypedContractMethod<[], [bigint], "view">; + + setPrice: TypedContractMethod<[newPrice: BigNumberish], [void], "nonpayable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "price" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "setPrice" + ): TypedContractMethod<[newPrice: BigNumberish], [void], "nonpayable">; + + filters: {}; +} diff --git a/pkg/types/src/mocks/index.ts b/pkg/types/src/mocks/index.ts new file mode 100644 index 00000000..4cf40068 --- /dev/null +++ b/pkg/types/src/mocks/index.ts @@ -0,0 +1,10 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ERC20Mock } from "./ERC20Mock"; +export type { ERC20PermitMock } from "./ERC20PermitMock"; +export type { ERC20WrapperMock } from "./ERC20WrapperMock"; +export type { ERC4626Mock } from "./ERC4626Mock"; +export type { IrmMock } from "./IrmMock"; +export type { MorphoMock } from "./MorphoMock"; +export type { OracleMock } from "./OracleMock"; diff --git a/pkg/types/src/sepolia/SepoliaBundlerV2.ts b/pkg/types/src/sepolia/SepoliaBundlerV2.ts new file mode 100644 index 00000000..53b74e6d --- /dev/null +++ b/pkg/types/src/sepolia/SepoliaBundlerV2.ts @@ -0,0 +1,1083 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export type MarketParamsStruct = { + loanToken: AddressLike; + collateralToken: AddressLike; + oracle: AddressLike; + irm: AddressLike; + lltv: BigNumberish; +}; + +export type MarketParamsStructOutput = [ + loanToken: string, + collateralToken: string, + oracle: string, + irm: string, + lltv: bigint +] & { + loanToken: string; + collateralToken: string; + oracle: string; + irm: string; + lltv: bigint; +}; + +export type AuthorizationStruct = { + authorizer: AddressLike; + authorized: AddressLike; + isAuthorized: boolean; + nonce: BigNumberish; + deadline: BigNumberish; +}; + +export type AuthorizationStructOutput = [ + authorizer: string, + authorized: string, + isAuthorized: boolean, + nonce: bigint, + deadline: bigint +] & { + authorizer: string; + authorized: string; + isAuthorized: boolean; + nonce: bigint; + deadline: bigint; +}; + +export type SignatureStruct = { v: BigNumberish; r: BytesLike; s: BytesLike }; + +export type SignatureStructOutput = [v: bigint, r: string, s: string] & { + v: bigint; + r: string; + s: string; +}; + +export type WithdrawalStruct = { + marketParams: MarketParamsStruct; + amount: BigNumberish; +}; + +export type WithdrawalStructOutput = [ + marketParams: MarketParamsStructOutput, + amount: bigint +] & { marketParams: MarketParamsStructOutput; amount: bigint }; + +export declare namespace IAllowanceTransfer { + export type PermitDetailsStruct = { + token: AddressLike; + amount: BigNumberish; + expiration: BigNumberish; + nonce: BigNumberish; + }; + + export type PermitDetailsStructOutput = [ + token: string, + amount: bigint, + expiration: bigint, + nonce: bigint + ] & { token: string; amount: bigint; expiration: bigint; nonce: bigint }; + + export type PermitSingleStruct = { + details: IAllowanceTransfer.PermitDetailsStruct; + spender: AddressLike; + sigDeadline: BigNumberish; + }; + + export type PermitSingleStructOutput = [ + details: IAllowanceTransfer.PermitDetailsStructOutput, + spender: string, + sigDeadline: bigint + ] & { + details: IAllowanceTransfer.PermitDetailsStructOutput; + spender: string; + sigDeadline: bigint; + }; +} + +export interface SepoliaBundlerV2Interface extends Interface { + getFunction( + nameOrSignature: + | "MORPHO" + | "ST_ETH" + | "WRAPPED_NATIVE" + | "WST_ETH" + | "approve2" + | "erc20Transfer" + | "erc20TransferFrom" + | "erc20WrapperDepositFor" + | "erc20WrapperWithdrawTo" + | "erc4626Deposit" + | "erc4626Mint" + | "erc4626Redeem" + | "erc4626Withdraw" + | "initiator" + | "morphoBorrow" + | "morphoFlashLoan" + | "morphoRepay" + | "morphoSetAuthorizationWithSig" + | "morphoSupply" + | "morphoSupplyCollateral" + | "morphoWithdraw" + | "morphoWithdrawCollateral" + | "multicall" + | "nativeTransfer" + | "onMorphoFlashLoan" + | "onMorphoRepay" + | "onMorphoSupply" + | "onMorphoSupplyCollateral" + | "permit" + | "reallocateTo" + | "stakeEth" + | "transferFrom2" + | "unwrapNative" + | "unwrapStEth" + | "urdClaim" + | "wrapNative" + | "wrapStEth" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "MORPHO", values?: undefined): string; + encodeFunctionData(functionFragment: "ST_ETH", values?: undefined): string; + encodeFunctionData( + functionFragment: "WRAPPED_NATIVE", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "WST_ETH", values?: undefined): string; + encodeFunctionData( + functionFragment: "approve2", + values: [IAllowanceTransfer.PermitSingleStruct, BytesLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "erc20Transfer", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20TransferFrom", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20WrapperDepositFor", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc20WrapperWithdrawTo", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "erc4626Deposit", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Mint", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Redeem", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "erc4626Withdraw", + values: [AddressLike, BigNumberish, BigNumberish, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "initiator", values?: undefined): string; + encodeFunctionData( + functionFragment: "morphoBorrow", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoFlashLoan", + values: [AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoRepay", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSetAuthorizationWithSig", + values: [AuthorizationStruct, SignatureStruct, boolean] + ): string; + encodeFunctionData( + functionFragment: "morphoSupply", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoSupplyCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdraw", + values: [ + MarketParamsStruct, + BigNumberish, + BigNumberish, + BigNumberish, + AddressLike + ] + ): string; + encodeFunctionData( + functionFragment: "morphoWithdrawCollateral", + values: [MarketParamsStruct, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "nativeTransfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "onMorphoFlashLoan", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoRepay", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupply", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "onMorphoSupplyCollateral", + values: [BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike, + boolean + ] + ): string; + encodeFunctionData( + functionFragment: "reallocateTo", + values: [ + AddressLike, + AddressLike, + BigNumberish, + WithdrawalStruct[], + MarketParamsStruct + ] + ): string; + encodeFunctionData( + functionFragment: "stakeEth", + values: [BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "transferFrom2", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "unwrapNative", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "unwrapStEth", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "urdClaim", + values: [ + AddressLike, + AddressLike, + AddressLike, + BigNumberish, + BytesLike[], + boolean + ] + ): string; + encodeFunctionData( + functionFragment: "wrapNative", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "wrapStEth", + values: [BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "MORPHO", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ST_ETH", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "WRAPPED_NATIVE", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "WST_ETH", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve2", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "erc20Transfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20TransferFrom", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20WrapperDepositFor", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc20WrapperWithdrawTo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Deposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Mint", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Redeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "erc4626Withdraw", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initiator", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "morphoBorrow", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSetAuthorizationWithSig", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdraw", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "morphoWithdrawCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "nativeTransfer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoFlashLoan", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoRepay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "onMorphoSupplyCollateral", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "reallocateTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "stakeEth", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom2", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "unwrapNative", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "unwrapStEth", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "urdClaim", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "wrapNative", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "wrapStEth", data: BytesLike): Result; +} + +export interface SepoliaBundlerV2 extends BaseContract { + connect(runner?: ContractRunner | null): SepoliaBundlerV2; + waitForDeployment(): Promise; + + interface: SepoliaBundlerV2Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + MORPHO: TypedContractMethod<[], [string], "view">; + + ST_ETH: TypedContractMethod<[], [string], "view">; + + WRAPPED_NATIVE: TypedContractMethod<[], [string], "view">; + + WST_ETH: TypedContractMethod<[], [string], "view">; + + approve2: TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + erc20Transfer: TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20TransferFrom: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20WrapperDepositFor: TypedContractMethod< + [wrapper: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc20WrapperWithdrawTo: TypedContractMethod< + [wrapper: AddressLike, account: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + erc4626Deposit: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Mint: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + erc4626Redeem: TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + erc4626Withdraw: TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + + initiator: TypedContractMethod<[], [string], "view">; + + morphoBorrow: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoFlashLoan: TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + + morphoRepay: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSetAuthorizationWithSig: TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + + morphoSupply: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoSupplyCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + + morphoWithdraw: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + morphoWithdrawCollateral: TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + + multicall: TypedContractMethod<[data: BytesLike[]], [void], "payable">; + + nativeTransfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + onMorphoFlashLoan: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoRepay: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupply: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + onMorphoSupplyCollateral: TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + + permit: TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + + reallocateTo: TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + + stakeEth: TypedContractMethod< + [amount: BigNumberish, minShares: BigNumberish, referral: AddressLike], + [void], + "payable" + >; + + transferFrom2: TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + + unwrapNative: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + unwrapStEth: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + urdClaim: TypedContractMethod< + [ + distributor: AddressLike, + account: AddressLike, + reward: AddressLike, + amount: BigNumberish, + proof: BytesLike[], + skipRevert: boolean + ], + [void], + "payable" + >; + + wrapNative: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + wrapStEth: TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "MORPHO" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "ST_ETH" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "WRAPPED_NATIVE" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "WST_ETH" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "approve2" + ): TypedContractMethod< + [ + permitSingle: IAllowanceTransfer.PermitSingleStruct, + signature: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20Transfer" + ): TypedContractMethod< + [asset: AddressLike, recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20TransferFrom" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20WrapperDepositFor" + ): TypedContractMethod< + [wrapper: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc20WrapperWithdrawTo" + ): TypedContractMethod< + [wrapper: AddressLike, account: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Deposit" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + minShares: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Mint" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + maxAssets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Redeem" + ): TypedContractMethod< + [ + vault: AddressLike, + shares: BigNumberish, + minAssets: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "erc4626Withdraw" + ): TypedContractMethod< + [ + vault: AddressLike, + assets: BigNumberish, + maxShares: BigNumberish, + receiver: AddressLike, + owner: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "initiator" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "morphoBorrow" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoFlashLoan" + ): TypedContractMethod< + [token: AddressLike, assets: BigNumberish, data: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoRepay" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSetAuthorizationWithSig" + ): TypedContractMethod< + [ + authorization: AuthorizationStruct, + signature: SignatureStruct, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupply" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoSupplyCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + onBehalf: AddressLike, + data: BytesLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdraw" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + shares: BigNumberish, + slippageAmount: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "morphoWithdrawCollateral" + ): TypedContractMethod< + [ + marketParams: MarketParamsStruct, + assets: BigNumberish, + receiver: AddressLike + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [void], "payable">; + getFunction( + nameOrSignature: "nativeTransfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "onMorphoFlashLoan" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoRepay" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupply" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "onMorphoSupplyCollateral" + ): TypedContractMethod< + [arg0: BigNumberish, data: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + asset: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike, + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "reallocateTo" + ): TypedContractMethod< + [ + publicAllocator: AddressLike, + vault: AddressLike, + value: BigNumberish, + withdrawals: WithdrawalStruct[], + supplyMarketParams: MarketParamsStruct + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "stakeEth" + ): TypedContractMethod< + [amount: BigNumberish, minShares: BigNumberish, referral: AddressLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "transferFrom2" + ): TypedContractMethod< + [asset: AddressLike, amount: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "unwrapNative" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "unwrapStEth" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "urdClaim" + ): TypedContractMethod< + [ + distributor: AddressLike, + account: AddressLike, + reward: AddressLike, + amount: BigNumberish, + proof: BytesLike[], + skipRevert: boolean + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "wrapNative" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "wrapStEth" + ): TypedContractMethod<[amount: BigNumberish], [void], "payable">; + + filters: {}; +} diff --git a/pkg/types/src/sepolia/index.ts b/pkg/types/src/sepolia/index.ts new file mode 100644 index 00000000..ec9a62d9 --- /dev/null +++ b/pkg/types/src/sepolia/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { SepoliaBundlerV2 } from "./SepoliaBundlerV2"; diff --git a/tsconfig.build.json b/tsconfig.build.json index 42597b32..16530d6f 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -1,5 +1,8 @@ { - "extends": "./tsconfig.json", - "include": ["pkg", "types"], - "files": [] + "extends": "./tsconfig.json", + "compilerOptions": { + "rootDir": "pkg" + }, + "include": ["pkg"], + "files": [] }