@theliem/xmarket-sdk 3.22.0 → 3.25.0

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
@@ -14,6 +14,7 @@ interface ProgramIds {
14
14
  marketOracle?: PublicKey;
15
15
  adminContract?: PublicKey;
16
16
  referral?: PublicKey;
17
+ dispute?: PublicKey;
17
18
  }
18
19
  interface CollateralConfig {
19
20
  mint: PublicKey;
@@ -660,6 +661,14 @@ declare class ClobClient {
660
661
  * Returns undefined if ctfClient/qmConfigPda not injected or marketOracle not configured.
661
662
  */
662
663
  private getMarketOracleVault;
664
+ /**
665
+ * Returns a createATA ix for the oracle vault when:
666
+ * - takerFee > 0
667
+ * - marketFeeOverride exists for the condition
668
+ * - oracle vault ATA is not yet initialized
669
+ * Idempotent — safe to call every tx; returns null if vault already exists.
670
+ */
671
+ private buildInitOracleVaultIfNeeded;
663
672
  get walletPubkey(): PublicKey;
664
673
  /**
665
674
  * Get or create an ALT for a condition.
@@ -683,6 +692,19 @@ declare class ClobClient {
683
692
  registerOrder(signed: SignedOrder): Promise<string>;
684
693
  /** Register only if the PDA doesn't exist yet (idempotent). */
685
694
  private registerOrderIfNeeded;
695
+ /**
696
+ * Build a legacy Transaction to register a CollectFeeOrder on-chain.
697
+ * Must be signed and sent before calling buildBatchCollectRedeemEarlyTx.
698
+ *
699
+ * Flow: [Ed25519 ix (1 user sig) + register_collect_fee_order ix]
700
+ * Caller signs with payer keypair and sends.
701
+ */
702
+ buildRegisterCollectFeeOrderTx(signedOrder: SignedCollectFeeOrder, payer: PublicKey): Promise<Transaction>;
703
+ /**
704
+ * Register a CollectFeeOrder on-chain and send immediately (operator-signed flow).
705
+ * Idempotent — skips if PDA already exists.
706
+ */
707
+ registerCollectFeeOrderIfNeeded(signedOrder: SignedCollectFeeOrder): Promise<void>;
686
708
  /** Cancel an order — closes its OrderRecord PDA and returns rent to maker. */
687
709
  cancelOrder(nonce: anchor.BN): Promise<TxResult>;
688
710
  initialize(operators: PublicKey[], feeRecipient: PublicKey, feeRateBps: number): Promise<TxResult>;
@@ -825,11 +847,13 @@ declare class ClobClient {
825
847
  /**
826
848
  * Build VersionedTransaction for batchCollectRedeemEarly.
827
849
  *
828
- * Flow: Ed25519 ix (user sigs) + batchCollectRedeemEarly ix.
829
- * Each SignedCollectFeeOrder authorizes CLOB to collect `amount` winning tokens
830
- * from that user, redeem via CTF, then distribute as fees.
850
+ * Prerequisite: each user's CollectFeeOrder must be registered on-chain via
851
+ * buildRegisterCollectFeeOrderTx (one tx per user).
831
852
  *
832
- * @param signedOrders - Array of { order, signature } from winning users
853
+ * Flow: batchCollectRedeemEarly ix reads CollectFeeOrderRecord PDAs no Ed25519 inline.
854
+ * No tx-size limit from signatures, supports 10+ orders in one tx.
855
+ *
856
+ * @param signedOrders - Array of { order, signature } (used to derive record PDAs)
833
857
  * @param condition - Market condition PDA
834
858
  * @param outcomeIndex - 0 = NO wins, 1 = YES wins
835
859
  * @param operator - Whitelisted operator pubkey (must sign)
@@ -840,6 +864,11 @@ declare class ClobClient {
840
864
  marketOracleVault?: PublicKey;
841
865
  lookupTable?: AddressLookupTableAccount;
842
866
  }): Promise<VersionedTransaction>;
867
+ /**
868
+ * Build ALT for batchCollectRedeemEarly — includes per-user accounts so all
869
+ * remaining_accounts fit as 1-byte ALT indices instead of 32-byte inline addresses.
870
+ */
871
+ buildAltForCollectBatch(condition: PublicKey, payer: PublicKey, collateralMint: PublicKey, signedOrders: SignedCollectFeeOrder[], outcomeIndex: 0 | 1): Promise<AddressLookupTableAccount>;
843
872
  /**
844
873
  * Build ALT with static accounts for a condition — no order-specific PDAs needed.
845
874
  * Use before buildBatchCollectRedeemEarlyTx when no prior buildMatchOrdersTx ran in this session.
@@ -1033,6 +1062,47 @@ declare class ReferralClient {
1033
1062
  buildBatchSendUsdsTx(recipients: PublicKey[], amounts: BN[], configOwner: PublicKey, collateralMint: PublicKey, authority?: PublicKey, payer?: PublicKey): Promise<Transaction>;
1034
1063
  }
1035
1064
 
1065
+ interface DisputeConfigInfo {
1066
+ version: number;
1067
+ owner: PublicKey;
1068
+ admin: PublicKey;
1069
+ collateralMint: PublicKey;
1070
+ bump: number;
1071
+ }
1072
+ interface DisputeMarketInfo {
1073
+ version: number;
1074
+ conditionId: number[];
1075
+ deadline: anchor.BN;
1076
+ bond: anchor.BN;
1077
+ amount: anchor.BN;
1078
+ isResolved: boolean;
1079
+ bump: number;
1080
+ }
1081
+ interface UserDisputeInfo {
1082
+ version: number;
1083
+ user: PublicKey;
1084
+ conditionId: number[];
1085
+ amount: anchor.BN;
1086
+ bump: number;
1087
+ }
1088
+ declare class DisputeClient {
1089
+ private readonly program;
1090
+ private readonly provider;
1091
+ private readonly programIds;
1092
+ constructor(program: anchor.Program, provider: anchor.AnchorProvider, programIds: ProgramIds);
1093
+ get walletPubkey(): PublicKey;
1094
+ configPdaFor(owner: PublicKey): PublicKey;
1095
+ disputeVault(owner: PublicKey, collateralMint: PublicKey): PublicKey;
1096
+ fetchConfig(owner?: anchor.web3.PublicKey): Promise<DisputeConfigInfo | null>;
1097
+ fetchDisputeMarket(conditionId: Uint8Array): Promise<DisputeMarketInfo | null>;
1098
+ fetchUserDispute(user: PublicKey, conditionId: Uint8Array): Promise<UserDisputeInfo | null>;
1099
+ initialize(collateralMint: PublicKey, owner?: PublicKey): Promise<Transaction>;
1100
+ buildSetAdminTx(newAdmin: PublicKey, owner?: PublicKey): Promise<Transaction>;
1101
+ buildRaiseDisputeTx(conditionId: Uint8Array, collateralMint: PublicKey, owner: PublicKey, user?: PublicKey, payer?: PublicKey): Promise<Transaction>;
1102
+ buildClaimTx(conditionId: Uint8Array, collateralMint: PublicKey, owner: PublicKey, user?: PublicKey): Promise<Transaction>;
1103
+ buildResolveDisputeTx(conditionId: Uint8Array, amount: anchor.BN, isRefunded: boolean, owner: PublicKey, admin?: PublicKey): Promise<Transaction>;
1104
+ }
1105
+
1036
1106
  declare class XMarketSDK {
1037
1107
  readonly provider: anchor.AnchorProvider;
1038
1108
  readonly networkConfig: NetworkConfig;
@@ -1048,6 +1118,7 @@ declare class XMarketSDK {
1048
1118
  private _marketOracle?;
1049
1119
  private _admin?;
1050
1120
  private _referral?;
1121
+ private _dispute?;
1051
1122
  constructor(config: NetworkConfig, wallet: anchor.Wallet, marketOwner?: PublicKey);
1052
1123
  private _withAddress;
1053
1124
  get oracle(): OracleClient;
@@ -1060,6 +1131,7 @@ declare class XMarketSDK {
1060
1131
  get marketOracle(): MarketOracleClient;
1061
1132
  get admin(): AdminClient;
1062
1133
  get referral(): ReferralClient;
1134
+ get dispute(): DisputeClient;
1063
1135
  }
1064
1136
 
1065
1137
  declare const SEEDS: {
@@ -1091,6 +1163,9 @@ declare const SEEDS: {
1091
1163
  readonly userClaim: Buffer<ArrayBuffer>;
1092
1164
  readonly adminConfig: Buffer<ArrayBuffer>;
1093
1165
  readonly claimRecord: Buffer<ArrayBuffer>;
1166
+ readonly disputeConfig: Buffer<ArrayBuffer>;
1167
+ readonly disputeMarket: Buffer<ArrayBuffer>;
1168
+ readonly userDispute: Buffer<ArrayBuffer>;
1094
1169
  };
1095
1170
  declare class PDA {
1096
1171
  static questionMarketConfig(owner: PublicKey, programIds: Pick<ProgramIds, "questionMarket">): [PublicKey, number];
@@ -1111,6 +1186,7 @@ declare class PDA {
1111
1186
  static clobConfig(programIds: Pick<ProgramIds, "clobExchange">): [PublicKey, number];
1112
1187
  static orderStatus(maker: PublicKey, nonce: BN, programIds: Pick<ProgramIds, "clobExchange">): [PublicKey, number];
1113
1188
  static orderRecord(maker: PublicKey, nonce: BN, programIds: Pick<ProgramIds, "clobExchange">): [PublicKey, number];
1189
+ static collectFeeOrderRecord(user: PublicKey, nonce: BN, programIds: Pick<ProgramIds, "clobExchange">): [PublicKey, number];
1114
1190
  static feeConfig(owner: PublicKey, programIds: Pick<ProgramIds, "feeManagement">): [PublicKey, number];
1115
1191
  static questionFee(conditionPda: PublicKey, programIds: Pick<ProgramIds, "feeManagement">): [PublicKey, number];
1116
1192
  static marketFeeOverride(conditionPda: PublicKey, programIds: Pick<ProgramIds, "feeManagement">): [PublicKey, number];
@@ -1123,6 +1199,9 @@ declare class PDA {
1123
1199
  static referralConfig(owner: PublicKey, programIds: Pick<ProgramIds, "referral">): [PublicKey, number];
1124
1200
  static adminConfig(owner: PublicKey, programIds: Pick<ProgramIds, "adminContract">): [PublicKey, number];
1125
1201
  static claimRecord(conditionId: Uint8Array, programIds: Pick<ProgramIds, "adminContract">): [PublicKey, number];
1202
+ static disputeConfig(owner: PublicKey, programIds: Pick<ProgramIds, "dispute">): [PublicKey, number];
1203
+ static disputeMarket(conditionId: Uint8Array, programIds: Pick<ProgramIds, "dispute">): [PublicKey, number];
1204
+ static userDispute(user: PublicKey, conditionId: Uint8Array, programIds: Pick<ProgramIds, "dispute">): [PublicKey, number];
1126
1205
  }
1127
1206
  /** Unique 32-byte question ID: SHA-256(content + timestamp). Different each call. */
1128
1207
  declare function generateQuestionId(content: string, salt?: number): Uint8Array;
@@ -1332,4 +1411,4 @@ declare function buildApproveCollateralTx(collateralMint: PublicKey, signer: Pub
1332
1411
  */
1333
1412
  declare function buildApproveAllOutcomeTokensTx(condition: PublicKey, signer: PublicKey, payer: PublicKey, delegate: PublicKey, programIds: ProgramIds, amount?: BN): Transaction;
1334
1413
 
1335
- export { AccountNotFoundError, AdminClient, type AdminConfigInfo, type ClaimRecordInfo, ClobClient, type ClobConfig, type CollateralConfig, type CollateralVault, type CollectFeeOrder, type Condition, type CreateQuestionParams, CtfClient, type CtfConfig, FEE_DENOMINATOR, FeeManagementClient, HookClient, type HookConfig, IX_SYSVAR, InvalidParamError, MAX_APPROVE_AMOUNT, MarketClient, MarketOracleClient, type MarketOracleInfo, type MatchType, type NetworkConfig, type NetworkName, OracleClient, type OracleConfig, type Order, type OrderStatus, PDA, type Position, PresaleClient, type PresaleInfo, type ProgramIds, type Question, type QuestionFee, type QuestionMarketConfig, type QuestionResult, QuestionStatus, ReferralClient, type ReferralConfigInfo, SEEDS, type SignedCollectFeeOrder, type SignedOrder, type TxResult, UnauthorizedError, type UserBuyRecord, type UserClaimRecord, XMarketError, XMarketSDK, buildApproveAllOutcomeTokensTx, buildApproveCollateralTx, buildBatchedCollectFeeEd25519Instruction, buildBatchedEd25519Instruction, buildCreateUserAtasTx, buildOrder, buildOrderFromPrice, deserializeSignedOrder, detectMatchType, generateContentHash, generateQuestionId, getOrderSignBytes, orderAmountsFromPrice, serializeCollectFeeOrderToBytes, serializeOrderToBytes, serializeSignedOrder, signOrder, signOrderWithKeypair, verifySignedOrder };
1414
+ export { AccountNotFoundError, AdminClient, type AdminConfigInfo, type ClaimRecordInfo, ClobClient, type ClobConfig, type CollateralConfig, type CollateralVault, type CollectFeeOrder, type Condition, type CreateQuestionParams, CtfClient, type CtfConfig, DisputeClient, type DisputeConfigInfo, type DisputeMarketInfo, FEE_DENOMINATOR, FeeManagementClient, HookClient, type HookConfig, IX_SYSVAR, InvalidParamError, MAX_APPROVE_AMOUNT, MarketClient, MarketOracleClient, type MarketOracleInfo, type MatchType, type NetworkConfig, type NetworkName, OracleClient, type OracleConfig, type Order, type OrderStatus, PDA, type Position, PresaleClient, type PresaleInfo, type ProgramIds, type Question, type QuestionFee, type QuestionMarketConfig, type QuestionResult, QuestionStatus, ReferralClient, type ReferralConfigInfo, SEEDS, type SignedCollectFeeOrder, type SignedOrder, type TxResult, UnauthorizedError, type UserBuyRecord, type UserClaimRecord, type UserDisputeInfo, XMarketError, XMarketSDK, buildApproveAllOutcomeTokensTx, buildApproveCollateralTx, buildBatchedCollectFeeEd25519Instruction, buildBatchedEd25519Instruction, buildCreateUserAtasTx, buildOrder, buildOrderFromPrice, deserializeSignedOrder, detectMatchType, generateContentHash, generateQuestionId, getOrderSignBytes, orderAmountsFromPrice, serializeCollectFeeOrderToBytes, serializeOrderToBytes, serializeSignedOrder, signOrder, signOrderWithKeypair, verifySignedOrder };
package/dist/index.d.ts CHANGED
@@ -14,6 +14,7 @@ interface ProgramIds {
14
14
  marketOracle?: PublicKey;
15
15
  adminContract?: PublicKey;
16
16
  referral?: PublicKey;
17
+ dispute?: PublicKey;
17
18
  }
18
19
  interface CollateralConfig {
19
20
  mint: PublicKey;
@@ -660,6 +661,14 @@ declare class ClobClient {
660
661
  * Returns undefined if ctfClient/qmConfigPda not injected or marketOracle not configured.
661
662
  */
662
663
  private getMarketOracleVault;
664
+ /**
665
+ * Returns a createATA ix for the oracle vault when:
666
+ * - takerFee > 0
667
+ * - marketFeeOverride exists for the condition
668
+ * - oracle vault ATA is not yet initialized
669
+ * Idempotent — safe to call every tx; returns null if vault already exists.
670
+ */
671
+ private buildInitOracleVaultIfNeeded;
663
672
  get walletPubkey(): PublicKey;
664
673
  /**
665
674
  * Get or create an ALT for a condition.
@@ -683,6 +692,19 @@ declare class ClobClient {
683
692
  registerOrder(signed: SignedOrder): Promise<string>;
684
693
  /** Register only if the PDA doesn't exist yet (idempotent). */
685
694
  private registerOrderIfNeeded;
695
+ /**
696
+ * Build a legacy Transaction to register a CollectFeeOrder on-chain.
697
+ * Must be signed and sent before calling buildBatchCollectRedeemEarlyTx.
698
+ *
699
+ * Flow: [Ed25519 ix (1 user sig) + register_collect_fee_order ix]
700
+ * Caller signs with payer keypair and sends.
701
+ */
702
+ buildRegisterCollectFeeOrderTx(signedOrder: SignedCollectFeeOrder, payer: PublicKey): Promise<Transaction>;
703
+ /**
704
+ * Register a CollectFeeOrder on-chain and send immediately (operator-signed flow).
705
+ * Idempotent — skips if PDA already exists.
706
+ */
707
+ registerCollectFeeOrderIfNeeded(signedOrder: SignedCollectFeeOrder): Promise<void>;
686
708
  /** Cancel an order — closes its OrderRecord PDA and returns rent to maker. */
687
709
  cancelOrder(nonce: anchor.BN): Promise<TxResult>;
688
710
  initialize(operators: PublicKey[], feeRecipient: PublicKey, feeRateBps: number): Promise<TxResult>;
@@ -825,11 +847,13 @@ declare class ClobClient {
825
847
  /**
826
848
  * Build VersionedTransaction for batchCollectRedeemEarly.
827
849
  *
828
- * Flow: Ed25519 ix (user sigs) + batchCollectRedeemEarly ix.
829
- * Each SignedCollectFeeOrder authorizes CLOB to collect `amount` winning tokens
830
- * from that user, redeem via CTF, then distribute as fees.
850
+ * Prerequisite: each user's CollectFeeOrder must be registered on-chain via
851
+ * buildRegisterCollectFeeOrderTx (one tx per user).
831
852
  *
832
- * @param signedOrders - Array of { order, signature } from winning users
853
+ * Flow: batchCollectRedeemEarly ix reads CollectFeeOrderRecord PDAs no Ed25519 inline.
854
+ * No tx-size limit from signatures, supports 10+ orders in one tx.
855
+ *
856
+ * @param signedOrders - Array of { order, signature } (used to derive record PDAs)
833
857
  * @param condition - Market condition PDA
834
858
  * @param outcomeIndex - 0 = NO wins, 1 = YES wins
835
859
  * @param operator - Whitelisted operator pubkey (must sign)
@@ -840,6 +864,11 @@ declare class ClobClient {
840
864
  marketOracleVault?: PublicKey;
841
865
  lookupTable?: AddressLookupTableAccount;
842
866
  }): Promise<VersionedTransaction>;
867
+ /**
868
+ * Build ALT for batchCollectRedeemEarly — includes per-user accounts so all
869
+ * remaining_accounts fit as 1-byte ALT indices instead of 32-byte inline addresses.
870
+ */
871
+ buildAltForCollectBatch(condition: PublicKey, payer: PublicKey, collateralMint: PublicKey, signedOrders: SignedCollectFeeOrder[], outcomeIndex: 0 | 1): Promise<AddressLookupTableAccount>;
843
872
  /**
844
873
  * Build ALT with static accounts for a condition — no order-specific PDAs needed.
845
874
  * Use before buildBatchCollectRedeemEarlyTx when no prior buildMatchOrdersTx ran in this session.
@@ -1033,6 +1062,47 @@ declare class ReferralClient {
1033
1062
  buildBatchSendUsdsTx(recipients: PublicKey[], amounts: BN[], configOwner: PublicKey, collateralMint: PublicKey, authority?: PublicKey, payer?: PublicKey): Promise<Transaction>;
1034
1063
  }
1035
1064
 
1065
+ interface DisputeConfigInfo {
1066
+ version: number;
1067
+ owner: PublicKey;
1068
+ admin: PublicKey;
1069
+ collateralMint: PublicKey;
1070
+ bump: number;
1071
+ }
1072
+ interface DisputeMarketInfo {
1073
+ version: number;
1074
+ conditionId: number[];
1075
+ deadline: anchor.BN;
1076
+ bond: anchor.BN;
1077
+ amount: anchor.BN;
1078
+ isResolved: boolean;
1079
+ bump: number;
1080
+ }
1081
+ interface UserDisputeInfo {
1082
+ version: number;
1083
+ user: PublicKey;
1084
+ conditionId: number[];
1085
+ amount: anchor.BN;
1086
+ bump: number;
1087
+ }
1088
+ declare class DisputeClient {
1089
+ private readonly program;
1090
+ private readonly provider;
1091
+ private readonly programIds;
1092
+ constructor(program: anchor.Program, provider: anchor.AnchorProvider, programIds: ProgramIds);
1093
+ get walletPubkey(): PublicKey;
1094
+ configPdaFor(owner: PublicKey): PublicKey;
1095
+ disputeVault(owner: PublicKey, collateralMint: PublicKey): PublicKey;
1096
+ fetchConfig(owner?: anchor.web3.PublicKey): Promise<DisputeConfigInfo | null>;
1097
+ fetchDisputeMarket(conditionId: Uint8Array): Promise<DisputeMarketInfo | null>;
1098
+ fetchUserDispute(user: PublicKey, conditionId: Uint8Array): Promise<UserDisputeInfo | null>;
1099
+ initialize(collateralMint: PublicKey, owner?: PublicKey): Promise<Transaction>;
1100
+ buildSetAdminTx(newAdmin: PublicKey, owner?: PublicKey): Promise<Transaction>;
1101
+ buildRaiseDisputeTx(conditionId: Uint8Array, collateralMint: PublicKey, owner: PublicKey, user?: PublicKey, payer?: PublicKey): Promise<Transaction>;
1102
+ buildClaimTx(conditionId: Uint8Array, collateralMint: PublicKey, owner: PublicKey, user?: PublicKey): Promise<Transaction>;
1103
+ buildResolveDisputeTx(conditionId: Uint8Array, amount: anchor.BN, isRefunded: boolean, owner: PublicKey, admin?: PublicKey): Promise<Transaction>;
1104
+ }
1105
+
1036
1106
  declare class XMarketSDK {
1037
1107
  readonly provider: anchor.AnchorProvider;
1038
1108
  readonly networkConfig: NetworkConfig;
@@ -1048,6 +1118,7 @@ declare class XMarketSDK {
1048
1118
  private _marketOracle?;
1049
1119
  private _admin?;
1050
1120
  private _referral?;
1121
+ private _dispute?;
1051
1122
  constructor(config: NetworkConfig, wallet: anchor.Wallet, marketOwner?: PublicKey);
1052
1123
  private _withAddress;
1053
1124
  get oracle(): OracleClient;
@@ -1060,6 +1131,7 @@ declare class XMarketSDK {
1060
1131
  get marketOracle(): MarketOracleClient;
1061
1132
  get admin(): AdminClient;
1062
1133
  get referral(): ReferralClient;
1134
+ get dispute(): DisputeClient;
1063
1135
  }
1064
1136
 
1065
1137
  declare const SEEDS: {
@@ -1091,6 +1163,9 @@ declare const SEEDS: {
1091
1163
  readonly userClaim: Buffer<ArrayBuffer>;
1092
1164
  readonly adminConfig: Buffer<ArrayBuffer>;
1093
1165
  readonly claimRecord: Buffer<ArrayBuffer>;
1166
+ readonly disputeConfig: Buffer<ArrayBuffer>;
1167
+ readonly disputeMarket: Buffer<ArrayBuffer>;
1168
+ readonly userDispute: Buffer<ArrayBuffer>;
1094
1169
  };
1095
1170
  declare class PDA {
1096
1171
  static questionMarketConfig(owner: PublicKey, programIds: Pick<ProgramIds, "questionMarket">): [PublicKey, number];
@@ -1111,6 +1186,7 @@ declare class PDA {
1111
1186
  static clobConfig(programIds: Pick<ProgramIds, "clobExchange">): [PublicKey, number];
1112
1187
  static orderStatus(maker: PublicKey, nonce: BN, programIds: Pick<ProgramIds, "clobExchange">): [PublicKey, number];
1113
1188
  static orderRecord(maker: PublicKey, nonce: BN, programIds: Pick<ProgramIds, "clobExchange">): [PublicKey, number];
1189
+ static collectFeeOrderRecord(user: PublicKey, nonce: BN, programIds: Pick<ProgramIds, "clobExchange">): [PublicKey, number];
1114
1190
  static feeConfig(owner: PublicKey, programIds: Pick<ProgramIds, "feeManagement">): [PublicKey, number];
1115
1191
  static questionFee(conditionPda: PublicKey, programIds: Pick<ProgramIds, "feeManagement">): [PublicKey, number];
1116
1192
  static marketFeeOverride(conditionPda: PublicKey, programIds: Pick<ProgramIds, "feeManagement">): [PublicKey, number];
@@ -1123,6 +1199,9 @@ declare class PDA {
1123
1199
  static referralConfig(owner: PublicKey, programIds: Pick<ProgramIds, "referral">): [PublicKey, number];
1124
1200
  static adminConfig(owner: PublicKey, programIds: Pick<ProgramIds, "adminContract">): [PublicKey, number];
1125
1201
  static claimRecord(conditionId: Uint8Array, programIds: Pick<ProgramIds, "adminContract">): [PublicKey, number];
1202
+ static disputeConfig(owner: PublicKey, programIds: Pick<ProgramIds, "dispute">): [PublicKey, number];
1203
+ static disputeMarket(conditionId: Uint8Array, programIds: Pick<ProgramIds, "dispute">): [PublicKey, number];
1204
+ static userDispute(user: PublicKey, conditionId: Uint8Array, programIds: Pick<ProgramIds, "dispute">): [PublicKey, number];
1126
1205
  }
1127
1206
  /** Unique 32-byte question ID: SHA-256(content + timestamp). Different each call. */
1128
1207
  declare function generateQuestionId(content: string, salt?: number): Uint8Array;
@@ -1332,4 +1411,4 @@ declare function buildApproveCollateralTx(collateralMint: PublicKey, signer: Pub
1332
1411
  */
1333
1412
  declare function buildApproveAllOutcomeTokensTx(condition: PublicKey, signer: PublicKey, payer: PublicKey, delegate: PublicKey, programIds: ProgramIds, amount?: BN): Transaction;
1334
1413
 
1335
- export { AccountNotFoundError, AdminClient, type AdminConfigInfo, type ClaimRecordInfo, ClobClient, type ClobConfig, type CollateralConfig, type CollateralVault, type CollectFeeOrder, type Condition, type CreateQuestionParams, CtfClient, type CtfConfig, FEE_DENOMINATOR, FeeManagementClient, HookClient, type HookConfig, IX_SYSVAR, InvalidParamError, MAX_APPROVE_AMOUNT, MarketClient, MarketOracleClient, type MarketOracleInfo, type MatchType, type NetworkConfig, type NetworkName, OracleClient, type OracleConfig, type Order, type OrderStatus, PDA, type Position, PresaleClient, type PresaleInfo, type ProgramIds, type Question, type QuestionFee, type QuestionMarketConfig, type QuestionResult, QuestionStatus, ReferralClient, type ReferralConfigInfo, SEEDS, type SignedCollectFeeOrder, type SignedOrder, type TxResult, UnauthorizedError, type UserBuyRecord, type UserClaimRecord, XMarketError, XMarketSDK, buildApproveAllOutcomeTokensTx, buildApproveCollateralTx, buildBatchedCollectFeeEd25519Instruction, buildBatchedEd25519Instruction, buildCreateUserAtasTx, buildOrder, buildOrderFromPrice, deserializeSignedOrder, detectMatchType, generateContentHash, generateQuestionId, getOrderSignBytes, orderAmountsFromPrice, serializeCollectFeeOrderToBytes, serializeOrderToBytes, serializeSignedOrder, signOrder, signOrderWithKeypair, verifySignedOrder };
1414
+ export { AccountNotFoundError, AdminClient, type AdminConfigInfo, type ClaimRecordInfo, ClobClient, type ClobConfig, type CollateralConfig, type CollateralVault, type CollectFeeOrder, type Condition, type CreateQuestionParams, CtfClient, type CtfConfig, DisputeClient, type DisputeConfigInfo, type DisputeMarketInfo, FEE_DENOMINATOR, FeeManagementClient, HookClient, type HookConfig, IX_SYSVAR, InvalidParamError, MAX_APPROVE_AMOUNT, MarketClient, MarketOracleClient, type MarketOracleInfo, type MatchType, type NetworkConfig, type NetworkName, OracleClient, type OracleConfig, type Order, type OrderStatus, PDA, type Position, PresaleClient, type PresaleInfo, type ProgramIds, type Question, type QuestionFee, type QuestionMarketConfig, type QuestionResult, QuestionStatus, ReferralClient, type ReferralConfigInfo, SEEDS, type SignedCollectFeeOrder, type SignedOrder, type TxResult, UnauthorizedError, type UserBuyRecord, type UserClaimRecord, type UserDisputeInfo, XMarketError, XMarketSDK, buildApproveAllOutcomeTokensTx, buildApproveCollateralTx, buildBatchedCollectFeeEd25519Instruction, buildBatchedEd25519Instruction, buildCreateUserAtasTx, buildOrder, buildOrderFromPrice, deserializeSignedOrder, detectMatchType, generateContentHash, generateQuestionId, getOrderSignBytes, orderAmountsFromPrice, serializeCollectFeeOrderToBytes, serializeOrderToBytes, serializeSignedOrder, signOrder, signOrderWithKeypair, verifySignedOrder };