@myx-trade/sdk 0.1.215 → 0.1.216

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,9 +1,10 @@
1
1
  import * as ethers from 'ethers';
2
- import { AddressLike, Signer, ethers as ethers$1 } from 'ethers';
2
+ import { ZeroAddress, AddressLike, Signer, ethers as ethers$1, DeferredTopicFilter, EventFragment, EventLog, TransactionRequest, Typed, ContractTransactionResponse, FunctionFragment, ContractTransaction, LogDescription, BaseContract, ContractRunner, Interface, BigNumberish, BytesLike, Result, Listener, ContractMethod } from 'ethers';
3
3
  export { formatUnits, parseUnits } from 'ethers';
4
4
  import { Options, Event } from 'reconnecting-websocket';
5
- import { Address as Address$1, WalletClient } from 'viem';
5
+ import { Address as Address$2, WalletClient } from 'viem';
6
6
 
7
+ type Address$1 = `0x${string}` | typeof ZeroAddress;
7
8
  declare enum ChainId {
8
9
  LINEA_SEPOLIA = 59141,
9
10
  LINEA_MAINNET = 59144,
@@ -12,6 +13,24 @@ declare enum ChainId {
12
13
  BSC_TESTNET = 97,
13
14
  BSC_MAINNET = 56
14
15
  }
16
+ interface ContractAddress {
17
+ readonly USDC: Address$1;
18
+ readonly Account: Address$1;
19
+ readonly POOL_MANAGER: Address$1;
20
+ readonly POSITION_MANAGER: Address$1;
21
+ readonly ORDER_MANAGER: Address$1;
22
+ readonly PYTH: Address$1;
23
+ readonly ERC20: Address$1;
24
+ readonly LIQUIDITY_ROUTER: Address$1;
25
+ readonly BASE_POOL: Address$1;
26
+ readonly QUOTE_POOL: Address$1;
27
+ readonly ORACLE: Address$1;
28
+ readonly EIP7702Delegation: Address$1;
29
+ readonly MARKET_MANAGER: Address$1;
30
+ readonly DATA_PROVIDER: Address$1;
31
+ readonly ORACLE_RESERVE: Address$1;
32
+ readonly FORWARDER: Address$1;
33
+ }
15
34
 
16
35
  interface CreatePoolRequest {
17
36
  chainId: ChainId;
@@ -625,7 +644,7 @@ interface HistoryOrderItem {
625
644
  orderStatus: OrderStatusEnum;
626
645
  execType: ExecTypeEnum;
627
646
  slippagePct: number;
628
- executionFeeToken: Address$1;
647
+ executionFeeToken: Address$2;
629
648
  executionFeeAmount: string;
630
649
  tradingFee: string;
631
650
  fundingFee: string;
@@ -681,7 +700,7 @@ declare enum TradeFlowAccountTypeEnum {
681
700
  interface TradeFlowItem {
682
701
  chainId: number;
683
702
  orderId: number;
684
- user: Address$1;
703
+ user: Address$2;
685
704
  poolId: string;
686
705
  fundingFee: string;
687
706
  tradingFee: string;
@@ -700,7 +719,7 @@ interface TradeFlowItem {
700
719
  referrerRebate: string;
701
720
  referralRebate: string;
702
721
  rebateClaimedAmount: string;
703
- token?: Address$1;
722
+ token?: Address$2;
704
723
  }
705
724
 
706
725
  type ForwarderTxParams = {
@@ -1957,6 +1976,1367 @@ declare class Order {
1957
1976
  }>;
1958
1977
  }
1959
1978
 
1979
+ interface TypedDeferredTopicFilter<_TCEvent extends TypedContractEvent> extends DeferredTopicFilter {
1980
+ }
1981
+ interface TypedContractEvent<InputTuple extends Array<any> = any, OutputTuple extends Array<any> = any, OutputObject = any> {
1982
+ (...args: Partial<InputTuple>): TypedDeferredTopicFilter<TypedContractEvent<InputTuple, OutputTuple, OutputObject>>;
1983
+ name: string;
1984
+ fragment: EventFragment;
1985
+ getFragment(...args: Partial<InputTuple>): EventFragment;
1986
+ }
1987
+ type __TypechainAOutputTuple<T> = T extends TypedContractEvent<infer _U, infer W> ? W : never;
1988
+ type __TypechainOutputObject<T> = T extends TypedContractEvent<infer _U, infer _W, infer V> ? V : never;
1989
+ interface TypedEventLog<TCEvent extends TypedContractEvent> extends Omit<EventLog, "args"> {
1990
+ args: __TypechainAOutputTuple<TCEvent> & __TypechainOutputObject<TCEvent>;
1991
+ }
1992
+ interface TypedLogDescription<TCEvent extends TypedContractEvent> extends Omit<LogDescription, "args"> {
1993
+ args: __TypechainAOutputTuple<TCEvent> & __TypechainOutputObject<TCEvent>;
1994
+ }
1995
+ type TypedListener<TCEvent extends TypedContractEvent> = (...listenerArg: [
1996
+ ...__TypechainAOutputTuple<TCEvent>,
1997
+ TypedEventLog<TCEvent>,
1998
+ ...undefined[]
1999
+ ]) => void;
2000
+ type StateMutability = "nonpayable" | "payable" | "view";
2001
+ type BaseOverrides = Omit<TransactionRequest, "to" | "data">;
2002
+ type NonPayableOverrides = Omit<BaseOverrides, "value" | "blockTag" | "enableCcipRead">;
2003
+ type PayableOverrides = Omit<BaseOverrides, "blockTag" | "enableCcipRead">;
2004
+ type ViewOverrides = Omit<TransactionRequest, "to" | "data">;
2005
+ type Overrides<S extends StateMutability> = S extends "nonpayable" ? NonPayableOverrides : S extends "payable" ? PayableOverrides : ViewOverrides;
2006
+ type PostfixOverrides<A extends Array<any>, S extends StateMutability> = A | [...A, Overrides<S>];
2007
+ type ContractMethodArgs<A extends Array<any>, S extends StateMutability> = PostfixOverrides<{
2008
+ [I in keyof A]-?: A[I] | Typed;
2009
+ }, S>;
2010
+ type DefaultReturnType<R> = R extends Array<any> ? R[0] : R;
2011
+ interface TypedContractMethod<A extends Array<any> = Array<any>, R = any, S extends StateMutability = "payable"> {
2012
+ (...args: ContractMethodArgs<A, S>): S extends "view" ? Promise<DefaultReturnType<R>> : Promise<ContractTransactionResponse>;
2013
+ name: string;
2014
+ fragment: FunctionFragment;
2015
+ getFragment(...args: ContractMethodArgs<A, S>): FunctionFragment;
2016
+ populateTransaction(...args: ContractMethodArgs<A, S>): Promise<ContractTransaction>;
2017
+ staticCall(...args: ContractMethodArgs<A, "view">): Promise<DefaultReturnType<R>>;
2018
+ send(...args: ContractMethodArgs<A, S>): Promise<ContractTransactionResponse>;
2019
+ estimateGas(...args: ContractMethodArgs<A, S>): Promise<bigint>;
2020
+ staticCallResult(...args: ContractMethodArgs<A, "view">): Promise<R>;
2021
+ }
2022
+
2023
+ interface BrokerInterface extends Interface {
2024
+ getFunction(nameOrSignature: "FEE_TYPEHASH" | "__ERC2771ContextUpgradeable_init" | "acceptOwnership" | "activeFeeTiers" | "activeSpecialFeeTierList" | "addressManager" | "adjustCollateral" | "batchSetSpecialFeeTiers" | "batchUpdateFeeTiers" | "cancelOrder" | "cancelOrders" | "claimRebate" | "claimRebates" | "eip712Domain" | "getAddOnFeeTier" | "getBaseFeeRate" | "getSpecialFeeTier" | "getUserFeeRate" | "initialize" | "isActive" | "isTrustedForwarder" | "name" | "onBrokerFee" | "owner" | "pendingOwner" | "placeOrderWithPosition" | "placeOrderWithSalt" | "placeOrdersWithPosition" | "placeOrdersWithSalt" | "renounceOwnership" | "setSigner" | "setSpecialFeeTier" | "setUserFeeData" | "setUserSpecialFeeTier" | "supportedAssetClasses" | "transferOwnership" | "trustedForwarder" | "updateBaseFeeRates" | "updateBrokerStatus" | "updateFeeTier" | "updateFeeTiers" | "updateOrder" | "updatePriceAndAdjustCollateral" | "userFeeData" | "userNonces" | "userRebates"): FunctionFragment;
2025
+ getEvent(nameOrSignatureOrTopic: "BrokerStatusUpdated" | "EIP712DomainChanged" | "Initialized" | "OwnershipTransferStarted" | "OwnershipTransferred" | "RebateClaimed" | "SignerUpdated" | "UserFeeDataUpdated"): EventFragment;
2026
+ encodeFunctionData(functionFragment: "FEE_TYPEHASH", values?: undefined): string;
2027
+ encodeFunctionData(functionFragment: "__ERC2771ContextUpgradeable_init", values: [AddressLike]): string;
2028
+ encodeFunctionData(functionFragment: "acceptOwnership", values?: undefined): string;
2029
+ encodeFunctionData(functionFragment: "activeFeeTiers", values: [BigNumberish, BigNumberish]): string;
2030
+ encodeFunctionData(functionFragment: "activeSpecialFeeTierList", values: [BigNumberish, BigNumberish]): string;
2031
+ encodeFunctionData(functionFragment: "addressManager", values?: undefined): string;
2032
+ encodeFunctionData(functionFragment: "adjustCollateral", values: [
2033
+ {
2034
+ token: AddressLike;
2035
+ amount: BigNumberish;
2036
+ },
2037
+ BytesLike,
2038
+ BigNumberish
2039
+ ]): string;
2040
+ encodeFunctionData(functionFragment: "batchSetSpecialFeeTiers", values: [
2041
+ {
2042
+ assetClass: BigNumberish;
2043
+ riskTier: BigNumberish;
2044
+ feeTier: BigNumberish;
2045
+ makerFeeRate: BigNumberish;
2046
+ takerFeeRate: BigNumberish;
2047
+ }[]
2048
+ ]): string;
2049
+ encodeFunctionData(functionFragment: "batchUpdateFeeTiers", values: [
2050
+ {
2051
+ assetClass: BigNumberish;
2052
+ riskTier: BigNumberish;
2053
+ feeTier: BigNumberish;
2054
+ addOnFeeRate: {
2055
+ takerFeeRate: BigNumberish;
2056
+ makerFeeRate: BigNumberish;
2057
+ };
2058
+ }[]
2059
+ ]): string;
2060
+ encodeFunctionData(functionFragment: "cancelOrder", values: [BigNumberish]): string;
2061
+ encodeFunctionData(functionFragment: "cancelOrders", values: [BigNumberish[]]): string;
2062
+ encodeFunctionData(functionFragment: "claimRebate", values: [AddressLike]): string;
2063
+ encodeFunctionData(functionFragment: "claimRebates", values: [AddressLike[]]): string;
2064
+ encodeFunctionData(functionFragment: "eip712Domain", values?: undefined): string;
2065
+ encodeFunctionData(functionFragment: "getAddOnFeeTier", values: [BigNumberish, BigNumberish, BigNumberish]): string;
2066
+ encodeFunctionData(functionFragment: "getBaseFeeRate", values: [BigNumberish]): string;
2067
+ encodeFunctionData(functionFragment: "getSpecialFeeTier", values: [BigNumberish, BigNumberish, BigNumberish]): string;
2068
+ encodeFunctionData(functionFragment: "getUserFeeRate", values: [AddressLike, BigNumberish, BigNumberish]): string;
2069
+ encodeFunctionData(functionFragment: "initialize", values: [
2070
+ AddressLike,
2071
+ AddressLike,
2072
+ string,
2073
+ AddressLike[],
2074
+ BigNumberish[],
2075
+ {
2076
+ takerFeeRate: BigNumberish;
2077
+ makerFeeRate: BigNumberish;
2078
+ }[]
2079
+ ]): string;
2080
+ encodeFunctionData(functionFragment: "isActive", values?: undefined): string;
2081
+ encodeFunctionData(functionFragment: "isTrustedForwarder", values: [AddressLike]): string;
2082
+ encodeFunctionData(functionFragment: "name", values?: undefined): string;
2083
+ encodeFunctionData(functionFragment: "onBrokerFee", values: [BytesLike, AddressLike, AddressLike, BigNumberish]): string;
2084
+ encodeFunctionData(functionFragment: "owner", values?: undefined): string;
2085
+ encodeFunctionData(functionFragment: "pendingOwner", values?: undefined): string;
2086
+ encodeFunctionData(functionFragment: "placeOrderWithPosition", values: [
2087
+ BytesLike,
2088
+ {
2089
+ token: AddressLike;
2090
+ amount: BigNumberish;
2091
+ },
2092
+ {
2093
+ user: AddressLike;
2094
+ poolId: BytesLike;
2095
+ orderType: BigNumberish;
2096
+ triggerType: BigNumberish;
2097
+ operation: BigNumberish;
2098
+ direction: BigNumberish;
2099
+ collateralAmount: BigNumberish;
2100
+ size: BigNumberish;
2101
+ price: BigNumberish;
2102
+ timeInForce: BigNumberish;
2103
+ postOnly: boolean;
2104
+ slippagePct: BigNumberish;
2105
+ leverage: BigNumberish;
2106
+ tpSize: BigNumberish;
2107
+ tpPrice: BigNumberish;
2108
+ slSize: BigNumberish;
2109
+ slPrice: BigNumberish;
2110
+ }
2111
+ ]): string;
2112
+ encodeFunctionData(functionFragment: "placeOrderWithSalt", values: [
2113
+ BigNumberish,
2114
+ {
2115
+ token: AddressLike;
2116
+ amount: BigNumberish;
2117
+ },
2118
+ {
2119
+ user: AddressLike;
2120
+ poolId: BytesLike;
2121
+ orderType: BigNumberish;
2122
+ triggerType: BigNumberish;
2123
+ operation: BigNumberish;
2124
+ direction: BigNumberish;
2125
+ collateralAmount: BigNumberish;
2126
+ size: BigNumberish;
2127
+ price: BigNumberish;
2128
+ timeInForce: BigNumberish;
2129
+ postOnly: boolean;
2130
+ slippagePct: BigNumberish;
2131
+ leverage: BigNumberish;
2132
+ tpSize: BigNumberish;
2133
+ tpPrice: BigNumberish;
2134
+ slSize: BigNumberish;
2135
+ slPrice: BigNumberish;
2136
+ }
2137
+ ]): string;
2138
+ encodeFunctionData(functionFragment: "placeOrdersWithPosition", values: [
2139
+ {
2140
+ token: AddressLike;
2141
+ amount: BigNumberish;
2142
+ },
2143
+ BytesLike[],
2144
+ {
2145
+ user: AddressLike;
2146
+ poolId: BytesLike;
2147
+ orderType: BigNumberish;
2148
+ triggerType: BigNumberish;
2149
+ operation: BigNumberish;
2150
+ direction: BigNumberish;
2151
+ collateralAmount: BigNumberish;
2152
+ size: BigNumberish;
2153
+ price: BigNumberish;
2154
+ timeInForce: BigNumberish;
2155
+ postOnly: boolean;
2156
+ slippagePct: BigNumberish;
2157
+ leverage: BigNumberish;
2158
+ tpSize: BigNumberish;
2159
+ tpPrice: BigNumberish;
2160
+ slSize: BigNumberish;
2161
+ slPrice: BigNumberish;
2162
+ }[]
2163
+ ]): string;
2164
+ encodeFunctionData(functionFragment: "placeOrdersWithSalt", values: [
2165
+ {
2166
+ token: AddressLike;
2167
+ amount: BigNumberish;
2168
+ },
2169
+ BigNumberish[],
2170
+ {
2171
+ user: AddressLike;
2172
+ poolId: BytesLike;
2173
+ orderType: BigNumberish;
2174
+ triggerType: BigNumberish;
2175
+ operation: BigNumberish;
2176
+ direction: BigNumberish;
2177
+ collateralAmount: BigNumberish;
2178
+ size: BigNumberish;
2179
+ price: BigNumberish;
2180
+ timeInForce: BigNumberish;
2181
+ postOnly: boolean;
2182
+ slippagePct: BigNumberish;
2183
+ leverage: BigNumberish;
2184
+ tpSize: BigNumberish;
2185
+ tpPrice: BigNumberish;
2186
+ slSize: BigNumberish;
2187
+ slPrice: BigNumberish;
2188
+ }[]
2189
+ ]): string;
2190
+ encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
2191
+ encodeFunctionData(functionFragment: "setSigner", values: [AddressLike, boolean]): string;
2192
+ encodeFunctionData(functionFragment: "setSpecialFeeTier", values: [
2193
+ {
2194
+ assetClass: BigNumberish;
2195
+ riskTier: BigNumberish;
2196
+ feeTier: BigNumberish;
2197
+ makerFeeRate: BigNumberish;
2198
+ takerFeeRate: BigNumberish;
2199
+ }
2200
+ ]): string;
2201
+ encodeFunctionData(functionFragment: "setUserFeeData", values: [
2202
+ {
2203
+ user: AddressLike;
2204
+ nonce: BigNumberish;
2205
+ deadline: BigNumberish;
2206
+ feeData: {
2207
+ tier: BigNumberish;
2208
+ referrer: AddressLike;
2209
+ totalReferralRebatePct: BigNumberish;
2210
+ referrerRebatePct: BigNumberish;
2211
+ };
2212
+ signature: BytesLike;
2213
+ }
2214
+ ]): string;
2215
+ encodeFunctionData(functionFragment: "setUserSpecialFeeTier", values: [AddressLike, BigNumberish]): string;
2216
+ encodeFunctionData(functionFragment: "supportedAssetClasses", values?: undefined): string;
2217
+ encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string;
2218
+ encodeFunctionData(functionFragment: "trustedForwarder", values?: undefined): string;
2219
+ encodeFunctionData(functionFragment: "updateBaseFeeRates", values: [
2220
+ {
2221
+ assetClass: BigNumberish;
2222
+ isEnable: boolean;
2223
+ baseFeeRate: {
2224
+ takerFeeRate: BigNumberish;
2225
+ makerFeeRate: BigNumberish;
2226
+ };
2227
+ }[]
2228
+ ]): string;
2229
+ encodeFunctionData(functionFragment: "updateBrokerStatus", values: [boolean]): string;
2230
+ encodeFunctionData(functionFragment: "updateFeeTier", values: [
2231
+ BigNumberish,
2232
+ BigNumberish,
2233
+ BigNumberish,
2234
+ {
2235
+ takerFeeRate: BigNumberish;
2236
+ makerFeeRate: BigNumberish;
2237
+ }
2238
+ ]): string;
2239
+ encodeFunctionData(functionFragment: "updateFeeTiers", values: [
2240
+ BigNumberish,
2241
+ BigNumberish,
2242
+ BigNumberish[],
2243
+ {
2244
+ takerFeeRate: BigNumberish;
2245
+ makerFeeRate: BigNumberish;
2246
+ }[]
2247
+ ]): string;
2248
+ encodeFunctionData(functionFragment: "updateOrder", values: [
2249
+ {
2250
+ token: AddressLike;
2251
+ amount: BigNumberish;
2252
+ },
2253
+ {
2254
+ orderId: BigNumberish;
2255
+ size: BigNumberish;
2256
+ price: BigNumberish;
2257
+ tpsl: {
2258
+ tpSize: BigNumberish;
2259
+ tpPrice: BigNumberish;
2260
+ slSize: BigNumberish;
2261
+ slPrice: BigNumberish;
2262
+ };
2263
+ }
2264
+ ]): string;
2265
+ encodeFunctionData(functionFragment: "updatePriceAndAdjustCollateral", values: [
2266
+ {
2267
+ poolId: BytesLike;
2268
+ oracleType: BigNumberish;
2269
+ referencePrice: BigNumberish;
2270
+ oracleUpdateData: BytesLike;
2271
+ publishTime: BigNumberish;
2272
+ }[],
2273
+ {
2274
+ token: AddressLike;
2275
+ amount: BigNumberish;
2276
+ },
2277
+ BytesLike,
2278
+ BigNumberish
2279
+ ]): string;
2280
+ encodeFunctionData(functionFragment: "userFeeData", values: [AddressLike]): string;
2281
+ encodeFunctionData(functionFragment: "userNonces", values: [AddressLike]): string;
2282
+ encodeFunctionData(functionFragment: "userRebates", values: [AddressLike, AddressLike]): string;
2283
+ decodeFunctionResult(functionFragment: "FEE_TYPEHASH", data: BytesLike): Result;
2284
+ decodeFunctionResult(functionFragment: "__ERC2771ContextUpgradeable_init", data: BytesLike): Result;
2285
+ decodeFunctionResult(functionFragment: "acceptOwnership", data: BytesLike): Result;
2286
+ decodeFunctionResult(functionFragment: "activeFeeTiers", data: BytesLike): Result;
2287
+ decodeFunctionResult(functionFragment: "activeSpecialFeeTierList", data: BytesLike): Result;
2288
+ decodeFunctionResult(functionFragment: "addressManager", data: BytesLike): Result;
2289
+ decodeFunctionResult(functionFragment: "adjustCollateral", data: BytesLike): Result;
2290
+ decodeFunctionResult(functionFragment: "batchSetSpecialFeeTiers", data: BytesLike): Result;
2291
+ decodeFunctionResult(functionFragment: "batchUpdateFeeTiers", data: BytesLike): Result;
2292
+ decodeFunctionResult(functionFragment: "cancelOrder", data: BytesLike): Result;
2293
+ decodeFunctionResult(functionFragment: "cancelOrders", data: BytesLike): Result;
2294
+ decodeFunctionResult(functionFragment: "claimRebate", data: BytesLike): Result;
2295
+ decodeFunctionResult(functionFragment: "claimRebates", data: BytesLike): Result;
2296
+ decodeFunctionResult(functionFragment: "eip712Domain", data: BytesLike): Result;
2297
+ decodeFunctionResult(functionFragment: "getAddOnFeeTier", data: BytesLike): Result;
2298
+ decodeFunctionResult(functionFragment: "getBaseFeeRate", data: BytesLike): Result;
2299
+ decodeFunctionResult(functionFragment: "getSpecialFeeTier", data: BytesLike): Result;
2300
+ decodeFunctionResult(functionFragment: "getUserFeeRate", data: BytesLike): Result;
2301
+ decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
2302
+ decodeFunctionResult(functionFragment: "isActive", data: BytesLike): Result;
2303
+ decodeFunctionResult(functionFragment: "isTrustedForwarder", data: BytesLike): Result;
2304
+ decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
2305
+ decodeFunctionResult(functionFragment: "onBrokerFee", data: BytesLike): Result;
2306
+ decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
2307
+ decodeFunctionResult(functionFragment: "pendingOwner", data: BytesLike): Result;
2308
+ decodeFunctionResult(functionFragment: "placeOrderWithPosition", data: BytesLike): Result;
2309
+ decodeFunctionResult(functionFragment: "placeOrderWithSalt", data: BytesLike): Result;
2310
+ decodeFunctionResult(functionFragment: "placeOrdersWithPosition", data: BytesLike): Result;
2311
+ decodeFunctionResult(functionFragment: "placeOrdersWithSalt", data: BytesLike): Result;
2312
+ decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
2313
+ decodeFunctionResult(functionFragment: "setSigner", data: BytesLike): Result;
2314
+ decodeFunctionResult(functionFragment: "setSpecialFeeTier", data: BytesLike): Result;
2315
+ decodeFunctionResult(functionFragment: "setUserFeeData", data: BytesLike): Result;
2316
+ decodeFunctionResult(functionFragment: "setUserSpecialFeeTier", data: BytesLike): Result;
2317
+ decodeFunctionResult(functionFragment: "supportedAssetClasses", data: BytesLike): Result;
2318
+ decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
2319
+ decodeFunctionResult(functionFragment: "trustedForwarder", data: BytesLike): Result;
2320
+ decodeFunctionResult(functionFragment: "updateBaseFeeRates", data: BytesLike): Result;
2321
+ decodeFunctionResult(functionFragment: "updateBrokerStatus", data: BytesLike): Result;
2322
+ decodeFunctionResult(functionFragment: "updateFeeTier", data: BytesLike): Result;
2323
+ decodeFunctionResult(functionFragment: "updateFeeTiers", data: BytesLike): Result;
2324
+ decodeFunctionResult(functionFragment: "updateOrder", data: BytesLike): Result;
2325
+ decodeFunctionResult(functionFragment: "updatePriceAndAdjustCollateral", data: BytesLike): Result;
2326
+ decodeFunctionResult(functionFragment: "userFeeData", data: BytesLike): Result;
2327
+ decodeFunctionResult(functionFragment: "userNonces", data: BytesLike): Result;
2328
+ decodeFunctionResult(functionFragment: "userRebates", data: BytesLike): Result;
2329
+ }
2330
+ declare namespace BrokerStatusUpdatedEvent {
2331
+ type InputTuple = [broker: AddressLike, isActive: boolean];
2332
+ type OutputTuple = [broker: string, isActive: boolean];
2333
+ interface OutputObject {
2334
+ broker: string;
2335
+ isActive: boolean;
2336
+ }
2337
+ type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2338
+ type Filter = TypedDeferredTopicFilter<Event>;
2339
+ type Log = TypedEventLog<Event>;
2340
+ type LogDescription = TypedLogDescription<Event>;
2341
+ }
2342
+ declare namespace EIP712DomainChangedEvent {
2343
+ type InputTuple = [];
2344
+ type OutputTuple = [];
2345
+ interface OutputObject {
2346
+ }
2347
+ type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2348
+ type Filter = TypedDeferredTopicFilter<Event>;
2349
+ type Log = TypedEventLog<Event>;
2350
+ type LogDescription = TypedLogDescription<Event>;
2351
+ }
2352
+ declare namespace InitializedEvent {
2353
+ type InputTuple = [version: BigNumberish];
2354
+ type OutputTuple = [version: bigint];
2355
+ interface OutputObject {
2356
+ version: bigint;
2357
+ }
2358
+ type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2359
+ type Filter = TypedDeferredTopicFilter<Event>;
2360
+ type Log = TypedEventLog<Event>;
2361
+ type LogDescription = TypedLogDescription<Event>;
2362
+ }
2363
+ declare namespace OwnershipTransferStartedEvent {
2364
+ type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
2365
+ type OutputTuple = [previousOwner: string, newOwner: string];
2366
+ interface OutputObject {
2367
+ previousOwner: string;
2368
+ newOwner: string;
2369
+ }
2370
+ type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2371
+ type Filter = TypedDeferredTopicFilter<Event>;
2372
+ type Log = TypedEventLog<Event>;
2373
+ type LogDescription = TypedLogDescription<Event>;
2374
+ }
2375
+ declare namespace OwnershipTransferredEvent {
2376
+ type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
2377
+ type OutputTuple = [previousOwner: string, newOwner: string];
2378
+ interface OutputObject {
2379
+ previousOwner: string;
2380
+ newOwner: string;
2381
+ }
2382
+ type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2383
+ type Filter = TypedDeferredTopicFilter<Event>;
2384
+ type Log = TypedEventLog<Event>;
2385
+ type LogDescription = TypedLogDescription<Event>;
2386
+ }
2387
+ declare namespace RebateClaimedEvent {
2388
+ type InputTuple = [
2389
+ user: AddressLike,
2390
+ token: AddressLike,
2391
+ amount: BigNumberish
2392
+ ];
2393
+ type OutputTuple = [user: string, token: string, amount: bigint];
2394
+ interface OutputObject {
2395
+ user: string;
2396
+ token: string;
2397
+ amount: bigint;
2398
+ }
2399
+ type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2400
+ type Filter = TypedDeferredTopicFilter<Event>;
2401
+ type Log = TypedEventLog<Event>;
2402
+ type LogDescription = TypedLogDescription<Event>;
2403
+ }
2404
+ declare namespace SignerUpdatedEvent {
2405
+ type InputTuple = [signer: AddressLike, isSigner: boolean];
2406
+ type OutputTuple = [signer: string, isSigner: boolean];
2407
+ interface OutputObject {
2408
+ signer: string;
2409
+ isSigner: boolean;
2410
+ }
2411
+ type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2412
+ type Filter = TypedDeferredTopicFilter<Event>;
2413
+ type Log = TypedEventLog<Event>;
2414
+ type LogDescription = TypedLogDescription<Event>;
2415
+ }
2416
+ declare namespace UserFeeDataUpdatedEvent {
2417
+ type InputTuple = [
2418
+ broker: AddressLike,
2419
+ signer: AddressLike,
2420
+ user: AddressLike,
2421
+ tier: BigNumberish,
2422
+ referrer: AddressLike,
2423
+ totalReferralRebatePct: BigNumberish,
2424
+ referrerRebatePct: BigNumberish
2425
+ ];
2426
+ type OutputTuple = [
2427
+ broker: string,
2428
+ signer: string,
2429
+ user: string,
2430
+ tier: bigint,
2431
+ referrer: string,
2432
+ totalReferralRebatePct: bigint,
2433
+ referrerRebatePct: bigint
2434
+ ];
2435
+ interface OutputObject {
2436
+ broker: string;
2437
+ signer: string;
2438
+ user: string;
2439
+ tier: bigint;
2440
+ referrer: string;
2441
+ totalReferralRebatePct: bigint;
2442
+ referrerRebatePct: bigint;
2443
+ }
2444
+ type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2445
+ type Filter = TypedDeferredTopicFilter<Event>;
2446
+ type Log = TypedEventLog<Event>;
2447
+ type LogDescription = TypedLogDescription<Event>;
2448
+ }
2449
+ interface Broker extends BaseContract {
2450
+ connect(runner?: ContractRunner | null): Broker;
2451
+ waitForDeployment(): Promise<this>;
2452
+ interface: BrokerInterface;
2453
+ queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
2454
+ queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
2455
+ on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
2456
+ on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
2457
+ once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
2458
+ once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
2459
+ listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
2460
+ listeners(eventName?: string): Promise<Array<Listener>>;
2461
+ removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
2462
+ FEE_TYPEHASH: TypedContractMethod<[], [string], "view">;
2463
+ __ERC2771ContextUpgradeable_init: TypedContractMethod<[
2464
+ trustedForwarder_: AddressLike
2465
+ ], [
2466
+ void
2467
+ ], "nonpayable">;
2468
+ acceptOwnership: TypedContractMethod<[], [void], "nonpayable">;
2469
+ activeFeeTiers: TypedContractMethod<[
2470
+ assetClass: BigNumberish,
2471
+ riskTier: BigNumberish
2472
+ ], [
2473
+ bigint[]
2474
+ ], "view">;
2475
+ activeSpecialFeeTierList: TypedContractMethod<[
2476
+ assetClass: BigNumberish,
2477
+ riskTier: BigNumberish
2478
+ ], [
2479
+ bigint[]
2480
+ ], "view">;
2481
+ addressManager: TypedContractMethod<[], [string], "view">;
2482
+ adjustCollateral: TypedContractMethod<[
2483
+ depositParams: {
2484
+ token: AddressLike;
2485
+ amount: BigNumberish;
2486
+ },
2487
+ positionId: BytesLike,
2488
+ adjustAmount: BigNumberish
2489
+ ], [
2490
+ void
2491
+ ], "nonpayable">;
2492
+ batchSetSpecialFeeTiers: TypedContractMethod<[
2493
+ params: {
2494
+ assetClass: BigNumberish;
2495
+ riskTier: BigNumberish;
2496
+ feeTier: BigNumberish;
2497
+ makerFeeRate: BigNumberish;
2498
+ takerFeeRate: BigNumberish;
2499
+ }[]
2500
+ ], [
2501
+ void
2502
+ ], "nonpayable">;
2503
+ batchUpdateFeeTiers: TypedContractMethod<[
2504
+ params: {
2505
+ assetClass: BigNumberish;
2506
+ riskTier: BigNumberish;
2507
+ feeTier: BigNumberish;
2508
+ addOnFeeRate: {
2509
+ takerFeeRate: BigNumberish;
2510
+ makerFeeRate: BigNumberish;
2511
+ };
2512
+ }[]
2513
+ ], [
2514
+ void
2515
+ ], "nonpayable">;
2516
+ cancelOrder: TypedContractMethod<[
2517
+ orderId: BigNumberish
2518
+ ], [
2519
+ void
2520
+ ], "nonpayable">;
2521
+ cancelOrders: TypedContractMethod<[
2522
+ orderIds: BigNumberish[]
2523
+ ], [
2524
+ void
2525
+ ], "nonpayable">;
2526
+ claimRebate: TypedContractMethod<[token: AddressLike], [void], "nonpayable">;
2527
+ claimRebates: TypedContractMethod<[
2528
+ tokens: AddressLike[]
2529
+ ], [
2530
+ void
2531
+ ], "nonpayable">;
2532
+ eip712Domain: TypedContractMethod<[
2533
+ ], [
2534
+ [
2535
+ string,
2536
+ string,
2537
+ string,
2538
+ bigint,
2539
+ string,
2540
+ string,
2541
+ bigint[]
2542
+ ] & {
2543
+ fields: string;
2544
+ name: string;
2545
+ version: string;
2546
+ chainId: bigint;
2547
+ verifyingContract: string;
2548
+ salt: string;
2549
+ extensions: bigint[];
2550
+ }
2551
+ ], "view">;
2552
+ getAddOnFeeTier: TypedContractMethod<[
2553
+ assetClass: BigNumberish,
2554
+ riskTier: BigNumberish,
2555
+ feeTier: BigNumberish
2556
+ ], [
2557
+ [bigint, bigint] & {
2558
+ takerFeeRate: bigint;
2559
+ makerFeeRate: bigint;
2560
+ }
2561
+ ], "view">;
2562
+ getBaseFeeRate: TypedContractMethod<[
2563
+ assetClass: BigNumberish
2564
+ ], [
2565
+ [bigint, bigint] & {
2566
+ takerFeeRate: bigint;
2567
+ makerFeeRate: bigint;
2568
+ }
2569
+ ], "view">;
2570
+ getSpecialFeeTier: TypedContractMethod<[
2571
+ assetClass: BigNumberish,
2572
+ riskTier: BigNumberish,
2573
+ feeTier: BigNumberish
2574
+ ], [
2575
+ [bigint, bigint] & {
2576
+ makerFeeRate: bigint;
2577
+ takerFeeRate: bigint;
2578
+ }
2579
+ ], "view">;
2580
+ getUserFeeRate: TypedContractMethod<[
2581
+ user: AddressLike,
2582
+ assetClass: BigNumberish,
2583
+ riskTier: BigNumberish
2584
+ ], [
2585
+ [
2586
+ bigint,
2587
+ bigint,
2588
+ bigint,
2589
+ bigint
2590
+ ] & {
2591
+ takerFeeRate: bigint;
2592
+ makerFeeRate: bigint;
2593
+ baseTakerFeeRate: bigint;
2594
+ baseMakerFeeRate: bigint;
2595
+ }
2596
+ ], "view">;
2597
+ initialize: TypedContractMethod<[
2598
+ _addressManager: AddressLike,
2599
+ owner: AddressLike,
2600
+ _brokerName: string,
2601
+ brokerSigners: AddressLike[],
2602
+ assetClasses: BigNumberish[],
2603
+ baseFeeRates: {
2604
+ takerFeeRate: BigNumberish;
2605
+ makerFeeRate: BigNumberish;
2606
+ }[]
2607
+ ], [
2608
+ void
2609
+ ], "nonpayable">;
2610
+ isActive: TypedContractMethod<[], [boolean], "view">;
2611
+ isTrustedForwarder: TypedContractMethod<[
2612
+ forwarder: AddressLike
2613
+ ], [
2614
+ boolean
2615
+ ], "view">;
2616
+ name: TypedContractMethod<[], [string], "view">;
2617
+ onBrokerFee: TypedContractMethod<[
2618
+ poolId: BytesLike,
2619
+ user: AddressLike,
2620
+ token: AddressLike,
2621
+ feeAmount: BigNumberish
2622
+ ], [
2623
+ [
2624
+ bigint,
2625
+ bigint,
2626
+ string
2627
+ ] & {
2628
+ totalReferralRebate: bigint;
2629
+ referrerRebate: bigint;
2630
+ referrer: string;
2631
+ }
2632
+ ], "nonpayable">;
2633
+ owner: TypedContractMethod<[], [string], "view">;
2634
+ pendingOwner: TypedContractMethod<[], [string], "view">;
2635
+ placeOrderWithPosition: TypedContractMethod<[
2636
+ positionId: BytesLike,
2637
+ depositParams: {
2638
+ token: AddressLike;
2639
+ amount: BigNumberish;
2640
+ },
2641
+ orderParams: {
2642
+ user: AddressLike;
2643
+ poolId: BytesLike;
2644
+ orderType: BigNumberish;
2645
+ triggerType: BigNumberish;
2646
+ operation: BigNumberish;
2647
+ direction: BigNumberish;
2648
+ collateralAmount: BigNumberish;
2649
+ size: BigNumberish;
2650
+ price: BigNumberish;
2651
+ timeInForce: BigNumberish;
2652
+ postOnly: boolean;
2653
+ slippagePct: BigNumberish;
2654
+ leverage: BigNumberish;
2655
+ tpSize: BigNumberish;
2656
+ tpPrice: BigNumberish;
2657
+ slSize: BigNumberish;
2658
+ slPrice: BigNumberish;
2659
+ }
2660
+ ], [
2661
+ void
2662
+ ], "payable">;
2663
+ placeOrderWithSalt: TypedContractMethod<[
2664
+ userPositionSalt: BigNumberish,
2665
+ depositParams: {
2666
+ token: AddressLike;
2667
+ amount: BigNumberish;
2668
+ },
2669
+ orderParams: {
2670
+ user: AddressLike;
2671
+ poolId: BytesLike;
2672
+ orderType: BigNumberish;
2673
+ triggerType: BigNumberish;
2674
+ operation: BigNumberish;
2675
+ direction: BigNumberish;
2676
+ collateralAmount: BigNumberish;
2677
+ size: BigNumberish;
2678
+ price: BigNumberish;
2679
+ timeInForce: BigNumberish;
2680
+ postOnly: boolean;
2681
+ slippagePct: BigNumberish;
2682
+ leverage: BigNumberish;
2683
+ tpSize: BigNumberish;
2684
+ tpPrice: BigNumberish;
2685
+ slSize: BigNumberish;
2686
+ slPrice: BigNumberish;
2687
+ }
2688
+ ], [
2689
+ void
2690
+ ], "payable">;
2691
+ placeOrdersWithPosition: TypedContractMethod<[
2692
+ depositParams: {
2693
+ token: AddressLike;
2694
+ amount: BigNumberish;
2695
+ },
2696
+ positionIds: BytesLike[],
2697
+ orderParams: {
2698
+ user: AddressLike;
2699
+ poolId: BytesLike;
2700
+ orderType: BigNumberish;
2701
+ triggerType: BigNumberish;
2702
+ operation: BigNumberish;
2703
+ direction: BigNumberish;
2704
+ collateralAmount: BigNumberish;
2705
+ size: BigNumberish;
2706
+ price: BigNumberish;
2707
+ timeInForce: BigNumberish;
2708
+ postOnly: boolean;
2709
+ slippagePct: BigNumberish;
2710
+ leverage: BigNumberish;
2711
+ tpSize: BigNumberish;
2712
+ tpPrice: BigNumberish;
2713
+ slSize: BigNumberish;
2714
+ slPrice: BigNumberish;
2715
+ }[]
2716
+ ], [
2717
+ void
2718
+ ], "payable">;
2719
+ placeOrdersWithSalt: TypedContractMethod<[
2720
+ depositParams: {
2721
+ token: AddressLike;
2722
+ amount: BigNumberish;
2723
+ },
2724
+ userPositionSalts: BigNumberish[],
2725
+ orderParams: {
2726
+ user: AddressLike;
2727
+ poolId: BytesLike;
2728
+ orderType: BigNumberish;
2729
+ triggerType: BigNumberish;
2730
+ operation: BigNumberish;
2731
+ direction: BigNumberish;
2732
+ collateralAmount: BigNumberish;
2733
+ size: BigNumberish;
2734
+ price: BigNumberish;
2735
+ timeInForce: BigNumberish;
2736
+ postOnly: boolean;
2737
+ slippagePct: BigNumberish;
2738
+ leverage: BigNumberish;
2739
+ tpSize: BigNumberish;
2740
+ tpPrice: BigNumberish;
2741
+ slSize: BigNumberish;
2742
+ slPrice: BigNumberish;
2743
+ }[]
2744
+ ], [
2745
+ void
2746
+ ], "payable">;
2747
+ renounceOwnership: TypedContractMethod<[], [void], "nonpayable">;
2748
+ setSigner: TypedContractMethod<[
2749
+ signer: AddressLike,
2750
+ isSigner: boolean
2751
+ ], [
2752
+ void
2753
+ ], "nonpayable">;
2754
+ setSpecialFeeTier: TypedContractMethod<[
2755
+ params: {
2756
+ assetClass: BigNumberish;
2757
+ riskTier: BigNumberish;
2758
+ feeTier: BigNumberish;
2759
+ makerFeeRate: BigNumberish;
2760
+ takerFeeRate: BigNumberish;
2761
+ }
2762
+ ], [
2763
+ void
2764
+ ], "nonpayable">;
2765
+ setUserFeeData: TypedContractMethod<[
2766
+ params: {
2767
+ user: AddressLike;
2768
+ nonce: BigNumberish;
2769
+ deadline: BigNumberish;
2770
+ feeData: {
2771
+ tier: BigNumberish;
2772
+ referrer: AddressLike;
2773
+ totalReferralRebatePct: BigNumberish;
2774
+ referrerRebatePct: BigNumberish;
2775
+ };
2776
+ signature: BytesLike;
2777
+ }
2778
+ ], [
2779
+ void
2780
+ ], "nonpayable">;
2781
+ setUserSpecialFeeTier: TypedContractMethod<[
2782
+ user: AddressLike,
2783
+ feeTier: BigNumberish
2784
+ ], [
2785
+ void
2786
+ ], "nonpayable">;
2787
+ supportedAssetClasses: TypedContractMethod<[], [bigint[]], "view">;
2788
+ transferOwnership: TypedContractMethod<[
2789
+ newOwner: AddressLike
2790
+ ], [
2791
+ void
2792
+ ], "nonpayable">;
2793
+ trustedForwarder: TypedContractMethod<[], [string], "view">;
2794
+ updateBaseFeeRates: TypedContractMethod<[
2795
+ params: {
2796
+ assetClass: BigNumberish;
2797
+ isEnable: boolean;
2798
+ baseFeeRate: {
2799
+ takerFeeRate: BigNumberish;
2800
+ makerFeeRate: BigNumberish;
2801
+ };
2802
+ }[]
2803
+ ], [
2804
+ void
2805
+ ], "nonpayable">;
2806
+ updateBrokerStatus: TypedContractMethod<[
2807
+ active: boolean
2808
+ ], [
2809
+ void
2810
+ ], "nonpayable">;
2811
+ updateFeeTier: TypedContractMethod<[
2812
+ assetClass: BigNumberish,
2813
+ riskTier: BigNumberish,
2814
+ feeTier: BigNumberish,
2815
+ feeRate: {
2816
+ takerFeeRate: BigNumberish;
2817
+ makerFeeRate: BigNumberish;
2818
+ }
2819
+ ], [
2820
+ void
2821
+ ], "nonpayable">;
2822
+ updateFeeTiers: TypedContractMethod<[
2823
+ assetClass: BigNumberish,
2824
+ riskTier: BigNumberish,
2825
+ feeTiers: BigNumberish[],
2826
+ feeRates: {
2827
+ takerFeeRate: BigNumberish;
2828
+ makerFeeRate: BigNumberish;
2829
+ }[]
2830
+ ], [
2831
+ void
2832
+ ], "nonpayable">;
2833
+ updateOrder: TypedContractMethod<[
2834
+ depositParams: {
2835
+ token: AddressLike;
2836
+ amount: BigNumberish;
2837
+ },
2838
+ params: {
2839
+ orderId: BigNumberish;
2840
+ size: BigNumberish;
2841
+ price: BigNumberish;
2842
+ tpsl: {
2843
+ tpSize: BigNumberish;
2844
+ tpPrice: BigNumberish;
2845
+ slSize: BigNumberish;
2846
+ slPrice: BigNumberish;
2847
+ };
2848
+ }
2849
+ ], [
2850
+ void
2851
+ ], "nonpayable">;
2852
+ updatePriceAndAdjustCollateral: TypedContractMethod<[
2853
+ prices: {
2854
+ poolId: BytesLike;
2855
+ oracleType: BigNumberish;
2856
+ referencePrice: BigNumberish;
2857
+ oracleUpdateData: BytesLike;
2858
+ publishTime: BigNumberish;
2859
+ }[],
2860
+ depositParams: {
2861
+ token: AddressLike;
2862
+ amount: BigNumberish;
2863
+ },
2864
+ positionId: BytesLike,
2865
+ adjustAmount: BigNumberish
2866
+ ], [
2867
+ void
2868
+ ], "payable">;
2869
+ userFeeData: TypedContractMethod<[
2870
+ user: AddressLike
2871
+ ], [
2872
+ [
2873
+ bigint,
2874
+ string,
2875
+ bigint,
2876
+ bigint
2877
+ ] & {
2878
+ tier: bigint;
2879
+ referrer: string;
2880
+ totalReferralRebatePct: bigint;
2881
+ referrerRebatePct: bigint;
2882
+ }
2883
+ ], "view">;
2884
+ userNonces: TypedContractMethod<[user: AddressLike], [bigint], "view">;
2885
+ userRebates: TypedContractMethod<[
2886
+ user: AddressLike,
2887
+ token: AddressLike
2888
+ ], [
2889
+ bigint
2890
+ ], "view">;
2891
+ getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
2892
+ getFunction(nameOrSignature: "FEE_TYPEHASH"): TypedContractMethod<[], [string], "view">;
2893
+ getFunction(nameOrSignature: "__ERC2771ContextUpgradeable_init"): TypedContractMethod<[
2894
+ trustedForwarder_: AddressLike
2895
+ ], [
2896
+ void
2897
+ ], "nonpayable">;
2898
+ getFunction(nameOrSignature: "acceptOwnership"): TypedContractMethod<[], [void], "nonpayable">;
2899
+ getFunction(nameOrSignature: "activeFeeTiers"): TypedContractMethod<[
2900
+ assetClass: BigNumberish,
2901
+ riskTier: BigNumberish
2902
+ ], [
2903
+ bigint[]
2904
+ ], "view">;
2905
+ getFunction(nameOrSignature: "activeSpecialFeeTierList"): TypedContractMethod<[
2906
+ assetClass: BigNumberish,
2907
+ riskTier: BigNumberish
2908
+ ], [
2909
+ bigint[]
2910
+ ], "view">;
2911
+ getFunction(nameOrSignature: "addressManager"): TypedContractMethod<[], [string], "view">;
2912
+ getFunction(nameOrSignature: "adjustCollateral"): TypedContractMethod<[
2913
+ depositParams: {
2914
+ token: AddressLike;
2915
+ amount: BigNumberish;
2916
+ },
2917
+ positionId: BytesLike,
2918
+ adjustAmount: BigNumberish
2919
+ ], [
2920
+ void
2921
+ ], "nonpayable">;
2922
+ getFunction(nameOrSignature: "batchSetSpecialFeeTiers"): TypedContractMethod<[
2923
+ params: {
2924
+ assetClass: BigNumberish;
2925
+ riskTier: BigNumberish;
2926
+ feeTier: BigNumberish;
2927
+ makerFeeRate: BigNumberish;
2928
+ takerFeeRate: BigNumberish;
2929
+ }[]
2930
+ ], [
2931
+ void
2932
+ ], "nonpayable">;
2933
+ getFunction(nameOrSignature: "batchUpdateFeeTiers"): TypedContractMethod<[
2934
+ params: {
2935
+ assetClass: BigNumberish;
2936
+ riskTier: BigNumberish;
2937
+ feeTier: BigNumberish;
2938
+ addOnFeeRate: {
2939
+ takerFeeRate: BigNumberish;
2940
+ makerFeeRate: BigNumberish;
2941
+ };
2942
+ }[]
2943
+ ], [
2944
+ void
2945
+ ], "nonpayable">;
2946
+ getFunction(nameOrSignature: "cancelOrder"): TypedContractMethod<[orderId: BigNumberish], [void], "nonpayable">;
2947
+ getFunction(nameOrSignature: "cancelOrders"): TypedContractMethod<[orderIds: BigNumberish[]], [void], "nonpayable">;
2948
+ getFunction(nameOrSignature: "claimRebate"): TypedContractMethod<[token: AddressLike], [void], "nonpayable">;
2949
+ getFunction(nameOrSignature: "claimRebates"): TypedContractMethod<[tokens: AddressLike[]], [void], "nonpayable">;
2950
+ getFunction(nameOrSignature: "eip712Domain"): TypedContractMethod<[
2951
+ ], [
2952
+ [
2953
+ string,
2954
+ string,
2955
+ string,
2956
+ bigint,
2957
+ string,
2958
+ string,
2959
+ bigint[]
2960
+ ] & {
2961
+ fields: string;
2962
+ name: string;
2963
+ version: string;
2964
+ chainId: bigint;
2965
+ verifyingContract: string;
2966
+ salt: string;
2967
+ extensions: bigint[];
2968
+ }
2969
+ ], "view">;
2970
+ getFunction(nameOrSignature: "getAddOnFeeTier"): TypedContractMethod<[
2971
+ assetClass: BigNumberish,
2972
+ riskTier: BigNumberish,
2973
+ feeTier: BigNumberish
2974
+ ], [
2975
+ [bigint, bigint] & {
2976
+ takerFeeRate: bigint;
2977
+ makerFeeRate: bigint;
2978
+ }
2979
+ ], "view">;
2980
+ getFunction(nameOrSignature: "getBaseFeeRate"): TypedContractMethod<[
2981
+ assetClass: BigNumberish
2982
+ ], [
2983
+ [bigint, bigint] & {
2984
+ takerFeeRate: bigint;
2985
+ makerFeeRate: bigint;
2986
+ }
2987
+ ], "view">;
2988
+ getFunction(nameOrSignature: "getSpecialFeeTier"): TypedContractMethod<[
2989
+ assetClass: BigNumberish,
2990
+ riskTier: BigNumberish,
2991
+ feeTier: BigNumberish
2992
+ ], [
2993
+ [bigint, bigint] & {
2994
+ makerFeeRate: bigint;
2995
+ takerFeeRate: bigint;
2996
+ }
2997
+ ], "view">;
2998
+ getFunction(nameOrSignature: "getUserFeeRate"): TypedContractMethod<[
2999
+ user: AddressLike,
3000
+ assetClass: BigNumberish,
3001
+ riskTier: BigNumberish
3002
+ ], [
3003
+ [
3004
+ bigint,
3005
+ bigint,
3006
+ bigint,
3007
+ bigint
3008
+ ] & {
3009
+ takerFeeRate: bigint;
3010
+ makerFeeRate: bigint;
3011
+ baseTakerFeeRate: bigint;
3012
+ baseMakerFeeRate: bigint;
3013
+ }
3014
+ ], "view">;
3015
+ getFunction(nameOrSignature: "initialize"): TypedContractMethod<[
3016
+ _addressManager: AddressLike,
3017
+ owner: AddressLike,
3018
+ _brokerName: string,
3019
+ brokerSigners: AddressLike[],
3020
+ assetClasses: BigNumberish[],
3021
+ baseFeeRates: {
3022
+ takerFeeRate: BigNumberish;
3023
+ makerFeeRate: BigNumberish;
3024
+ }[]
3025
+ ], [
3026
+ void
3027
+ ], "nonpayable">;
3028
+ getFunction(nameOrSignature: "isActive"): TypedContractMethod<[], [boolean], "view">;
3029
+ getFunction(nameOrSignature: "isTrustedForwarder"): TypedContractMethod<[forwarder: AddressLike], [boolean], "view">;
3030
+ getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">;
3031
+ getFunction(nameOrSignature: "onBrokerFee"): TypedContractMethod<[
3032
+ poolId: BytesLike,
3033
+ user: AddressLike,
3034
+ token: AddressLike,
3035
+ feeAmount: BigNumberish
3036
+ ], [
3037
+ [
3038
+ bigint,
3039
+ bigint,
3040
+ string
3041
+ ] & {
3042
+ totalReferralRebate: bigint;
3043
+ referrerRebate: bigint;
3044
+ referrer: string;
3045
+ }
3046
+ ], "nonpayable">;
3047
+ getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">;
3048
+ getFunction(nameOrSignature: "pendingOwner"): TypedContractMethod<[], [string], "view">;
3049
+ getFunction(nameOrSignature: "placeOrderWithPosition"): TypedContractMethod<[
3050
+ positionId: BytesLike,
3051
+ depositParams: {
3052
+ token: AddressLike;
3053
+ amount: BigNumberish;
3054
+ },
3055
+ orderParams: {
3056
+ user: AddressLike;
3057
+ poolId: BytesLike;
3058
+ orderType: BigNumberish;
3059
+ triggerType: BigNumberish;
3060
+ operation: BigNumberish;
3061
+ direction: BigNumberish;
3062
+ collateralAmount: BigNumberish;
3063
+ size: BigNumberish;
3064
+ price: BigNumberish;
3065
+ timeInForce: BigNumberish;
3066
+ postOnly: boolean;
3067
+ slippagePct: BigNumberish;
3068
+ leverage: BigNumberish;
3069
+ tpSize: BigNumberish;
3070
+ tpPrice: BigNumberish;
3071
+ slSize: BigNumberish;
3072
+ slPrice: BigNumberish;
3073
+ }
3074
+ ], [
3075
+ void
3076
+ ], "payable">;
3077
+ getFunction(nameOrSignature: "placeOrderWithSalt"): TypedContractMethod<[
3078
+ userPositionSalt: BigNumberish,
3079
+ depositParams: {
3080
+ token: AddressLike;
3081
+ amount: BigNumberish;
3082
+ },
3083
+ orderParams: {
3084
+ user: AddressLike;
3085
+ poolId: BytesLike;
3086
+ orderType: BigNumberish;
3087
+ triggerType: BigNumberish;
3088
+ operation: BigNumberish;
3089
+ direction: BigNumberish;
3090
+ collateralAmount: BigNumberish;
3091
+ size: BigNumberish;
3092
+ price: BigNumberish;
3093
+ timeInForce: BigNumberish;
3094
+ postOnly: boolean;
3095
+ slippagePct: BigNumberish;
3096
+ leverage: BigNumberish;
3097
+ tpSize: BigNumberish;
3098
+ tpPrice: BigNumberish;
3099
+ slSize: BigNumberish;
3100
+ slPrice: BigNumberish;
3101
+ }
3102
+ ], [
3103
+ void
3104
+ ], "payable">;
3105
+ getFunction(nameOrSignature: "placeOrdersWithPosition"): TypedContractMethod<[
3106
+ depositParams: {
3107
+ token: AddressLike;
3108
+ amount: BigNumberish;
3109
+ },
3110
+ positionIds: BytesLike[],
3111
+ orderParams: {
3112
+ user: AddressLike;
3113
+ poolId: BytesLike;
3114
+ orderType: BigNumberish;
3115
+ triggerType: BigNumberish;
3116
+ operation: BigNumberish;
3117
+ direction: BigNumberish;
3118
+ collateralAmount: BigNumberish;
3119
+ size: BigNumberish;
3120
+ price: BigNumberish;
3121
+ timeInForce: BigNumberish;
3122
+ postOnly: boolean;
3123
+ slippagePct: BigNumberish;
3124
+ leverage: BigNumberish;
3125
+ tpSize: BigNumberish;
3126
+ tpPrice: BigNumberish;
3127
+ slSize: BigNumberish;
3128
+ slPrice: BigNumberish;
3129
+ }[]
3130
+ ], [
3131
+ void
3132
+ ], "payable">;
3133
+ getFunction(nameOrSignature: "placeOrdersWithSalt"): TypedContractMethod<[
3134
+ depositParams: {
3135
+ token: AddressLike;
3136
+ amount: BigNumberish;
3137
+ },
3138
+ userPositionSalts: BigNumberish[],
3139
+ orderParams: {
3140
+ user: AddressLike;
3141
+ poolId: BytesLike;
3142
+ orderType: BigNumberish;
3143
+ triggerType: BigNumberish;
3144
+ operation: BigNumberish;
3145
+ direction: BigNumberish;
3146
+ collateralAmount: BigNumberish;
3147
+ size: BigNumberish;
3148
+ price: BigNumberish;
3149
+ timeInForce: BigNumberish;
3150
+ postOnly: boolean;
3151
+ slippagePct: BigNumberish;
3152
+ leverage: BigNumberish;
3153
+ tpSize: BigNumberish;
3154
+ tpPrice: BigNumberish;
3155
+ slSize: BigNumberish;
3156
+ slPrice: BigNumberish;
3157
+ }[]
3158
+ ], [
3159
+ void
3160
+ ], "payable">;
3161
+ getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">;
3162
+ getFunction(nameOrSignature: "setSigner"): TypedContractMethod<[
3163
+ signer: AddressLike,
3164
+ isSigner: boolean
3165
+ ], [
3166
+ void
3167
+ ], "nonpayable">;
3168
+ getFunction(nameOrSignature: "setSpecialFeeTier"): TypedContractMethod<[
3169
+ params: {
3170
+ assetClass: BigNumberish;
3171
+ riskTier: BigNumberish;
3172
+ feeTier: BigNumberish;
3173
+ makerFeeRate: BigNumberish;
3174
+ takerFeeRate: BigNumberish;
3175
+ }
3176
+ ], [
3177
+ void
3178
+ ], "nonpayable">;
3179
+ getFunction(nameOrSignature: "setUserFeeData"): TypedContractMethod<[
3180
+ params: {
3181
+ user: AddressLike;
3182
+ nonce: BigNumberish;
3183
+ deadline: BigNumberish;
3184
+ feeData: {
3185
+ tier: BigNumberish;
3186
+ referrer: AddressLike;
3187
+ totalReferralRebatePct: BigNumberish;
3188
+ referrerRebatePct: BigNumberish;
3189
+ };
3190
+ signature: BytesLike;
3191
+ }
3192
+ ], [
3193
+ void
3194
+ ], "nonpayable">;
3195
+ getFunction(nameOrSignature: "setUserSpecialFeeTier"): TypedContractMethod<[
3196
+ user: AddressLike,
3197
+ feeTier: BigNumberish
3198
+ ], [
3199
+ void
3200
+ ], "nonpayable">;
3201
+ getFunction(nameOrSignature: "supportedAssetClasses"): TypedContractMethod<[], [bigint[]], "view">;
3202
+ getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">;
3203
+ getFunction(nameOrSignature: "trustedForwarder"): TypedContractMethod<[], [string], "view">;
3204
+ getFunction(nameOrSignature: "updateBaseFeeRates"): TypedContractMethod<[
3205
+ params: {
3206
+ assetClass: BigNumberish;
3207
+ isEnable: boolean;
3208
+ baseFeeRate: {
3209
+ takerFeeRate: BigNumberish;
3210
+ makerFeeRate: BigNumberish;
3211
+ };
3212
+ }[]
3213
+ ], [
3214
+ void
3215
+ ], "nonpayable">;
3216
+ getFunction(nameOrSignature: "updateBrokerStatus"): TypedContractMethod<[active: boolean], [void], "nonpayable">;
3217
+ getFunction(nameOrSignature: "updateFeeTier"): TypedContractMethod<[
3218
+ assetClass: BigNumberish,
3219
+ riskTier: BigNumberish,
3220
+ feeTier: BigNumberish,
3221
+ feeRate: {
3222
+ takerFeeRate: BigNumberish;
3223
+ makerFeeRate: BigNumberish;
3224
+ }
3225
+ ], [
3226
+ void
3227
+ ], "nonpayable">;
3228
+ getFunction(nameOrSignature: "updateFeeTiers"): TypedContractMethod<[
3229
+ assetClass: BigNumberish,
3230
+ riskTier: BigNumberish,
3231
+ feeTiers: BigNumberish[],
3232
+ feeRates: {
3233
+ takerFeeRate: BigNumberish;
3234
+ makerFeeRate: BigNumberish;
3235
+ }[]
3236
+ ], [
3237
+ void
3238
+ ], "nonpayable">;
3239
+ getFunction(nameOrSignature: "updateOrder"): TypedContractMethod<[
3240
+ depositParams: {
3241
+ token: AddressLike;
3242
+ amount: BigNumberish;
3243
+ },
3244
+ params: {
3245
+ orderId: BigNumberish;
3246
+ size: BigNumberish;
3247
+ price: BigNumberish;
3248
+ tpsl: {
3249
+ tpSize: BigNumberish;
3250
+ tpPrice: BigNumberish;
3251
+ slSize: BigNumberish;
3252
+ slPrice: BigNumberish;
3253
+ };
3254
+ }
3255
+ ], [
3256
+ void
3257
+ ], "nonpayable">;
3258
+ getFunction(nameOrSignature: "updatePriceAndAdjustCollateral"): TypedContractMethod<[
3259
+ prices: {
3260
+ poolId: BytesLike;
3261
+ oracleType: BigNumberish;
3262
+ referencePrice: BigNumberish;
3263
+ oracleUpdateData: BytesLike;
3264
+ publishTime: BigNumberish;
3265
+ }[],
3266
+ depositParams: {
3267
+ token: AddressLike;
3268
+ amount: BigNumberish;
3269
+ },
3270
+ positionId: BytesLike,
3271
+ adjustAmount: BigNumberish
3272
+ ], [
3273
+ void
3274
+ ], "payable">;
3275
+ getFunction(nameOrSignature: "userFeeData"): TypedContractMethod<[
3276
+ user: AddressLike
3277
+ ], [
3278
+ [
3279
+ bigint,
3280
+ string,
3281
+ bigint,
3282
+ bigint
3283
+ ] & {
3284
+ tier: bigint;
3285
+ referrer: string;
3286
+ totalReferralRebatePct: bigint;
3287
+ referrerRebatePct: bigint;
3288
+ }
3289
+ ], "view">;
3290
+ getFunction(nameOrSignature: "userNonces"): TypedContractMethod<[user: AddressLike], [bigint], "view">;
3291
+ getFunction(nameOrSignature: "userRebates"): TypedContractMethod<[
3292
+ user: AddressLike,
3293
+ token: AddressLike
3294
+ ], [
3295
+ bigint
3296
+ ], "view">;
3297
+ getEvent(key: "BrokerStatusUpdated"): TypedContractEvent<BrokerStatusUpdatedEvent.InputTuple, BrokerStatusUpdatedEvent.OutputTuple, BrokerStatusUpdatedEvent.OutputObject>;
3298
+ getEvent(key: "EIP712DomainChanged"): TypedContractEvent<EIP712DomainChangedEvent.InputTuple, EIP712DomainChangedEvent.OutputTuple, EIP712DomainChangedEvent.OutputObject>;
3299
+ getEvent(key: "Initialized"): TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
3300
+ getEvent(key: "OwnershipTransferStarted"): TypedContractEvent<OwnershipTransferStartedEvent.InputTuple, OwnershipTransferStartedEvent.OutputTuple, OwnershipTransferStartedEvent.OutputObject>;
3301
+ getEvent(key: "OwnershipTransferred"): TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
3302
+ getEvent(key: "RebateClaimed"): TypedContractEvent<RebateClaimedEvent.InputTuple, RebateClaimedEvent.OutputTuple, RebateClaimedEvent.OutputObject>;
3303
+ getEvent(key: "SignerUpdated"): TypedContractEvent<SignerUpdatedEvent.InputTuple, SignerUpdatedEvent.OutputTuple, SignerUpdatedEvent.OutputObject>;
3304
+ getEvent(key: "UserFeeDataUpdated"): TypedContractEvent<UserFeeDataUpdatedEvent.InputTuple, UserFeeDataUpdatedEvent.OutputTuple, UserFeeDataUpdatedEvent.OutputObject>;
3305
+ filters: {
3306
+ "BrokerStatusUpdated(address,bool)": TypedContractEvent<BrokerStatusUpdatedEvent.InputTuple, BrokerStatusUpdatedEvent.OutputTuple, BrokerStatusUpdatedEvent.OutputObject>;
3307
+ BrokerStatusUpdated: TypedContractEvent<BrokerStatusUpdatedEvent.InputTuple, BrokerStatusUpdatedEvent.OutputTuple, BrokerStatusUpdatedEvent.OutputObject>;
3308
+ "EIP712DomainChanged()": TypedContractEvent<EIP712DomainChangedEvent.InputTuple, EIP712DomainChangedEvent.OutputTuple, EIP712DomainChangedEvent.OutputObject>;
3309
+ EIP712DomainChanged: TypedContractEvent<EIP712DomainChangedEvent.InputTuple, EIP712DomainChangedEvent.OutputTuple, EIP712DomainChangedEvent.OutputObject>;
3310
+ "Initialized(uint64)": TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
3311
+ Initialized: TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
3312
+ "OwnershipTransferStarted(address,address)": TypedContractEvent<OwnershipTransferStartedEvent.InputTuple, OwnershipTransferStartedEvent.OutputTuple, OwnershipTransferStartedEvent.OutputObject>;
3313
+ OwnershipTransferStarted: TypedContractEvent<OwnershipTransferStartedEvent.InputTuple, OwnershipTransferStartedEvent.OutputTuple, OwnershipTransferStartedEvent.OutputObject>;
3314
+ "OwnershipTransferred(address,address)": TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
3315
+ OwnershipTransferred: TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
3316
+ "RebateClaimed(address,address,uint256)": TypedContractEvent<RebateClaimedEvent.InputTuple, RebateClaimedEvent.OutputTuple, RebateClaimedEvent.OutputObject>;
3317
+ RebateClaimed: TypedContractEvent<RebateClaimedEvent.InputTuple, RebateClaimedEvent.OutputTuple, RebateClaimedEvent.OutputObject>;
3318
+ "SignerUpdated(address,bool)": TypedContractEvent<SignerUpdatedEvent.InputTuple, SignerUpdatedEvent.OutputTuple, SignerUpdatedEvent.OutputObject>;
3319
+ SignerUpdated: TypedContractEvent<SignerUpdatedEvent.InputTuple, SignerUpdatedEvent.OutputTuple, SignerUpdatedEvent.OutputObject>;
3320
+ "UserFeeDataUpdated(address,address,address,uint8,address,uint32,uint32)": TypedContractEvent<UserFeeDataUpdatedEvent.InputTuple, UserFeeDataUpdatedEvent.OutputTuple, UserFeeDataUpdatedEvent.OutputObject>;
3321
+ UserFeeDataUpdated: TypedContractEvent<UserFeeDataUpdatedEvent.InputTuple, UserFeeDataUpdatedEvent.OutputTuple, UserFeeDataUpdatedEvent.OutputObject>;
3322
+ };
3323
+ }
3324
+
3325
+ declare class BaseMyxClient {
3326
+ protected client: MyxClient;
3327
+ constructor(client: MyxClient);
3328
+ protected getConfig(): MyxClientConfig;
3329
+ protected getSigner(): Promise<Signer>;
3330
+ protected getAddressConfig(): ContractAddress;
3331
+ protected connectContract<T extends Record<string, any>>(contract: T): Promise<T>;
3332
+ protected getBrokerContract(): Promise<Broker>;
3333
+ }
3334
+
3335
+ declare class Referrals extends BaseMyxClient {
3336
+ constructor(client: MyxClient);
3337
+ claimRebate(): Promise<ethers.ContractTransactionReceipt | null>;
3338
+ }
3339
+
1960
3340
  declare class MyxClient {
1961
3341
  /**
1962
3342
  * private properties
@@ -1974,6 +3354,7 @@ declare class MyxClient {
1974
3354
  account: Account;
1975
3355
  seamless: Seamless;
1976
3356
  api: Api;
3357
+ referrals: Referrals;
1977
3358
  /**
1978
3359
  * 获取配置管理器(用于访问 accessToken 相关方法)
1979
3360
  */