import { BigNumber } from '@ethersproject/bignumber'; import { BytesLike, PopulatedTransaction } from 'ethers'; import { LPBorrowParamsType, LPRepayParamsType, LPRepayWithATokensType, LPSignedRepayParamsType } from '../v3-pool-contract/lendingPoolTypes'; export declare type tEthereumAddress = string; export declare type ENS = string; /** InterestRate options */ export declare enum InterestRate { None = "None", Stable = "Stable", Variable = "Variable" } export declare const ChainIdToNetwork: Record; export declare enum ChainId { mainnet = 1, ropsten = 3, rinkeby = 4, goerli = 5, kovan = 42, xdai = 100, polygon = 137, mumbai = 80001, avalanche = 43114, fuji = 43113, arbitrum_one = 42161, arbitrum_goerli = 421613, arbitrum_sepolia = 421614, fantom = 250, fantom_testnet = 4002, optimism = 10, optimism_sepolia = 11155420, harmony = 1666600000, harmony_testnet = 1666700000, zkevm_testnet = 1402, sepolia = 11155111, scroll_alpha = 534353, scroll_sepolia = 534351, scroll = 534352, metis_andromeda = 1088, base = 8453, base_sepolia = 84532, bnb = 56, zksync = 324, linea = 59144, sonic = 146, celo = 42220, soneium = 1868, ink = 57073, plasma = 9745, mantle = 5000, xlayer = 196 } export declare type ConstantAddressesByNetwork = Record; export declare type MigratorConfig = { LEND_TO_AAVE_MIGRATOR: tEthereumAddress; }; export declare type LendingPoolMarketConfig = { LENDING_POOL: tEthereumAddress; WETH_GATEWAY?: tEthereumAddress; FLASH_LIQUIDATION_ADAPTER?: tEthereumAddress; REPAY_WITH_COLLATERAL_ADAPTER?: tEthereumAddress; SWAP_COLLATERAL_ADAPTER?: tEthereumAddress; }; export declare type LendingPoolConfig = Record>; export declare enum eEthereumTxType { ERC20_APPROVAL = "ERC20_APPROVAL", DLP_ACTION = "DLP_ACTION", GOVERNANCE_ACTION = "GOVERNANCE_ACTION", GOV_DELEGATION_ACTION = "GOV_DELEGATION_ACTION", STAKE_ACTION = "STAKE_ACTION", MIGRATION_LEND_AAVE = "MIGRATION_LEND_AAVE", FAUCET_MINT = "FAUCET_MINT", REWARD_ACTION = "REWARD_ACTION", V3_MIGRATION_ACTION = "V3_MIGRATION_ACTION", FAUCET_V2_MINT = "FAUCET_V2_MINT" } export declare enum ProtocolAction { default = "default", supply = "supply", borrow = "borrow", withdraw = "withdraw", deposit = "deposit", liquidationCall = "liquidationCall", liquidationFlash = "liquidationFlash", repay = "repay", repayETH = "repayETH", repayWithATokens = "repayWithATokens", swapCollateral = "swapCollateral", repayCollateral = "repayCollateral", withdrawETH = "withdrawETH", borrowETH = "borrwoETH", migrateV3 = "migrateV3", supplyWithPermit = "supplyWithPermit", repayWithPermit = "repayWithPermit", stakeWithPermit = "stakeWithPermit", vote = "vote", approval = "approval", creditDelegationApproval = "creditDelegationApproval", stake = "stake", stakeCooldown = "stakeCooldown", unstake = "unstake", switchBorrowRateMode = "switchBorrowRateMode", setEModeUsage = "setEModeUsage", governanceDelegation = "governanceDelegation", claimRewards = "claimRewards", claimRewardsAndStake = "claimRewardsAndStake", setUsageAsCollateral = "setUsageAsCollateral", withdrawAndSwitch = "withdrawAndSwitch", batchMetaDelegate = "batchMetaDelegate", updateRepresentatives = "updateRepresentatives", migrateABPT = "migrateABPT", umbrellaStake = "umbrellaStake", umbrellaStakeWithPermit = "umbrellaStakeWithPermit", umbrellaStakeWithATokens = "umbrellaStakeWithATokens", umbrellaStakeWithATokensWithPermit = "umbrellaStakeWithATokensWithPermit", umbrellaRedeem = "umbrellaRedeem", umbrellaRedeemATokens = "umbrellaRedeemATokens", umbrellaStakeTokenCooldown = "umbrellaStakeTokenCooldown", umbrellaStakeTokenDeposit = "umbrellaStakeTokenDeposit", umbrellaStakeTokenDepositWithPermit = "umbrellaStakeTokenDepositWithPermit", umbrellaStakeTokenRedeem = "umbrellaStakeTokenRedeem", umbrellaClaimAllRewards = "umbrellaClaimAllRewards", umbrellaClaimSelectedRewards = "umbrellaClaimSelectedRewards", umbrellaStakeGatewayStake = "umbrellaStakeGatewayStake", umbrellaStakeGatewayStakeWithPermit = "umbrellaStakeGatewayStakeWithPermit", umbrellaStakeGatewayStakeATokens = "umbrellaStakeGatewayStakeATokens", umbrellaStakeGatewayStakeATokensWithPermit = "umbrellaStakeGatewayStakeATokensWithPermit", umbrellaStakeGatewayStakeNativeTokens = "umbrellaStakeGatewayStakeNativeTokens", umbrellaStakeGatewayRedeem = "umbrellaStakeGatewayRedeem", umbrellaStakeGatewayRedeemATokens = "umbrellaStakeGatewayRedeemATokens", umbrellaStakeGatewayRedeemNativeTokens = "umbrellaStakeGatewayRedeemNativeTokens" } export declare enum GovernanceVote { Abstain = 0, Yes = 1, No = 2 } export declare enum Stake { aave = "aave", bpt = "bpt", gho = "gho", bptv2 = "bptv2" } export declare type GasRecommendationType = Record; export declare type GeneratedTx = { tx: transactionType; gas: { price: string; limit: string; }; }; export declare type transactionType = { value?: string; from?: string; to?: string; nonce?: number; gasLimit?: BigNumber; gasPrice?: BigNumber; data?: string; chainId?: number; }; export declare type AddressModel = { ADDRESS_PROVIDER_ADDRESS: tEthereumAddress; LENDINGPOOL_ADDRESS: tEthereumAddress; LENDINGPOOL_CORE_ADDRESS: tEthereumAddress; SYNTHETIX_PROXY_ADDRESS: tEthereumAddress; GOVERNANCE_PROTO_CONTRACT: tEthereumAddress; LEND_TO_AAVE_MIGRATOR: tEthereumAddress; WETH_GATEWAY: tEthereumAddress; FAUCET: tEthereumAddress; SWAP_COLLATERAL_ADAPTER: tEthereumAddress; REPAY_WITH_COLLATERAL_ADAPTER: tEthereumAddress; AAVE_GOVERNANCE_V2: tEthereumAddress; AAVE_GOVERNANCE_V2_EXECUTOR_SHORT: tEthereumAddress; AAVE_GOVERNANCE_V2_EXECUTOR_LONG: tEthereumAddress; AAVE_GOVERNANCE_V2_HELPER: tEthereumAddress; FLASHLIQUIDATION: tEthereumAddress; INCENTIVES_CONTROLLER: tEthereumAddress; INCENTIVES_CONTROLLER_REWARD_TOKEN: tEthereumAddress; }; export declare type tCommonContractAddressBetweenMarkets = Pick; export declare type tDistinctContractAddressBetweenMarkets = Pick; export declare type tDistinctContractAddressBetweenMarketsV2 = Pick; export declare type tDistinctGovernanceV2Addresses = Pick; export declare type tdistinctStakingAddressesBetweenTokens = { TOKEN_STAKING_ADDRESS: tEthereumAddress; STAKING_REWARD_TOKEN_ADDRESS: tEthereumAddress; STAKING_HELPER_ADDRESS: tEthereumAddress; canUsePermit: boolean; }; export declare type ContractAddresses = Record; export declare type EthereumTransactionTypeExtended = { txType: eEthereumTxType; tx: () => Promise; gas: GasResponse; }; export declare type TransactionGenerationMethod = { rawTxMethod: () => Promise; from: tEthereumAddress; value?: string; gasSurplus?: number; action?: ProtocolAction; }; export declare type TransactionGenerationMethodNew = { tx: PopulatedTransaction; gasSurplus?: number; action?: ProtocolAction; skipGasEstimation?: boolean; }; export declare type TransactionGasGenerationMethod = { txCallback: () => Promise; action?: ProtocolAction; }; export declare type GasType = { gasLimit: string | undefined; gasPrice: string; }; export declare type GasResponse = (force?: boolean) => Promise; export declare type DefaultProviderKeys = { etherscan?: string; infura?: string; alchemy?: string; }; export declare type GovernanceConfigType = Record; export declare type StakingConfigType = Record>; export declare type CommonConfigType = Record; export declare type LendingPoolConfigType = Record>; export declare type PermitSignature = { amount: string; deadline: string; v: number; r: BytesLike; s: BytesLike; }; export declare type FlashLoanParams = { assetToSwapToList: tEthereumAddress[]; minAmountsToReceive: string[]; swapAllBalance: boolean[]; permitAmount: string[]; deadline: string[]; v: number[]; r: BytesLike[]; s: BytesLike[]; }; export interface SignedActionRequest { signatures: string[]; } export declare type ActionBundle = { action: PopulatedTransaction; approvalRequired: boolean; approvals: PopulatedTransaction[]; signatureRequests: string[]; generateSignedAction: ({ signatures, }: SignedActionRequest) => Promise; signedActionGasEstimate: string; }; export declare const DEFAULT_DEADLINE: string; export declare type BorrowTxBuilder = { generateTxData: ({ user, reserve, amount, interestRateMode, debtTokenAddress, onBehalfOf, referralCode, useOptimizedPath, encodedTxData, }: LPBorrowParamsType) => PopulatedTransaction; encodeBorrowParams: ({ reserve, amount, interestRateMode, referralCode, }: Omit) => Promise; }; export declare type RepayTxBuilder = { generateTxData: (params: LPRepayParamsType) => PopulatedTransaction; generateSignedTxData: (params: LPSignedRepayParamsType) => PopulatedTransaction; encodeRepayParams: ({ reserve, amount, interestRateMode, }: Omit) => Promise; encodeRepayWithPermitParams: ({ reserve, amount, interestRateMode, deadline, signature, }: Pick) => Promise<[string, string, string]>; }; export declare type RepayWithATokensTxBuilder = { generateTxData: (params: LPRepayWithATokensType) => PopulatedTransaction; encodeRepayWithATokensParams: ({ reserve, amount, rateMode, }: Omit) => Promise; }; export declare type DefinedPopulatedTransaction = PopulatedTransaction & { data: string; from: string; to: string; gasLimit: BigNumber; }; //# sourceMappingURL=types.d.ts.map