interface Vault {
    DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">;
    FACTORY: TypedContractMethod<[], [string], "view">;
    MATHLIB: TypedContractMethod<[], [string], "view">;
    [internal]: any;
    _adjustmentTarget: TypedContractMethod<[], [bigint], "view">;
    _chainInterface: TypedContractMethod<[], [string], "view">;
    _escrowLookup: TypedContractMethod<[arg0: BytesLike], [string], "view">;
    _escrowedTokens: TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
    _escrowedVaultTokens: TypedContractMethod<[], [bigint], "view">;
    _feeAdministrator: TypedContractMethod<[], [string], "view">;
    _governanceFeeShare: TypedContractMethod<[], [bigint], "view">;
    _lastModificationTime: TypedContractMethod<[], [bigint], "view">;
    _maxUnitCapacity: TypedContractMethod<[], [bigint], "view">;
    _setupMaster: TypedContractMethod<[], [string], "view">;
    _tokenIndexing: TypedContractMethod<[arg0: BigNumberish], [string], "view">;
    _vaultConnection: TypedContractMethod<[arg0: BytesLike, arg1: BytesLike], [boolean], "view">;
    _vaultFee: TypedContractMethod<[], [bigint], "view">;
    _weight: TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
    allowance: TypedContractMethod<[arg0: AddressLike, arg1: AddressLike], [bigint], "view">;
    approve: TypedContractMethod<[spender: AddressLike, amount: BigNumberish], [boolean], "nonpayable">;
    balanceOf: TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
    calcLocalSwap: TypedContractMethod<[from: AddressLike, to: AddressLike, amount: BigNumberish], [bigint], "view">;
    calcReceiveAsset: TypedContractMethod<[to: AddressLike, U: BigNumberish], [bigint], "view">;
    calcSendAsset: TypedContractMethod<[from: AddressLike, amount: BigNumberish], [bigint], "view">;
    decimals: TypedContractMethod<[], [bigint], "view">;
    deleteUnderwriteAsset: TypedContractMethod<[identifier: BytesLike, U: BigNumberish, escrowAmount: BigNumberish, escrowToken: AddressLike], [void], "nonpayable">;
    depositMixed: TypedContractMethod<[tokenAmounts: BigNumberish[], minOut: BigNumberish], [bigint], "nonpayable">;
    factoryOwner: TypedContractMethod<[], [string], "view">;
    fallback: null | WrappedFallback;
    filters: {
        FinishSetup: TypedContractEvent<[], [], FinishSetupEvent.OutputObject>;
        FinishSetup(): TypedContractEvent<[], [], FinishSetupEvent.OutputObject>;
        Initialized: TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
        Initialized(uint8): TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
        LocalSwap: TypedContractEvent<LocalSwapEvent.InputTuple, LocalSwapEvent.OutputTuple, LocalSwapEvent.OutputObject>;
        LocalSwap(address,address,address,uint256,uint256): TypedContractEvent<LocalSwapEvent.InputTuple, LocalSwapEvent.OutputTuple, LocalSwapEvent.OutputObject>;
        ReceiveAsset: TypedContractEvent<ReceiveAssetEvent.InputTuple, ReceiveAssetEvent.OutputTuple, ReceiveAssetEvent.OutputObject>;
        ReceiveAsset(bytes32,bytes,address,address,uint256,uint256,uint256,bytes,uint32): TypedContractEvent<ReceiveAssetEvent.InputTuple, ReceiveAssetEvent.OutputTuple, ReceiveAssetEvent.OutputObject>;
        ReceiveLiquidity: TypedContractEvent<ReceiveLiquidityEvent.InputTuple, ReceiveLiquidityEvent.OutputTuple, ReceiveLiquidityEvent.OutputObject>;
        ReceiveLiquidity(bytes32,bytes,address,uint256,uint256,uint256,uint256): TypedContractEvent<ReceiveLiquidityEvent.InputTuple, ReceiveLiquidityEvent.OutputTuple, ReceiveLiquidityEvent.OutputObject>;
        SendAsset: TypedContractEvent<SendAssetEvent.InputTuple, SendAssetEvent.OutputTuple, SendAssetEvent.OutputObject>;
        SendAsset(bytes32,bytes,bytes,address,uint8,uint256,uint256,uint256,uint256,uint16): TypedContractEvent<SendAssetEvent.InputTuple, SendAssetEvent.OutputTuple, SendAssetEvent.OutputObject>;
        SendAssetFailure: TypedContractEvent<SendAssetFailureEvent.InputTuple, SendAssetFailureEvent.OutputTuple, SendAssetFailureEvent.OutputObject>;
        SendAssetFailure(bytes32,bytes,uint256,uint256,address,uint32): TypedContractEvent<SendAssetFailureEvent.InputTuple, SendAssetFailureEvent.OutputTuple, SendAssetFailureEvent.OutputObject>;
        SendAssetSuccess: TypedContractEvent<SendAssetSuccessEvent.InputTuple, SendAssetSuccessEvent.OutputTuple, SendAssetSuccessEvent.OutputObject>;
        SendAssetSuccess(bytes32,bytes,uint256,uint256,address,uint32): TypedContractEvent<SendAssetSuccessEvent.InputTuple, SendAssetSuccessEvent.OutputTuple, SendAssetSuccessEvent.OutputObject>;
        SendLiquidity: TypedContractEvent<SendLiquidityEvent.InputTuple, SendLiquidityEvent.OutputTuple, SendLiquidityEvent.OutputObject>;
        SendLiquidity(bytes32,bytes,bytes,uint256,uint256[2],uint256): TypedContractEvent<SendLiquidityEvent.InputTuple, SendLiquidityEvent.OutputTuple, SendLiquidityEvent.OutputObject>;
        SendLiquidityFailure: TypedContractEvent<SendLiquidityFailureEvent.InputTuple, SendLiquidityFailureEvent.OutputTuple, SendLiquidityFailureEvent.OutputObject>;
        SendLiquidityFailure(bytes32,bytes,uint256,uint256,uint32): TypedContractEvent<SendLiquidityFailureEvent.InputTuple, SendLiquidityFailureEvent.OutputTuple, SendLiquidityFailureEvent.OutputObject>;
        SendLiquiditySuccess: TypedContractEvent<SendLiquiditySuccessEvent.InputTuple, SendLiquiditySuccessEvent.OutputTuple, SendLiquiditySuccessEvent.OutputObject>;
        SendLiquiditySuccess(bytes32,bytes,uint256,uint256,uint32): TypedContractEvent<SendLiquiditySuccessEvent.InputTuple, SendLiquiditySuccessEvent.OutputTuple, SendLiquiditySuccessEvent.OutputObject>;
        SetAmplification: TypedContractEvent<SetAmplificationEvent.InputTuple, SetAmplificationEvent.OutputTuple, SetAmplificationEvent.OutputObject>;
        SetAmplification(uint256,uint256): TypedContractEvent<SetAmplificationEvent.InputTuple, SetAmplificationEvent.OutputTuple, SetAmplificationEvent.OutputObject>;
        SetConnection: TypedContractEvent<SetConnectionEvent.InputTuple, SetConnectionEvent.OutputTuple, SetConnectionEvent.OutputObject>;
        SetConnection(bytes32,bytes,bool): TypedContractEvent<SetConnectionEvent.InputTuple, SetConnectionEvent.OutputTuple, SetConnectionEvent.OutputObject>;
        SetFeeAdministrator: TypedContractEvent<SetFeeAdministratorEvent.InputTuple, SetFeeAdministratorEvent.OutputTuple, SetFeeAdministratorEvent.OutputObject>;
        SetFeeAdministrator(address): TypedContractEvent<SetFeeAdministratorEvent.InputTuple, SetFeeAdministratorEvent.OutputTuple, SetFeeAdministratorEvent.OutputObject>;
        SetGovernanceFee: TypedContractEvent<SetGovernanceFeeEvent.InputTuple, SetGovernanceFeeEvent.OutputTuple, SetGovernanceFeeEvent.OutputObject>;
        SetGovernanceFee(uint256): TypedContractEvent<SetGovernanceFeeEvent.InputTuple, SetGovernanceFeeEvent.OutputTuple, SetGovernanceFeeEvent.OutputObject>;
        SetVaultFee: TypedContractEvent<SetVaultFeeEvent.InputTuple, SetVaultFeeEvent.OutputTuple, SetVaultFeeEvent.OutputObject>;
        SetVaultFee(uint256): TypedContractEvent<SetVaultFeeEvent.InputTuple, SetVaultFeeEvent.OutputTuple, SetVaultFeeEvent.OutputObject>;
        SetWeights: TypedContractEvent<SetWeightsEvent.InputTuple, SetWeightsEvent.OutputTuple, SetWeightsEvent.OutputObject>;
        SetWeights(uint256,uint256[]): TypedContractEvent<SetWeightsEvent.InputTuple, SetWeightsEvent.OutputTuple, SetWeightsEvent.OutputObject>;
        VaultDeposit: TypedContractEvent<VaultDepositEvent.InputTuple, VaultDepositEvent.OutputTuple, VaultDepositEvent.OutputObject>;
        VaultDeposit(address,uint256,uint256[]): TypedContractEvent<VaultDepositEvent.InputTuple, VaultDepositEvent.OutputTuple, VaultDepositEvent.OutputObject>;
        VaultWithdraw: TypedContractEvent<VaultWithdrawEvent.InputTuple, VaultWithdrawEvent.OutputTuple, VaultWithdrawEvent.OutputObject>;
        VaultWithdraw(address,uint256,uint256[]): TypedContractEvent<VaultWithdrawEvent.InputTuple, VaultWithdrawEvent.OutputTuple, VaultWithdrawEvent.OutputObject>;
    };
    finishSetup: TypedContractMethod<[], [void], "nonpayable">;
    getUnitCapacity: TypedContractMethod<[], [bigint], "view">;
    governanceFeeDestination: TypedContractMethod<[], [string], "view">;
    initializeSwapCurves: TypedContractMethod<[assets: AddressLike[], weights: BigNumberish[], amp: BigNumberish, depositor: AddressLike], [void], "nonpayable">;
    interface: VaultInterface;
    localSwap: TypedContractMethod<[fromAsset: AddressLike, toAsset: AddressLike, amount: BigNumberish, minOut: BigNumberish], [bigint], "nonpayable">;
    multicall: TypedContractMethod<[data: BytesLike[]], [string[]], "nonpayable">;
    name: TypedContractMethod<[], [string], "view">;
    nonces: TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
    onSendAssetFailure: TypedContractMethod<[channelId: BytesLike, toAccount: BytesLike, U: BigNumberish, escrowAmount: BigNumberish, escrowToken: AddressLike, blockNumberMod: BigNumberish], [void], "nonpayable">;
    onSendAssetSuccess: TypedContractMethod<[channelId: BytesLike, toAccount: BytesLike, U: BigNumberish, escrowAmount: BigNumberish, escrowToken: AddressLike, blockNumberMod: BigNumberish], [void], "nonpayable">;
    onSendLiquidityFailure: TypedContractMethod<[channelId: BytesLike, toAccount: BytesLike, U: BigNumberish, escrowAmount: BigNumberish, blockNumberMod: BigNumberish], [void], "nonpayable">;
    onSendLiquiditySuccess: TypedContractMethod<[channelId: BytesLike, toAccount: BytesLike, U: BigNumberish, escrowAmount: BigNumberish, blockNumberMod: BigNumberish], [void], "nonpayable">;
    permit: TypedContractMethod<[owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike], [void], "nonpayable">;
    ready: TypedContractMethod<[], [boolean], "view">;
    receiveAsset: TypedContractMethod<[channelId: BytesLike, fromVault: BytesLike, toAssetIndex: BigNumberish, toAccount: AddressLike, U: BigNumberish, minOut: BigNumberish, fromAmount: BigNumberish, fromAsset: BytesLike, blockNumberMod: BigNumberish], [bigint], "nonpayable">;
    receiveLiquidity: TypedContractMethod<[channelId: BytesLike, fromVault: BytesLike, toAccount: AddressLike, U: BigNumberish, minVaultTokens: BigNumberish, minReferenceAsset: BigNumberish, fromAmount: BigNumberish, blockNumberMod: BigNumberish], [bigint], "nonpayable">;
    releaseUnderwriteAsset: TypedContractMethod<[refundTo: AddressLike, identifier: BytesLike, escrowAmount: BigNumberish, escrowToken: AddressLike], [void], "nonpayable">;
    runner: null | ContractRunner;
    sendAsset: TypedContractMethod<[routeDescription: RouteDescriptionStruct, fromAsset: AddressLike, toAssetIndex: BigNumberish, amount: BigNumberish, minOut: BigNumberish, fallbackUser: AddressLike, underwriteIncentiveX16: BigNumberish, calldata_: BytesLike], [bigint], "payable">;
    sendAssetFixedUnit: TypedContractMethod<[routeDescription: RouteDescriptionStruct, fromAsset: AddressLike, toAssetIndex: BigNumberish, amount: BigNumberish, minOut: BigNumberish, minU: BigNumberish, fallbackUser: AddressLike, underwriteIncentiveX16: BigNumberish, calldata_: BytesLike], [bigint], "payable">;
    sendLiquidity: TypedContractMethod<[routeDescription: RouteDescriptionStruct, vaultTokens: BigNumberish, minOut: [BigNumberish, BigNumberish], fallbackUser: AddressLike, calldata_: BytesLike], [bigint], "payable">;
    setConnection: TypedContractMethod<[channelId: BytesLike, toVault: BytesLike, state: boolean], [void], "nonpayable">;
    setFeeAdministrator: TypedContractMethod<[administrator: AddressLike], [void], "nonpayable">;
    setGovernanceFee: TypedContractMethod<[fee: BigNumberish], [void], "nonpayable">;
    setVaultFee: TypedContractMethod<[fee: BigNumberish], [void], "nonpayable">;
    setup: TypedContractMethod<[name_: string, symbol_: string, chainInterface: AddressLike, vaultFee: BigNumberish, governanceFee: BigNumberish, feeAdministrator: AddressLike, setupMaster: AddressLike], [void], "nonpayable">;
    symbol: TypedContractMethod<[], [string], "view">;
    target: string | Addressable;
    totalSupply: TypedContractMethod<[], [bigint], "view">;
    transfer: TypedContractMethod<[to: AddressLike, amount: BigNumberish], [boolean], "nonpayable">;
    transferFrom: TypedContractMethod<[from: AddressLike, to: AddressLike, amount: BigNumberish], [boolean], "nonpayable">;
    underwriteAsset: TypedContractMethod<[identifier: BytesLike, toAsset: AddressLike, U: BigNumberish, minOut: BigNumberish], [bigint], "nonpayable">;
    withdrawAll: TypedContractMethod<[baseAmount: BigNumberish, minOut: BigNumberish[]], [bigint[]], "nonpayable">;
    withdrawMixed: TypedContractMethod<[vaultTokens: BigNumberish, withdrawRatio: BigNumberish[], minOut: BigNumberish[]], [bigint[]], "nonpayable">;
    addListener(event, listener): Promise<Vault>;
    attach(target): BaseContract;
    connect(runner?): Vault;
    deploymentTransaction(): null | ContractTransactionResponse;
    emit(event, ...args): Promise<boolean>;
    getAddress(): Promise<string>;
    getDeployedCode(): Promise<null | string>;
    getEvent(key): TypedContractEvent<[], [], FinishSetupEvent.OutputObject>;
    getEvent(key): TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
    getEvent(key): TypedContractEvent<LocalSwapEvent.InputTuple, LocalSwapEvent.OutputTuple, LocalSwapEvent.OutputObject>;
    getEvent(key): TypedContractEvent<ReceiveAssetEvent.InputTuple, ReceiveAssetEvent.OutputTuple, ReceiveAssetEvent.OutputObject>;
    getEvent(key): TypedContractEvent<ReceiveLiquidityEvent.InputTuple, ReceiveLiquidityEvent.OutputTuple, ReceiveLiquidityEvent.OutputObject>;
    getEvent(key): TypedContractEvent<SendAssetEvent.InputTuple, SendAssetEvent.OutputTuple, SendAssetEvent.OutputObject>;
    getEvent(key): TypedContractEvent<SendAssetFailureEvent.InputTuple, SendAssetFailureEvent.OutputTuple, SendAssetFailureEvent.OutputObject>;
    getEvent(key): TypedContractEvent<SendAssetSuccessEvent.InputTuple, SendAssetSuccessEvent.OutputTuple, SendAssetSuccessEvent.OutputObject>;
    getEvent(key): TypedContractEvent<SendLiquidityEvent.InputTuple, SendLiquidityEvent.OutputTuple, SendLiquidityEvent.OutputObject>;
    getEvent(key): TypedContractEvent<SendLiquidityFailureEvent.InputTuple, SendLiquidityFailureEvent.OutputTuple, SendLiquidityFailureEvent.OutputObject>;
    getEvent(key): TypedContractEvent<SendLiquiditySuccessEvent.InputTuple, SendLiquiditySuccessEvent.OutputTuple, SendLiquiditySuccessEvent.OutputObject>;
    getEvent(key): TypedContractEvent<SetAmplificationEvent.InputTuple, SetAmplificationEvent.OutputTuple, SetAmplificationEvent.OutputObject>;
    getEvent(key): TypedContractEvent<SetConnectionEvent.InputTuple, SetConnectionEvent.OutputTuple, SetConnectionEvent.OutputObject>;
    getEvent(key): TypedContractEvent<SetFeeAdministratorEvent.InputTuple, SetFeeAdministratorEvent.OutputTuple, SetFeeAdministratorEvent.OutputObject>;
    getEvent(key): TypedContractEvent<SetGovernanceFeeEvent.InputTuple, SetGovernanceFeeEvent.OutputTuple, SetGovernanceFeeEvent.OutputObject>;
    getEvent(key): TypedContractEvent<SetVaultFeeEvent.InputTuple, SetVaultFeeEvent.OutputTuple, SetVaultFeeEvent.OutputObject>;
    getEvent(key): TypedContractEvent<SetWeightsEvent.InputTuple, SetWeightsEvent.OutputTuple, SetWeightsEvent.OutputObject>;
    getEvent(key): TypedContractEvent<VaultDepositEvent.InputTuple, VaultDepositEvent.OutputTuple, VaultDepositEvent.OutputObject>;
    getEvent(key): TypedContractEvent<VaultWithdrawEvent.InputTuple, VaultWithdrawEvent.OutputTuple, VaultWithdrawEvent.OutputObject>;
    getFunction<T>(key): T;
    getFunction(nameOrSignature): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[arg0: BytesLike], [string], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[arg0: BigNumberish], [string], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[arg0: BytesLike, arg1: BytesLike], [boolean], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[arg0: AddressLike, arg1: AddressLike], [bigint], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[spender: AddressLike, amount: BigNumberish], [boolean], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[from: AddressLike, to: AddressLike, amount: BigNumberish], [bigint], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[to: AddressLike, U: BigNumberish], [bigint], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[from: AddressLike, amount: BigNumberish], [bigint], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[identifier: BytesLike, U: BigNumberish, escrowAmount: BigNumberish, escrowToken: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[tokenAmounts: BigNumberish[], minOut: BigNumberish], [bigint], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[], [void], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[assets: AddressLike[], weights: BigNumberish[], amp: BigNumberish, depositor: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[fromAsset: AddressLike, toAsset: AddressLike, amount: BigNumberish, minOut: BigNumberish], [bigint], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[data: BytesLike[]], [string[]], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[channelId: BytesLike, toAccount: BytesLike, U: BigNumberish, escrowAmount: BigNumberish, escrowToken: AddressLike, blockNumberMod: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[channelId: BytesLike, toAccount: BytesLike, U: BigNumberish, escrowAmount: BigNumberish, escrowToken: AddressLike, blockNumberMod: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[channelId: BytesLike, toAccount: BytesLike, U: BigNumberish, escrowAmount: BigNumberish, blockNumberMod: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[channelId: BytesLike, toAccount: BytesLike, U: BigNumberish, escrowAmount: BigNumberish, blockNumberMod: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike], [void], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[], [boolean], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[channelId: BytesLike, fromVault: BytesLike, toAssetIndex: BigNumberish, toAccount: AddressLike, U: BigNumberish, minOut: BigNumberish, fromAmount: BigNumberish, fromAsset: BytesLike, blockNumberMod: BigNumberish], [bigint], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[channelId: BytesLike, fromVault: BytesLike, toAccount: AddressLike, U: BigNumberish, minVaultTokens: BigNumberish, minReferenceAsset: BigNumberish, fromAmount: BigNumberish, blockNumberMod: BigNumberish], [bigint], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[refundTo: AddressLike, identifier: BytesLike, escrowAmount: BigNumberish, escrowToken: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[routeDescription: RouteDescriptionStruct, fromAsset: AddressLike, toAssetIndex: BigNumberish, amount: BigNumberish, minOut: BigNumberish, fallbackUser: AddressLike, underwriteIncentiveX16: BigNumberish, calldata_: BytesLike], [bigint], "payable">;
    getFunction(nameOrSignature): TypedContractMethod<[routeDescription: RouteDescriptionStruct, fromAsset: AddressLike, toAssetIndex: BigNumberish, amount: BigNumberish, minOut: BigNumberish, minU: BigNumberish, fallbackUser: AddressLike, underwriteIncentiveX16: BigNumberish, calldata_: BytesLike], [bigint], "payable">;
    getFunction(nameOrSignature): TypedContractMethod<[routeDescription: RouteDescriptionStruct, vaultTokens: BigNumberish, minOut: [BigNumberish, BigNumberish], fallbackUser: AddressLike, calldata_: BytesLike], [bigint], "payable">;
    getFunction(nameOrSignature): TypedContractMethod<[channelId: BytesLike, toVault: BytesLike, state: boolean], [void], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[administrator: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[fee: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[fee: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[name_: string, symbol_: string, chainInterface: AddressLike, vaultFee: BigNumberish, governanceFee: BigNumberish, feeAdministrator: AddressLike, setupMaster: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature): TypedContractMethod<[to: AddressLike, amount: BigNumberish], [boolean], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[from: AddressLike, to: AddressLike, amount: BigNumberish], [boolean], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[identifier: BytesLike, toAsset: AddressLike, U: BigNumberish, minOut: BigNumberish], [bigint], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[baseAmount: BigNumberish, minOut: BigNumberish[]], [bigint[]], "nonpayable">;
    getFunction(nameOrSignature): TypedContractMethod<[vaultTokens: BigNumberish, withdrawRatio: BigNumberish[], minOut: BigNumberish[]], [bigint[]], "nonpayable">;
    listenerCount(event?): Promise<number>;
    listeners<TCEvent>(event): Promise<TypedListener<TCEvent>[]>;
    listeners(eventName?): Promise<Listener[]>;
    off(event, listener?): Promise<Vault>;
    on<TCEvent>(event, listener): Promise<Vault>;
    on<TCEvent>(filter, listener): Promise<Vault>;
    once<TCEvent>(event, listener): Promise<Vault>;
    once<TCEvent>(filter, listener): Promise<Vault>;
    queryFilter<TCEvent>(event, fromBlockOrBlockhash?, toBlock?): Promise<TypedEventLog<TCEvent>[]>;
    queryFilter<TCEvent>(filter, fromBlockOrBlockhash?, toBlock?): Promise<TypedEventLog<TCEvent>[]>;
    queryTransaction(hash): Promise<EventLog[]>;
    removeAllListeners<TCEvent>(event?): Promise<Vault>;
    removeListener(event, listener): Promise<Vault>;
    waitForDeployment(): Promise<Vault>;
}

Hierarchy

  • BaseContract
    • Vault

Properties

DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">
FACTORY: TypedContractMethod<[], [string], "view">
MATHLIB: TypedContractMethod<[], [string], "view">
[internal]: any

@_ignore:

_adjustmentTarget: TypedContractMethod<[], [bigint], "view">
_chainInterface: TypedContractMethod<[], [string], "view">
_escrowLookup: TypedContractMethod<[arg0: BytesLike], [string], "view">
_escrowedTokens: TypedContractMethod<[arg0: AddressLike], [bigint], "view">
_escrowedVaultTokens: TypedContractMethod<[], [bigint], "view">
_feeAdministrator: TypedContractMethod<[], [string], "view">
_governanceFeeShare: TypedContractMethod<[], [bigint], "view">
_lastModificationTime: TypedContractMethod<[], [bigint], "view">
_maxUnitCapacity: TypedContractMethod<[], [bigint], "view">
_setupMaster: TypedContractMethod<[], [string], "view">
_tokenIndexing: TypedContractMethod<[arg0: BigNumberish], [string], "view">
_vaultConnection: TypedContractMethod<[arg0: BytesLike, arg1: BytesLike], [boolean], "view">
_vaultFee: TypedContractMethod<[], [bigint], "view">
_weight: TypedContractMethod<[arg0: AddressLike], [bigint], "view">
allowance: TypedContractMethod<[arg0: AddressLike, arg1: AddressLike], [bigint], "view">
approve: TypedContractMethod<[spender: AddressLike, amount: BigNumberish], [boolean], "nonpayable">
balanceOf: TypedContractMethod<[arg0: AddressLike], [bigint], "view">
calcLocalSwap: TypedContractMethod<[from: AddressLike, to: AddressLike, amount: BigNumberish], [bigint], "view">
calcReceiveAsset: TypedContractMethod<[to: AddressLike, U: BigNumberish], [bigint], "view">
calcSendAsset: TypedContractMethod<[from: AddressLike, amount: BigNumberish], [bigint], "view">
decimals: TypedContractMethod<[], [bigint], "view">
deleteUnderwriteAsset: TypedContractMethod<[identifier: BytesLike, U: BigNumberish, escrowAmount: BigNumberish, escrowToken: AddressLike], [void], "nonpayable">
depositMixed: TypedContractMethod<[tokenAmounts: BigNumberish[], minOut: BigNumberish], [bigint], "nonpayable">
factoryOwner: TypedContractMethod<[], [string], "view">
fallback: null | WrappedFallback

The fallback or receive function if any.

filters: {
    FinishSetup: TypedContractEvent<[], [], FinishSetupEvent.OutputObject>;
    FinishSetup(): TypedContractEvent<[], [], FinishSetupEvent.OutputObject>;
    Initialized: TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
    Initialized(uint8): TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
    LocalSwap: TypedContractEvent<LocalSwapEvent.InputTuple, LocalSwapEvent.OutputTuple, LocalSwapEvent.OutputObject>;
    LocalSwap(address,address,address,uint256,uint256): TypedContractEvent<LocalSwapEvent.InputTuple, LocalSwapEvent.OutputTuple, LocalSwapEvent.OutputObject>;
    ReceiveAsset: TypedContractEvent<ReceiveAssetEvent.InputTuple, ReceiveAssetEvent.OutputTuple, ReceiveAssetEvent.OutputObject>;
    ReceiveAsset(bytes32,bytes,address,address,uint256,uint256,uint256,bytes,uint32): TypedContractEvent<ReceiveAssetEvent.InputTuple, ReceiveAssetEvent.OutputTuple, ReceiveAssetEvent.OutputObject>;
    ReceiveLiquidity: TypedContractEvent<ReceiveLiquidityEvent.InputTuple, ReceiveLiquidityEvent.OutputTuple, ReceiveLiquidityEvent.OutputObject>;
    ReceiveLiquidity(bytes32,bytes,address,uint256,uint256,uint256,uint256): TypedContractEvent<ReceiveLiquidityEvent.InputTuple, ReceiveLiquidityEvent.OutputTuple, ReceiveLiquidityEvent.OutputObject>;
    SendAsset: TypedContractEvent<SendAssetEvent.InputTuple, SendAssetEvent.OutputTuple, SendAssetEvent.OutputObject>;
    SendAsset(bytes32,bytes,bytes,address,uint8,uint256,uint256,uint256,uint256,uint16): TypedContractEvent<SendAssetEvent.InputTuple, SendAssetEvent.OutputTuple, SendAssetEvent.OutputObject>;
    SendAssetFailure: TypedContractEvent<SendAssetFailureEvent.InputTuple, SendAssetFailureEvent.OutputTuple, SendAssetFailureEvent.OutputObject>;
    SendAssetFailure(bytes32,bytes,uint256,uint256,address,uint32): TypedContractEvent<SendAssetFailureEvent.InputTuple, SendAssetFailureEvent.OutputTuple, SendAssetFailureEvent.OutputObject>;
    SendAssetSuccess: TypedContractEvent<SendAssetSuccessEvent.InputTuple, SendAssetSuccessEvent.OutputTuple, SendAssetSuccessEvent.OutputObject>;
    SendAssetSuccess(bytes32,bytes,uint256,uint256,address,uint32): TypedContractEvent<SendAssetSuccessEvent.InputTuple, SendAssetSuccessEvent.OutputTuple, SendAssetSuccessEvent.OutputObject>;
    SendLiquidity: TypedContractEvent<SendLiquidityEvent.InputTuple, SendLiquidityEvent.OutputTuple, SendLiquidityEvent.OutputObject>;
    SendLiquidity(bytes32,bytes,bytes,uint256,uint256[2],uint256): TypedContractEvent<SendLiquidityEvent.InputTuple, SendLiquidityEvent.OutputTuple, SendLiquidityEvent.OutputObject>;
    SendLiquidityFailure: TypedContractEvent<SendLiquidityFailureEvent.InputTuple, SendLiquidityFailureEvent.OutputTuple, SendLiquidityFailureEvent.OutputObject>;
    SendLiquidityFailure(bytes32,bytes,uint256,uint256,uint32): TypedContractEvent<SendLiquidityFailureEvent.InputTuple, SendLiquidityFailureEvent.OutputTuple, SendLiquidityFailureEvent.OutputObject>;
    SendLiquiditySuccess: TypedContractEvent<SendLiquiditySuccessEvent.InputTuple, SendLiquiditySuccessEvent.OutputTuple, SendLiquiditySuccessEvent.OutputObject>;
    SendLiquiditySuccess(bytes32,bytes,uint256,uint256,uint32): TypedContractEvent<SendLiquiditySuccessEvent.InputTuple, SendLiquiditySuccessEvent.OutputTuple, SendLiquiditySuccessEvent.OutputObject>;
    SetAmplification: TypedContractEvent<SetAmplificationEvent.InputTuple, SetAmplificationEvent.OutputTuple, SetAmplificationEvent.OutputObject>;
    SetAmplification(uint256,uint256): TypedContractEvent<SetAmplificationEvent.InputTuple, SetAmplificationEvent.OutputTuple, SetAmplificationEvent.OutputObject>;
    SetConnection: TypedContractEvent<SetConnectionEvent.InputTuple, SetConnectionEvent.OutputTuple, SetConnectionEvent.OutputObject>;
    SetConnection(bytes32,bytes,bool): TypedContractEvent<SetConnectionEvent.InputTuple, SetConnectionEvent.OutputTuple, SetConnectionEvent.OutputObject>;
    SetFeeAdministrator: TypedContractEvent<SetFeeAdministratorEvent.InputTuple, SetFeeAdministratorEvent.OutputTuple, SetFeeAdministratorEvent.OutputObject>;
    SetFeeAdministrator(address): TypedContractEvent<SetFeeAdministratorEvent.InputTuple, SetFeeAdministratorEvent.OutputTuple, SetFeeAdministratorEvent.OutputObject>;
    SetGovernanceFee: TypedContractEvent<SetGovernanceFeeEvent.InputTuple, SetGovernanceFeeEvent.OutputTuple, SetGovernanceFeeEvent.OutputObject>;
    SetGovernanceFee(uint256): TypedContractEvent<SetGovernanceFeeEvent.InputTuple, SetGovernanceFeeEvent.OutputTuple, SetGovernanceFeeEvent.OutputObject>;
    SetVaultFee: TypedContractEvent<SetVaultFeeEvent.InputTuple, SetVaultFeeEvent.OutputTuple, SetVaultFeeEvent.OutputObject>;
    SetVaultFee(uint256): TypedContractEvent<SetVaultFeeEvent.InputTuple, SetVaultFeeEvent.OutputTuple, SetVaultFeeEvent.OutputObject>;
    SetWeights: TypedContractEvent<SetWeightsEvent.InputTuple, SetWeightsEvent.OutputTuple, SetWeightsEvent.OutputObject>;
    SetWeights(uint256,uint256[]): TypedContractEvent<SetWeightsEvent.InputTuple, SetWeightsEvent.OutputTuple, SetWeightsEvent.OutputObject>;
    VaultDeposit: TypedContractEvent<VaultDepositEvent.InputTuple, VaultDepositEvent.OutputTuple, VaultDepositEvent.OutputObject>;
    VaultDeposit(address,uint256,uint256[]): TypedContractEvent<VaultDepositEvent.InputTuple, VaultDepositEvent.OutputTuple, VaultDepositEvent.OutputObject>;
    VaultWithdraw: TypedContractEvent<VaultWithdrawEvent.InputTuple, VaultWithdrawEvent.OutputTuple, VaultWithdrawEvent.OutputObject>;
    VaultWithdraw(address,uint256,uint256[]): TypedContractEvent<VaultWithdrawEvent.InputTuple, VaultWithdrawEvent.OutputTuple, VaultWithdrawEvent.OutputObject>;
}

Type declaration

finishSetup: TypedContractMethod<[], [void], "nonpayable">
getUnitCapacity: TypedContractMethod<[], [bigint], "view">
governanceFeeDestination: TypedContractMethod<[], [string], "view">
initializeSwapCurves: TypedContractMethod<[assets: AddressLike[], weights: BigNumberish[], amp: BigNumberish, depositor: AddressLike], [void], "nonpayable">
interface: VaultInterface
localSwap: TypedContractMethod<[fromAsset: AddressLike, toAsset: AddressLike, amount: BigNumberish, minOut: BigNumberish], [bigint], "nonpayable">
multicall: TypedContractMethod<[data: BytesLike[]], [string[]], "nonpayable">
name: TypedContractMethod<[], [string], "view">
nonces: TypedContractMethod<[arg0: AddressLike], [bigint], "view">
onSendAssetFailure: TypedContractMethod<[channelId: BytesLike, toAccount: BytesLike, U: BigNumberish, escrowAmount: BigNumberish, escrowToken: AddressLike, blockNumberMod: BigNumberish], [void], "nonpayable">
onSendAssetSuccess: TypedContractMethod<[channelId: BytesLike, toAccount: BytesLike, U: BigNumberish, escrowAmount: BigNumberish, escrowToken: AddressLike, blockNumberMod: BigNumberish], [void], "nonpayable">
onSendLiquidityFailure: TypedContractMethod<[channelId: BytesLike, toAccount: BytesLike, U: BigNumberish, escrowAmount: BigNumberish, blockNumberMod: BigNumberish], [void], "nonpayable">
onSendLiquiditySuccess: TypedContractMethod<[channelId: BytesLike, toAccount: BytesLike, U: BigNumberish, escrowAmount: BigNumberish, blockNumberMod: BigNumberish], [void], "nonpayable">
permit: TypedContractMethod<[owner: AddressLike, spender: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike], [void], "nonpayable">
ready: TypedContractMethod<[], [boolean], "view">
receiveAsset: TypedContractMethod<[channelId: BytesLike, fromVault: BytesLike, toAssetIndex: BigNumberish, toAccount: AddressLike, U: BigNumberish, minOut: BigNumberish, fromAmount: BigNumberish, fromAsset: BytesLike, blockNumberMod: BigNumberish], [bigint], "nonpayable">
receiveLiquidity: TypedContractMethod<[channelId: BytesLike, fromVault: BytesLike, toAccount: AddressLike, U: BigNumberish, minVaultTokens: BigNumberish, minReferenceAsset: BigNumberish, fromAmount: BigNumberish, blockNumberMod: BigNumberish], [bigint], "nonpayable">
releaseUnderwriteAsset: TypedContractMethod<[refundTo: AddressLike, identifier: BytesLike, escrowAmount: BigNumberish, escrowToken: AddressLike], [void], "nonpayable">
runner: null | ContractRunner

The connected runner. This is generally a [[Provider]] or a [[Signer]], which dictates what operations are supported.

For example, a Contract connected to a [[Provider]] may only execute read-only operations.

sendAsset: TypedContractMethod<[routeDescription: RouteDescriptionStruct, fromAsset: AddressLike, toAssetIndex: BigNumberish, amount: BigNumberish, minOut: BigNumberish, fallbackUser: AddressLike, underwriteIncentiveX16: BigNumberish, calldata_: BytesLike], [bigint], "payable">
sendAssetFixedUnit: TypedContractMethod<[routeDescription: RouteDescriptionStruct, fromAsset: AddressLike, toAssetIndex: BigNumberish, amount: BigNumberish, minOut: BigNumberish, minU: BigNumberish, fallbackUser: AddressLike, underwriteIncentiveX16: BigNumberish, calldata_: BytesLike], [bigint], "payable">
sendLiquidity: TypedContractMethod<[routeDescription: RouteDescriptionStruct, vaultTokens: BigNumberish, minOut: [BigNumberish, BigNumberish], fallbackUser: AddressLike, calldata_: BytesLike], [bigint], "payable">
setConnection: TypedContractMethod<[channelId: BytesLike, toVault: BytesLike, state: boolean], [void], "nonpayable">
setFeeAdministrator: TypedContractMethod<[administrator: AddressLike], [void], "nonpayable">
setGovernanceFee: TypedContractMethod<[fee: BigNumberish], [void], "nonpayable">
setVaultFee: TypedContractMethod<[fee: BigNumberish], [void], "nonpayable">
setup: TypedContractMethod<[name_: string, symbol_: string, chainInterface: AddressLike, vaultFee: BigNumberish, governanceFee: BigNumberish, feeAdministrator: AddressLike, setupMaster: AddressLike], [void], "nonpayable">
symbol: TypedContractMethod<[], [string], "view">
target: string | Addressable

The target to connect to.

This can be an address, ENS name or any [[Addressable]], such as another contract. To get the resovled address, use the getAddress method.

totalSupply: TypedContractMethod<[], [bigint], "view">
transfer: TypedContractMethod<[to: AddressLike, amount: BigNumberish], [boolean], "nonpayable">
transferFrom: TypedContractMethod<[from: AddressLike, to: AddressLike, amount: BigNumberish], [boolean], "nonpayable">
underwriteAsset: TypedContractMethod<[identifier: BytesLike, toAsset: AddressLike, U: BigNumberish, minOut: BigNumberish], [bigint], "nonpayable">
withdrawAll: TypedContractMethod<[baseAmount: BigNumberish, minOut: BigNumberish[]], [bigint[]], "nonpayable">
withdrawMixed: TypedContractMethod<[vaultTokens: BigNumberish, withdrawRatio: BigNumberish[], minOut: BigNumberish[]], [bigint[]], "nonpayable">

Methods

  • Alias for [on].

    Parameters

    • event: ContractEventName
    • listener: Listener

    Returns Promise<Vault>

  • Return a new Contract instance with the same ABI and runner, but a different %%target%%.

    Parameters

    • target: string | Addressable

    Returns BaseContract

  • Return the transaction used to deploy this contract.

    This is only available if this instance was returned from a [[ContractFactory]].

    Returns null | ContractTransactionResponse

  • Emit an %%event%% calling all listeners with %%args%%.

    Resolves to true if any listeners were called.

    Parameters

    • event: ContractEventName
    • Rest ...args: any[]

    Returns Promise<boolean>

  • Return the resolved address of this Contract.

    Returns Promise<string>

  • Return the deployed bytecode or null if no bytecode is found.

    Returns Promise<null | string>

  • Resolves to the number of listeners of %%event%% or the total number of listeners if unspecified.

    Parameters

    • Optional event: ContractEventName

    Returns Promise<number>

  • Remove the %%listener%% from the listeners for %%event%% or remove all listeners if unspecified.

    Parameters

    • event: ContractEventName
    • Optional listener: Listener

    Returns Promise<Vault>

  • @_ignore:

    Parameters

    • hash: string

    Returns Promise<EventLog[]>

  • Alias for [off].

    Parameters

    • event: ContractEventName
    • listener: Listener

    Returns Promise<Vault>