@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.d.mts +4 -83
- package/dist/index.d.ts +4 -83
- package/dist/index.js +7 -106
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +9 -104
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as anchor4 from '@coral-xyz/anchor';
|
|
2
|
-
import {
|
|
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
|
|
1568
|
-
constructor(config) {
|
|
1569
|
-
this.networkConfig =
|
|
1520
|
+
var XMarketSDK = class {
|
|
1521
|
+
constructor(config, wallet, marketOwner) {
|
|
1522
|
+
this.networkConfig = config;
|
|
1570
1523
|
this.provider = new anchor4.AnchorProvider(
|
|
1571
|
-
new Connection(
|
|
1572
|
-
|
|
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 =
|
|
1577
|
-
this._marketOwner =
|
|
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,
|
|
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
|