@electra.finance/contracts
Version:
Electra Finance contracts typings
218 lines (217 loc) • 10 kB
TypeScript
import type BN from "bn.js";
import type { ContractOptions } from "web3-eth-contract";
import type { EventLog } from "web3-core";
import type { EventEmitter } from "events";
import type { Callback, PayableTransactionObject, NonPayableTransactionObject, BlockType, ContractEventLog, BaseContract } from "./types";
export interface EventOptions {
filter?: object;
fromBlock?: BlockType;
topics?: string[];
}
export type AccountUpdate = ContractEventLog<{
user: string;
balance: string;
position: string;
reason: string;
positionPrice: string;
fundingRate: string;
realizedPNL: string;
realizedFR: string;
0: string;
1: string;
2: string;
3: string;
4: string;
5: string;
6: string;
7: string;
}>;
export type BasicParamsUpdate = ContractEventLog<{
oracle: string;
withdrawMarginLevel: string;
0: string;
1: string;
}>;
export type Initialized = ContractEventLog<{
version: string;
0: string;
}>;
export type LevelsUpdate = ContractEventLog<{
leverage: string;
so_level: string;
0: string;
1: string;
}>;
export type NewFundingRate = ContractEventLog<{
long: string;
short: string;
long_fr_stored: string;
short_fr_stored: string;
last_fr_price_update_time: string;
0: string;
1: string;
2: string;
3: string;
4: string;
}>;
export type NewTrade = ContractEventLog<{
buyer: string;
seller: string;
filledPrice: string;
filledAmount: string;
0: string;
1: string;
2: string;
3: string;
}>;
export type OwnershipTransferred = ContractEventLog<{
previousOwner: string;
newOwner: string;
0: string;
1: string;
}>;
export type customStopOutLevelUpdate = ContractEventLog<{
account: string;
so_level: string;
0: string;
1: string;
}>;
export interface IsolatedMarginCFD extends BaseContract {
constructor(jsonInterface: any[], address?: string, options?: ContractOptions): IsolatedMarginCFD;
clone(): IsolatedMarginCFD;
methods: {
activePositions(arg0: number | string | BN): NonPayableTransactionObject<string>;
allowedMatchers(arg0: string): NonPayableTransactionObject<boolean>;
checkMargin(user: string, marginLevel: number | string | BN): NonPayableTransactionObject<{
0: boolean;
1: string;
}>;
collateral_(): NonPayableTransactionObject<string>;
delegatedAction(trader: string, call_data: string | number[]): NonPayableTransactionObject<string>;
depositAsset(amount: number | string | BN): NonPayableTransactionObject<void>;
depositAssetTo(amount: number | string | BN, to: string): NonPayableTransactionObject<void>;
depositAssetToAnotherCFD(cfdContract: string, amount: number | string | BN): NonPayableTransactionObject<void>;
fillOrders(buyOrder: [
string,
string,
number | string | BN,
number | string | BN,
number | string | BN,
number | string | BN,
number | string | BN,
string,
number | string | BN,
boolean,
boolean,
string | number[]
], sellOrder: [
string,
string,
number | string | BN,
number | string | BN,
number | string | BN,
number | string | BN,
number | string | BN,
string,
number | string | BN,
boolean,
boolean,
string | number[]
], filledPrice: number | string | BN, filledAmount: number | string | BN): NonPayableTransactionObject<void>;
filled_amounts_(arg0: string | number[]): NonPayableTransactionObject<string>;
getActivePositions(offset: number | string | BN, limit: number | string | BN): NonPayableTransactionObject<string[]>;
getActivePositionsLength(): NonPayableTransactionObject<string>;
getAssetPrice(): NonPayableTransactionObject<string>;
getDelegateStorage(): NonPayableTransactionObject<string>;
getFR(account: string): NonPayableTransactionObject<string>;
getLongFR(): NonPayableTransactionObject<string>;
getPNL(account: string, price: number | string | BN): NonPayableTransactionObject<string>;
getPriceIndex(): NonPayableTransactionObject<string>;
getSenderOverride(): NonPayableTransactionObject<string>;
getShortFR(): NonPayableTransactionObject<string>;
getSymbol(): NonPayableTransactionObject<string>;
initialize(collateral: string): PayableTransactionObject<void>;
last_fr_price_update_time_(): NonPayableTransactionObject<string>;
leverage_(): NonPayableTransactionObject<string>;
liquidatePosition(liquidationOrder: [
string,
string,
string,
number | string | BN,
number | string | BN,
string | number[]
]): NonPayableTransactionObject<void>;
long_fr_(): NonPayableTransactionObject<string>;
long_fr_stored_(): NonPayableTransactionObject<string>;
oracle_(): NonPayableTransactionObject<string>;
owner(): NonPayableTransactionObject<string>;
renounceOwnership(): NonPayableTransactionObject<void>;
setBasicParams(oracle: string, delegateStorage: string, withdrawMarginLevel: number | string | BN): NonPayableTransactionObject<void>;
setCustomStopOutLevel(account: string, so_level: number | string | BN): NonPayableTransactionObject<void>;
setDelegateStorage(delegateStorage_: string): NonPayableTransactionObject<void>;
setFR(long_fr: number | string | BN, short_fr: number | string | BN): NonPayableTransactionObject<void>;
setLevels(leverage: number | string | BN, so_level: number | string | BN): NonPayableTransactionObject<void>;
setSenderOverride(senderOverride: string): NonPayableTransactionObject<void>;
short_fr_(): NonPayableTransactionObject<string>;
short_fr_stored_(): NonPayableTransactionObject<string>;
so_level_(): NonPayableTransactionObject<string>;
transferOwnership(newOwner: string): NonPayableTransactionObject<void>;
updateMatchers(matchers: string[], values: boolean[]): NonPayableTransactionObject<void>;
userIndexes(arg0: string): NonPayableTransactionObject<string>;
user_data_(arg0: string): NonPayableTransactionObject<{
balance: string;
fr_base: string;
position: string;
pos_avg_price: string;
pos_last_update: string;
long_fr_last: string;
short_fr_last: string;
0: string;
1: string;
2: string;
3: string;
4: string;
5: string;
6: string;
}>;
withdrawAsset(amount: number | string | BN): NonPayableTransactionObject<void>;
withdrawAssetTo(amount: number | string | BN, to: string): NonPayableTransactionObject<void>;
withdrawFR(to: string, amount: number | string | BN): NonPayableTransactionObject<void>;
withdrawMarginLevel_(): NonPayableTransactionObject<string>;
};
events: {
AccountUpdate(cb?: Callback<AccountUpdate>): EventEmitter;
AccountUpdate(options?: EventOptions, cb?: Callback<AccountUpdate>): EventEmitter;
BasicParamsUpdate(cb?: Callback<BasicParamsUpdate>): EventEmitter;
BasicParamsUpdate(options?: EventOptions, cb?: Callback<BasicParamsUpdate>): EventEmitter;
Initialized(cb?: Callback<Initialized>): EventEmitter;
Initialized(options?: EventOptions, cb?: Callback<Initialized>): EventEmitter;
LevelsUpdate(cb?: Callback<LevelsUpdate>): EventEmitter;
LevelsUpdate(options?: EventOptions, cb?: Callback<LevelsUpdate>): EventEmitter;
NewFundingRate(cb?: Callback<NewFundingRate>): EventEmitter;
NewFundingRate(options?: EventOptions, cb?: Callback<NewFundingRate>): EventEmitter;
NewTrade(cb?: Callback<NewTrade>): EventEmitter;
NewTrade(options?: EventOptions, cb?: Callback<NewTrade>): EventEmitter;
OwnershipTransferred(cb?: Callback<OwnershipTransferred>): EventEmitter;
OwnershipTransferred(options?: EventOptions, cb?: Callback<OwnershipTransferred>): EventEmitter;
customStopOutLevelUpdate(cb?: Callback<customStopOutLevelUpdate>): EventEmitter;
customStopOutLevelUpdate(options?: EventOptions, cb?: Callback<customStopOutLevelUpdate>): EventEmitter;
allEvents(options?: EventOptions, cb?: Callback<EventLog>): EventEmitter;
};
once(event: "AccountUpdate", cb: Callback<AccountUpdate>): void;
once(event: "AccountUpdate", options: EventOptions, cb: Callback<AccountUpdate>): void;
once(event: "BasicParamsUpdate", cb: Callback<BasicParamsUpdate>): void;
once(event: "BasicParamsUpdate", options: EventOptions, cb: Callback<BasicParamsUpdate>): void;
once(event: "Initialized", cb: Callback<Initialized>): void;
once(event: "Initialized", options: EventOptions, cb: Callback<Initialized>): void;
once(event: "LevelsUpdate", cb: Callback<LevelsUpdate>): void;
once(event: "LevelsUpdate", options: EventOptions, cb: Callback<LevelsUpdate>): void;
once(event: "NewFundingRate", cb: Callback<NewFundingRate>): void;
once(event: "NewFundingRate", options: EventOptions, cb: Callback<NewFundingRate>): void;
once(event: "NewTrade", cb: Callback<NewTrade>): void;
once(event: "NewTrade", options: EventOptions, cb: Callback<NewTrade>): void;
once(event: "OwnershipTransferred", cb: Callback<OwnershipTransferred>): void;
once(event: "OwnershipTransferred", options: EventOptions, cb: Callback<OwnershipTransferred>): void;
once(event: "customStopOutLevelUpdate", cb: Callback<customStopOutLevelUpdate>): void;
once(event: "customStopOutLevelUpdate", options: EventOptions, cb: Callback<customStopOutLevelUpdate>): void;
}