@d8x/perpetuals-sdk
Version:
Node TypeScript SDK for D8X Perpetual Futures
1,147 lines • 66.9 kB
TypeScript
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