UNPKG

@d8x/perpetuals-sdk

Version:

Node TypeScript SDK for D8X Perpetual Futures

1,147 lines 66.9 kB
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 IPerpetualOrder { type OrderStruct = { leverageTDR: BigNumberish; brokerFeeTbps: BigNumberish; iPerpetualId: BigNumberish; traderAddr: AddressLike; executionTimestamp: BigNumberish; brokerAddr: AddressLike; submittedTimestamp: BigNumberish; flags: BigNumberish; iDeadline: BigNumberish; executorAddr: AddressLike; fAmount: BigNumberish; fLimitPrice: BigNumberish; fTriggerPrice: BigNumberish; brokerSignature: BytesLike; }; type OrderStructOutput = [ leverageTDR: bigint, brokerFeeTbps: bigint, iPerpetualId: bigint, traderAddr: string, executionTimestamp: bigint, brokerAddr: string, submittedTimestamp: bigint, flags: bigint, iDeadline: bigint, executorAddr: string, fAmount: bigint, fLimitPrice: bigint, fTriggerPrice: bigint, brokerSignature: string ] & { leverageTDR: bigint; brokerFeeTbps: bigint; iPerpetualId: bigint; traderAddr: string; executionTimestamp: bigint; brokerAddr: string; submittedTimestamp: bigint; flags: bigint; iDeadline: bigint; executorAddr: string; fAmount: bigint; fLimitPrice: bigint; fTriggerPrice: bigint; brokerSignature: string; }; } export interface PerpetualManagerProxyInterface extends Interface { getFunction(nameOrSignature: "brokerVolumeEMA" | "brokerVolumeFeesTbps" | "brokerVolumeTiers" | "getImplementation" | "getModuleImplementationAddress" | "getProxyOwner" | "governance" | "lastBaseToUSDUpdateTs" | "liquidityProvisionIsPaused" | "maintainer" | "pause" | "paused" | "perpBaseToUSDOracle" | "perpToLastBaseToUSD" | "setImplementation" | "setImplementationCrossModules" | "setProxyOwner" | "traderVolumeEMA" | "traderVolumeFeesTbps" | "traderVolumeTiers" | "transferGovernance" | "transferMaintainer" | "unpause"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "BrokerLotsTransferred" | "BrokerVolumeTransferred" | "Clear" | "DistributeFees" | "GovernanceTransferred" | "ImplementationChanged" | "Liquidate" | "LiquidityAdded" | "LiquidityPoolCreated" | "LiquidityProvisionPaused" | "LiquidityRemoved" | "LiquidityWithdrawalInitiated" | "MaintainerTransferred" | "Paused" | "PerpetualCreated" | "PerpetualLimitOrderCancelled" | "ProxyOwnershipTransferred" | "RunLiquidityPool" | "SetBlockDelay" | "SetBrokerDesignations" | "SetBrokerTiers" | "SetBrokerVolumeTiers" | "SetClearedState" | "SetDelegate" | "SetEmergencyState" | "SetNormalState" | "SetOracles" | "SetParameter" | "SetParameterPair" | "SetPerpetualBaseParameters" | "SetPerpetualRiskParameters" | "SetPoolParameter" | "SetTraderTiers" | "SetTraderVolumeTiers" | "SetUtilityToken" | "Settle" | "SettleState" | "SettlementComplete" | "TokensDeposited" | "TokensWithdrawn" | "Trade" | "TransferAddressTo" | "Unpaused" | "UpdateBrokerAddedCash" | "UpdateFundingRate" | "UpdateMarginAccount" | "UpdateMarkPrice"): EventFragment; encodeFunctionData(functionFragment: "brokerVolumeEMA", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "brokerVolumeFeesTbps", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "brokerVolumeTiers", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getImplementation", values: [BytesLike]): string; encodeFunctionData(functionFragment: "getModuleImplementationAddress", values: [string]): string; encodeFunctionData(functionFragment: "getProxyOwner", values?: undefined): string; encodeFunctionData(functionFragment: "governance", values?: undefined): string; encodeFunctionData(functionFragment: "lastBaseToUSDUpdateTs", values?: undefined): string; encodeFunctionData(functionFragment: "liquidityProvisionIsPaused", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "maintainer", values?: undefined): string; encodeFunctionData(functionFragment: "pause", values?: undefined): string; encodeFunctionData(functionFragment: "paused", values?: undefined): string; encodeFunctionData(functionFragment: "perpBaseToUSDOracle", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "perpToLastBaseToUSD", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setImplementation", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setImplementationCrossModules", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setProxyOwner", values: [AddressLike]): string; encodeFunctionData(functionFragment: "traderVolumeEMA", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "traderVolumeFeesTbps", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "traderVolumeTiers", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "transferGovernance", values: [AddressLike]): string; encodeFunctionData(functionFragment: "transferMaintainer", values: [AddressLike]): string; encodeFunctionData(functionFragment: "unpause", values?: undefined): string; decodeFunctionResult(functionFragment: "brokerVolumeEMA", data: BytesLike): Result; decodeFunctionResult(functionFragment: "brokerVolumeFeesTbps", data: BytesLike): Result; decodeFunctionResult(functionFragment: "brokerVolumeTiers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getImplementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getModuleImplementationAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getProxyOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lastBaseToUSDUpdateTs", data: BytesLike): Result; decodeFunctionResult(functionFragment: "liquidityProvisionIsPaused", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maintainer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result; decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; decodeFunctionResult(functionFragment: "perpBaseToUSDOracle", data: BytesLike): Result; decodeFunctionResult(functionFragment: "perpToLastBaseToUSD", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setImplementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setImplementationCrossModules", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setProxyOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "traderVolumeEMA", data: BytesLike): Result; decodeFunctionResult(functionFragment: "traderVolumeFeesTbps", data: BytesLike): Result; decodeFunctionResult(functionFragment: "traderVolumeTiers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferGovernance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferMaintainer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result; } export declare namespace BrokerLotsTransferredEvent { type InputTuple = [ poolId: BigNumberish, oldOwner: AddressLike, newOwner: AddressLike, numLots: BigNumberish ]; type OutputTuple = [ poolId: bigint, oldOwner: string, newOwner: string, numLots: bigint ]; interface OutputObject { poolId: bigint; oldOwner: string; newOwner: string; numLots: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace BrokerVolumeTransferredEvent { type InputTuple = [ poolId: BigNumberish, oldOwner: AddressLike, newOwner: AddressLike, fVolume: BigNumberish ]; type OutputTuple = [ poolId: bigint, oldOwner: string, newOwner: string, fVolume: bigint ]; interface OutputObject { poolId: bigint; oldOwner: string; newOwner: string; fVolume: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace ClearEvent { type InputTuple = [perpetualId: BigNumberish, trader: AddressLike]; type OutputTuple = [perpetualId: bigint, trader: string]; interface OutputObject { perpetualId: bigint; trader: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace DistributeFeesEvent { type InputTuple = [ poolId: BigNumberish, perpetualId: BigNumberish, trader: AddressLike, protocolFeeCC: BigNumberish, participationFundFeeCC: BigNumberish ]; type OutputTuple = [ poolId: bigint, perpetualId: bigint, trader: string, protocolFeeCC: bigint, participationFundFeeCC: bigint ]; interface OutputObject { poolId: bigint; perpetualId: bigint; trader: string; protocolFeeCC: bigint; participationFundFeeCC: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace GovernanceTransferredEvent { type InputTuple = [ previousGovernance: AddressLike, newGovernance: AddressLike ]; type OutputTuple = [previousGovernance: string, newGovernance: string]; interface OutputObject { previousGovernance: string; newGovernance: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace ImplementationChangedEvent { type InputTuple = [ _sig: BytesLike, _oldImplementation: AddressLike, _newImplementation: AddressLike ]; type OutputTuple = [ _sig: string, _oldImplementation: string, _newImplementation: string ]; interface OutputObject { _sig: string; _oldImplementation: string; _newImplementation: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace LiquidateEvent { type InputTuple = [ perpetualId: BigNumberish, liquidator: AddressLike, trader: AddressLike, amountLiquidatedBC: BigNumberish, liquidationPrice: BigNumberish, newPositionSizeBC: BigNumberish, fFeeCC: BigNumberish, fPnlCC: BigNumberish ]; type OutputTuple = [ perpetualId: bigint, liquidator: string, trader: string, amountLiquidatedBC: bigint, liquidationPrice: bigint, newPositionSizeBC: bigint, fFeeCC: bigint, fPnlCC: bigint ]; interface OutputObject { perpetualId: bigint; liquidator: string; trader: string; amountLiquidatedBC: bigint; liquidationPrice: bigint; newPositionSizeBC: bigint; fFeeCC: bigint; fPnlCC: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace LiquidityAddedEvent { type InputTuple = [ poolId: BigNumberish, user: AddressLike, tokenAmount: BigNumberish, shareAmount: BigNumberish ]; type OutputTuple = [ poolId: bigint, user: string, tokenAmount: bigint, shareAmount: bigint ]; interface OutputObject { poolId: bigint; user: string; tokenAmount: bigint; shareAmount: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace LiquidityPoolCreatedEvent { type InputTuple = [ id: BigNumberish, marginTokenAddress: AddressLike, shareTokenAddress: AddressLike, iTargetPoolSizeUpdateTime: BigNumberish, fBrokerCollateralLotSize: BigNumberish ]; type OutputTuple = [ id: bigint, marginTokenAddress: string, shareTokenAddress: string, iTargetPoolSizeUpdateTime: bigint, fBrokerCollateralLotSize: bigint ]; interface OutputObject { id: bigint; marginTokenAddress: string; shareTokenAddress: string; iTargetPoolSizeUpdateTime: bigint; fBrokerCollateralLotSize: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace LiquidityProvisionPausedEvent { type InputTuple = [pauseOn: boolean, poolId: BigNumberish]; type OutputTuple = [pauseOn: boolean, poolId: bigint]; interface OutputObject { pauseOn: boolean; poolId: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace LiquidityRemovedEvent { type InputTuple = [ poolId: BigNumberish, user: AddressLike, tokenAmount: BigNumberish, shareAmount: BigNumberish ]; type OutputTuple = [ poolId: bigint, user: string, tokenAmount: bigint, shareAmount: bigint ]; interface OutputObject { poolId: bigint; user: string; tokenAmount: bigint; shareAmount: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace LiquidityWithdrawalInitiatedEvent { type InputTuple = [ poolId: BigNumberish, user: AddressLike, shareAmount: BigNumberish ]; type OutputTuple = [poolId: bigint, user: string, shareAmount: bigint]; interface OutputObject { poolId: bigint; user: string; shareAmount: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace MaintainerTransferredEvent { type InputTuple = [ previousMaintainer: AddressLike, newMaintainer: AddressLike ]; type OutputTuple = [previousMaintainer: string, newMaintainer: string]; interface OutputObject { previousMaintainer: string; newMaintainer: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace PausedEvent { type InputTuple = [account: AddressLike]; type OutputTuple = [account: string]; interface OutputObject { account: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace PerpetualCreatedEvent { type InputTuple = [ poolId: BigNumberish, id: BigNumberish, baseParams: BigNumberish[], underlyingRiskParams: [ BigNumberish, BigNumberish, BigNumberish, BigNumberish, BigNumberish ], defaultFundRiskParams: BigNumberish[], eCollateralCurrency: BigNumberish ]; type OutputTuple = [ poolId: bigint, id: bigint, baseParams: bigint[], underlyingRiskParams: [bigint, bigint, bigint, bigint, bigint], defaultFundRiskParams: bigint[], eCollateralCurrency: bigint ]; interface OutputObject { poolId: bigint; id: bigint; baseParams: bigint[]; underlyingRiskParams: [bigint, bigint, bigint, bigint, bigint]; defaultFundRiskParams: bigint[]; eCollateralCurrency: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace PerpetualLimitOrderCancelledEvent { type InputTuple = [perpetualId: BigNumberish, orderHash: BytesLike]; type OutputTuple = [perpetualId: bigint, orderHash: string]; interface OutputObject { perpetualId: bigint; orderHash: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace ProxyOwnershipTransferredEvent { type InputTuple = [_oldOwner: AddressLike, _newOwner: AddressLike]; type OutputTuple = [_oldOwner: string, _newOwner: string]; interface OutputObject { _oldOwner: string; _newOwner: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace RunLiquidityPoolEvent { type InputTuple = [_liqPoolID: BigNumberish]; type OutputTuple = [_liqPoolID: bigint]; interface OutputObject { _liqPoolID: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SetBlockDelayEvent { type InputTuple = [delay: BigNumberish]; type OutputTuple = [delay: bigint]; interface OutputObject { delay: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SetBrokerDesignationsEvent { type InputTuple = [designations: BigNumberish[], fees: BigNumberish[]]; type OutputTuple = [designations: bigint[], fees: bigint[]]; interface OutputObject { designations: bigint[]; fees: bigint[]; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SetBrokerTiersEvent { type InputTuple = [tiers: BigNumberish[], feesTbps: BigNumberish[]]; type OutputTuple = [tiers: bigint[], feesTbps: bigint[]]; interface OutputObject { tiers: bigint[]; feesTbps: bigint[]; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SetBrokerVolumeTiersEvent { type InputTuple = [tiers: BigNumberish[], feesTbps: BigNumberish[]]; type OutputTuple = [tiers: bigint[], feesTbps: bigint[]]; interface OutputObject { tiers: bigint[]; feesTbps: bigint[]; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SetClearedStateEvent { type InputTuple = [perpetualId: BigNumberish]; type OutputTuple = [perpetualId: bigint]; interface OutputObject { perpetualId: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SetDelegateEvent { type InputTuple = [ trader: AddressLike, delegate: AddressLike, index: BigNumberish ]; type OutputTuple = [trader: string, delegate: string, index: bigint]; interface OutputObject { trader: string; delegate: string; index: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SetEmergencyStateEvent { type InputTuple = [ perpetualId: BigNumberish, fSettlementMarkPremiumRate: BigNumberish, fSettlementS2Price: BigNumberish, fSettlementS3Price: BigNumberish ]; type OutputTuple = [ perpetualId: bigint, fSettlementMarkPremiumRate: bigint, fSettlementS2Price: bigint, fSettlementS3Price: bigint ]; interface OutputObject { perpetualId: bigint; fSettlementMarkPremiumRate: bigint; fSettlementS2Price: bigint; fSettlementS3Price: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SetNormalStateEvent { type InputTuple = [perpetualId: BigNumberish]; type OutputTuple = [perpetualId: bigint]; interface OutputObject { perpetualId: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SetOraclesEvent { type InputTuple = [ perpetualId: BigNumberish, baseQuoteS2: [BytesLike, BytesLike], baseQuoteS3: [BytesLike, BytesLike] ]; type OutputTuple = [ perpetualId: bigint, baseQuoteS2: [string, string], baseQuoteS3: [string, string] ]; interface OutputObject { perpetualId: bigint; baseQuoteS2: [string, string]; baseQuoteS3: [string, string]; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SetParameterEvent { type InputTuple = [ perpetualId: BigNumberish, name: string, value: BigNumberish ]; type OutputTuple = [perpetualId: bigint, name: string, value: bigint]; interface OutputObject { perpetualId: bigint; name: string; value: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SetParameterPairEvent { type InputTuple = [ perpetualId: BigNumberish, name: string, value1: BigNumberish, value2: BigNumberish ]; type OutputTuple = [ perpetualId: bigint, name: string, value1: bigint, value2: bigint ]; interface OutputObject { perpetualId: bigint; name: string; value1: bigint; value2: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SetPerpetualBaseParametersEvent { type InputTuple = [ perpetualId: BigNumberish, baseParams: BigNumberish[] ]; type OutputTuple = [perpetualId: bigint, baseParams: bigint[]]; interface OutputObject { perpetualId: bigint; baseParams: bigint[]; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SetPerpetualRiskParametersEvent { type InputTuple = [ perpetualId: BigNumberish, underlyingRiskParams: [ BigNumberish, BigNumberish, BigNumberish, BigNumberish, BigNumberish ], defaultFundRiskParams: BigNumberish[] ]; type OutputTuple = [ perpetualId: bigint, underlyingRiskParams: [bigint, bigint, bigint, bigint, bigint], defaultFundRiskParams: bigint[] ]; interface OutputObject { perpetualId: bigint; underlyingRiskParams: [bigint, bigint, bigint, bigint, bigint]; defaultFundRiskParams: bigint[]; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SetPoolParameterEvent { type InputTuple = [ poolId: BigNumberish, name: string, value: BigNumberish ]; type OutputTuple = [poolId: bigint, name: string, value: bigint]; interface OutputObject { poolId: bigint; name: string; value: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SetTraderTiersEvent { type InputTuple = [tiers: BigNumberish[], feesTbps: BigNumberish[]]; type OutputTuple = [tiers: bigint[], feesTbps: bigint[]]; interface OutputObject { tiers: bigint[]; feesTbps: bigint[]; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SetTraderVolumeTiersEvent { type InputTuple = [tiers: BigNumberish[], feesTbps: BigNumberish[]]; type OutputTuple = [tiers: bigint[], feesTbps: bigint[]]; interface OutputObject { tiers: bigint[]; feesTbps: bigint[]; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SetUtilityTokenEvent { type InputTuple = [tokenAddr: AddressLike]; type OutputTuple = [tokenAddr: string]; interface OutputObject { tokenAddr: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SettleEvent { type InputTuple = [ perpetualId: BigNumberish, trader: AddressLike, amount: BigNumberish ]; type OutputTuple = [ perpetualId: bigint, trader: string, amount: bigint ]; interface OutputObject { perpetualId: bigint; trader: string; amount: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SettleStateEvent { type InputTuple = [perpetualId: BigNumberish]; type OutputTuple = [perpetualId: bigint]; interface OutputObject { perpetualId: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace SettlementCompleteEvent { type InputTuple = [perpetualId: BigNumberish]; type OutputTuple = [perpetualId: bigint]; interface OutputObject { perpetualId: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace TokensDepositedEvent { type InputTuple = [ perpetualId: BigNumberish, trader: AddressLike, amount: BigNumberish ]; type OutputTuple = [ perpetualId: bigint, trader: string, amount: bigint ]; interface OutputObject { perpetualId: bigint; trader: string; amount: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace TokensWithdrawnEvent { type InputTuple = [ perpetualId: BigNumberish, trader: AddressLike, amount: BigNumberish ]; type OutputTuple = [ perpetualId: bigint, trader: string, amount: bigint ]; interface OutputObject { perpetualId: bigint; trader: string; amount: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace TradeEvent { type InputTuple = [ perpetualId: BigNumberish, trader: AddressLike, order: IPerpetualOrder.OrderStruct, orderDigest: BytesLike, newPositionSizeBC: BigNumberish, price: BigNumberish, fFeeCC: BigNumberish, fPnlCC: BigNumberish, fB2C: BigNumberish ]; type OutputTuple = [ perpetualId: bigint, trader: string, order: IPerpetualOrder.OrderStructOutput, orderDigest: string, newPositionSizeBC: bigint, price: bigint, fFeeCC: bigint, fPnlCC: bigint, fB2C: bigint ]; interface OutputObject { perpetualId: bigint; trader: string; order: IPerpetualOrder.OrderStructOutput; orderDigest: string; newPositionSizeBC: bigint; price: bigint; fFeeCC: bigint; fPnlCC: bigint; fB2C: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace TransferAddressToEvent { type InputTuple = [ name: string, oldOBFactory: AddressLike, newOBFactory: AddressLike ]; type OutputTuple = [ name: string, oldOBFactory: string, newOBFactory: string ]; interface OutputObject { name: string; oldOBFactory: string; newOBFactory: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace UnpausedEvent { type InputTuple = [account: AddressLike]; type OutputTuple = [account: string]; interface OutputObject { account: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace UpdateBrokerAddedCashEvent { type InputTuple = [ poolId: BigNumberish, iLots: BigNumberish, iNewBrokerLots: BigNumberish ]; type OutputTuple = [ poolId: bigint, iLots: bigint, iNewBrokerLots: bigint ]; interface OutputObject { poolId: bigint; iLots: bigint; iNewBrokerLots: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace UpdateFundingRateEvent { type InputTuple = [ perpetualId: BigNumberish, fFundingRate: BigNumberish ]; type OutputTuple = [perpetualId: bigint, fFundingRate: bigint]; interface OutputObject { perpetualId: bigint; fFundingRate: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace UpdateMarginAccountEvent { type InputTuple = [ perpetualId: BigNumberish, trader: AddressLike, fFundingPaymentCC: BigNumberish ]; type OutputTuple = [ perpetualId: bigint, trader: string, fFundingPaymentCC: bigint ]; interface OutputObject { perpetualId: bigint; trader: string; fFundingPaymentCC: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace UpdateMarkPriceEvent { type InputTuple = [ perpetualId: BigNumberish, fMidPricePremium: BigNumberish, fMarkPricePremium: BigNumberish, fMarkIndexPrice: BigNumberish ]; type OutputTuple = [ perpetualId: bigint, fMidPricePremium: bigint, fMarkPricePremium: bigint, fMarkIndexPrice: bigint ]; interface OutputObject { perpetualId: bigint; fMidPricePremium: bigint; fMarkPricePremium: bigint; fMarkIndexPrice: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export interface PerpetualManagerProxy extends BaseContract { connect(runner?: ContractRunner | null): PerpetualManagerProxy; waitForDeployment(): Promise<this>; interface: PerpetualManagerProxyInterface; queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>; queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>; on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>; on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>; listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>; listeners(eventName?: string): Promise<Array<Listener>>; removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>; brokerVolumeEMA: TypedContractMethod<[ arg0: BigNumberish, arg1: AddressLike ], [ [bigint, bigint] & { fTradingVolumeEMAusd: bigint; timestamp: bigint; } ], "view">; brokerVolumeFeesTbps: TypedContractMethod<[ arg0: BigNumberish ], [ bigint ], "view">; brokerVolumeTiers: TypedContractMethod<[ arg0: BigNumberish ], [ bigint ], "view">; getImplementation: TypedContractMethod<[_sig: BytesLike], [string], "view">; getModuleImplementationAddress: TypedContractMethod<[ _moduleName: string ], [ string ], "view">; getProxyOwner: TypedContractMethod<[], [string], "view">; governance: TypedContractMethod<[], [string], "view">; lastBaseToUSDUpdateTs: TypedContractMethod<[], [bigint], "view">; liquidityProvisionIsPaused: TypedContractMethod<[ arg0: BigNumberish ], [ boolean ], "view">; maintainer: TypedContractMethod<[], [string], "view">; pause: TypedContractMethod<[], [void], "nonpayable">; paused: TypedContractMethod<[], [boolean], "view">; perpBaseToUSDOracle: TypedContractMethod<[ arg0: BigNumberish ], [ string ], "view">; perpToLastBaseToUSD: TypedContractMethod<[ arg0: BigNumberish ], [ bigint ], "view">; setImplementation: TypedContractMethod<[ _impl: AddressLike ], [ void ], "nonpayable">; setImplementationCrossModules: TypedContractMethod<[ _impl: AddressLike ], [ void ], "nonpayable">; setProxyOwner: TypedContractMethod<[ _owner: AddressLike ], [ void ], "nonpayable">; traderVolumeEMA: TypedContractMethod<[ arg0: BigNumberish, arg1: AddressLike ], [ [bigint, bigint] & { fTradingVolumeEMAusd: bigint; timestamp: bigint; } ], "view">; traderVolumeFeesTbps: TypedContractMethod<[ arg0: BigNumberish ], [ bigint ], "view">; traderVolumeTiers: TypedContractMethod<[ arg0: BigNumberish ], [ bigint ], "view">; transferGovernance: TypedContractMethod<[ newGovernance: AddressLike ], [ void ], "nonpayable">; transferMaintainer: TypedContractMethod<[ newMaintainer: AddressLike ], [ void ], "nonpayable">; unpause: TypedContractMethod<[], [void], "nonpayable">; getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T; getFunction(nameOrSignature: "brokerVolumeEMA"): TypedContractMethod<[ arg0: BigNumberish, arg1: AddressLike ], [ [bigint, bigint] & { fTradingVolumeEMAusd: bigint; timestamp: bigint; } ], "view">; getFunction(nameOrSignature: "brokerVolumeFeesTbps"): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "brokerVolumeTiers"): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "getImplementation"): TypedContractMethod<[_sig: BytesLike], [string], "view">; getFunction(nameOrSignature: "getModuleImplementationAddress"): TypedContractMethod<[_moduleName: string], [string], "view">; getFunction(nameOrSignature: "getProxyOwner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "governance"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "lastBaseToUSDUpdateTs"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "liquidityProvisionIsPaused"): TypedContractMethod<[arg0: BigNumberish], [boolean], "view">; getFunction(nameOrSignature: "maintainer"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "pause"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "paused"): TypedContractMethod<[], [boolean], "view">; getFunction(nameOrSignature: "perpBaseToUSDOracle"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; getFunction(nameOrSignature: "perpToLastBaseToUSD"): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "setImplementation"): TypedContractMethod<[_impl: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "setImplementationCrossModules"): TypedContractMethod<[_impl: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "setProxyOwner"): TypedContractMethod<[_owner: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "traderVolumeEMA"): TypedContractMethod<[ arg0: BigNumberish, arg1: AddressLike ], [ [bigint, bigint] & { fTradingVolumeEMAusd: bigint; timestamp: bigint; } ], "view">; getFunction(nameOrSignature: "traderVolumeFeesTbps"): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "traderVolumeTiers"): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "transferGovernance"): TypedContractMethod<[newGovernance: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "transferMaintainer"): TypedContractMethod<[newMaintainer: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "unpause"): TypedContractMethod<[], [void], "nonpayable">; getEvent(key: "BrokerLotsTransferred"): TypedContractEvent<BrokerLotsTransferredEvent.InputTuple, BrokerLotsTransferredEvent.OutputTuple, BrokerLotsTransferredEvent.OutputObject>; getEvent(key: "BrokerVolumeTransferred"): TypedContractEvent<BrokerVolumeTransferredEvent.InputTuple, BrokerVolumeTransferredEvent.OutputTuple, BrokerVolumeTransferredEvent.OutputObject>; getEvent(key: "Clear"): TypedContractEvent<ClearEvent.InputTuple, ClearEvent.OutputTuple, ClearEvent.OutputObject>; getEvent(key: "DistributeFees"): TypedContractEvent<DistributeFeesEvent.InputTuple, DistributeFeesEvent.OutputTuple, DistributeFeesEvent.OutputObject>; getEvent(key: "GovernanceTransferred"): TypedContractEvent<GovernanceTransferredEvent.InputTuple, GovernanceTransferredEvent.OutputTuple, GovernanceTransferredEvent.OutputObject>; getEvent(key: "ImplementationChanged"): TypedContractEvent<ImplementationChangedEvent.InputTuple, ImplementationChangedEvent.OutputTuple, ImplementationChangedEvent.OutputObject>; getEvent(key: "Liquidate"): TypedContractEvent<LiquidateEvent.InputTuple, LiquidateEvent.OutputTuple, LiquidateEvent.OutputObject>; getEvent(key: "LiquidityAdded"): TypedContractEvent<LiquidityAddedEvent.InputTuple, LiquidityAddedEvent.OutputTuple, LiquidityAddedEvent.OutputObject>; getEvent(key: "LiquidityPoolCreated"): TypedContractEvent<LiquidityPoolCreatedEvent.InputTuple, LiquidityPoolCreatedEvent.OutputTuple, LiquidityPoolCreatedEvent.OutputObject>; getEvent(key: "LiquidityProvisionPaused"): TypedContractEvent<LiquidityProvisionPausedEvent.InputTuple, LiquidityProvisionPausedEvent.OutputTuple, LiquidityProvisionPausedEvent.OutputObject>; getEvent(key: "LiquidityRemoved"): TypedContractEvent<LiquidityRemovedEvent.InputTuple, LiquidityRemovedEvent.OutputTuple, LiquidityRemovedEvent.OutputObject>; getEvent(key: "LiquidityWithdrawalInitiated"): TypedContractEvent<LiquidityWithdrawalInitiatedEvent.InputTuple, LiquidityWithdrawalInitiatedEvent.OutputTuple, LiquidityWithdrawalInitiatedEvent.OutputObject>; getEvent(key: "MaintainerTransferred"): TypedContractEvent<MaintainerTransferredEvent.InputTuple, MaintainerTransferredEvent.OutputTuple, MaintainerTransferredEvent.OutputObject>; getEvent(key: "Paused"): TypedContractEvent<PausedEvent.InputTuple, PausedEvent.OutputTuple, PausedEvent.OutputObject>; getEvent(key: "PerpetualCreated"): TypedContractEvent<PerpetualCreatedEvent.InputTuple, PerpetualCreatedEvent.OutputTuple, PerpetualCreatedEvent.OutputObject>; getEvent(key: "PerpetualLimitOrderCancelled"): TypedContractEvent<PerpetualLimitOrderCancelledEvent.InputTuple, PerpetualLimitOrderCancelledEvent.OutputTuple, PerpetualLimitOrderCancelledEvent.OutputObject>; getEvent(key: "ProxyOwnershipTransferred"): TypedContractEvent<ProxyOwnershipTransferredEvent.InputTuple, ProxyOwnershipTransferredEvent.OutputTuple, ProxyOwnershipTransferredEvent.OutputObject>; getEvent(key: "RunLiquidityPool"): TypedContractEvent<RunLiquidityPoolEvent.InputTuple, RunLiquidityPoolEvent.OutputTuple, RunLiquidityPoolEvent.OutputObject>; getEvent(key: "SetBlockDelay"): TypedContractEvent<SetBlockDelayEvent.InputTuple, SetBlockDelayEvent.OutputTuple, SetBlockDelayEvent.OutputObject>; getEvent(key: "SetBrokerDesignations"): TypedContractEvent<SetBrokerDesignationsEvent.InputTuple, SetBrokerDesignationsEvent.OutputTuple, SetBrokerDesignationsEvent.OutputObject>; getEvent(key: "SetBrokerTiers"): TypedContractEvent<SetBrokerTiersEvent.InputTuple, SetBrokerTiersEvent.OutputTuple, SetBrokerTiersEvent.OutputObject>; getEvent(key: "SetBrokerVolumeTiers"): TypedContractEvent<SetBrokerVolumeTiersEvent.InputTuple, SetBrokerVolumeTiersEvent.OutputTuple, SetBrokerVolumeTiersEvent.OutputObject>; getEvent(key: "SetClearedState"): TypedContractEvent<SetClearedStateEvent.InputTuple, SetClearedStateEvent.OutputTuple, SetClearedStateEvent.OutputObject>; getEvent(key: "SetDelegate"): TypedContractEvent<SetDelegateEvent.InputTuple, SetDelegateEvent.OutputTuple, SetDelegateEvent.OutputObject>; getEvent(key: "SetEmergencyState"): TypedContractEvent<SetEmergencyStateEvent.InputTuple, SetEmergencyStateEvent.OutputTuple, SetEmergencyStateEvent.OutputObject>; getEvent(key: "SetNormalState"): TypedContractEvent<SetNormalStateEvent.InputTuple, SetNormalStateEvent.OutputTuple, SetNormalStateEvent.OutputObject>; getEvent(key: "SetOracles"): TypedContractEvent<SetOraclesEvent.InputTuple, SetOraclesEvent.OutputTuple, SetOraclesEvent.OutputObject>; getEvent(key: "SetParameter"): TypedContractEvent<SetParameterEvent.InputTuple, SetParameterEvent.OutputTuple, SetParameterEvent.OutputObject>; getEvent(key: "SetParameterPair"): TypedContractEvent<SetParameterPairEvent.InputTuple, SetParameterPairEvent.OutputTuple, SetParameterPairEvent.OutputObject>; getEvent(key: "SetPerpetualBaseParameters"): TypedContractEvent<SetPerpetualBaseParametersEvent.InputTuple, SetPerpetualBaseParametersEvent.OutputTuple, SetPerpetualBaseParametersEvent.OutputObject>; getEvent(key: "SetPerpetualRiskParameters"): TypedContractEvent<SetPerpetualRiskParametersEvent.InputTuple, SetPerpetualRiskParametersEvent.OutputTuple, SetPerpetualRiskParametersEvent.OutputObject>; getEvent(key: "SetPoolParameter"): TypedContractEvent<SetPoolParameterEvent.InputTuple, SetPoolParameterEvent.OutputTuple, SetPoolParameterEvent.OutputObject>; getEvent(key: "SetTraderTiers"): TypedContractEvent<SetTraderTiersEvent.InputTuple, SetTraderTiersEvent.OutputTuple, SetTraderTiersEvent.OutputObject>; getEvent(key: "SetTraderVolumeTiers"): TypedContractEvent<SetTraderVolumeTiersEvent.InputTuple, SetTraderVolumeTiersEvent.OutputTuple, SetTraderVolumeTiersEvent.OutputObject>; getEvent(key: "SetUtilityToken"): TypedContractEvent<SetUtilityTokenEvent.InputTuple, SetUtilityTokenEvent.OutputTuple, SetUtilityTokenEvent.OutputObject>; getEvent(key: "Settle"): TypedContractEvent<SettleEvent.InputTuple, SettleEvent.OutputTuple, SettleEvent.OutputObject>; getEvent(key: "SettleState"): TypedContractEvent<SettleStateEvent.InputTuple, SettleStateEvent.OutputTuple, SettleStateEvent.OutputObject>; getEvent(key: "SettlementComplete"): TypedContractEvent<SettlementCompleteEvent.InputTuple, SettlementCompleteEvent.OutputTuple, SettlementCompleteEvent.OutputObject>; getEvent(key: "TokensDeposited"): TypedContractEvent<TokensDepositedEven