@myx-trade/sdk 1.0.2-beta.0 → 1.0.2-beta.1

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,11 +1,10 @@
1
- import * as ethers from 'ethers';
2
- import { ZeroAddress, AddressLike, Signer, ethers as ethers$1, BrowserProvider, DeferredTopicFilter, EventFragment, EventLog, TransactionRequest, Typed, ContractTransactionResponse, FunctionFragment, ContractTransaction, LogDescription, BaseContract, ContractRunner, Interface, BigNumberish, BytesLike, Result, Listener, ContractMethod } from 'ethers';
3
- export { formatUnits, parseUnits } from 'ethers';
1
+ import * as viem from 'viem';
2
+ import { zeroAddress, Address as Address$2, Account as Account$1, WalletClient, PublicClient, Abi } from 'viem';
3
+ export { formatUnits, parseUnits } from 'viem';
4
4
  import { Options, Event } from 'reconnecting-websocket';
5
- import { Address as Address$2, WalletClient } from 'viem';
6
5
  import { WretchOptions } from 'wretch/types';
7
6
 
8
- type Address$1 = `0x${string}` | typeof ZeroAddress;
7
+ type Address$1 = `0x${string}` | typeof zeroAddress;
9
8
  declare enum ChainId {
10
9
  LINEA_SEPOLIA = 59141,
11
10
  LINEA_MAINNET = 59144,
@@ -38,7 +37,7 @@ interface ContractAddress {
38
37
 
39
38
  interface CreatePoolRequest {
40
39
  chainId: ChainId;
41
- baseToken: AddressLike;
40
+ baseToken: `0x${string}`;
42
41
  marketId: string;
43
42
  }
44
43
  declare enum PoolType {
@@ -72,57 +71,57 @@ interface CancelTpSLParams {
72
71
  orderId: string;
73
72
  }
74
73
 
75
- declare const createPool: ({ chainId, baseToken, marketId }: CreatePoolRequest) => Promise<string | undefined>;
74
+ declare const createPool: ({ chainId, baseToken, marketId }: CreatePoolRequest) => Promise<any>;
76
75
 
77
- declare const getMarketPoolId: ({ chainId, baseToken, marketId, }: CreatePoolRequest) => Promise<string | undefined>;
78
- declare const getMarketPools: (chainId: ChainId) => Promise<string[]>;
76
+ declare const getMarketPoolId: ({ chainId, baseToken, marketId, }: CreatePoolRequest) => Promise<any>;
77
+ declare const getMarketPools: (chainId: ChainId) => Promise<any>;
79
78
  declare const getPoolInfo$1: (chainId: ChainId, poolId: string, marketPrice?: bigint) => Promise<{
80
79
  quotePool: {
81
- poolToken: string;
82
- exchangeRate: bigint;
83
- poolTokenPrice: bigint;
84
- poolTokenSupply: bigint;
85
- totalDebt: bigint;
86
- baseCollateral: bigint;
80
+ poolToken: any;
81
+ exchangeRate: any;
82
+ poolTokenPrice: any;
83
+ poolTokenSupply: any;
84
+ totalDebt: any;
85
+ baseCollateral: any;
87
86
  };
88
87
  basePool: {
89
- poolToken: string;
90
- exchangeRate: bigint;
91
- poolTokenPrice: bigint;
92
- poolTokenSupply: bigint;
93
- totalDebt: bigint;
94
- baseCollateral: bigint;
88
+ poolToken: any;
89
+ exchangeRate: any;
90
+ poolTokenPrice: any;
91
+ poolTokenSupply: any;
92
+ totalDebt: any;
93
+ baseCollateral: any;
95
94
  };
96
95
  reserveInfo: {
97
- baseTotalAmount: bigint;
98
- baseReservedAmount: bigint;
99
- quoteTotalAmount: bigint;
100
- quoteReservedAmount: bigint;
96
+ baseTotalAmount: any;
97
+ baseReservedAmount: any;
98
+ quoteTotalAmount: any;
99
+ quoteReservedAmount: any;
101
100
  };
102
101
  fundingInfo: {
103
- nextFundingRate: bigint;
104
- lastFundingFeeTracker: bigint;
105
- nextEpochTime: bigint;
102
+ nextFundingRate: any;
103
+ lastFundingFeeTracker: any;
104
+ nextEpochTime: any;
106
105
  };
107
106
  ioTracker: {
108
- tracker: bigint;
109
- longSize: bigint;
110
- shortSize: bigint;
111
- poolEntryPrice: bigint;
107
+ tracker: any;
108
+ longSize: any;
109
+ shortSize: any;
110
+ poolEntryPrice: any;
112
111
  };
113
112
  liquidityInfo: {
114
- windowCaps: bigint;
115
- openInterest: bigint;
113
+ windowCaps: any;
114
+ openInterest: any;
116
115
  };
117
116
  }>;
118
117
 
119
- declare const getUserGenesisShare: (chainId: ChainId, tokenAddress: string, account: string) => Promise<bigint>;
118
+ declare const getUserGenesisShare: (chainId: ChainId, tokenAddress: string, account: string) => Promise<any>;
120
119
 
121
- declare const addTpSl: (params: AddTpSLParams) => Promise<ethers.ContractTransactionReceipt | null>;
120
+ declare const addTpSl: (params: AddTpSLParams) => Promise<any>;
122
121
 
123
- declare const cancelTpSl: (params: CancelTpSLParams) => Promise<ethers.ContractTransactionReceipt | null>;
122
+ declare const cancelTpSl: (params: CancelTpSLParams) => Promise<any>;
124
123
 
125
- declare const reprime: (chainId: ChainId, poolId: string, marketId: string) => Promise<ethers.ContractTransactionReceipt | null>;
124
+ declare const reprime: (chainId: ChainId, poolId: string, marketId: string) => Promise<any>;
126
125
 
127
126
  /**
128
127
  * Trading related types and enums
@@ -971,29 +970,29 @@ interface PreviewWithdrawDataParams {
971
970
  amount: string | number;
972
971
  }
973
972
 
974
- declare const claimBasePoolRebate: (params: ClaimParams) => Promise<ethers.ContractTransactionResponse | undefined>;
975
- declare const claimBasePoolRebates: (params: ClaimRebatesParams) => Promise<ethers.ContractTransactionResponse | undefined>;
973
+ declare const claimBasePoolRebate: (params: ClaimParams) => Promise<any>;
974
+ declare const claimBasePoolRebates: (params: ClaimRebatesParams) => Promise<any>;
976
975
 
977
- declare const deposit$1: (params: Deposit) => Promise<ethers.ContractTransactionResponse | undefined>;
976
+ declare const deposit$1: (params: Deposit) => Promise<any>;
978
977
 
979
978
  declare const withdrawableLpAmount$1: (params: {
980
979
  chainId: ChainId;
981
980
  poolId: string;
982
981
  price?: bigint;
983
- }) => Promise<bigint>;
984
- declare const withdraw$1: (params: WithdrawParams) => Promise<ethers.ContractTransactionReceipt | null | undefined>;
982
+ }) => Promise<any>;
983
+ declare const withdraw$1: (params: WithdrawParams) => Promise<any>;
985
984
 
986
985
  declare const getRewards$1: (params: RewardsParams) => Promise<{
987
- rebates: bigint;
988
- genesisRebates: bigint;
986
+ rebates: any;
987
+ genesisRebates: any;
989
988
  } | undefined>;
990
989
 
991
990
  declare const previewUserWithdrawData: ({ chainId, account, poolId, amount }: PreviewWithdrawDataParams) => Promise<{
992
- baseAmountOut: bigint;
993
- rebateAmount: bigint;
991
+ baseAmountOut: any;
992
+ rebateAmount: any;
994
993
  } | undefined>;
995
994
 
996
- declare const getLpPrice$1: (chainId: ChainId, poolId: string) => Promise<bigint | undefined>;
995
+ declare const getLpPrice$1: (chainId: ChainId, poolId: string) => Promise<any>;
997
996
 
998
997
  declare const index$2_claimBasePoolRebate: typeof claimBasePoolRebate;
999
998
  declare const index$2_claimBasePoolRebates: typeof claimBasePoolRebates;
@@ -1002,23 +1001,23 @@ declare namespace index$2 {
1002
1001
  export { index$2_claimBasePoolRebate as claimBasePoolRebate, index$2_claimBasePoolRebates as claimBasePoolRebates, deposit$1 as deposit, getLpPrice$1 as getLpPrice, getRewards$1 as getRewards, index$2_previewUserWithdrawData as previewUserWithdrawData, withdraw$1 as withdraw, withdrawableLpAmount$1 as withdrawableLpAmount };
1003
1002
  }
1004
1003
 
1005
- declare const deposit: (params: Deposit) => Promise<ethers.ContractTransactionResponse | undefined>;
1004
+ declare const deposit: (params: Deposit) => Promise<any>;
1006
1005
 
1007
1006
  declare const withdrawableLpAmount: (params: {
1008
1007
  chainId: ChainId;
1009
1008
  poolId: string;
1010
1009
  price?: bigint;
1011
- }) => Promise<bigint>;
1012
- declare const withdraw: (params: WithdrawParams) => Promise<ethers.ContractTransactionReceipt | null | undefined>;
1010
+ }) => Promise<any>;
1011
+ declare const withdraw: (params: WithdrawParams) => Promise<any>;
1013
1012
 
1014
- declare const transfer: (chainId: ChainId, fromPoolId: string, toPoolId: string, amount: number) => Promise<ethers.ContractTransactionResponse | null>;
1013
+ declare const transfer: (chainId: ChainId, fromPoolId: string, toPoolId: string, amount: number) => Promise<any>;
1015
1014
 
1016
- declare const getRewards: (params: RewardsParams) => Promise<bigint | undefined>;
1015
+ declare const getRewards: (params: RewardsParams) => Promise<any>;
1017
1016
 
1018
- declare const claimQuotePoolRebate: (params: ClaimParams) => Promise<ethers.ContractTransactionResponse | undefined>;
1019
- declare const claimQuotePoolRebates: (params: ClaimRebatesParams) => Promise<ethers.ContractTransactionResponse | undefined>;
1017
+ declare const claimQuotePoolRebate: (params: ClaimParams) => Promise<any>;
1018
+ declare const claimQuotePoolRebates: (params: ClaimRebatesParams) => Promise<any>;
1020
1019
 
1021
- declare const getLpPrice: (chainId: ChainId, poolId: string) => Promise<bigint | undefined>;
1020
+ declare const getLpPrice: (chainId: ChainId, poolId: string) => Promise<any>;
1022
1021
 
1023
1022
  declare const index$1_claimQuotePoolRebate: typeof claimQuotePoolRebate;
1024
1023
  declare const index$1_claimQuotePoolRebates: typeof claimQuotePoolRebates;
@@ -1032,19 +1031,9 @@ declare namespace index$1 {
1032
1031
  export { index$1_claimQuotePoolRebate as claimQuotePoolRebate, index$1_claimQuotePoolRebates as claimQuotePoolRebates, index$1_deposit as deposit, index$1_getLpPrice as getLpPrice, index$1_getRewards as getRewards, index$1_transfer as transfer, index$1_withdraw as withdraw, index$1_withdrawableLpAmount as withdrawableLpAmount };
1033
1032
  }
1034
1033
 
1035
- declare const getMarket: (chainId: ChainId, marketId: string) => Promise<([string, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint] & {
1036
- quoteToken: string;
1037
- baseReserveRatio: bigint;
1038
- quoteReserveRatio: bigint;
1039
- oracleFeeUsd: bigint;
1040
- poolPrimeThreshold: bigint;
1041
- executionFee: bigint;
1042
- maxExecutionFee: bigint;
1043
- forwardFee: bigint;
1044
- maxForwardFee: bigint;
1045
- }) | undefined>;
1046
-
1047
- declare const getOracleFee: (chainId: ChainId, marketId: string) => Promise<bigint | undefined>;
1034
+ declare const getMarket: (chainId: ChainId, marketId: string) => Promise<any>;
1035
+
1036
+ declare const getOracleFee: (chainId: ChainId, marketId: string) => Promise<any>;
1048
1037
 
1049
1038
  declare const index_getMarket: typeof getMarket;
1050
1039
  declare const index_getOracleFee: typeof getOracleFee;
@@ -1072,7 +1061,7 @@ declare const getPriceData: (chainId: ChainId, poolId: string) => Promise<{
1072
1061
  declare const COMMON_PRICE_DECIMALS = 30;
1073
1062
  declare const COMMON_LP_AMOUNT_DECIMALS = 18;
1074
1063
 
1075
- declare const approve: (chainId: ChainId, account: string, tokenAddress: string, approveAddress: string, amount: bigint) => Promise<void>;
1064
+ declare const approve: (chainId: ChainId, _account: string, tokenAddress: string, approveAddress: string, amount: bigint) => Promise<void>;
1076
1065
 
1077
1066
  declare const getAllowanceApproved: (chainId: ChainId, account: string, tokenAddress: string, approveAddress: string, approveAmount: bigint) => Promise<boolean>;
1078
1067
 
@@ -1089,7 +1078,7 @@ declare const getTokenInfo: (chainId: number, tokenAddress: string, account?: st
1089
1078
  address: string;
1090
1079
  name: string;
1091
1080
  symbol: string;
1092
- decimals: bigint;
1081
+ decimals: number;
1093
1082
  icon: string;
1094
1083
  totalSupply: number;
1095
1084
  }>;
@@ -1282,6 +1271,71 @@ interface KlineDataResponse {
1282
1271
  data: KlineData;
1283
1272
  }
1284
1273
 
1274
+ /**
1275
+ * Minimal signer interface supported by the SDK.
1276
+ * Implementations can wrap ethers v5/v6 Signer or viem WalletClient
1277
+ * so that the SDK does not depend on a specific version.
1278
+ */
1279
+ interface ISigner {
1280
+ getAddress(): Promise<string>;
1281
+ signMessage(message: string | Uint8Array): Promise<string>;
1282
+ sendTransaction(tx: {
1283
+ to?: string;
1284
+ data?: string;
1285
+ value?: bigint | string;
1286
+ gasLimit?: bigint | string;
1287
+ gasPrice?: bigint | string;
1288
+ maxFeePerGas?: bigint | string;
1289
+ maxPriorityFeePerGas?: bigint | string;
1290
+ }): Promise<{
1291
+ hash: string;
1292
+ }>;
1293
+ /** EIP-712 signTypedData; required for permit/forwarder flows when using ISigner. */
1294
+ signTypedData?(params: {
1295
+ domain: Record<string, unknown>;
1296
+ types: Record<string, unknown>;
1297
+ primaryType: string;
1298
+ message: Record<string, unknown>;
1299
+ }): Promise<string>;
1300
+ }
1301
+ /**
1302
+ * Type that the SDK accepts as "signer" in auth():
1303
+ * - ISigner (generic)
1304
+ * - viem WalletClient
1305
+ * - Any object with getAddress, signMessage, sendTransaction (ethers v5/v6 Signer)
1306
+ */
1307
+ type SignerLike = ISigner | WalletClientLike | MinimalSignerLike;
1308
+ interface MinimalSignerLike {
1309
+ getAddress(): Promise<string>;
1310
+ signMessage(message: string | Uint8Array): Promise<string>;
1311
+ sendTransaction(tx: Record<string, unknown>): Promise<{
1312
+ hash: string;
1313
+ }>;
1314
+ }
1315
+ type WalletClientLike = {
1316
+ getAddresses(): Promise<readonly `0x${string}`[]>;
1317
+ signMessage(args: {
1318
+ message: string | {
1319
+ raw: Uint8Array;
1320
+ };
1321
+ }): Promise<`0x${string}`>;
1322
+ sendTransaction(args: {
1323
+ to: `0x${string}`;
1324
+ data?: `0x${string}`;
1325
+ value?: bigint;
1326
+ gas?: bigint;
1327
+ gasPrice?: bigint;
1328
+ maxFeePerGas?: bigint;
1329
+ maxPriorityFeePerGas?: bigint;
1330
+ }): Promise<`0x${string}`>;
1331
+ transport?: {
1332
+ request(args: {
1333
+ method: string;
1334
+ params?: unknown[];
1335
+ }): Promise<unknown>;
1336
+ };
1337
+ };
1338
+
1285
1339
  interface AccessTokenResponse {
1286
1340
  accessToken: string;
1287
1341
  expireAt: number;
@@ -1291,10 +1345,11 @@ interface MyxClientConfig {
1291
1345
  * @deprecated Pass chainId from outside in each method for flexibility; this field will be removed in a future version
1292
1346
  */
1293
1347
  chainId: number;
1294
- signer?: Signer;
1348
+ /** ethers v5/v6 Signer, viem WalletClient, or ISigner. Use walletClient when app uses viem to avoid ethers in bundle. */
1349
+ signer?: SignerLike;
1295
1350
  seamlessAccount?: {
1296
1351
  masterAddress: string;
1297
- wallet: ethers$1.Wallet | null;
1352
+ wallet: Account$1 | null;
1298
1353
  authorized: boolean;
1299
1354
  };
1300
1355
  walletClient?: WalletClient;
@@ -1311,16 +1366,24 @@ declare class ConfigManager {
1311
1366
  private config;
1312
1367
  private accessToken?;
1313
1368
  private accessTokenExpiry?;
1369
+ /** Normalized ISigner when auth({ signer }) is used (ethers or ISigner). Not set when only walletClient is used. */
1370
+ private _normalizedSigner;
1314
1371
  constructor(config: MyxClientConfig);
1315
1372
  clear(): void;
1373
+ /** True if auth was done with signer or walletClient. */
1374
+ hasSigner(): boolean;
1375
+ /** Returns the signer address for the given chainId. Use when only address is needed. */
1376
+ getSignerAddress(chainId: number): Promise<string>;
1377
+ /** Returns viem WalletClient for the chain (for readContract/writeContract). Use when SDK uses viem. */
1378
+ getViemWalletClient(chainId: number): Promise<WalletClient>;
1316
1379
  startSeamlessMode(open: boolean): Promise<MyxClientConfig>;
1317
1380
  updateSeamlessWallet({ wallet, authorized, masterAddress, }: {
1318
- wallet?: ethers$1.Wallet;
1381
+ wallet?: Account$1 | null;
1319
1382
  authorized?: boolean;
1320
1383
  masterAddress?: string;
1321
1384
  }): void;
1322
1385
  updateClientChainId(chainId: number, brokerAddress: string): void;
1323
- auth(params: Pick<MyxClientConfig, "signer" | "getAccessToken">): void;
1386
+ auth(params: Pick<MyxClientConfig, "signer" | "walletClient" | "getAccessToken">): void;
1324
1387
  private validateConfig;
1325
1388
  /**
1326
1389
  * Get currently stored accessToken (does not auto-refresh)
@@ -1356,20 +1419,37 @@ declare class ConfigManager {
1356
1419
  getConfig(): MyxClientConfig;
1357
1420
  }
1358
1421
 
1422
+ /**
1423
+ * Viem-based public and wallet clients. Replaces ethers JsonRpcProvider / Signer for chain reads and writes.
1424
+ */
1425
+
1426
+ declare function getPublicClient(chainId: number): PublicClient;
1427
+ interface ConfigManagerRef {
1428
+ hasSigner(): boolean;
1429
+ getViemWalletClient(chainId: number): Promise<WalletClient>;
1430
+ }
1431
+ declare function setConfigManagerForViem(cm: ConfigManagerRef | null): void;
1432
+ /** Returns WalletClient for the chain (from config walletClient or wrapped ISigner). Use for writeContract / sendTransaction. */
1433
+ declare function getWalletClient(chainId: number): Promise<WalletClient>;
1434
+
1359
1435
  declare class MxSDK {
1360
1436
  #private;
1361
1437
  version: string;
1362
- provider: BrowserProvider | undefined;
1438
+ /** @deprecated Prefer getWalletClient(chainId) for viem-based flows. */
1439
+ provider: unknown;
1363
1440
  private static _instance;
1364
1441
  Markets: MarketInfo[] | undefined;
1365
1442
  constructor();
1366
1443
  setConfigManager(cm: ConfigManager): void;
1367
1444
  getConfigManager(): ConfigManager | undefined;
1368
- setProvider(provider: BrowserProvider): void;
1369
- getProvider(): BrowserProvider | undefined;
1445
+ /** @deprecated Use getWalletClient(chainId) instead. */
1446
+ setProvider(provider: unknown): void;
1447
+ getProvider(): unknown;
1370
1448
  static getInstance(): MxSDK;
1371
1449
  getMarkets(): Promise<MarketInfo[]>;
1372
1450
  }
1451
+ /** Returns viem WalletClient for the chain. Prefer this over ethers BrowserProvider. */
1452
+ declare const getWalletProvider: (chainId: number) => Promise<WalletClient>;
1373
1453
 
1374
1454
  interface MyxSubscriptionOptions {
1375
1455
  }
@@ -1406,8 +1486,6 @@ declare class SubScription {
1406
1486
  */
1407
1487
  subscribeKline(globalId: number, resolution: KlineResolution, callback: OnKlineCallback): void;
1408
1488
  unsubscribeKline(globalId: number, resolution: KlineResolution, callback: OnKlineCallback): void;
1409
- private _preSigner;
1410
- private _preUserAddress;
1411
1489
  private getSdkAuthParams;
1412
1490
  private clientAuth;
1413
1491
  private prevUserAddress;
@@ -1445,15 +1523,15 @@ declare class Utils {
1445
1523
  getOrderIdFromTransaction(receipt: any): string | null;
1446
1524
  private getApproveQuoteAmount;
1447
1525
  needsApproval(account: string, chainId: number, tokenAddress: string, requiredAmount: string, spenderAddress?: string): Promise<boolean>;
1448
- approveAuthorization({ chainId, quoteAddress, amount, spenderAddress, signer, }: {
1526
+ approveAuthorization({ chainId, quoteAddress, amount, spenderAddress, }: {
1449
1527
  chainId: number;
1450
1528
  quoteAddress: string;
1451
1529
  amount?: string;
1452
1530
  spenderAddress?: string;
1453
- signer?: ethers$1.Signer;
1531
+ signer?: unknown;
1454
1532
  }): Promise<{
1455
1533
  code: number;
1456
- message: any;
1534
+ message: string;
1457
1535
  }>;
1458
1536
  getUserTradingFeeRate(assetClass: number, riskTier: number, chainId: number): Promise<{
1459
1537
  code: 0;
@@ -1493,80 +1571,11 @@ declare class Utils {
1493
1571
  marketPrice: string;
1494
1572
  }): Promise<{
1495
1573
  code: number;
1496
- data: [[string, bigint, bigint, bigint, bigint, bigint] & {
1497
- poolToken: string;
1498
- exchangeRate: bigint;
1499
- poolTokenPrice: bigint;
1500
- poolTokenSupply: bigint;
1501
- totalDebt: bigint;
1502
- baseCollateral: bigint;
1503
- }, [string, bigint, bigint, bigint, bigint, bigint] & {
1504
- poolToken: string;
1505
- exchangeRate: bigint;
1506
- poolTokenPrice: bigint;
1507
- poolTokenSupply: bigint;
1508
- totalDebt: bigint;
1509
- baseCollateral: bigint;
1510
- }, [bigint, bigint, bigint, bigint] & {
1511
- baseTotalAmount: bigint;
1512
- baseReservedAmount: bigint;
1513
- quoteTotalAmount: bigint;
1514
- quoteReservedAmount: bigint;
1515
- }, [bigint, bigint, bigint] & {
1516
- nextFundingRate: bigint;
1517
- lastFundingFeeTracker: bigint;
1518
- nextEpochTime: bigint;
1519
- }, [bigint, bigint, bigint, bigint] & {
1520
- tracker: bigint;
1521
- longSize: bigint;
1522
- shortSize: bigint;
1523
- poolEntryPrice: bigint;
1524
- }, [bigint, bigint] & {
1525
- windowCaps: bigint;
1526
- openInterest: bigint;
1527
- }] & {
1528
- basePool: [string, bigint, bigint, bigint, bigint, bigint] & {
1529
- poolToken: string;
1530
- exchangeRate: bigint;
1531
- poolTokenPrice: bigint;
1532
- poolTokenSupply: bigint;
1533
- totalDebt: bigint;
1534
- baseCollateral: bigint;
1535
- };
1536
- quotePool: [string, bigint, bigint, bigint, bigint, bigint] & {
1537
- poolToken: string;
1538
- exchangeRate: bigint;
1539
- poolTokenPrice: bigint;
1540
- poolTokenSupply: bigint;
1541
- totalDebt: bigint;
1542
- baseCollateral: bigint;
1543
- };
1544
- reserveInfo: [bigint, bigint, bigint, bigint] & {
1545
- baseTotalAmount: bigint;
1546
- baseReservedAmount: bigint;
1547
- quoteTotalAmount: bigint;
1548
- quoteReservedAmount: bigint;
1549
- };
1550
- fundingInfo: [bigint, bigint, bigint] & {
1551
- nextFundingRate: bigint;
1552
- lastFundingFeeTracker: bigint;
1553
- nextEpochTime: bigint;
1554
- };
1555
- oi: [bigint, bigint, bigint, bigint] & {
1556
- tracker: bigint;
1557
- longSize: bigint;
1558
- shortSize: bigint;
1559
- poolEntryPrice: bigint;
1560
- };
1561
- liquidityInfo: [bigint, bigint] & {
1562
- windowCaps: bigint;
1563
- openInterest: bigint;
1564
- };
1565
- };
1574
+ data: any;
1566
1575
  message?: undefined;
1567
1576
  } | {
1568
1577
  code: number;
1569
- message: any;
1578
+ message: string;
1570
1579
  data?: undefined;
1571
1580
  }>;
1572
1581
  formatErrorMessage(error: any): any;
@@ -1876,8 +1885,6 @@ declare class Request {
1876
1885
  protected configManager: ConfigManager;
1877
1886
  constructor(configManager: ConfigManager);
1878
1887
  protected getHost(): "https://api-beta.myx.finance" | "https://api-test.myx.cash" | "https://api.myx.finance";
1879
- private _preSigner;
1880
- private _preUserAddress;
1881
1888
  private buildAuthParams;
1882
1889
  private buildRequestPath;
1883
1890
  protected get<T = Record<string, any>>(url: string, params: any, { auth, ...options }?: RequestOptions): Promise<T>;
@@ -2039,28 +2046,13 @@ declare class Account {
2039
2046
  code: number;
2040
2047
  data: any;
2041
2048
  }>;
2042
- getAvailableMarginBalance({ poolId, chainId, address }: {
2043
- poolId: string;
2044
- chainId: number;
2045
- address: string;
2046
- }): Promise<bigint>;
2047
- getTradeFlow(params: GetHistoryOrdersParams, address: string): Promise<{
2048
- code: number;
2049
- data: TradeFlowItem[];
2050
- }>;
2051
- withdraw({ chainId, receiver, amount, poolId, isQuoteToken }: {
2052
- chainId: number;
2053
- receiver: string;
2054
- amount: string;
2055
- poolId: string;
2056
- isQuoteToken: boolean;
2057
- }): Promise<{
2049
+ updateAndWithdraw(receiver: string, poolId: string, isQuoteToken: boolean, amount: string, chainId: number): Promise<{
2058
2050
  code: number;
2059
2051
  message: string;
2060
2052
  data: ApiResponse<any>;
2061
2053
  } | {
2062
2054
  code: number;
2063
- data: any;
2055
+ data: viem.TransactionReceipt;
2064
2056
  message?: undefined;
2065
2057
  } | {
2066
2058
  code: number;
@@ -2077,7 +2069,20 @@ declare class Account {
2077
2069
  data: ApiResponse<any>;
2078
2070
  } | {
2079
2071
  code: number;
2080
- data: any;
2072
+ data: viem.TransactionReceipt;
2073
+ message?: undefined;
2074
+ } | {
2075
+ code: number;
2076
+ message: string;
2077
+ data?: undefined;
2078
+ }>;
2079
+ getAvailableMarginBalance({ poolId, chainId, address }: {
2080
+ poolId: string;
2081
+ chainId: number;
2082
+ address: string;
2083
+ }): Promise<{
2084
+ code: number;
2085
+ data: bigint;
2081
2086
  message?: undefined;
2082
2087
  } | {
2083
2088
  code: number;
@@ -2117,7 +2122,11 @@ declare class Account {
2117
2122
  nonce: string;
2118
2123
  }, signature: string): Promise<{
2119
2124
  code: number;
2120
- data: any;
2125
+ data: ApiResponse<any>;
2126
+ message?: undefined;
2127
+ } | {
2128
+ code: number;
2129
+ data: viem.TransactionReceipt;
2121
2130
  message?: undefined;
2122
2131
  } | {
2123
2132
  code: number;
@@ -2133,16 +2142,16 @@ declare class Seamless {
2133
2142
  private account;
2134
2143
  private api;
2135
2144
  constructor(configManager: ConfigManager, logger: Logger, utils: Utils, account: Account, api: Api);
2136
- onCheckRelayer(account: string, relayer: string, chainId: number): Promise<boolean>;
2145
+ onCheckRelayer(account: string, relayer: string, chainId: number): Promise<any>;
2137
2146
  getUSDPermitParams(deadline: number, chainId: number): Promise<{
2138
- token: string;
2139
- owner: string;
2140
- spender: string;
2147
+ token: `0x${string}`;
2148
+ owner: `0x${string}`;
2149
+ spender: `0x${string}`;
2141
2150
  value: string;
2142
2151
  deadline: string;
2143
2152
  v: number;
2144
- r: string;
2145
- s: string;
2153
+ r: `0x${string}`;
2154
+ s: `0x${string}`;
2146
2155
  }[]>;
2147
2156
  forwarderTx({ from, to, value, gas, deadline, data, nonce, }: {
2148
2157
  from: string;
@@ -2152,7 +2161,7 @@ declare class Seamless {
2152
2161
  deadline: number;
2153
2162
  data: string;
2154
2163
  nonce: string;
2155
- }, chainId: number, provider?: ethers$1.Signer): Promise<ApiResponse<any>>;
2164
+ }, chainId: number, walletClient?: Awaited<ReturnType<typeof getWalletClient>>): Promise<ApiResponse<any>>;
2156
2165
  authorizeSeamlessAccount({ approve, seamlessAddress, chainId }: {
2157
2166
  approve: boolean;
2158
2167
  seamlessAddress: string;
@@ -2178,8 +2187,8 @@ declare class Seamless {
2178
2187
  code: number;
2179
2188
  data: {
2180
2189
  masterAddress: string;
2181
- seamlessAccount: string;
2182
- authorized: true;
2190
+ seamlessAccount: `0x${string}`;
2191
+ authorized: any;
2183
2192
  };
2184
2193
  }>;
2185
2194
  exportSeamlessPrivateKey({ password, apiKey }: {
@@ -2198,9 +2207,9 @@ declare class Seamless {
2198
2207
  }): Promise<{
2199
2208
  code: number;
2200
2209
  data: {
2201
- masterAddress: string;
2202
- seamlessAccount: string;
2203
- authorized: boolean;
2210
+ masterAddress: any;
2211
+ seamlessAccount: `0x${string}`;
2212
+ authorized: any;
2204
2213
  apiKey: string;
2205
2214
  };
2206
2215
  }>;
@@ -2218,9 +2227,9 @@ declare class Seamless {
2218
2227
  }): Promise<{
2219
2228
  code: number;
2220
2229
  data: {
2221
- masterAddress: string;
2222
- seamlessAccount: string;
2223
- authorized: boolean;
2230
+ masterAddress: `0x${string}`;
2231
+ seamlessAccount: `0x${string}`;
2232
+ authorized: any;
2224
2233
  apiKey: string;
2225
2234
  };
2226
2235
  message?: undefined;
@@ -2309,13 +2318,13 @@ declare class Order {
2309
2318
  message: string;
2310
2319
  data: {
2311
2320
  success: boolean;
2312
- transactionHash: string;
2313
- blockNumber: number | undefined;
2314
- gasUsed: string | undefined;
2321
+ transactionHash: `0x${string}`;
2322
+ blockNumber: bigint;
2323
+ gasUsed: string;
2315
2324
  status: string;
2316
2325
  confirmations: number;
2317
2326
  timestamp: number;
2318
- receipt: ethers$1.ContractTransactionReceipt | null;
2327
+ receipt: viem.TransactionReceipt;
2319
2328
  };
2320
2329
  } | {
2321
2330
  code: number;
@@ -2336,13 +2345,13 @@ declare class Order {
2336
2345
  } | {
2337
2346
  code: number;
2338
2347
  message: string;
2339
- transactionHash: string;
2340
- blockNumber: number | undefined;
2341
- gasUsed: string | undefined;
2348
+ transactionHash: any;
2349
+ blockNumber: bigint;
2350
+ gasUsed: string;
2342
2351
  status: string;
2343
2352
  confirmations: number;
2344
2353
  timestamp: number;
2345
- receipt: ethers$1.ContractTransactionReceipt | null;
2354
+ receipt: viem.TransactionReceipt;
2346
2355
  data?: undefined;
2347
2356
  } | {
2348
2357
  code: number;
@@ -2365,13 +2374,13 @@ declare class Order {
2365
2374
  message: string;
2366
2375
  data: {
2367
2376
  success: boolean;
2368
- transactionHash: string;
2369
- blockNumber: number | undefined;
2370
- gasUsed: string | undefined;
2377
+ transactionHash: `0x${string}`;
2378
+ blockNumber: bigint;
2379
+ gasUsed: string;
2371
2380
  status: string;
2372
2381
  confirmations: number;
2373
2382
  timestamp: number;
2374
- receipt: ethers$1.ContractTransactionReceipt | null;
2383
+ receipt: viem.TransactionReceipt;
2375
2384
  };
2376
2385
  } | {
2377
2386
  code: number;
@@ -2387,13 +2396,13 @@ declare class Order {
2387
2396
  message: string;
2388
2397
  data: {
2389
2398
  success: boolean;
2390
- transactionHash: string;
2391
- blockNumber: number | undefined;
2392
- gasUsed: string | undefined;
2399
+ transactionHash: `0x${string}`;
2400
+ blockNumber: bigint;
2401
+ gasUsed: string;
2393
2402
  status: string;
2394
2403
  confirmations: number;
2395
2404
  timestamp: number;
2396
- receipt: ethers$1.ContractTransactionReceipt | null;
2405
+ receipt: viem.TransactionReceipt;
2397
2406
  };
2398
2407
  } | {
2399
2408
  code: number;
@@ -2433,7 +2442,7 @@ declare class Order {
2433
2442
  data: ApiResponse<any>;
2434
2443
  } | {
2435
2444
  code: number;
2436
- data: ethers$1.ContractTransactionReceipt | null;
2445
+ data: viem.TransactionReceipt;
2437
2446
  message: string;
2438
2447
  } | {
2439
2448
  code: number;
@@ -2455,1457 +2464,24 @@ declare class Order {
2455
2464
  }>;
2456
2465
  }
2457
2466
 
2458
- interface TypedDeferredTopicFilter<_TCEvent extends TypedContractEvent> extends DeferredTopicFilter {
2459
- }
2460
- interface TypedContractEvent<InputTuple extends Array<any> = any, OutputTuple extends Array<any> = any, OutputObject = any> {
2461
- (...args: Partial<InputTuple>): TypedDeferredTopicFilter<TypedContractEvent<InputTuple, OutputTuple, OutputObject>>;
2462
- name: string;
2463
- fragment: EventFragment;
2464
- getFragment(...args: Partial<InputTuple>): EventFragment;
2465
- }
2466
- type __TypechainAOutputTuple<T> = T extends TypedContractEvent<infer _U, infer W> ? W : never;
2467
- type __TypechainOutputObject<T> = T extends TypedContractEvent<infer _U, infer _W, infer V> ? V : never;
2468
- interface TypedEventLog<TCEvent extends TypedContractEvent> extends Omit<EventLog, "args"> {
2469
- args: __TypechainAOutputTuple<TCEvent> & __TypechainOutputObject<TCEvent>;
2470
- }
2471
- interface TypedLogDescription<TCEvent extends TypedContractEvent> extends Omit<LogDescription, "args"> {
2472
- args: __TypechainAOutputTuple<TCEvent> & __TypechainOutputObject<TCEvent>;
2473
- }
2474
- type TypedListener<TCEvent extends TypedContractEvent> = (...listenerArg: [
2475
- ...__TypechainAOutputTuple<TCEvent>,
2476
- TypedEventLog<TCEvent>,
2477
- ...undefined[]
2478
- ]) => void;
2479
- type StateMutability = "nonpayable" | "payable" | "view";
2480
- type BaseOverrides = Omit<TransactionRequest, "to" | "data">;
2481
- type NonPayableOverrides = Omit<BaseOverrides, "value" | "blockTag" | "enableCcipRead">;
2482
- type PayableOverrides = Omit<BaseOverrides, "blockTag" | "enableCcipRead">;
2483
- type ViewOverrides = Omit<TransactionRequest, "to" | "data">;
2484
- type Overrides<S extends StateMutability> = S extends "nonpayable" ? NonPayableOverrides : S extends "payable" ? PayableOverrides : ViewOverrides;
2485
- type PostfixOverrides<A extends Array<any>, S extends StateMutability> = A | [...A, Overrides<S>];
2486
- type ContractMethodArgs<A extends Array<any>, S extends StateMutability> = PostfixOverrides<{
2487
- [I in keyof A]-?: A[I] | Typed;
2488
- }, S>;
2489
- type DefaultReturnType<R> = R extends Array<any> ? R[0] : R;
2490
- interface TypedContractMethod<A extends Array<any> = Array<any>, R = any, S extends StateMutability = "payable"> {
2491
- (...args: ContractMethodArgs<A, S>): S extends "view" ? Promise<DefaultReturnType<R>> : Promise<ContractTransactionResponse>;
2492
- name: string;
2493
- fragment: FunctionFragment;
2494
- getFragment(...args: ContractMethodArgs<A, S>): FunctionFragment;
2495
- populateTransaction(...args: ContractMethodArgs<A, S>): Promise<ContractTransaction>;
2496
- staticCall(...args: ContractMethodArgs<A, "view">): Promise<DefaultReturnType<R>>;
2497
- send(...args: ContractMethodArgs<A, S>): Promise<ContractTransactionResponse>;
2498
- estimateGas(...args: ContractMethodArgs<A, S>): Promise<bigint>;
2499
- staticCallResult(...args: ContractMethodArgs<A, "view">): Promise<R>;
2500
- }
2501
-
2502
- interface BrokerInterface extends Interface {
2503
- getFunction(nameOrSignature: "FEE_TYPEHASH" | "UPGRADE_INTERFACE_VERSION" | "__ERC2771ContextUpgradeable_init" | "acceptOwnership" | "activeFeeTiers" | "activeSpecialFeeTierList" | "addressManager" | "batchSetSpecialFeeTiers" | "batchUpdateFeeTiers" | "cancelOrder" | "cancelOrders" | "claimRebate" | "claimRebates" | "currentFeeDataEpoch" | "domainSeparatorV4" | "eip712Domain" | "getAddOnFeeTier" | "getBaseFeeRate" | "getImplementation" | "getSpecialFeeTier" | "getUserFeeDataDigest" | "getUserFeeRate" | "initialize" | "isActive" | "isTrustedForwarder" | "name" | "onBrokerFee" | "owner" | "pendingOwner" | "placeOrderWithPosition" | "placeOrderWithSalt" | "placeOrdersWithPosition" | "placeOrdersWithSalt" | "proxiableUUID" | "renounceOwnership" | "resetAllUserFeeData" | "setSigner" | "setSpecialFeeTier" | "setUserFeeData" | "setUserSpecialFeeTier" | "supportedAssetClasses" | "transferOwnership" | "trustedForwarder" | "updateBaseFeeRates" | "updateBrokerStatus" | "updateFeeTier" | "updateOrder" | "updatePriceAndAdjustCollateral" | "updateUserFeeData" | "upgradeTo" | "upgradeToAndCall" | "userFeeData" | "userNonces" | "userRebates"): FunctionFragment;
2504
- getEvent(nameOrSignatureOrTopic: "BrokerStatusUpdated" | "EIP712DomainChanged" | "Initialized" | "OwnershipTransferStarted" | "OwnershipTransferred" | "RebateClaimed" | "SignerUpdated" | "Upgraded" | "UserFeeDataReset" | "UserFeeDataUpdated"): EventFragment;
2505
- encodeFunctionData(functionFragment: "FEE_TYPEHASH", values?: undefined): string;
2506
- encodeFunctionData(functionFragment: "UPGRADE_INTERFACE_VERSION", values?: undefined): string;
2507
- encodeFunctionData(functionFragment: "__ERC2771ContextUpgradeable_init", values: [AddressLike]): string;
2508
- encodeFunctionData(functionFragment: "acceptOwnership", values?: undefined): string;
2509
- encodeFunctionData(functionFragment: "activeFeeTiers", values: [BigNumberish, BigNumberish]): string;
2510
- encodeFunctionData(functionFragment: "activeSpecialFeeTierList", values: [BigNumberish, BigNumberish]): string;
2511
- encodeFunctionData(functionFragment: "addressManager", values?: undefined): string;
2512
- encodeFunctionData(functionFragment: "batchSetSpecialFeeTiers", values: [
2513
- {
2514
- assetClass: BigNumberish;
2515
- riskTier: BigNumberish;
2516
- feeTier: BigNumberish;
2517
- makerFeeRate: BigNumberish;
2518
- takerFeeRate: BigNumberish;
2519
- }[]
2520
- ]): string;
2521
- encodeFunctionData(functionFragment: "batchUpdateFeeTiers", values: [
2522
- {
2523
- assetClass: BigNumberish;
2524
- riskTier: BigNumberish;
2525
- feeTier: BigNumberish;
2526
- addOnFeeRate: {
2527
- takerFeeRate: BigNumberish;
2528
- makerFeeRate: BigNumberish;
2529
- };
2530
- }[]
2531
- ]): string;
2532
- encodeFunctionData(functionFragment: "cancelOrder", values: [BigNumberish]): string;
2533
- encodeFunctionData(functionFragment: "cancelOrders", values: [BigNumberish[]]): string;
2534
- encodeFunctionData(functionFragment: "claimRebate", values: [AddressLike]): string;
2535
- encodeFunctionData(functionFragment: "claimRebates", values: [AddressLike[]]): string;
2536
- encodeFunctionData(functionFragment: "currentFeeDataEpoch", values?: undefined): string;
2537
- encodeFunctionData(functionFragment: "domainSeparatorV4", values?: undefined): string;
2538
- encodeFunctionData(functionFragment: "eip712Domain", values?: undefined): string;
2539
- encodeFunctionData(functionFragment: "getAddOnFeeTier", values: [BigNumberish, BigNumberish, BigNumberish]): string;
2540
- encodeFunctionData(functionFragment: "getBaseFeeRate", values: [BigNumberish]): string;
2541
- encodeFunctionData(functionFragment: "getImplementation", values?: undefined): string;
2542
- encodeFunctionData(functionFragment: "getSpecialFeeTier", values: [BigNumberish, BigNumberish, BigNumberish]): string;
2543
- encodeFunctionData(functionFragment: "getUserFeeDataDigest", values: [
2544
- AddressLike,
2545
- BigNumberish,
2546
- BigNumberish,
2547
- {
2548
- tier: BigNumberish;
2549
- referrer: AddressLike;
2550
- totalReferralRebatePct: BigNumberish;
2551
- referrerRebatePct: BigNumberish;
2552
- }
2553
- ]): string;
2554
- encodeFunctionData(functionFragment: "getUserFeeRate", values: [AddressLike, BigNumberish, BigNumberish]): string;
2555
- encodeFunctionData(functionFragment: "initialize", values: [
2556
- AddressLike,
2557
- AddressLike,
2558
- string,
2559
- AddressLike[],
2560
- BigNumberish[],
2561
- {
2562
- takerFeeRate: BigNumberish;
2563
- makerFeeRate: BigNumberish;
2564
- }[]
2565
- ]): string;
2566
- encodeFunctionData(functionFragment: "isActive", values?: undefined): string;
2567
- encodeFunctionData(functionFragment: "isTrustedForwarder", values: [AddressLike]): string;
2568
- encodeFunctionData(functionFragment: "name", values?: undefined): string;
2569
- encodeFunctionData(functionFragment: "onBrokerFee", values: [BytesLike, AddressLike, AddressLike, BigNumberish]): string;
2570
- encodeFunctionData(functionFragment: "owner", values?: undefined): string;
2571
- encodeFunctionData(functionFragment: "pendingOwner", values?: undefined): string;
2572
- encodeFunctionData(functionFragment: "placeOrderWithPosition", values: [
2573
- BytesLike,
2574
- {
2575
- token: AddressLike;
2576
- amount: BigNumberish;
2577
- },
2578
- {
2579
- user: AddressLike;
2580
- poolId: BytesLike;
2581
- orderType: BigNumberish;
2582
- triggerType: BigNumberish;
2583
- operation: BigNumberish;
2584
- direction: BigNumberish;
2585
- collateralAmount: BigNumberish;
2586
- size: BigNumberish;
2587
- price: BigNumberish;
2588
- timeInForce: BigNumberish;
2589
- postOnly: boolean;
2590
- slippagePct: BigNumberish;
2591
- leverage: BigNumberish;
2592
- tpSize: BigNumberish;
2593
- tpPrice: BigNumberish;
2594
- slSize: BigNumberish;
2595
- slPrice: BigNumberish;
2596
- }
2597
- ]): string;
2598
- encodeFunctionData(functionFragment: "placeOrderWithSalt", values: [
2599
- BigNumberish,
2600
- {
2601
- token: AddressLike;
2602
- amount: BigNumberish;
2603
- },
2604
- {
2605
- user: AddressLike;
2606
- poolId: BytesLike;
2607
- orderType: BigNumberish;
2608
- triggerType: BigNumberish;
2609
- operation: BigNumberish;
2610
- direction: BigNumberish;
2611
- collateralAmount: BigNumberish;
2612
- size: BigNumberish;
2613
- price: BigNumberish;
2614
- timeInForce: BigNumberish;
2615
- postOnly: boolean;
2616
- slippagePct: BigNumberish;
2617
- leverage: BigNumberish;
2618
- tpSize: BigNumberish;
2619
- tpPrice: BigNumberish;
2620
- slSize: BigNumberish;
2621
- slPrice: BigNumberish;
2622
- }
2623
- ]): string;
2624
- encodeFunctionData(functionFragment: "placeOrdersWithPosition", values: [
2625
- {
2626
- token: AddressLike;
2627
- amount: BigNumberish;
2628
- },
2629
- BytesLike[],
2630
- {
2631
- user: AddressLike;
2632
- poolId: BytesLike;
2633
- orderType: BigNumberish;
2634
- triggerType: BigNumberish;
2635
- operation: BigNumberish;
2636
- direction: BigNumberish;
2637
- collateralAmount: BigNumberish;
2638
- size: BigNumberish;
2639
- price: BigNumberish;
2640
- timeInForce: BigNumberish;
2641
- postOnly: boolean;
2642
- slippagePct: BigNumberish;
2643
- leverage: BigNumberish;
2644
- tpSize: BigNumberish;
2645
- tpPrice: BigNumberish;
2646
- slSize: BigNumberish;
2647
- slPrice: BigNumberish;
2648
- }[]
2649
- ]): string;
2650
- encodeFunctionData(functionFragment: "placeOrdersWithSalt", values: [
2651
- {
2652
- token: AddressLike;
2653
- amount: BigNumberish;
2654
- },
2655
- BigNumberish[],
2656
- {
2657
- user: AddressLike;
2658
- poolId: BytesLike;
2659
- orderType: BigNumberish;
2660
- triggerType: BigNumberish;
2661
- operation: BigNumberish;
2662
- direction: BigNumberish;
2663
- collateralAmount: BigNumberish;
2664
- size: BigNumberish;
2665
- price: BigNumberish;
2666
- timeInForce: BigNumberish;
2667
- postOnly: boolean;
2668
- slippagePct: BigNumberish;
2669
- leverage: BigNumberish;
2670
- tpSize: BigNumberish;
2671
- tpPrice: BigNumberish;
2672
- slSize: BigNumberish;
2673
- slPrice: BigNumberish;
2674
- }[]
2675
- ]): string;
2676
- encodeFunctionData(functionFragment: "proxiableUUID", values?: undefined): string;
2677
- encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
2678
- encodeFunctionData(functionFragment: "resetAllUserFeeData", values?: undefined): string;
2679
- encodeFunctionData(functionFragment: "setSigner", values: [AddressLike, boolean]): string;
2680
- encodeFunctionData(functionFragment: "setSpecialFeeTier", values: [
2681
- {
2682
- assetClass: BigNumberish;
2683
- riskTier: BigNumberish;
2684
- feeTier: BigNumberish;
2685
- makerFeeRate: BigNumberish;
2686
- takerFeeRate: BigNumberish;
2687
- }
2688
- ]): string;
2689
- encodeFunctionData(functionFragment: "setUserFeeData", values: [
2690
- {
2691
- user: AddressLike;
2692
- nonce: BigNumberish;
2693
- deadline: BigNumberish;
2694
- feeData: {
2695
- tier: BigNumberish;
2696
- referrer: AddressLike;
2697
- totalReferralRebatePct: BigNumberish;
2698
- referrerRebatePct: BigNumberish;
2699
- };
2700
- signature: BytesLike;
2701
- }
2702
- ]): string;
2703
- encodeFunctionData(functionFragment: "setUserSpecialFeeTier", values: [AddressLike, BigNumberish]): string;
2704
- encodeFunctionData(functionFragment: "supportedAssetClasses", values?: undefined): string;
2705
- encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string;
2706
- encodeFunctionData(functionFragment: "trustedForwarder", values?: undefined): string;
2707
- encodeFunctionData(functionFragment: "updateBaseFeeRates", values: [
2708
- {
2709
- assetClass: BigNumberish;
2710
- isEnable: boolean;
2711
- baseFeeRate: {
2712
- takerFeeRate: BigNumberish;
2713
- makerFeeRate: BigNumberish;
2714
- };
2715
- }[]
2716
- ]): string;
2717
- encodeFunctionData(functionFragment: "updateBrokerStatus", values: [boolean]): string;
2718
- encodeFunctionData(functionFragment: "updateFeeTier", values: [
2719
- BigNumberish,
2720
- BigNumberish,
2721
- BigNumberish,
2722
- {
2723
- takerFeeRate: BigNumberish;
2724
- makerFeeRate: BigNumberish;
2725
- }
2726
- ]): string;
2727
- encodeFunctionData(functionFragment: "updateOrder", values: [
2728
- {
2729
- token: AddressLike;
2730
- amount: BigNumberish;
2731
- },
2732
- {
2733
- orderId: BigNumberish;
2734
- size: BigNumberish;
2735
- price: BigNumberish;
2736
- tpsl: {
2737
- tpSize: BigNumberish;
2738
- tpPrice: BigNumberish;
2739
- slSize: BigNumberish;
2740
- slPrice: BigNumberish;
2741
- };
2742
- }
2743
- ]): string;
2744
- encodeFunctionData(functionFragment: "updatePriceAndAdjustCollateral", values: [
2745
- {
2746
- poolId: BytesLike;
2747
- oracleType: BigNumberish;
2748
- publishTime: BigNumberish;
2749
- oracleUpdateData: BytesLike;
2750
- }[],
2751
- {
2752
- token: AddressLike;
2753
- amount: BigNumberish;
2754
- },
2755
- BytesLike,
2756
- BigNumberish
2757
- ]): string;
2758
- encodeFunctionData(functionFragment: "updateUserFeeData", values: [
2759
- AddressLike,
2760
- {
2761
- tier: BigNumberish;
2762
- referrer: AddressLike;
2763
- totalReferralRebatePct: BigNumberish;
2764
- referrerRebatePct: BigNumberish;
2765
- }
2766
- ]): string;
2767
- encodeFunctionData(functionFragment: "upgradeTo", values: [AddressLike, BytesLike]): string;
2768
- encodeFunctionData(functionFragment: "upgradeToAndCall", values: [AddressLike, BytesLike]): string;
2769
- encodeFunctionData(functionFragment: "userFeeData", values: [BigNumberish, AddressLike]): string;
2770
- encodeFunctionData(functionFragment: "userNonces", values: [AddressLike]): string;
2771
- encodeFunctionData(functionFragment: "userRebates", values: [AddressLike, AddressLike]): string;
2772
- decodeFunctionResult(functionFragment: "FEE_TYPEHASH", data: BytesLike): Result;
2773
- decodeFunctionResult(functionFragment: "UPGRADE_INTERFACE_VERSION", data: BytesLike): Result;
2774
- decodeFunctionResult(functionFragment: "__ERC2771ContextUpgradeable_init", data: BytesLike): Result;
2775
- decodeFunctionResult(functionFragment: "acceptOwnership", data: BytesLike): Result;
2776
- decodeFunctionResult(functionFragment: "activeFeeTiers", data: BytesLike): Result;
2777
- decodeFunctionResult(functionFragment: "activeSpecialFeeTierList", data: BytesLike): Result;
2778
- decodeFunctionResult(functionFragment: "addressManager", data: BytesLike): Result;
2779
- decodeFunctionResult(functionFragment: "batchSetSpecialFeeTiers", data: BytesLike): Result;
2780
- decodeFunctionResult(functionFragment: "batchUpdateFeeTiers", data: BytesLike): Result;
2781
- decodeFunctionResult(functionFragment: "cancelOrder", data: BytesLike): Result;
2782
- decodeFunctionResult(functionFragment: "cancelOrders", data: BytesLike): Result;
2783
- decodeFunctionResult(functionFragment: "claimRebate", data: BytesLike): Result;
2784
- decodeFunctionResult(functionFragment: "claimRebates", data: BytesLike): Result;
2785
- decodeFunctionResult(functionFragment: "currentFeeDataEpoch", data: BytesLike): Result;
2786
- decodeFunctionResult(functionFragment: "domainSeparatorV4", data: BytesLike): Result;
2787
- decodeFunctionResult(functionFragment: "eip712Domain", data: BytesLike): Result;
2788
- decodeFunctionResult(functionFragment: "getAddOnFeeTier", data: BytesLike): Result;
2789
- decodeFunctionResult(functionFragment: "getBaseFeeRate", data: BytesLike): Result;
2790
- decodeFunctionResult(functionFragment: "getImplementation", data: BytesLike): Result;
2791
- decodeFunctionResult(functionFragment: "getSpecialFeeTier", data: BytesLike): Result;
2792
- decodeFunctionResult(functionFragment: "getUserFeeDataDigest", data: BytesLike): Result;
2793
- decodeFunctionResult(functionFragment: "getUserFeeRate", data: BytesLike): Result;
2794
- decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
2795
- decodeFunctionResult(functionFragment: "isActive", data: BytesLike): Result;
2796
- decodeFunctionResult(functionFragment: "isTrustedForwarder", data: BytesLike): Result;
2797
- decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
2798
- decodeFunctionResult(functionFragment: "onBrokerFee", data: BytesLike): Result;
2799
- decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
2800
- decodeFunctionResult(functionFragment: "pendingOwner", data: BytesLike): Result;
2801
- decodeFunctionResult(functionFragment: "placeOrderWithPosition", data: BytesLike): Result;
2802
- decodeFunctionResult(functionFragment: "placeOrderWithSalt", data: BytesLike): Result;
2803
- decodeFunctionResult(functionFragment: "placeOrdersWithPosition", data: BytesLike): Result;
2804
- decodeFunctionResult(functionFragment: "placeOrdersWithSalt", data: BytesLike): Result;
2805
- decodeFunctionResult(functionFragment: "proxiableUUID", data: BytesLike): Result;
2806
- decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
2807
- decodeFunctionResult(functionFragment: "resetAllUserFeeData", data: BytesLike): Result;
2808
- decodeFunctionResult(functionFragment: "setSigner", data: BytesLike): Result;
2809
- decodeFunctionResult(functionFragment: "setSpecialFeeTier", data: BytesLike): Result;
2810
- decodeFunctionResult(functionFragment: "setUserFeeData", data: BytesLike): Result;
2811
- decodeFunctionResult(functionFragment: "setUserSpecialFeeTier", data: BytesLike): Result;
2812
- decodeFunctionResult(functionFragment: "supportedAssetClasses", data: BytesLike): Result;
2813
- decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
2814
- decodeFunctionResult(functionFragment: "trustedForwarder", data: BytesLike): Result;
2815
- decodeFunctionResult(functionFragment: "updateBaseFeeRates", data: BytesLike): Result;
2816
- decodeFunctionResult(functionFragment: "updateBrokerStatus", data: BytesLike): Result;
2817
- decodeFunctionResult(functionFragment: "updateFeeTier", data: BytesLike): Result;
2818
- decodeFunctionResult(functionFragment: "updateOrder", data: BytesLike): Result;
2819
- decodeFunctionResult(functionFragment: "updatePriceAndAdjustCollateral", data: BytesLike): Result;
2820
- decodeFunctionResult(functionFragment: "updateUserFeeData", data: BytesLike): Result;
2821
- decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result;
2822
- decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result;
2823
- decodeFunctionResult(functionFragment: "userFeeData", data: BytesLike): Result;
2824
- decodeFunctionResult(functionFragment: "userNonces", data: BytesLike): Result;
2825
- decodeFunctionResult(functionFragment: "userRebates", data: BytesLike): Result;
2826
- }
2827
- declare namespace BrokerStatusUpdatedEvent {
2828
- type InputTuple = [broker: AddressLike, isActive: boolean];
2829
- type OutputTuple = [broker: string, isActive: boolean];
2830
- interface OutputObject {
2831
- broker: string;
2832
- isActive: boolean;
2833
- }
2834
- type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2835
- type Filter = TypedDeferredTopicFilter<Event>;
2836
- type Log = TypedEventLog<Event>;
2837
- type LogDescription = TypedLogDescription<Event>;
2838
- }
2839
- declare namespace EIP712DomainChangedEvent {
2840
- type InputTuple = [];
2841
- type OutputTuple = [];
2842
- interface OutputObject {
2843
- }
2844
- type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2845
- type Filter = TypedDeferredTopicFilter<Event>;
2846
- type Log = TypedEventLog<Event>;
2847
- type LogDescription = TypedLogDescription<Event>;
2848
- }
2849
- declare namespace InitializedEvent {
2850
- type InputTuple = [version: BigNumberish];
2851
- type OutputTuple = [version: bigint];
2852
- interface OutputObject {
2853
- version: bigint;
2854
- }
2855
- type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2856
- type Filter = TypedDeferredTopicFilter<Event>;
2857
- type Log = TypedEventLog<Event>;
2858
- type LogDescription = TypedLogDescription<Event>;
2859
- }
2860
- declare namespace OwnershipTransferStartedEvent {
2861
- type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
2862
- type OutputTuple = [previousOwner: string, newOwner: string];
2863
- interface OutputObject {
2864
- previousOwner: string;
2865
- newOwner: string;
2866
- }
2867
- type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2868
- type Filter = TypedDeferredTopicFilter<Event>;
2869
- type Log = TypedEventLog<Event>;
2870
- type LogDescription = TypedLogDescription<Event>;
2871
- }
2872
- declare namespace OwnershipTransferredEvent {
2873
- type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
2874
- type OutputTuple = [previousOwner: string, newOwner: string];
2875
- interface OutputObject {
2876
- previousOwner: string;
2877
- newOwner: string;
2878
- }
2879
- type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2880
- type Filter = TypedDeferredTopicFilter<Event>;
2881
- type Log = TypedEventLog<Event>;
2882
- type LogDescription = TypedLogDescription<Event>;
2883
- }
2884
- declare namespace RebateClaimedEvent {
2885
- type InputTuple = [
2886
- user: AddressLike,
2887
- token: AddressLike,
2888
- amount: BigNumberish
2889
- ];
2890
- type OutputTuple = [user: string, token: string, amount: bigint];
2891
- interface OutputObject {
2892
- user: string;
2893
- token: string;
2894
- amount: bigint;
2895
- }
2896
- type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2897
- type Filter = TypedDeferredTopicFilter<Event>;
2898
- type Log = TypedEventLog<Event>;
2899
- type LogDescription = TypedLogDescription<Event>;
2900
- }
2901
- declare namespace SignerUpdatedEvent {
2902
- type InputTuple = [signer: AddressLike, isSigner: boolean];
2903
- type OutputTuple = [signer: string, isSigner: boolean];
2904
- interface OutputObject {
2905
- signer: string;
2906
- isSigner: boolean;
2907
- }
2908
- type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2909
- type Filter = TypedDeferredTopicFilter<Event>;
2910
- type Log = TypedEventLog<Event>;
2911
- type LogDescription = TypedLogDescription<Event>;
2912
- }
2913
- declare namespace UpgradedEvent {
2914
- type InputTuple = [implementation: AddressLike];
2915
- type OutputTuple = [implementation: string];
2916
- interface OutputObject {
2917
- implementation: string;
2918
- }
2919
- type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2920
- type Filter = TypedDeferredTopicFilter<Event>;
2921
- type Log = TypedEventLog<Event>;
2922
- type LogDescription = TypedLogDescription<Event>;
2923
- }
2924
- declare namespace UserFeeDataResetEvent {
2925
- type InputTuple = [
2926
- broker: AddressLike,
2927
- signer: AddressLike,
2928
- epoch: BigNumberish
2929
- ];
2930
- type OutputTuple = [broker: string, signer: string, epoch: bigint];
2931
- interface OutputObject {
2932
- broker: string;
2933
- signer: string;
2934
- epoch: bigint;
2935
- }
2936
- type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2937
- type Filter = TypedDeferredTopicFilter<Event>;
2938
- type Log = TypedEventLog<Event>;
2939
- type LogDescription = TypedLogDescription<Event>;
2940
- }
2941
- declare namespace UserFeeDataUpdatedEvent {
2942
- type InputTuple = [
2943
- broker: AddressLike,
2944
- signer: AddressLike,
2945
- user: AddressLike,
2946
- epoch: BigNumberish,
2947
- tier: BigNumberish,
2948
- referrer: AddressLike,
2949
- totalReferralRebatePct: BigNumberish,
2950
- referrerRebatePct: BigNumberish
2951
- ];
2952
- type OutputTuple = [
2953
- broker: string,
2954
- signer: string,
2955
- user: string,
2956
- epoch: bigint,
2957
- tier: bigint,
2958
- referrer: string,
2959
- totalReferralRebatePct: bigint,
2960
- referrerRebatePct: bigint
2961
- ];
2962
- interface OutputObject {
2963
- broker: string;
2964
- signer: string;
2965
- user: string;
2966
- epoch: bigint;
2967
- tier: bigint;
2968
- referrer: string;
2969
- totalReferralRebatePct: bigint;
2970
- referrerRebatePct: bigint;
2971
- }
2972
- type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
2973
- type Filter = TypedDeferredTopicFilter<Event>;
2974
- type Log = TypedEventLog<Event>;
2975
- type LogDescription = TypedLogDescription<Event>;
2976
- }
2977
- interface Broker extends BaseContract {
2978
- connect(runner?: ContractRunner | null): Broker;
2979
- waitForDeployment(): Promise<this>;
2980
- interface: BrokerInterface;
2981
- queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
2982
- queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
2983
- on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
2984
- on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
2985
- once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
2986
- once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
2987
- listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
2988
- listeners(eventName?: string): Promise<Array<Listener>>;
2989
- removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
2990
- FEE_TYPEHASH: TypedContractMethod<[], [string], "view">;
2991
- UPGRADE_INTERFACE_VERSION: TypedContractMethod<[], [string], "view">;
2992
- __ERC2771ContextUpgradeable_init: TypedContractMethod<[
2993
- trustedForwarder_: AddressLike
2994
- ], [
2995
- void
2996
- ], "nonpayable">;
2997
- acceptOwnership: TypedContractMethod<[], [void], "nonpayable">;
2998
- activeFeeTiers: TypedContractMethod<[
2999
- assetClass: BigNumberish,
3000
- riskTier: BigNumberish
3001
- ], [
3002
- bigint[]
3003
- ], "view">;
3004
- activeSpecialFeeTierList: TypedContractMethod<[
3005
- assetClass: BigNumberish,
3006
- riskTier: BigNumberish
3007
- ], [
3008
- bigint[]
3009
- ], "view">;
3010
- addressManager: TypedContractMethod<[], [string], "view">;
3011
- batchSetSpecialFeeTiers: TypedContractMethod<[
3012
- params: {
3013
- assetClass: BigNumberish;
3014
- riskTier: BigNumberish;
3015
- feeTier: BigNumberish;
3016
- makerFeeRate: BigNumberish;
3017
- takerFeeRate: BigNumberish;
3018
- }[]
3019
- ], [
3020
- void
3021
- ], "nonpayable">;
3022
- batchUpdateFeeTiers: TypedContractMethod<[
3023
- params: {
3024
- assetClass: BigNumberish;
3025
- riskTier: BigNumberish;
3026
- feeTier: BigNumberish;
3027
- addOnFeeRate: {
3028
- takerFeeRate: BigNumberish;
3029
- makerFeeRate: BigNumberish;
3030
- };
3031
- }[]
3032
- ], [
3033
- void
3034
- ], "nonpayable">;
3035
- cancelOrder: TypedContractMethod<[
3036
- orderId: BigNumberish
3037
- ], [
3038
- void
3039
- ], "nonpayable">;
3040
- cancelOrders: TypedContractMethod<[
3041
- orderIds: BigNumberish[]
3042
- ], [
3043
- void
3044
- ], "nonpayable">;
3045
- claimRebate: TypedContractMethod<[token: AddressLike], [void], "nonpayable">;
3046
- claimRebates: TypedContractMethod<[
3047
- tokens: AddressLike[]
3048
- ], [
3049
- void
3050
- ], "nonpayable">;
3051
- currentFeeDataEpoch: TypedContractMethod<[], [bigint], "view">;
3052
- domainSeparatorV4: TypedContractMethod<[], [string], "view">;
3053
- eip712Domain: TypedContractMethod<[
3054
- ], [
3055
- [
3056
- string,
3057
- string,
3058
- string,
3059
- bigint,
3060
- string,
3061
- string,
3062
- bigint[]
3063
- ] & {
3064
- fields: string;
3065
- name: string;
3066
- version: string;
3067
- chainId: bigint;
3068
- verifyingContract: string;
3069
- salt: string;
3070
- extensions: bigint[];
3071
- }
3072
- ], "view">;
3073
- getAddOnFeeTier: TypedContractMethod<[
3074
- assetClass: BigNumberish,
3075
- riskTier: BigNumberish,
3076
- feeTier: BigNumberish
3077
- ], [
3078
- [bigint, bigint] & {
3079
- takerFeeRate: bigint;
3080
- makerFeeRate: bigint;
3081
- }
3082
- ], "view">;
3083
- getBaseFeeRate: TypedContractMethod<[
3084
- assetClass: BigNumberish
3085
- ], [
3086
- [bigint, bigint] & {
3087
- takerFeeRate: bigint;
3088
- makerFeeRate: bigint;
3089
- }
3090
- ], "view">;
3091
- getImplementation: TypedContractMethod<[], [string], "view">;
3092
- getSpecialFeeTier: TypedContractMethod<[
3093
- assetClass: BigNumberish,
3094
- riskTier: BigNumberish,
3095
- feeTier: BigNumberish
3096
- ], [
3097
- [bigint, bigint] & {
3098
- makerFeeRate: bigint;
3099
- takerFeeRate: bigint;
3100
- }
3101
- ], "view">;
3102
- getUserFeeDataDigest: TypedContractMethod<[
3103
- user: AddressLike,
3104
- nonce: BigNumberish,
3105
- deadline: BigNumberish,
3106
- feeData: {
3107
- tier: BigNumberish;
3108
- referrer: AddressLike;
3109
- totalReferralRebatePct: BigNumberish;
3110
- referrerRebatePct: BigNumberish;
3111
- }
3112
- ], [
3113
- string
3114
- ], "view">;
3115
- getUserFeeRate: TypedContractMethod<[
3116
- user: AddressLike,
3117
- assetClass: BigNumberish,
3118
- riskTier: BigNumberish
3119
- ], [
3120
- [
3121
- bigint,
3122
- bigint,
3123
- bigint,
3124
- bigint
3125
- ] & {
3126
- takerFeeRate: bigint;
3127
- makerFeeRate: bigint;
3128
- baseTakerFeeRate: bigint;
3129
- baseMakerFeeRate: bigint;
3130
- }
3131
- ], "view">;
3132
- initialize: TypedContractMethod<[
3133
- _addressManager: AddressLike,
3134
- owner: AddressLike,
3135
- _brokerName: string,
3136
- brokerSigners: AddressLike[],
3137
- assetClasses: BigNumberish[],
3138
- baseFeeRates: {
3139
- takerFeeRate: BigNumberish;
3140
- makerFeeRate: BigNumberish;
3141
- }[]
3142
- ], [
3143
- void
3144
- ], "nonpayable">;
3145
- isActive: TypedContractMethod<[], [boolean], "view">;
3146
- isTrustedForwarder: TypedContractMethod<[
3147
- forwarder: AddressLike
3148
- ], [
3149
- boolean
3150
- ], "view">;
3151
- name: TypedContractMethod<[], [string], "view">;
3152
- onBrokerFee: TypedContractMethod<[
3153
- poolId: BytesLike,
3154
- user: AddressLike,
3155
- token: AddressLike,
3156
- feeAmount: BigNumberish
3157
- ], [
3158
- [
3159
- bigint,
3160
- bigint,
3161
- string
3162
- ] & {
3163
- totalReferralRebate: bigint;
3164
- referrerRebate: bigint;
3165
- referrer: string;
3166
- }
3167
- ], "nonpayable">;
3168
- owner: TypedContractMethod<[], [string], "view">;
3169
- pendingOwner: TypedContractMethod<[], [string], "view">;
3170
- placeOrderWithPosition: TypedContractMethod<[
3171
- positionId: BytesLike,
3172
- depositParams: {
3173
- token: AddressLike;
3174
- amount: BigNumberish;
3175
- },
3176
- orderParams: {
3177
- user: AddressLike;
3178
- poolId: BytesLike;
3179
- orderType: BigNumberish;
3180
- triggerType: BigNumberish;
3181
- operation: BigNumberish;
3182
- direction: BigNumberish;
3183
- collateralAmount: BigNumberish;
3184
- size: BigNumberish;
3185
- price: BigNumberish;
3186
- timeInForce: BigNumberish;
3187
- postOnly: boolean;
3188
- slippagePct: BigNumberish;
3189
- leverage: BigNumberish;
3190
- tpSize: BigNumberish;
3191
- tpPrice: BigNumberish;
3192
- slSize: BigNumberish;
3193
- slPrice: BigNumberish;
3194
- }
3195
- ], [
3196
- void
3197
- ], "payable">;
3198
- placeOrderWithSalt: TypedContractMethod<[
3199
- userPositionSalt: BigNumberish,
3200
- depositParams: {
3201
- token: AddressLike;
3202
- amount: BigNumberish;
3203
- },
3204
- orderParams: {
3205
- user: AddressLike;
3206
- poolId: BytesLike;
3207
- orderType: BigNumberish;
3208
- triggerType: BigNumberish;
3209
- operation: BigNumberish;
3210
- direction: BigNumberish;
3211
- collateralAmount: BigNumberish;
3212
- size: BigNumberish;
3213
- price: BigNumberish;
3214
- timeInForce: BigNumberish;
3215
- postOnly: boolean;
3216
- slippagePct: BigNumberish;
3217
- leverage: BigNumberish;
3218
- tpSize: BigNumberish;
3219
- tpPrice: BigNumberish;
3220
- slSize: BigNumberish;
3221
- slPrice: BigNumberish;
3222
- }
3223
- ], [
3224
- void
3225
- ], "payable">;
3226
- placeOrdersWithPosition: TypedContractMethod<[
3227
- depositParams: {
3228
- token: AddressLike;
3229
- amount: BigNumberish;
3230
- },
3231
- positionIds: BytesLike[],
3232
- orderParams: {
3233
- user: AddressLike;
3234
- poolId: BytesLike;
3235
- orderType: BigNumberish;
3236
- triggerType: BigNumberish;
3237
- operation: BigNumberish;
3238
- direction: BigNumberish;
3239
- collateralAmount: BigNumberish;
3240
- size: BigNumberish;
3241
- price: BigNumberish;
3242
- timeInForce: BigNumberish;
3243
- postOnly: boolean;
3244
- slippagePct: BigNumberish;
3245
- leverage: BigNumberish;
3246
- tpSize: BigNumberish;
3247
- tpPrice: BigNumberish;
3248
- slSize: BigNumberish;
3249
- slPrice: BigNumberish;
3250
- }[]
3251
- ], [
3252
- void
3253
- ], "payable">;
3254
- placeOrdersWithSalt: TypedContractMethod<[
3255
- depositParams: {
3256
- token: AddressLike;
3257
- amount: BigNumberish;
3258
- },
3259
- userPositionSalts: BigNumberish[],
3260
- orderParams: {
3261
- user: AddressLike;
3262
- poolId: BytesLike;
3263
- orderType: BigNumberish;
3264
- triggerType: BigNumberish;
3265
- operation: BigNumberish;
3266
- direction: BigNumberish;
3267
- collateralAmount: BigNumberish;
3268
- size: BigNumberish;
3269
- price: BigNumberish;
3270
- timeInForce: BigNumberish;
3271
- postOnly: boolean;
3272
- slippagePct: BigNumberish;
3273
- leverage: BigNumberish;
3274
- tpSize: BigNumberish;
3275
- tpPrice: BigNumberish;
3276
- slSize: BigNumberish;
3277
- slPrice: BigNumberish;
3278
- }[]
3279
- ], [
3280
- void
3281
- ], "payable">;
3282
- proxiableUUID: TypedContractMethod<[], [string], "view">;
3283
- renounceOwnership: TypedContractMethod<[], [void], "nonpayable">;
3284
- resetAllUserFeeData: TypedContractMethod<[], [void], "nonpayable">;
3285
- setSigner: TypedContractMethod<[
3286
- signer: AddressLike,
3287
- isSigner: boolean
3288
- ], [
3289
- void
3290
- ], "nonpayable">;
3291
- setSpecialFeeTier: TypedContractMethod<[
3292
- params: {
3293
- assetClass: BigNumberish;
3294
- riskTier: BigNumberish;
3295
- feeTier: BigNumberish;
3296
- makerFeeRate: BigNumberish;
3297
- takerFeeRate: BigNumberish;
3298
- }
3299
- ], [
3300
- void
3301
- ], "nonpayable">;
3302
- setUserFeeData: TypedContractMethod<[
3303
- params: {
3304
- user: AddressLike;
3305
- nonce: BigNumberish;
3306
- deadline: BigNumberish;
3307
- feeData: {
3308
- tier: BigNumberish;
3309
- referrer: AddressLike;
3310
- totalReferralRebatePct: BigNumberish;
3311
- referrerRebatePct: BigNumberish;
3312
- };
3313
- signature: BytesLike;
3314
- }
3315
- ], [
3316
- void
3317
- ], "nonpayable">;
3318
- setUserSpecialFeeTier: TypedContractMethod<[
3319
- user: AddressLike,
3320
- feeTier: BigNumberish
3321
- ], [
3322
- void
3323
- ], "nonpayable">;
3324
- supportedAssetClasses: TypedContractMethod<[], [bigint[]], "view">;
3325
- transferOwnership: TypedContractMethod<[
3326
- newOwner: AddressLike
3327
- ], [
3328
- void
3329
- ], "nonpayable">;
3330
- trustedForwarder: TypedContractMethod<[], [string], "view">;
3331
- updateBaseFeeRates: TypedContractMethod<[
3332
- params: {
3333
- assetClass: BigNumberish;
3334
- isEnable: boolean;
3335
- baseFeeRate: {
3336
- takerFeeRate: BigNumberish;
3337
- makerFeeRate: BigNumberish;
3338
- };
3339
- }[]
3340
- ], [
3341
- void
3342
- ], "nonpayable">;
3343
- updateBrokerStatus: TypedContractMethod<[
3344
- active: boolean
3345
- ], [
3346
- void
3347
- ], "nonpayable">;
3348
- updateFeeTier: TypedContractMethod<[
3349
- assetClass: BigNumberish,
3350
- riskTier: BigNumberish,
3351
- feeTier: BigNumberish,
3352
- feeRate: {
3353
- takerFeeRate: BigNumberish;
3354
- makerFeeRate: BigNumberish;
3355
- }
3356
- ], [
3357
- void
3358
- ], "nonpayable">;
3359
- updateOrder: TypedContractMethod<[
3360
- depositParams: {
3361
- token: AddressLike;
3362
- amount: BigNumberish;
3363
- },
3364
- params: {
3365
- orderId: BigNumberish;
3366
- size: BigNumberish;
3367
- price: BigNumberish;
3368
- tpsl: {
3369
- tpSize: BigNumberish;
3370
- tpPrice: BigNumberish;
3371
- slSize: BigNumberish;
3372
- slPrice: BigNumberish;
3373
- };
3374
- }
3375
- ], [
3376
- void
3377
- ], "nonpayable">;
3378
- updatePriceAndAdjustCollateral: TypedContractMethod<[
3379
- prices: {
3380
- poolId: BytesLike;
3381
- oracleType: BigNumberish;
3382
- publishTime: BigNumberish;
3383
- oracleUpdateData: BytesLike;
3384
- }[],
3385
- depositParams: {
3386
- token: AddressLike;
3387
- amount: BigNumberish;
3388
- },
3389
- positionId: BytesLike,
3390
- adjustAmount: BigNumberish
3391
- ], [
3392
- void
3393
- ], "payable">;
3394
- updateUserFeeData: TypedContractMethod<[
3395
- user: AddressLike,
3396
- feeData: {
3397
- tier: BigNumberish;
3398
- referrer: AddressLike;
3399
- totalReferralRebatePct: BigNumberish;
3400
- referrerRebatePct: BigNumberish;
3401
- }
3402
- ], [
3403
- void
3404
- ], "nonpayable">;
3405
- upgradeTo: TypedContractMethod<[
3406
- newImplementation: AddressLike,
3407
- data: BytesLike
3408
- ], [
3409
- void
3410
- ], "payable">;
3411
- upgradeToAndCall: TypedContractMethod<[
3412
- newImplementation: AddressLike,
3413
- data: BytesLike
3414
- ], [
3415
- void
3416
- ], "payable">;
3417
- userFeeData: TypedContractMethod<[
3418
- userFeeDataEpoch: BigNumberish,
3419
- user: AddressLike
3420
- ], [
3421
- [
3422
- bigint,
3423
- string,
3424
- bigint,
3425
- bigint
3426
- ] & {
3427
- tier: bigint;
3428
- referrer: string;
3429
- totalReferralRebatePct: bigint;
3430
- referrerRebatePct: bigint;
3431
- }
3432
- ], "view">;
3433
- userNonces: TypedContractMethod<[user: AddressLike], [bigint], "view">;
3434
- userRebates: TypedContractMethod<[
3435
- user: AddressLike,
3436
- token: AddressLike
3437
- ], [
3438
- bigint
3439
- ], "view">;
3440
- getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
3441
- getFunction(nameOrSignature: "FEE_TYPEHASH"): TypedContractMethod<[], [string], "view">;
3442
- getFunction(nameOrSignature: "UPGRADE_INTERFACE_VERSION"): TypedContractMethod<[], [string], "view">;
3443
- getFunction(nameOrSignature: "__ERC2771ContextUpgradeable_init"): TypedContractMethod<[
3444
- trustedForwarder_: AddressLike
3445
- ], [
3446
- void
3447
- ], "nonpayable">;
3448
- getFunction(nameOrSignature: "acceptOwnership"): TypedContractMethod<[], [void], "nonpayable">;
3449
- getFunction(nameOrSignature: "activeFeeTiers"): TypedContractMethod<[
3450
- assetClass: BigNumberish,
3451
- riskTier: BigNumberish
3452
- ], [
3453
- bigint[]
3454
- ], "view">;
3455
- getFunction(nameOrSignature: "activeSpecialFeeTierList"): TypedContractMethod<[
3456
- assetClass: BigNumberish,
3457
- riskTier: BigNumberish
3458
- ], [
3459
- bigint[]
3460
- ], "view">;
3461
- getFunction(nameOrSignature: "addressManager"): TypedContractMethod<[], [string], "view">;
3462
- getFunction(nameOrSignature: "batchSetSpecialFeeTiers"): TypedContractMethod<[
3463
- params: {
3464
- assetClass: BigNumberish;
3465
- riskTier: BigNumberish;
3466
- feeTier: BigNumberish;
3467
- makerFeeRate: BigNumberish;
3468
- takerFeeRate: BigNumberish;
3469
- }[]
3470
- ], [
3471
- void
3472
- ], "nonpayable">;
3473
- getFunction(nameOrSignature: "batchUpdateFeeTiers"): TypedContractMethod<[
3474
- params: {
3475
- assetClass: BigNumberish;
3476
- riskTier: BigNumberish;
3477
- feeTier: BigNumberish;
3478
- addOnFeeRate: {
3479
- takerFeeRate: BigNumberish;
3480
- makerFeeRate: BigNumberish;
3481
- };
3482
- }[]
3483
- ], [
3484
- void
3485
- ], "nonpayable">;
3486
- getFunction(nameOrSignature: "cancelOrder"): TypedContractMethod<[orderId: BigNumberish], [void], "nonpayable">;
3487
- getFunction(nameOrSignature: "cancelOrders"): TypedContractMethod<[orderIds: BigNumberish[]], [void], "nonpayable">;
3488
- getFunction(nameOrSignature: "claimRebate"): TypedContractMethod<[token: AddressLike], [void], "nonpayable">;
3489
- getFunction(nameOrSignature: "claimRebates"): TypedContractMethod<[tokens: AddressLike[]], [void], "nonpayable">;
3490
- getFunction(nameOrSignature: "currentFeeDataEpoch"): TypedContractMethod<[], [bigint], "view">;
3491
- getFunction(nameOrSignature: "domainSeparatorV4"): TypedContractMethod<[], [string], "view">;
3492
- getFunction(nameOrSignature: "eip712Domain"): TypedContractMethod<[
3493
- ], [
3494
- [
3495
- string,
3496
- string,
3497
- string,
3498
- bigint,
3499
- string,
3500
- string,
3501
- bigint[]
3502
- ] & {
3503
- fields: string;
3504
- name: string;
3505
- version: string;
3506
- chainId: bigint;
3507
- verifyingContract: string;
3508
- salt: string;
3509
- extensions: bigint[];
3510
- }
3511
- ], "view">;
3512
- getFunction(nameOrSignature: "getAddOnFeeTier"): TypedContractMethod<[
3513
- assetClass: BigNumberish,
3514
- riskTier: BigNumberish,
3515
- feeTier: BigNumberish
3516
- ], [
3517
- [bigint, bigint] & {
3518
- takerFeeRate: bigint;
3519
- makerFeeRate: bigint;
3520
- }
3521
- ], "view">;
3522
- getFunction(nameOrSignature: "getBaseFeeRate"): TypedContractMethod<[
3523
- assetClass: BigNumberish
3524
- ], [
3525
- [bigint, bigint] & {
3526
- takerFeeRate: bigint;
3527
- makerFeeRate: bigint;
3528
- }
3529
- ], "view">;
3530
- getFunction(nameOrSignature: "getImplementation"): TypedContractMethod<[], [string], "view">;
3531
- getFunction(nameOrSignature: "getSpecialFeeTier"): TypedContractMethod<[
3532
- assetClass: BigNumberish,
3533
- riskTier: BigNumberish,
3534
- feeTier: BigNumberish
3535
- ], [
3536
- [bigint, bigint] & {
3537
- makerFeeRate: bigint;
3538
- takerFeeRate: bigint;
3539
- }
3540
- ], "view">;
3541
- getFunction(nameOrSignature: "getUserFeeDataDigest"): TypedContractMethod<[
3542
- user: AddressLike,
3543
- nonce: BigNumberish,
3544
- deadline: BigNumberish,
3545
- feeData: {
3546
- tier: BigNumberish;
3547
- referrer: AddressLike;
3548
- totalReferralRebatePct: BigNumberish;
3549
- referrerRebatePct: BigNumberish;
3550
- }
3551
- ], [
3552
- string
3553
- ], "view">;
3554
- getFunction(nameOrSignature: "getUserFeeRate"): TypedContractMethod<[
3555
- user: AddressLike,
3556
- assetClass: BigNumberish,
3557
- riskTier: BigNumberish
3558
- ], [
3559
- [
3560
- bigint,
3561
- bigint,
3562
- bigint,
3563
- bigint
3564
- ] & {
3565
- takerFeeRate: bigint;
3566
- makerFeeRate: bigint;
3567
- baseTakerFeeRate: bigint;
3568
- baseMakerFeeRate: bigint;
3569
- }
3570
- ], "view">;
3571
- getFunction(nameOrSignature: "initialize"): TypedContractMethod<[
3572
- _addressManager: AddressLike,
3573
- owner: AddressLike,
3574
- _brokerName: string,
3575
- brokerSigners: AddressLike[],
3576
- assetClasses: BigNumberish[],
3577
- baseFeeRates: {
3578
- takerFeeRate: BigNumberish;
3579
- makerFeeRate: BigNumberish;
3580
- }[]
3581
- ], [
3582
- void
3583
- ], "nonpayable">;
3584
- getFunction(nameOrSignature: "isActive"): TypedContractMethod<[], [boolean], "view">;
3585
- getFunction(nameOrSignature: "isTrustedForwarder"): TypedContractMethod<[forwarder: AddressLike], [boolean], "view">;
3586
- getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">;
3587
- getFunction(nameOrSignature: "onBrokerFee"): TypedContractMethod<[
3588
- poolId: BytesLike,
3589
- user: AddressLike,
3590
- token: AddressLike,
3591
- feeAmount: BigNumberish
3592
- ], [
3593
- [
3594
- bigint,
3595
- bigint,
3596
- string
3597
- ] & {
3598
- totalReferralRebate: bigint;
3599
- referrerRebate: bigint;
3600
- referrer: string;
3601
- }
3602
- ], "nonpayable">;
3603
- getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">;
3604
- getFunction(nameOrSignature: "pendingOwner"): TypedContractMethod<[], [string], "view">;
3605
- getFunction(nameOrSignature: "placeOrderWithPosition"): TypedContractMethod<[
3606
- positionId: BytesLike,
3607
- depositParams: {
3608
- token: AddressLike;
3609
- amount: BigNumberish;
3610
- },
3611
- orderParams: {
3612
- user: AddressLike;
3613
- poolId: BytesLike;
3614
- orderType: BigNumberish;
3615
- triggerType: BigNumberish;
3616
- operation: BigNumberish;
3617
- direction: BigNumberish;
3618
- collateralAmount: BigNumberish;
3619
- size: BigNumberish;
3620
- price: BigNumberish;
3621
- timeInForce: BigNumberish;
3622
- postOnly: boolean;
3623
- slippagePct: BigNumberish;
3624
- leverage: BigNumberish;
3625
- tpSize: BigNumberish;
3626
- tpPrice: BigNumberish;
3627
- slSize: BigNumberish;
3628
- slPrice: BigNumberish;
3629
- }
3630
- ], [
3631
- void
3632
- ], "payable">;
3633
- getFunction(nameOrSignature: "placeOrderWithSalt"): TypedContractMethod<[
3634
- userPositionSalt: BigNumberish,
3635
- depositParams: {
3636
- token: AddressLike;
3637
- amount: BigNumberish;
3638
- },
3639
- orderParams: {
3640
- user: AddressLike;
3641
- poolId: BytesLike;
3642
- orderType: BigNumberish;
3643
- triggerType: BigNumberish;
3644
- operation: BigNumberish;
3645
- direction: BigNumberish;
3646
- collateralAmount: BigNumberish;
3647
- size: BigNumberish;
3648
- price: BigNumberish;
3649
- timeInForce: BigNumberish;
3650
- postOnly: boolean;
3651
- slippagePct: BigNumberish;
3652
- leverage: BigNumberish;
3653
- tpSize: BigNumberish;
3654
- tpPrice: BigNumberish;
3655
- slSize: BigNumberish;
3656
- slPrice: BigNumberish;
3657
- }
3658
- ], [
3659
- void
3660
- ], "payable">;
3661
- getFunction(nameOrSignature: "placeOrdersWithPosition"): TypedContractMethod<[
3662
- depositParams: {
3663
- token: AddressLike;
3664
- amount: BigNumberish;
3665
- },
3666
- positionIds: BytesLike[],
3667
- orderParams: {
3668
- user: AddressLike;
3669
- poolId: BytesLike;
3670
- orderType: BigNumberish;
3671
- triggerType: BigNumberish;
3672
- operation: BigNumberish;
3673
- direction: BigNumberish;
3674
- collateralAmount: BigNumberish;
3675
- size: BigNumberish;
3676
- price: BigNumberish;
3677
- timeInForce: BigNumberish;
3678
- postOnly: boolean;
3679
- slippagePct: BigNumberish;
3680
- leverage: BigNumberish;
3681
- tpSize: BigNumberish;
3682
- tpPrice: BigNumberish;
3683
- slSize: BigNumberish;
3684
- slPrice: BigNumberish;
3685
- }[]
3686
- ], [
3687
- void
3688
- ], "payable">;
3689
- getFunction(nameOrSignature: "placeOrdersWithSalt"): TypedContractMethod<[
3690
- depositParams: {
3691
- token: AddressLike;
3692
- amount: BigNumberish;
3693
- },
3694
- userPositionSalts: BigNumberish[],
3695
- orderParams: {
3696
- user: AddressLike;
3697
- poolId: BytesLike;
3698
- orderType: BigNumberish;
3699
- triggerType: BigNumberish;
3700
- operation: BigNumberish;
3701
- direction: BigNumberish;
3702
- collateralAmount: BigNumberish;
3703
- size: BigNumberish;
3704
- price: BigNumberish;
3705
- timeInForce: BigNumberish;
3706
- postOnly: boolean;
3707
- slippagePct: BigNumberish;
3708
- leverage: BigNumberish;
3709
- tpSize: BigNumberish;
3710
- tpPrice: BigNumberish;
3711
- slSize: BigNumberish;
3712
- slPrice: BigNumberish;
3713
- }[]
3714
- ], [
3715
- void
3716
- ], "payable">;
3717
- getFunction(nameOrSignature: "proxiableUUID"): TypedContractMethod<[], [string], "view">;
3718
- getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">;
3719
- getFunction(nameOrSignature: "resetAllUserFeeData"): TypedContractMethod<[], [void], "nonpayable">;
3720
- getFunction(nameOrSignature: "setSigner"): TypedContractMethod<[
3721
- signer: AddressLike,
3722
- isSigner: boolean
3723
- ], [
3724
- void
3725
- ], "nonpayable">;
3726
- getFunction(nameOrSignature: "setSpecialFeeTier"): TypedContractMethod<[
3727
- params: {
3728
- assetClass: BigNumberish;
3729
- riskTier: BigNumberish;
3730
- feeTier: BigNumberish;
3731
- makerFeeRate: BigNumberish;
3732
- takerFeeRate: BigNumberish;
3733
- }
3734
- ], [
3735
- void
3736
- ], "nonpayable">;
3737
- getFunction(nameOrSignature: "setUserFeeData"): TypedContractMethod<[
3738
- params: {
3739
- user: AddressLike;
3740
- nonce: BigNumberish;
3741
- deadline: BigNumberish;
3742
- feeData: {
3743
- tier: BigNumberish;
3744
- referrer: AddressLike;
3745
- totalReferralRebatePct: BigNumberish;
3746
- referrerRebatePct: BigNumberish;
3747
- };
3748
- signature: BytesLike;
3749
- }
3750
- ], [
3751
- void
3752
- ], "nonpayable">;
3753
- getFunction(nameOrSignature: "setUserSpecialFeeTier"): TypedContractMethod<[
3754
- user: AddressLike,
3755
- feeTier: BigNumberish
3756
- ], [
3757
- void
3758
- ], "nonpayable">;
3759
- getFunction(nameOrSignature: "supportedAssetClasses"): TypedContractMethod<[], [bigint[]], "view">;
3760
- getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">;
3761
- getFunction(nameOrSignature: "trustedForwarder"): TypedContractMethod<[], [string], "view">;
3762
- getFunction(nameOrSignature: "updateBaseFeeRates"): TypedContractMethod<[
3763
- params: {
3764
- assetClass: BigNumberish;
3765
- isEnable: boolean;
3766
- baseFeeRate: {
3767
- takerFeeRate: BigNumberish;
3768
- makerFeeRate: BigNumberish;
3769
- };
3770
- }[]
3771
- ], [
3772
- void
3773
- ], "nonpayable">;
3774
- getFunction(nameOrSignature: "updateBrokerStatus"): TypedContractMethod<[active: boolean], [void], "nonpayable">;
3775
- getFunction(nameOrSignature: "updateFeeTier"): TypedContractMethod<[
3776
- assetClass: BigNumberish,
3777
- riskTier: BigNumberish,
3778
- feeTier: BigNumberish,
3779
- feeRate: {
3780
- takerFeeRate: BigNumberish;
3781
- makerFeeRate: BigNumberish;
3782
- }
3783
- ], [
3784
- void
3785
- ], "nonpayable">;
3786
- getFunction(nameOrSignature: "updateOrder"): TypedContractMethod<[
3787
- depositParams: {
3788
- token: AddressLike;
3789
- amount: BigNumberish;
3790
- },
3791
- params: {
3792
- orderId: BigNumberish;
3793
- size: BigNumberish;
3794
- price: BigNumberish;
3795
- tpsl: {
3796
- tpSize: BigNumberish;
3797
- tpPrice: BigNumberish;
3798
- slSize: BigNumberish;
3799
- slPrice: BigNumberish;
3800
- };
3801
- }
3802
- ], [
3803
- void
3804
- ], "nonpayable">;
3805
- getFunction(nameOrSignature: "updatePriceAndAdjustCollateral"): TypedContractMethod<[
3806
- prices: {
3807
- poolId: BytesLike;
3808
- oracleType: BigNumberish;
3809
- publishTime: BigNumberish;
3810
- oracleUpdateData: BytesLike;
3811
- }[],
3812
- depositParams: {
3813
- token: AddressLike;
3814
- amount: BigNumberish;
3815
- },
3816
- positionId: BytesLike,
3817
- adjustAmount: BigNumberish
3818
- ], [
3819
- void
3820
- ], "payable">;
3821
- getFunction(nameOrSignature: "updateUserFeeData"): TypedContractMethod<[
3822
- user: AddressLike,
3823
- feeData: {
3824
- tier: BigNumberish;
3825
- referrer: AddressLike;
3826
- totalReferralRebatePct: BigNumberish;
3827
- referrerRebatePct: BigNumberish;
3828
- }
3829
- ], [
3830
- void
3831
- ], "nonpayable">;
3832
- getFunction(nameOrSignature: "upgradeTo"): TypedContractMethod<[
3833
- newImplementation: AddressLike,
3834
- data: BytesLike
3835
- ], [
3836
- void
3837
- ], "payable">;
3838
- getFunction(nameOrSignature: "upgradeToAndCall"): TypedContractMethod<[
3839
- newImplementation: AddressLike,
3840
- data: BytesLike
3841
- ], [
3842
- void
3843
- ], "payable">;
3844
- getFunction(nameOrSignature: "userFeeData"): TypedContractMethod<[
3845
- userFeeDataEpoch: BigNumberish,
3846
- user: AddressLike
3847
- ], [
3848
- [
3849
- bigint,
3850
- string,
3851
- bigint,
3852
- bigint
3853
- ] & {
3854
- tier: bigint;
3855
- referrer: string;
3856
- totalReferralRebatePct: bigint;
3857
- referrerRebatePct: bigint;
3858
- }
3859
- ], "view">;
3860
- getFunction(nameOrSignature: "userNonces"): TypedContractMethod<[user: AddressLike], [bigint], "view">;
3861
- getFunction(nameOrSignature: "userRebates"): TypedContractMethod<[
3862
- user: AddressLike,
3863
- token: AddressLike
3864
- ], [
3865
- bigint
3866
- ], "view">;
3867
- getEvent(key: "BrokerStatusUpdated"): TypedContractEvent<BrokerStatusUpdatedEvent.InputTuple, BrokerStatusUpdatedEvent.OutputTuple, BrokerStatusUpdatedEvent.OutputObject>;
3868
- getEvent(key: "EIP712DomainChanged"): TypedContractEvent<EIP712DomainChangedEvent.InputTuple, EIP712DomainChangedEvent.OutputTuple, EIP712DomainChangedEvent.OutputObject>;
3869
- getEvent(key: "Initialized"): TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
3870
- getEvent(key: "OwnershipTransferStarted"): TypedContractEvent<OwnershipTransferStartedEvent.InputTuple, OwnershipTransferStartedEvent.OutputTuple, OwnershipTransferStartedEvent.OutputObject>;
3871
- getEvent(key: "OwnershipTransferred"): TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
3872
- getEvent(key: "RebateClaimed"): TypedContractEvent<RebateClaimedEvent.InputTuple, RebateClaimedEvent.OutputTuple, RebateClaimedEvent.OutputObject>;
3873
- getEvent(key: "SignerUpdated"): TypedContractEvent<SignerUpdatedEvent.InputTuple, SignerUpdatedEvent.OutputTuple, SignerUpdatedEvent.OutputObject>;
3874
- getEvent(key: "Upgraded"): TypedContractEvent<UpgradedEvent.InputTuple, UpgradedEvent.OutputTuple, UpgradedEvent.OutputObject>;
3875
- getEvent(key: "UserFeeDataReset"): TypedContractEvent<UserFeeDataResetEvent.InputTuple, UserFeeDataResetEvent.OutputTuple, UserFeeDataResetEvent.OutputObject>;
3876
- getEvent(key: "UserFeeDataUpdated"): TypedContractEvent<UserFeeDataUpdatedEvent.InputTuple, UserFeeDataUpdatedEvent.OutputTuple, UserFeeDataUpdatedEvent.OutputObject>;
3877
- filters: {
3878
- "BrokerStatusUpdated(address,bool)": TypedContractEvent<BrokerStatusUpdatedEvent.InputTuple, BrokerStatusUpdatedEvent.OutputTuple, BrokerStatusUpdatedEvent.OutputObject>;
3879
- BrokerStatusUpdated: TypedContractEvent<BrokerStatusUpdatedEvent.InputTuple, BrokerStatusUpdatedEvent.OutputTuple, BrokerStatusUpdatedEvent.OutputObject>;
3880
- "EIP712DomainChanged()": TypedContractEvent<EIP712DomainChangedEvent.InputTuple, EIP712DomainChangedEvent.OutputTuple, EIP712DomainChangedEvent.OutputObject>;
3881
- EIP712DomainChanged: TypedContractEvent<EIP712DomainChangedEvent.InputTuple, EIP712DomainChangedEvent.OutputTuple, EIP712DomainChangedEvent.OutputObject>;
3882
- "Initialized(uint64)": TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
3883
- Initialized: TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
3884
- "OwnershipTransferStarted(address,address)": TypedContractEvent<OwnershipTransferStartedEvent.InputTuple, OwnershipTransferStartedEvent.OutputTuple, OwnershipTransferStartedEvent.OutputObject>;
3885
- OwnershipTransferStarted: TypedContractEvent<OwnershipTransferStartedEvent.InputTuple, OwnershipTransferStartedEvent.OutputTuple, OwnershipTransferStartedEvent.OutputObject>;
3886
- "OwnershipTransferred(address,address)": TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
3887
- OwnershipTransferred: TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
3888
- "RebateClaimed(address,address,uint256)": TypedContractEvent<RebateClaimedEvent.InputTuple, RebateClaimedEvent.OutputTuple, RebateClaimedEvent.OutputObject>;
3889
- RebateClaimed: TypedContractEvent<RebateClaimedEvent.InputTuple, RebateClaimedEvent.OutputTuple, RebateClaimedEvent.OutputObject>;
3890
- "SignerUpdated(address,bool)": TypedContractEvent<SignerUpdatedEvent.InputTuple, SignerUpdatedEvent.OutputTuple, SignerUpdatedEvent.OutputObject>;
3891
- SignerUpdated: TypedContractEvent<SignerUpdatedEvent.InputTuple, SignerUpdatedEvent.OutputTuple, SignerUpdatedEvent.OutputObject>;
3892
- "Upgraded(address)": TypedContractEvent<UpgradedEvent.InputTuple, UpgradedEvent.OutputTuple, UpgradedEvent.OutputObject>;
3893
- Upgraded: TypedContractEvent<UpgradedEvent.InputTuple, UpgradedEvent.OutputTuple, UpgradedEvent.OutputObject>;
3894
- "UserFeeDataReset(address,address,uint256)": TypedContractEvent<UserFeeDataResetEvent.InputTuple, UserFeeDataResetEvent.OutputTuple, UserFeeDataResetEvent.OutputObject>;
3895
- UserFeeDataReset: TypedContractEvent<UserFeeDataResetEvent.InputTuple, UserFeeDataResetEvent.OutputTuple, UserFeeDataResetEvent.OutputObject>;
3896
- "UserFeeDataUpdated(address,address,address,uint256,uint8,address,uint32,uint32)": TypedContractEvent<UserFeeDataUpdatedEvent.InputTuple, UserFeeDataUpdatedEvent.OutputTuple, UserFeeDataUpdatedEvent.OutputObject>;
3897
- UserFeeDataUpdated: TypedContractEvent<UserFeeDataUpdatedEvent.InputTuple, UserFeeDataUpdatedEvent.OutputTuple, UserFeeDataUpdatedEvent.OutputObject>;
3898
- };
3899
- }
2467
+ /** Cast viem getContract result so .read/.write and legacy contract.methodName() accept any ABI function name. */
2468
+ type ContractLike = {
2469
+ address: `0x${string}`;
2470
+ abi: Abi;
2471
+ read: Record<string, (...args: any[]) => Promise<any>>;
2472
+ write?: Record<string, (...args: any[]) => Promise<any>>;
2473
+ estimateGas?: Record<string, (...args: any[]) => Promise<any>>;
2474
+ simulate?: Record<string, (...args: any[]) => Promise<any>>;
2475
+ /** Allow legacy ethers-style contract.methodName() (e.g. in lp/) until migrated to .read/.write */
2476
+ [key: string]: any;
2477
+ };
3900
2478
 
3901
2479
  declare class BaseMyxClient {
3902
2480
  protected client: MyxClient;
3903
2481
  constructor(client: MyxClient);
3904
2482
  protected getConfig(): MyxClientConfig;
3905
- protected getSigner(): Promise<Signer>;
3906
2483
  protected getAddressConfig(): ContractAddress;
3907
- protected connectContract<T extends Record<string, any>>(contract: T): Promise<T>;
3908
- protected getBrokerContract(): Promise<Broker>;
2484
+ protected getBrokerContract(): ContractLike;
3909
2485
  protected get config(): MyxClientConfig;
3910
2486
  }
3911
2487
 
@@ -3924,6 +2500,7 @@ declare class Appeal extends BaseMyxClient {
3924
2500
  constructor(client: MyxClient, configManager: ConfigManager);
3925
2501
  private getDisputeCourtContract;
3926
2502
  private getReimbursementContract;
2503
+ private getCaseIdFromReceiptLogs;
3927
2504
  /**
3928
2505
  * submit appeal
3929
2506
  * @param poolId - the pool id
@@ -3931,7 +2508,7 @@ declare class Appeal extends BaseMyxClient {
3931
2508
  * @returns the transaction receipt
3932
2509
  */
3933
2510
  submitAppeal(poolId: string, lpToken: Address$2, lpAmount: string): Promise<{
3934
- transaction: ethers.ContractTransactionReceipt;
2511
+ transaction: viem.TransactionReceipt;
3935
2512
  caseId: bigint;
3936
2513
  }>;
3937
2514
  /**
@@ -3940,13 +2517,13 @@ declare class Appeal extends BaseMyxClient {
3940
2517
  * @param isFor - true if for the appeal, false if against the appeal
3941
2518
  * @returns the transaction receipt
3942
2519
  */
3943
- voteForAppeal({ caseId, validator, isFor, deadline, v, r, s, }: AppealVoteParams): Promise<ethers.ContractTransactionReceipt | null>;
2520
+ voteForAppeal({ caseId, validator, isFor, deadline, v, r, s, }: AppealVoteParams): Promise<viem.TransactionReceipt>;
3944
2521
  /**
3945
2522
  * claim appeal margin
3946
2523
  * @param caseId - the case id
3947
2524
  * @returns the transaction receipt
3948
2525
  */
3949
- claimAppealMargin(caseId: number): Promise<ethers.ContractTransactionReceipt | null>;
2526
+ claimAppealMargin(caseId: number): Promise<viem.TransactionReceipt>;
3950
2527
  /**
3951
2528
  * claim reimbursement
3952
2529
  * @param caseId - the case id
@@ -3955,31 +2532,21 @@ declare class Appeal extends BaseMyxClient {
3955
2532
  * @param merkleProof - the merkle proof
3956
2533
  * @returns the transaction receipt
3957
2534
  */
3958
- claimReimbursement(caseId: number, baseAmount: string, quoteAmount: string, merkleProof: BytesLike[]): Promise<ethers.ContractTransactionReceipt | null>;
2535
+ claimReimbursement(caseId: number, baseAmount: string, quoteAmount: string, merkleProof: `0x${string}`[]): Promise<viem.TransactionReceipt>;
3959
2536
  /**
3960
2537
  * get dispute configuration
3961
2538
  */
3962
- getDisputeConfiguration(): Promise<[string, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint] & {
3963
- appealToken: string;
3964
- disputeBondUsd: bigint;
3965
- appealBondUsd: bigint;
3966
- disputeThresholdUsd: bigint;
3967
- caseDuration: bigint;
3968
- voteDuration: bigint;
3969
- resolveDuration: bigint;
3970
- voteCountRate: bigint;
3971
- effectiveVoteRate: bigint;
3972
- }>;
2539
+ getDisputeConfiguration(): Promise<any>;
3973
2540
  /**
3974
2541
  *
3975
2542
  * vote node for submit appeal
3976
2543
  */
3977
2544
  submitAppealByVoteNode(poolId: string, response: string, guardianSignatures: GuardianSignatureItem[]): Promise<{
3978
- tx: ethers.ContractTransactionReceipt;
2545
+ tx: viem.TransactionReceipt;
3979
2546
  caseId: bigint;
3980
2547
  }>;
3981
2548
  appealReconsideration(caseId: number, appealToken: Address$2, appealAmount: string): Promise<{
3982
- tx: ethers.ContractTransactionReceipt;
2549
+ tx: viem.TransactionReceipt;
3983
2550
  appealCaseId: bigint;
3984
2551
  caseId: number;
3985
2552
  }>;
@@ -4007,7 +2574,7 @@ declare class Appeal extends BaseMyxClient {
4007
2574
 
4008
2575
  declare class Referrals extends BaseMyxClient {
4009
2576
  constructor(client: MyxClient);
4010
- claimRebate(tokenAddress: Address$2): Promise<ethers.ContractTransactionReceipt | null>;
2577
+ claimRebate(tokenAddress: Address$2): Promise<viem.TransactionReceipt>;
4011
2578
  }
4012
2579
 
4013
2580
  declare class MyxClient {
@@ -4037,7 +2604,8 @@ declare class MyxClient {
4037
2604
  /**
4038
2605
  * auth the client
4039
2606
  */
4040
- auth(params: Required<Pick<MyxClientConfig, "signer" | "getAccessToken" | "walletClient">>): void;
2607
+ /** Auth with signer (ethers v5/v6 or ISigner) and/or walletClient (viem). Use walletClient when app uses viem to avoid ethers in bundle. */
2608
+ auth(params: Pick<MyxClientConfig, "signer" | "walletClient" | "getAccessToken">): void;
4041
2609
  updateClientChainId(chainId: number, brokerAddress: string): void;
4042
2610
  /**
4043
2611
  * close the client
@@ -4054,6 +2622,19 @@ declare class MyxClient {
4054
2622
  refreshAccessToken(forceRefresh?: boolean): Promise<string | null>;
4055
2623
  }
4056
2624
 
2625
+ /**
2626
+ * Wrap viem WalletClient as ISigner.
2627
+ * Use this when the app uses viem (e.g. wagmi useWalletClient) so no ethers is required for auth.
2628
+ */
2629
+ declare function fromViemWalletClient(walletClient: WalletClientLike): ISigner;
2630
+ /**
2631
+ * Normalize SignerLike to ISigner.
2632
+ * - WalletClient -> fromViemWalletClient
2633
+ * - MinimalSignerLike (ethers v5/v6 Signer) -> fromMinimalSigner
2634
+ * - Already ISigner -> return as is
2635
+ */
2636
+ declare function normalizeSigner(signerLike: SignerLike): ISigner;
2637
+
4057
2638
  declare const SDK_VERSION: string;
4058
2639
 
4059
- export { type AccessTokenRequest, type AccessTokenResponse$1 as AccessTokenResponse, type AccessTokenType, type AddFavoriteParams, type Address, type ApiResponse, AppealCaseTypeEnum, AppealClaimStatusEnum, type AppealDetail, type AppealListItem, AppealNodeStateEnum, type AppealNodeVoteItem, type AppealNodeVoteListItem, AppealNodeVotedStateEnum, type AppealReconsiderationDetail, type AppealReconsiderationItem, type AppealReconsiderationListItem, AppealReconsiderationType, type AppealReimbursementItem, type AppealReimbursementParams, AppealStage, AppealStatus, AppealType, type AppealUploadEvidenceParams, type AppealVoteItem, type BaseDetailResponse, type BaseResponse, COMMON_LP_AMOUNT_DECIMALS, COMMON_PRICE_DECIMALS, ChainId, type ChainIdRequest, CloseTypeEnum, type DashboardType, Direction, DirectionEnum, ErrorCode, ExecTypeEnum, type FavoritesListItem, type FavoritesListParams, type FavoritesTimeInterval, type FavoritesType, type FetchForwarderGetParams, type FetchForwarderGetResponse, type FetchForwarderGetResponseData, ForwarderGetStatus, type ForwarderTxParams, type GetAppealDetailParams, type GetAppealListParams, type GetAppealNodeVoteListParams, type GetAppealReconsiderationDetailParams, type GetAppealReconsiderationListParams, type GetAppealVoteNodeDetailParams, type GetBaseDetailParams, type GetHistoryOrdersParams, type GetIsVoteNodeParams, type GetKlineDataParams, type GetMarketDetailParams, type GetPoolLevelConfigParams, type GetTickerDataParams, type GetWarmholeSignParams, type GetWarmholeSignResponse, type GuardianSignatureItem, type HistoryOrderItem, type HttpEnvParams, HttpKlineIntervalEnum, IsVoteNodeEnum, type KlineDataItemType, type KlineDataResponse, type KlineResolution, type LevelConfig, MarketCapType, type MarketDetailResponse, type MarketInfo, type MarketPool, type MarketPoolResponse, MarketPoolState, MarketType, MxSDK, MyxClient, type MyxClientConfig, type MyxSubscriptionOptions, type NetWorkFee, NodeTypeEnum, type ObjectType, type OnKlineCallback, type OnOrderCallback, type OnPositionCallback, type OnTickersAllCallback, type OnTickersCallback, OperationEnum, OperationType, OracleType, type Order$1 as Order, type OrderItem, type OrderResponse, OrderStatus, OrderStatusEnum, OrderType, OrderTypeEnum, type PlaceOrderParams, type PoolLevelConfig, type PoolOpenOrder, type PoolOpenOrdersResponse, type PoolResponse, type PoolSymbolAllResponse, type Position$1 as Position, type PositionHistoryItem, type PositionResponse, type PositionTpSlOrderParams, type PositionType, type PostVoteResponse, type PostVoteSignatureParams, type PriceResponse, type PriceType, type RemoveFavoriteParams, SDK_VERSION, type SearchMarketParams, type SearchResultContractItem, type SearchResultCookItem, type SearchResultEarnItem, type SearchResultResponse, SearchSecondTypeEnum, SearchTypeEnum, type StatDashBoardResponse, type TickerDataItem, type TickersDataResponse, TimeInForce, TradeFlowAccountTypeEnum, type TradeFlowItem, TradeFlowTypeEnum, type TradingResult, TriggerType, TriggerTypeEnum, type UpdateOrderTpSlParams, VoteTypeEnum, approve, index$2 as base, bigintAmountSlipperCalculator, bigintTradingGasPriceWithRatio, bigintTradingGasToRatioCalculator, getAllowanceApproved, getBalanceOf, getBaseDetail, getBaseUrlByEnv, getMarketDetail, getMarketList, getOraclePrice, getPoolDetail, getPoolList, getPoolOpenOrders, getPriceData, getPricesData, getTickerData, getTokenInfo, index as market, index$3 as pool, index$1 as quote };
2640
+ export { type AccessTokenRequest, type AccessTokenResponse$1 as AccessTokenResponse, type AccessTokenType, type AddFavoriteParams, type Address, type ApiResponse, AppealCaseTypeEnum, AppealClaimStatusEnum, type AppealDetail, type AppealListItem, AppealNodeStateEnum, type AppealNodeVoteItem, type AppealNodeVoteListItem, AppealNodeVotedStateEnum, type AppealReconsiderationDetail, type AppealReconsiderationItem, type AppealReconsiderationListItem, AppealReconsiderationType, type AppealReimbursementItem, type AppealReimbursementParams, AppealStage, AppealStatus, AppealType, type AppealUploadEvidenceParams, type AppealVoteItem, type BaseDetailResponse, type BaseResponse, COMMON_LP_AMOUNT_DECIMALS, COMMON_PRICE_DECIMALS, ChainId, type ChainIdRequest, CloseTypeEnum, type DashboardType, Direction, DirectionEnum, ErrorCode, ExecTypeEnum, type FavoritesListItem, type FavoritesListParams, type FavoritesTimeInterval, type FavoritesType, type FetchForwarderGetParams, type FetchForwarderGetResponse, type FetchForwarderGetResponseData, ForwarderGetStatus, type ForwarderTxParams, type GetAppealDetailParams, type GetAppealListParams, type GetAppealNodeVoteListParams, type GetAppealReconsiderationDetailParams, type GetAppealReconsiderationListParams, type GetAppealVoteNodeDetailParams, type GetBaseDetailParams, type GetHistoryOrdersParams, type GetIsVoteNodeParams, type GetKlineDataParams, type GetMarketDetailParams, type GetPoolLevelConfigParams, type GetTickerDataParams, type GetWarmholeSignParams, type GetWarmholeSignResponse, type GuardianSignatureItem, type HistoryOrderItem, type HttpEnvParams, HttpKlineIntervalEnum, type ISigner, IsVoteNodeEnum, type KlineDataItemType, type KlineDataResponse, type KlineResolution, type LevelConfig, MarketCapType, type MarketDetailResponse, type MarketInfo, type MarketPool, type MarketPoolResponse, MarketPoolState, MarketType, MxSDK, MyxClient, type MyxClientConfig, type MyxSubscriptionOptions, type NetWorkFee, NodeTypeEnum, type ObjectType, type OnKlineCallback, type OnOrderCallback, type OnPositionCallback, type OnTickersAllCallback, type OnTickersCallback, OperationEnum, OperationType, OracleType, type Order$1 as Order, type OrderItem, type OrderResponse, OrderStatus, OrderStatusEnum, OrderType, OrderTypeEnum, type PlaceOrderParams, type PoolLevelConfig, type PoolOpenOrder, type PoolOpenOrdersResponse, type PoolResponse, type PoolSymbolAllResponse, type Position$1 as Position, type PositionHistoryItem, type PositionResponse, type PositionTpSlOrderParams, type PositionType, type PostVoteResponse, type PostVoteSignatureParams, type PriceResponse, type PriceType, type RemoveFavoriteParams, SDK_VERSION, type SearchMarketParams, type SearchResultContractItem, type SearchResultCookItem, type SearchResultEarnItem, type SearchResultResponse, SearchSecondTypeEnum, SearchTypeEnum, type SignerLike, type StatDashBoardResponse, type TickerDataItem, type TickersDataResponse, TimeInForce, TradeFlowAccountTypeEnum, type TradeFlowItem, TradeFlowTypeEnum, type TradingResult, TriggerType, TriggerTypeEnum, type UpdateOrderTpSlParams, VoteTypeEnum, approve, index$2 as base, bigintAmountSlipperCalculator, bigintTradingGasPriceWithRatio, bigintTradingGasToRatioCalculator, fromViemWalletClient, getAllowanceApproved, getBalanceOf, getBaseDetail, getBaseUrlByEnv, getMarketDetail, getMarketList, getOraclePrice, getPoolDetail, getPoolList, getPoolOpenOrders, getPriceData, getPricesData, getPublicClient, getTickerData, getTokenInfo, getWalletClient, getWalletProvider, index as market, normalizeSigner, index$3 as pool, index$1 as quote, setConfigManagerForViem };