@theliem/xmarket-sdk 1.0.12 → 3.0.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.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as anchor4 from '@coral-xyz/anchor';
2
- import { PublicKey, SYSVAR_INSTRUCTIONS_PUBKEY, SystemProgram, SYSVAR_RENT_PUBKEY, TransactionInstruction, Ed25519Program, TransactionMessage, VersionedTransaction, Connection, Transaction } from '@solana/web3.js';
2
+ import { SYSVAR_INSTRUCTIONS_PUBKEY, PublicKey, SystemProgram, SYSVAR_RENT_PUBKEY, TransactionInstruction, Ed25519Program, TransactionMessage, VersionedTransaction, Connection, Transaction } from '@solana/web3.js';
3
3
  import { createHash } from 'crypto';
4
4
  import { TOKEN_2022_PROGRAM_ID, TOKEN_PROGRAM_ID, getAssociatedTokenAddressSync, ASSOCIATED_TOKEN_PROGRAM_ID, createApproveInstruction } from '@solana/spl-token';
5
5
  import oracleIdl from './oracle-FZJJIJGI.json';
@@ -11,53 +11,6 @@ import BN4 from 'bn.js';
11
11
  import * as nacl from 'tweetnacl';
12
12
 
13
13
  // src/sdk.ts
14
- var DEVNET_CONFIG = {
15
- name: "devnet",
16
- rpcUrl: "https://api.devnet.solana.com",
17
- programIds: {
18
- oracle: new PublicKey("FzLnnbKtQCTKviEbrDYMLZYXNDHQdjSSa4Ybj4jAbrUL"),
19
- conditionalTokens: new PublicKey("A6N1F8MRsdgcojAx8p6FaECvw8mo8w6qJcWsbKQBANK4"),
20
- questionMarket: new PublicKey("FCvCbWoLpzNYKzQnXYXCo1yz9DTpgUs11QqHVqnqtWhA"),
21
- hook: new PublicKey("F7y5MfW8d5kqR25QHDhUQ9LrKCiZUZVF6Pdnw15q5zZW"),
22
- clobExchange: new PublicKey("Cs4GY1yZVxjxhhyUum3AupMuS3bo4yKRXifgLTTAh1sf")
23
- },
24
- defaultCollateral: {
25
- mint: new PublicKey("53osACZSom79AHf6nK4eq8DL6viMZmyVERYPDB6S6Eck"),
26
- decimals: 9
27
- }
28
- };
29
- var LOCALNET_CONFIG = {
30
- name: "localnet",
31
- rpcUrl: "http://localhost:8899",
32
- programIds: { ...DEVNET_CONFIG.programIds },
33
- defaultCollateral: {
34
- mint: new PublicKey("6Gk4qsruSjunenwzP4L5DQukawfVNvdr9rPX2qG77jmH"),
35
- decimals: 6
36
- }
37
- };
38
- var MAINNET_CONFIG = {
39
- name: "mainnet",
40
- rpcUrl: "https://api.mainnet-beta.solana.com",
41
- programIds: {
42
- oracle: new PublicKey("E667trvbHmZEnptjnjXp9x8e1Fpji3viHo1J1DGPKijh"),
43
- conditionalTokens: new PublicKey("3WFSX7zPLrJSU811h7awgqXTZuKhUR1Fi1VBDayHhk4s"),
44
- questionMarket: new PublicKey("GiQh2xBmEiM4gYq4U9PMSaUJNq1T9TfEJL5cXvNYhtGm"),
45
- hook: new PublicKey("11111111111111111111111111111111"),
46
- // not yet deployed
47
- clobExchange: new PublicKey("11111111111111111111111111111111")
48
- // not yet deployed
49
- },
50
- defaultCollateral: {
51
- mint: new PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),
52
- // USDC mainnet
53
- decimals: 6
54
- }
55
- };
56
- var NETWORK_CONFIGS = {
57
- devnet: DEVNET_CONFIG,
58
- localnet: LOCALNET_CONFIG,
59
- mainnet: MAINNET_CONFIG
60
- };
61
14
  var SEEDS = {
62
15
  config: Buffer.from("config"),
63
16
  question: Buffer.from("question"),
@@ -1564,23 +1517,21 @@ var ClobClient = class {
1564
1517
  return status?.isCancelled === true;
1565
1518
  }
1566
1519
  };
1567
- var XMarketSDK = class _XMarketSDK {
1568
- constructor(config) {
1569
- this.networkConfig = typeof config.network === "string" ? NETWORK_CONFIGS[config.network] : config.network;
1520
+ var XMarketSDK = class {
1521
+ constructor(config, wallet, marketOwner) {
1522
+ this.networkConfig = config;
1570
1523
  this.provider = new anchor4.AnchorProvider(
1571
- new Connection(this.networkConfig.rpcUrl, "confirmed"),
1572
- config.wallet,
1524
+ new Connection(config.rpcUrl, "confirmed"),
1525
+ wallet,
1573
1526
  { commitment: "confirmed", preflightCommitment: "confirmed" }
1574
1527
  );
1575
1528
  anchor4.setProvider(this.provider);
1576
- this._programIds = this.networkConfig.programIds;
1577
- this._marketOwner = config.marketOwner ?? config.wallet.publicKey;
1529
+ this._programIds = config.programIds;
1530
+ this._marketOwner = marketOwner ?? wallet.publicKey;
1578
1531
  }
1579
- // ─── Lazy-initialised clients ─────────────────────────────────────────────
1580
1532
  _withAddress(idl, address) {
1581
1533
  return { ...idl, address: address.toBase58() };
1582
1534
  }
1583
- /** Oracle program client */
1584
1535
  get oracle() {
1585
1536
  if (!this._oracle) {
1586
1537
  const program = new anchor4.Program(this._withAddress(oracleIdl, this._programIds.oracle), this.provider);
@@ -1588,7 +1539,6 @@ var XMarketSDK = class _XMarketSDK {
1588
1539
  }
1589
1540
  return this._oracle;
1590
1541
  }
1591
- /** Transfer-hook program client */
1592
1542
  get hook() {
1593
1543
  if (!this._hook) {
1594
1544
  const program = new anchor4.Program(this._withAddress(hookIdl, this._programIds.hook), this.provider);
@@ -1596,7 +1546,6 @@ var XMarketSDK = class _XMarketSDK {
1596
1546
  }
1597
1547
  return this._hook;
1598
1548
  }
1599
- /** QuestionMarket program client */
1600
1549
  get market() {
1601
1550
  if (!this._market) {
1602
1551
  const program = new anchor4.Program(this._withAddress(questionMarketIdl, this._programIds.questionMarket), this.provider);
@@ -1605,7 +1554,6 @@ var XMarketSDK = class _XMarketSDK {
1605
1554
  }
1606
1555
  return this._market;
1607
1556
  }
1608
- /** Conditional tokens (CTF) program client */
1609
1557
  get ctf() {
1610
1558
  if (!this._ctf) {
1611
1559
  const program = new anchor4.Program(this._withAddress(conditionalTokensIdl, this._programIds.conditionalTokens), this.provider);
@@ -1613,7 +1561,6 @@ var XMarketSDK = class _XMarketSDK {
1613
1561
  }
1614
1562
  return this._ctf;
1615
1563
  }
1616
- /** CLOB exchange program client */
1617
1564
  get clob() {
1618
1565
  if (!this._clob) {
1619
1566
  const program = new anchor4.Program(this._withAddress(clobExchangeIdl, this._programIds.clobExchange), this.provider);
@@ -1621,48 +1568,6 @@ var XMarketSDK = class _XMarketSDK {
1621
1568
  }
1622
1569
  return this._clob;
1623
1570
  }
1624
- // ─── Factory helpers ──────────────────────────────────────────────────────
1625
- /**
1626
- * Connect to devnet.
1627
- * ```ts
1628
- * const sdk = XMarketSDK.devnet(wallet);
1629
- * ```
1630
- */
1631
- static devnet(wallet, marketOwner) {
1632
- return new _XMarketSDK({ network: "devnet", wallet, marketOwner });
1633
- }
1634
- /**
1635
- * Connect to localhost test validator.
1636
- * ```ts
1637
- * const sdk = XMarketSDK.localnet(wallet);
1638
- * ```
1639
- */
1640
- static localnet(wallet, marketOwner) {
1641
- return new _XMarketSDK({ network: "localnet", wallet, marketOwner });
1642
- }
1643
- /**
1644
- * Connect to mainnet-beta.
1645
- * ```ts
1646
- * const sdk = XMarketSDK.mainnet(wallet);
1647
- * ```
1648
- */
1649
- static mainnet(wallet, marketOwner) {
1650
- return new _XMarketSDK({ network: "mainnet", wallet, marketOwner });
1651
- }
1652
- /**
1653
- * Custom network (e.g. custom RPC, custom program IDs for a fork).
1654
- * ```ts
1655
- * const sdk = XMarketSDK.custom({
1656
- * name: "staging",
1657
- * rpcUrl: "https://my-rpc.com",
1658
- * programIds: { ... },
1659
- * defaultCollateral: { mint: ..., decimals: 6 },
1660
- * }, wallet);
1661
- * ```
1662
- */
1663
- static custom(config, wallet, marketOwner) {
1664
- return new _XMarketSDK({ network: config, wallet, marketOwner });
1665
- }
1666
1571
  };
1667
1572
  function buildOrder(params) {
1668
1573
  return {
@@ -1792,6 +1697,6 @@ function buildApproveAllOutcomeTokensTx(condition, signer, payer, delegate, prog
1792
1697
  return tx;
1793
1698
  }
1794
1699
 
1795
- export { AccountNotFoundError, ClobClient, CtfClient, DEVNET_CONFIG, HookClient, IX_SYSVAR, InvalidParamError, LOCALNET_CONFIG, MAINNET_CONFIG, MAX_APPROVE_AMOUNT, MarketClient, NETWORK_CONFIGS, OracleClient, PDA, QuestionStatus, SEEDS, UnauthorizedError, XMarketError, XMarketSDK, buildApproveAllOutcomeTokensTx, buildApproveCollateralTx, buildBatchedEd25519Instruction, buildOrder, deserializeSignedOrder, detectMatchType, generateContentHash, generateQuestionId, getOrderSignBytes, serializeOrderToBytes, serializeSignedOrder, signOrder, signOrderWithKeypair, verifySignedOrder };
1700
+ export { AccountNotFoundError, ClobClient, CtfClient, HookClient, IX_SYSVAR, InvalidParamError, MAX_APPROVE_AMOUNT, MarketClient, OracleClient, PDA, QuestionStatus, SEEDS, UnauthorizedError, XMarketError, XMarketSDK, buildApproveAllOutcomeTokensTx, buildApproveCollateralTx, buildBatchedEd25519Instruction, buildOrder, deserializeSignedOrder, detectMatchType, generateContentHash, generateQuestionId, getOrderSignBytes, serializeOrderToBytes, serializeSignedOrder, signOrder, signOrderWithKeypair, verifySignedOrder };
1796
1701
  //# sourceMappingURL=index.mjs.map
1797
1702
  //# sourceMappingURL=index.mjs.map