@lightconexyz/lightcone-sdk 0.2.3 → 0.2.41
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/README.md +30 -37
- package/dist/auth/client.d.ts.map +1 -1
- package/dist/auth/client.js +3 -10
- package/dist/auth/client.js.map +1 -1
- package/dist/auth/index.d.ts +3 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/client.d.ts +14 -15
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +33 -31
- package/dist/client.js.map +1 -1
- package/dist/context.d.ts +9 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +10 -0
- package/dist/context.js.map +1 -0
- package/dist/domain/admin/client.d.ts +27 -5
- package/dist/domain/admin/client.d.ts.map +1 -1
- package/dist/domain/admin/client.js +89 -0
- package/dist/domain/admin/client.js.map +1 -1
- package/dist/domain/index.d.ts +0 -1
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +1 -2
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/market/client.d.ts +13 -5
- package/dist/domain/market/client.d.ts.map +1 -1
- package/dist/domain/market/client.js +86 -0
- package/dist/domain/market/client.js.map +1 -1
- package/dist/domain/order/client.d.ts +23 -5
- package/dist/domain/order/client.d.ts.map +1 -1
- package/dist/domain/order/client.js +99 -0
- package/dist/domain/order/client.js.map +1 -1
- package/dist/domain/order/index.d.ts +8 -2
- package/dist/domain/order/index.d.ts.map +1 -1
- package/dist/domain/order/index.js +23 -0
- package/dist/domain/order/index.js.map +1 -1
- package/dist/domain/orderbook/client.d.ts +6 -14
- package/dist/domain/orderbook/client.d.ts.map +1 -1
- package/dist/domain/orderbook/client.js +16 -11
- package/dist/domain/orderbook/client.js.map +1 -1
- package/dist/domain/orderbook/index.d.ts +7 -0
- package/dist/domain/orderbook/index.d.ts.map +1 -1
- package/dist/domain/orderbook/index.js +17 -0
- package/dist/domain/orderbook/index.js.map +1 -1
- package/dist/domain/orderbook/state.d.ts +2 -0
- package/dist/domain/orderbook/state.d.ts.map +1 -1
- package/dist/domain/orderbook/state.js +25 -2
- package/dist/domain/orderbook/state.js.map +1 -1
- package/dist/domain/position/client.d.ts +19 -5
- package/dist/domain/position/client.d.ts.map +1 -1
- package/dist/domain/position/client.js +71 -0
- package/dist/domain/position/client.js.map +1 -1
- package/dist/domain/position/index.d.ts +4 -1
- package/dist/domain/position/index.d.ts.map +1 -1
- package/dist/domain/position/index.js +20 -0
- package/dist/domain/position/index.js.map +1 -1
- package/dist/domain/position/wire.d.ts +6 -0
- package/dist/domain/position/wire.d.ts.map +1 -1
- package/dist/domain/position/wire.js.map +1 -1
- package/dist/domain/price_history/client.d.ts +14 -1
- package/dist/domain/price_history/client.d.ts.map +1 -1
- package/dist/domain/price_history/client.js +53 -0
- package/dist/domain/price_history/client.js.map +1 -1
- package/dist/domain/price_history/index.d.ts +4 -0
- package/dist/domain/price_history/index.d.ts.map +1 -1
- package/dist/domain/price_history/index.js.map +1 -1
- package/dist/domain/price_history/state.d.ts +16 -0
- package/dist/domain/price_history/state.d.ts.map +1 -1
- package/dist/domain/price_history/state.js +42 -1
- package/dist/domain/price_history/state.js.map +1 -1
- package/dist/domain/price_history/wire.d.ts +34 -0
- package/dist/domain/price_history/wire.d.ts.map +1 -1
- package/dist/domain/price_history/wire.js.map +1 -1
- package/dist/http/client.d.ts +0 -1
- package/dist/http/client.d.ts.map +1 -1
- package/dist/http/client.js +29 -39
- package/dist/http/client.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/prelude.d.ts +5 -6
- package/dist/prelude.d.ts.map +1 -1
- package/dist/prelude.js +4 -5
- package/dist/prelude.js.map +1 -1
- package/dist/privy/client.d.ts +1 -0
- package/dist/privy/client.d.ts.map +1 -1
- package/dist/privy/client.js +10 -0
- package/dist/privy/client.js.map +1 -1
- package/dist/privy/index.d.ts +1 -0
- package/dist/privy/index.d.ts.map +1 -1
- package/dist/privy/index.js +4 -0
- package/dist/privy/index.js.map +1 -1
- package/dist/program/accounts.d.ts +2 -1
- package/dist/program/accounts.d.ts.map +1 -1
- package/dist/program/accounts.js +2 -1
- package/dist/program/accounts.js.map +1 -1
- package/dist/program/builder.d.ts +3 -0
- package/dist/program/builder.d.ts.map +1 -1
- package/dist/program/builder.js +8 -0
- package/dist/program/builder.js.map +1 -1
- package/dist/program/constants.d.ts +3 -2
- package/dist/program/constants.d.ts.map +1 -1
- package/dist/program/constants.js +3 -2
- package/dist/program/constants.js.map +1 -1
- package/dist/program/envelope.d.ts +19 -9
- package/dist/program/envelope.d.ts.map +1 -1
- package/dist/program/envelope.js +54 -20
- package/dist/program/envelope.js.map +1 -1
- package/dist/program/index.d.ts +3 -4
- package/dist/program/index.d.ts.map +1 -1
- package/dist/program/index.js +34 -6
- package/dist/program/index.js.map +1 -1
- package/dist/program/instructions.d.ts +40 -3
- package/dist/program/instructions.d.ts.map +1 -1
- package/dist/program/instructions.js +158 -3
- package/dist/program/instructions.js.map +1 -1
- package/dist/program/orders.d.ts +36 -18
- package/dist/program/orders.d.ts.map +1 -1
- package/dist/program/orders.js +97 -20
- package/dist/program/orders.js.map +1 -1
- package/dist/program/types.d.ts +14 -2
- package/dist/program/types.d.ts.map +1 -1
- package/dist/program/types.js.map +1 -1
- package/dist/rpc.d.ts +19 -0
- package/dist/rpc.d.ts.map +1 -0
- package/dist/rpc.js +51 -0
- package/dist/rpc.js.map +1 -0
- package/dist/shared/fmt/decimal.d.ts +1 -1
- package/dist/shared/fmt/decimal.d.ts.map +1 -1
- package/dist/shared/fmt/decimal.js +2 -2
- package/dist/shared/fmt/decimal.js.map +1 -1
- package/dist/shared/index.d.ts +1 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +2 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/scaling.d.ts.map +1 -1
- package/dist/shared/scaling.js +7 -3
- package/dist/shared/scaling.js.map +1 -1
- package/dist/shared/types.d.ts +2 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js +9 -1
- package/dist/shared/types.js.map +1 -1
- package/dist/ws/client.browser.d.ts +2 -0
- package/dist/ws/client.browser.d.ts.map +1 -1
- package/dist/ws/client.browser.js +43 -6
- package/dist/ws/client.browser.js.map +1 -1
- package/dist/ws/client.node.d.ts +2 -0
- package/dist/ws/client.node.d.ts.map +1 -1
- package/dist/ws/client.node.js +43 -6
- package/dist/ws/client.node.js.map +1 -1
- package/dist/ws/index.d.ts +1 -2
- package/dist/ws/index.d.ts.map +1 -1
- package/dist/ws/index.js.map +1 -1
- package/dist/ws/types.d.ts +2 -0
- package/dist/ws/types.d.ts.map +1 -1
- package/dist/ws/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/domain/deposit_price/client.d.ts +0 -21
- package/dist/domain/deposit_price/client.d.ts.map +0 -1
- package/dist/domain/deposit_price/client.js +0 -68
- package/dist/domain/deposit_price/client.js.map +0 -1
- package/dist/domain/deposit_price/index.d.ts +0 -9
- package/dist/domain/deposit_price/index.d.ts.map +0 -1
- package/dist/domain/deposit_price/index.js +0 -20
- package/dist/domain/deposit_price/index.js.map +0 -1
- package/dist/domain/deposit_price/state.d.ts +0 -17
- package/dist/domain/deposit_price/state.d.ts.map +0 -1
- package/dist/domain/deposit_price/state.js +0 -45
- package/dist/domain/deposit_price/state.js.map +0 -1
- package/dist/domain/deposit_price/wire.d.ts +0 -36
- package/dist/domain/deposit_price/wire.d.ts.map +0 -1
- package/dist/domain/deposit_price/wire.js +0 -3
- package/dist/domain/deposit_price/wire.js.map +0 -1
- package/dist/program/client.d.ts +0 -96
- package/dist/program/client.d.ts.map +0 -1
- package/dist/program/client.js +0 -372
- package/dist/program/client.js.map +0 -1
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { Transaction, type PublicKey, type TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
import type { ClientContext } from "../../context";
|
|
3
|
+
import type { CreateMarketParams, AddDepositMintParams, ActivateMarketParams, SettleMarketParams, SetAuthorityParams, WhitelistDepositTokenParams, CreateOrderbookParams, MatchOrdersMultiParams, DepositAndSwapParams } from "../../program/types";
|
|
2
4
|
import type { AdminEnvelope } from "./index";
|
|
3
5
|
import type { AllocateCodesRequest, AllocateCodesResponse, CreateNotificationRequest, CreateNotificationResponse, DismissNotificationRequest, DismissNotificationResponse, RevokeRequest, RevokeResponse, UnifiedMetadataRequest, UnifiedMetadataResponse, UnrevokeRequest, UnrevokeResponse, WhitelistRequest, WhitelistResponse } from "./wire";
|
|
4
|
-
interface ClientContext {
|
|
5
|
-
http: LightconeHttp;
|
|
6
|
-
}
|
|
7
6
|
export declare class Admin {
|
|
8
7
|
private readonly client;
|
|
9
8
|
constructor(client: ClientContext);
|
|
@@ -14,6 +13,29 @@ export declare class Admin {
|
|
|
14
13
|
unrevoke(envelope: AdminEnvelope<UnrevokeRequest>): Promise<UnrevokeResponse>;
|
|
15
14
|
createNotification(envelope: AdminEnvelope<CreateNotificationRequest>): Promise<CreateNotificationResponse>;
|
|
16
15
|
dismissNotification(envelope: AdminEnvelope<DismissNotificationRequest>): Promise<DismissNotificationResponse>;
|
|
16
|
+
initializeIx(authority: PublicKey): TransactionInstruction;
|
|
17
|
+
createMarketIx(params: CreateMarketParams, marketId: bigint): TransactionInstruction;
|
|
18
|
+
addDepositMintIx(params: AddDepositMintParams, market: PublicKey, numOutcomes: number): TransactionInstruction;
|
|
19
|
+
activateMarketIx(params: ActivateMarketParams): TransactionInstruction;
|
|
20
|
+
settleMarketIx(params: SettleMarketParams): TransactionInstruction;
|
|
21
|
+
setPausedIx(authority: PublicKey, paused: boolean): TransactionInstruction;
|
|
22
|
+
setOperatorIx(authority: PublicKey, newOperator: PublicKey): TransactionInstruction;
|
|
23
|
+
setAuthorityIx(params: SetAuthorityParams): TransactionInstruction;
|
|
24
|
+
whitelistDepositTokenIx(params: WhitelistDepositTokenParams): TransactionInstruction;
|
|
25
|
+
createOrderbookIx(params: CreateOrderbookParams): TransactionInstruction;
|
|
26
|
+
matchOrdersMultiIx(params: MatchOrdersMultiParams): TransactionInstruction;
|
|
27
|
+
depositAndSwapIx(params: DepositAndSwapParams): TransactionInstruction;
|
|
28
|
+
initializeTx(authority: PublicKey): Transaction;
|
|
29
|
+
createMarketTx(params: CreateMarketParams, marketId: bigint): Transaction;
|
|
30
|
+
addDepositMintTx(params: AddDepositMintParams, market: PublicKey, numOutcomes: number): Transaction;
|
|
31
|
+
activateMarketTx(params: ActivateMarketParams): Transaction;
|
|
32
|
+
settleMarketTx(params: SettleMarketParams): Transaction;
|
|
33
|
+
setPausedTx(authority: PublicKey, paused: boolean): Transaction;
|
|
34
|
+
setOperatorTx(authority: PublicKey, newOperator: PublicKey): Transaction;
|
|
35
|
+
setAuthorityTx(params: SetAuthorityParams): Transaction;
|
|
36
|
+
whitelistDepositTokenTx(params: WhitelistDepositTokenParams): Transaction;
|
|
37
|
+
createOrderbookTx(params: CreateOrderbookParams): Transaction;
|
|
38
|
+
matchOrdersMultiTx(params: MatchOrdersMultiParams): Transaction;
|
|
39
|
+
depositAndSwapTx(params: DepositAndSwapParams): Transaction;
|
|
17
40
|
}
|
|
18
|
-
export {};
|
|
19
41
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/admin/client.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/admin/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Admin = void 0;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
4
5
|
const http_1 = require("../../http");
|
|
6
|
+
const instructions_1 = require("../../program/instructions");
|
|
5
7
|
class Admin {
|
|
6
8
|
client;
|
|
7
9
|
constructor(client) {
|
|
8
10
|
this.client = client;
|
|
9
11
|
}
|
|
12
|
+
// ── HTTP methods ─────────────────────────────────────────────────────
|
|
10
13
|
async upsertMetadata(envelope) {
|
|
11
14
|
const url = `${this.client.http.baseUrl()}/api/admin/metadata`;
|
|
12
15
|
return this.client.http.post(url, envelope, http_1.RetryPolicy.None);
|
|
@@ -35,6 +38,92 @@ class Admin {
|
|
|
35
38
|
const url = `${this.client.http.baseUrl()}/api/admin/notifications/dismiss`;
|
|
36
39
|
return this.client.http.post(url, envelope, http_1.RetryPolicy.None);
|
|
37
40
|
}
|
|
41
|
+
// ── On-chain transaction builders ────────────────────────────────────
|
|
42
|
+
initializeIx(authority) {
|
|
43
|
+
return (0, instructions_1.buildInitializeIx)({ authority }, this.client.programId);
|
|
44
|
+
}
|
|
45
|
+
createMarketIx(params, marketId) {
|
|
46
|
+
return (0, instructions_1.buildCreateMarketIx)(params, marketId, this.client.programId);
|
|
47
|
+
}
|
|
48
|
+
addDepositMintIx(params, market, numOutcomes) {
|
|
49
|
+
return (0, instructions_1.buildAddDepositMintIx)(params, market, numOutcomes, this.client.programId);
|
|
50
|
+
}
|
|
51
|
+
activateMarketIx(params) {
|
|
52
|
+
return (0, instructions_1.buildActivateMarketIx)(params, this.client.programId);
|
|
53
|
+
}
|
|
54
|
+
settleMarketIx(params) {
|
|
55
|
+
return (0, instructions_1.buildSettleMarketIx)(params, this.client.programId);
|
|
56
|
+
}
|
|
57
|
+
setPausedIx(authority, paused) {
|
|
58
|
+
return (0, instructions_1.buildSetPausedIx)(authority, paused, this.client.programId);
|
|
59
|
+
}
|
|
60
|
+
setOperatorIx(authority, newOperator) {
|
|
61
|
+
return (0, instructions_1.buildSetOperatorIx)(authority, newOperator, this.client.programId);
|
|
62
|
+
}
|
|
63
|
+
setAuthorityIx(params) {
|
|
64
|
+
return (0, instructions_1.buildSetAuthorityIx)(params, this.client.programId);
|
|
65
|
+
}
|
|
66
|
+
whitelistDepositTokenIx(params) {
|
|
67
|
+
return (0, instructions_1.buildWhitelistDepositTokenIx)(params, this.client.programId);
|
|
68
|
+
}
|
|
69
|
+
createOrderbookIx(params) {
|
|
70
|
+
return (0, instructions_1.buildCreateOrderbookIx)(params, this.client.programId);
|
|
71
|
+
}
|
|
72
|
+
matchOrdersMultiIx(params) {
|
|
73
|
+
return (0, instructions_1.buildMatchOrdersMultiIx)(params, this.client.programId);
|
|
74
|
+
}
|
|
75
|
+
depositAndSwapIx(params) {
|
|
76
|
+
return (0, instructions_1.buildDepositAndSwapIx)(params, this.client.programId);
|
|
77
|
+
}
|
|
78
|
+
// ── Transaction builders (_tx convenience wrappers) ─────────────────
|
|
79
|
+
initializeTx(authority) {
|
|
80
|
+
const ix = this.initializeIx(authority);
|
|
81
|
+
return new web3_js_1.Transaction({ feePayer: authority }).add(ix);
|
|
82
|
+
}
|
|
83
|
+
createMarketTx(params, marketId) {
|
|
84
|
+
const ix = this.createMarketIx(params, marketId);
|
|
85
|
+
return new web3_js_1.Transaction({ feePayer: params.authority }).add(ix);
|
|
86
|
+
}
|
|
87
|
+
addDepositMintTx(params, market, numOutcomes) {
|
|
88
|
+
const ix = this.addDepositMintIx(params, market, numOutcomes);
|
|
89
|
+
return new web3_js_1.Transaction({ feePayer: params.authority }).add(ix);
|
|
90
|
+
}
|
|
91
|
+
activateMarketTx(params) {
|
|
92
|
+
const ix = this.activateMarketIx(params);
|
|
93
|
+
return new web3_js_1.Transaction({ feePayer: params.authority }).add(ix);
|
|
94
|
+
}
|
|
95
|
+
settleMarketTx(params) {
|
|
96
|
+
const ix = this.settleMarketIx(params);
|
|
97
|
+
return new web3_js_1.Transaction({ feePayer: params.oracle }).add(ix);
|
|
98
|
+
}
|
|
99
|
+
setPausedTx(authority, paused) {
|
|
100
|
+
const ix = this.setPausedIx(authority, paused);
|
|
101
|
+
return new web3_js_1.Transaction({ feePayer: authority }).add(ix);
|
|
102
|
+
}
|
|
103
|
+
setOperatorTx(authority, newOperator) {
|
|
104
|
+
const ix = this.setOperatorIx(authority, newOperator);
|
|
105
|
+
return new web3_js_1.Transaction({ feePayer: authority }).add(ix);
|
|
106
|
+
}
|
|
107
|
+
setAuthorityTx(params) {
|
|
108
|
+
const ix = this.setAuthorityIx(params);
|
|
109
|
+
return new web3_js_1.Transaction({ feePayer: params.currentAuthority }).add(ix);
|
|
110
|
+
}
|
|
111
|
+
whitelistDepositTokenTx(params) {
|
|
112
|
+
const ix = this.whitelistDepositTokenIx(params);
|
|
113
|
+
return new web3_js_1.Transaction({ feePayer: params.authority }).add(ix);
|
|
114
|
+
}
|
|
115
|
+
createOrderbookTx(params) {
|
|
116
|
+
const ix = this.createOrderbookIx(params);
|
|
117
|
+
return new web3_js_1.Transaction({ feePayer: params.authority }).add(ix);
|
|
118
|
+
}
|
|
119
|
+
matchOrdersMultiTx(params) {
|
|
120
|
+
const ix = this.matchOrdersMultiIx(params);
|
|
121
|
+
return new web3_js_1.Transaction({ feePayer: params.operator }).add(ix);
|
|
122
|
+
}
|
|
123
|
+
depositAndSwapTx(params) {
|
|
124
|
+
const ix = this.depositAndSwapIx(params);
|
|
125
|
+
return new web3_js_1.Transaction({ feePayer: params.operator }).add(ix);
|
|
126
|
+
}
|
|
38
127
|
}
|
|
39
128
|
exports.Admin = Admin;
|
|
40
129
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/admin/client.ts"],"names":[],"mappings":";;;AAAA,qCAA6D;AAuB7D,MAAa,KAAK;IACa;IAA7B,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtD,KAAK,CAAC,cAAc,CAClB,QAA+C;QAE/C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC1B,GAAG,EACH,QAAQ,EACR,kBAAW,CAAC,IAAI,CACjB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,QAA6C;QAE7C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC;QACxE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC1B,GAAG,EACH,QAAQ,EACR,kBAAW,CAAC,IAAI,CACjB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAyC;QACvD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,+BAA+B,CAAC;QACzE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC1B,GAAG,EACH,QAAQ,EACR,kBAAW,CAAC,IAAI,CACjB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAsC;QACjD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC;QACtE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC1B,GAAG,EACH,QAAQ,EACR,kBAAW,CAAC,IAAI,CACjB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAwC;QACrD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC;QACxE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC1B,GAAG,EACH,QAAQ,EACR,kBAAW,CAAC,IAAI,CACjB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,QAAkD;QAElD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC;QACpE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC1B,GAAG,EACH,QAAQ,EACR,kBAAW,CAAC,IAAI,CACjB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,QAAmD;QAEnD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,kCAAkC,CAAC;QAC5E,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAC1B,GAAG,EACH,QAAQ,EACR,kBAAW,CAAC,IAAI,CACjB,CAAC;IACJ,CAAC;CACF;AAzED,sBAyEC","sourcesContent":["import { RetryPolicy, type LightconeHttp } from \"../../http\";\nimport type { AdminEnvelope } from \"./index\";\nimport type {\n AllocateCodesRequest,\n AllocateCodesResponse,\n CreateNotificationRequest,\n CreateNotificationResponse,\n DismissNotificationRequest,\n DismissNotificationResponse,\n RevokeRequest,\n RevokeResponse,\n UnifiedMetadataRequest,\n UnifiedMetadataResponse,\n UnrevokeRequest,\n UnrevokeResponse,\n WhitelistRequest,\n WhitelistResponse,\n} from \"./wire\";\n\ninterface ClientContext {\n http: LightconeHttp;\n}\n\nexport class Admin {\n constructor(private readonly client: ClientContext) {}\n\n async upsertMetadata(\n envelope: AdminEnvelope<UnifiedMetadataRequest>\n ): Promise<UnifiedMetadataResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/metadata`;\n return this.client.http.post<UnifiedMetadataResponse, AdminEnvelope<UnifiedMetadataRequest>>(\n url,\n envelope,\n RetryPolicy.None\n );\n }\n\n async allocateCodes(\n envelope: AdminEnvelope<AllocateCodesRequest>\n ): Promise<AllocateCodesResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/allocate`;\n return this.client.http.post<AllocateCodesResponse, AdminEnvelope<AllocateCodesRequest>>(\n url,\n envelope,\n RetryPolicy.None\n );\n }\n\n async whitelist(envelope: AdminEnvelope<WhitelistRequest>): Promise<WhitelistResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/whitelist`;\n return this.client.http.post<WhitelistResponse, AdminEnvelope<WhitelistRequest>>(\n url,\n envelope,\n RetryPolicy.None\n );\n }\n\n async revoke(envelope: AdminEnvelope<RevokeRequest>): Promise<RevokeResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/revoke`;\n return this.client.http.post<RevokeResponse, AdminEnvelope<RevokeRequest>>(\n url,\n envelope,\n RetryPolicy.None\n );\n }\n\n async unrevoke(envelope: AdminEnvelope<UnrevokeRequest>): Promise<UnrevokeResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/unrevoke`;\n return this.client.http.post<UnrevokeResponse, AdminEnvelope<UnrevokeRequest>>(\n url,\n envelope,\n RetryPolicy.None\n );\n }\n\n async createNotification(\n envelope: AdminEnvelope<CreateNotificationRequest>\n ): Promise<CreateNotificationResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/notifications`;\n return this.client.http.post<CreateNotificationResponse, AdminEnvelope<CreateNotificationRequest>>(\n url,\n envelope,\n RetryPolicy.None\n );\n }\n\n async dismissNotification(\n envelope: AdminEnvelope<DismissNotificationRequest>\n ): Promise<DismissNotificationResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/notifications/dismiss`;\n return this.client.http.post<DismissNotificationResponse, AdminEnvelope<DismissNotificationRequest>>(\n url,\n envelope,\n RetryPolicy.None\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/admin/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction, type PublicKey, type TransactionInstruction } from \"@solana/web3.js\";\nimport type { ClientContext } from \"../../context\";\nimport { RetryPolicy } from \"../../http\";\nimport {\n buildInitializeIx,\n buildCreateMarketIx,\n buildAddDepositMintIx,\n buildActivateMarketIx,\n buildSettleMarketIx,\n buildSetPausedIx,\n buildSetOperatorIx,\n buildSetAuthorityIx,\n buildWhitelistDepositTokenIx,\n buildCreateOrderbookIx,\n buildMatchOrdersMultiIx,\n buildDepositAndSwapIx,\n} from \"../../program/instructions\";\nimport type {\n CreateMarketParams,\n AddDepositMintParams,\n ActivateMarketParams,\n SettleMarketParams,\n SetAuthorityParams,\n WhitelistDepositTokenParams,\n CreateOrderbookParams,\n MatchOrdersMultiParams,\n DepositAndSwapParams,\n} from \"../../program/types\";\nimport type { AdminEnvelope } from \"./index\";\nimport type {\n AllocateCodesRequest,\n AllocateCodesResponse,\n CreateNotificationRequest,\n CreateNotificationResponse,\n DismissNotificationRequest,\n DismissNotificationResponse,\n RevokeRequest,\n RevokeResponse,\n UnifiedMetadataRequest,\n UnifiedMetadataResponse,\n UnrevokeRequest,\n UnrevokeResponse,\n WhitelistRequest,\n WhitelistResponse,\n} from \"./wire\";\n\nexport class Admin {\n constructor(private readonly client: ClientContext) {}\n\n // ── HTTP methods ─────────────────────────────────────────────────────\n\n async upsertMetadata(\n envelope: AdminEnvelope<UnifiedMetadataRequest>\n ): Promise<UnifiedMetadataResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/metadata`;\n return this.client.http.post<UnifiedMetadataResponse, AdminEnvelope<UnifiedMetadataRequest>>(\n url,\n envelope,\n RetryPolicy.None\n );\n }\n\n async allocateCodes(\n envelope: AdminEnvelope<AllocateCodesRequest>\n ): Promise<AllocateCodesResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/allocate`;\n return this.client.http.post<AllocateCodesResponse, AdminEnvelope<AllocateCodesRequest>>(\n url,\n envelope,\n RetryPolicy.None\n );\n }\n\n async whitelist(envelope: AdminEnvelope<WhitelistRequest>): Promise<WhitelistResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/whitelist`;\n return this.client.http.post<WhitelistResponse, AdminEnvelope<WhitelistRequest>>(\n url,\n envelope,\n RetryPolicy.None\n );\n }\n\n async revoke(envelope: AdminEnvelope<RevokeRequest>): Promise<RevokeResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/revoke`;\n return this.client.http.post<RevokeResponse, AdminEnvelope<RevokeRequest>>(\n url,\n envelope,\n RetryPolicy.None\n );\n }\n\n async unrevoke(envelope: AdminEnvelope<UnrevokeRequest>): Promise<UnrevokeResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/unrevoke`;\n return this.client.http.post<UnrevokeResponse, AdminEnvelope<UnrevokeRequest>>(\n url,\n envelope,\n RetryPolicy.None\n );\n }\n\n async createNotification(\n envelope: AdminEnvelope<CreateNotificationRequest>\n ): Promise<CreateNotificationResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/notifications`;\n return this.client.http.post<CreateNotificationResponse, AdminEnvelope<CreateNotificationRequest>>(\n url,\n envelope,\n RetryPolicy.None\n );\n }\n\n async dismissNotification(\n envelope: AdminEnvelope<DismissNotificationRequest>\n ): Promise<DismissNotificationResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/notifications/dismiss`;\n return this.client.http.post<DismissNotificationResponse, AdminEnvelope<DismissNotificationRequest>>(\n url,\n envelope,\n RetryPolicy.None\n );\n }\n\n // ── On-chain transaction builders ────────────────────────────────────\n\n initializeIx(authority: PublicKey): TransactionInstruction {\n return buildInitializeIx({ authority }, this.client.programId);\n }\n\n createMarketIx(params: CreateMarketParams, marketId: bigint): TransactionInstruction {\n return buildCreateMarketIx(params, marketId, this.client.programId);\n }\n\n addDepositMintIx(\n params: AddDepositMintParams,\n market: PublicKey,\n numOutcomes: number\n ): TransactionInstruction {\n return buildAddDepositMintIx(params, market, numOutcomes, this.client.programId);\n }\n\n activateMarketIx(params: ActivateMarketParams): TransactionInstruction {\n return buildActivateMarketIx(params, this.client.programId);\n }\n\n settleMarketIx(params: SettleMarketParams): TransactionInstruction {\n return buildSettleMarketIx(params, this.client.programId);\n }\n\n setPausedIx(authority: PublicKey, paused: boolean): TransactionInstruction {\n return buildSetPausedIx(authority, paused, this.client.programId);\n }\n\n setOperatorIx(authority: PublicKey, newOperator: PublicKey): TransactionInstruction {\n return buildSetOperatorIx(authority, newOperator, this.client.programId);\n }\n\n setAuthorityIx(params: SetAuthorityParams): TransactionInstruction {\n return buildSetAuthorityIx(params, this.client.programId);\n }\n\n whitelistDepositTokenIx(params: WhitelistDepositTokenParams): TransactionInstruction {\n return buildWhitelistDepositTokenIx(params, this.client.programId);\n }\n\n createOrderbookIx(params: CreateOrderbookParams): TransactionInstruction {\n return buildCreateOrderbookIx(params, this.client.programId);\n }\n\n matchOrdersMultiIx(params: MatchOrdersMultiParams): TransactionInstruction {\n return buildMatchOrdersMultiIx(params, this.client.programId);\n }\n\n depositAndSwapIx(params: DepositAndSwapParams): TransactionInstruction {\n return buildDepositAndSwapIx(params, this.client.programId);\n }\n\n // ── Transaction builders (_tx convenience wrappers) ─────────────────\n\n initializeTx(authority: PublicKey): Transaction {\n const ix = this.initializeIx(authority);\n return new Transaction({ feePayer: authority }).add(ix);\n }\n\n createMarketTx(params: CreateMarketParams, marketId: bigint): Transaction {\n const ix = this.createMarketIx(params, marketId);\n return new Transaction({ feePayer: params.authority }).add(ix);\n }\n\n addDepositMintTx(\n params: AddDepositMintParams,\n market: PublicKey,\n numOutcomes: number\n ): Transaction {\n const ix = this.addDepositMintIx(params, market, numOutcomes);\n return new Transaction({ feePayer: params.authority }).add(ix);\n }\n\n activateMarketTx(params: ActivateMarketParams): Transaction {\n const ix = this.activateMarketIx(params);\n return new Transaction({ feePayer: params.authority }).add(ix);\n }\n\n settleMarketTx(params: SettleMarketParams): Transaction {\n const ix = this.settleMarketIx(params);\n return new Transaction({ feePayer: params.oracle }).add(ix);\n }\n\n setPausedTx(authority: PublicKey, paused: boolean): Transaction {\n const ix = this.setPausedIx(authority, paused);\n return new Transaction({ feePayer: authority }).add(ix);\n }\n\n setOperatorTx(authority: PublicKey, newOperator: PublicKey): Transaction {\n const ix = this.setOperatorIx(authority, newOperator);\n return new Transaction({ feePayer: authority }).add(ix);\n }\n\n setAuthorityTx(params: SetAuthorityParams): Transaction {\n const ix = this.setAuthorityIx(params);\n return new Transaction({ feePayer: params.currentAuthority }).add(ix);\n }\n\n whitelistDepositTokenTx(params: WhitelistDepositTokenParams): Transaction {\n const ix = this.whitelistDepositTokenIx(params);\n return new Transaction({ feePayer: params.authority }).add(ix);\n }\n\n createOrderbookTx(params: CreateOrderbookParams): Transaction {\n const ix = this.createOrderbookIx(params);\n return new Transaction({ feePayer: params.authority }).add(ix);\n }\n\n matchOrdersMultiTx(params: MatchOrdersMultiParams): Transaction {\n const ix = this.matchOrdersMultiIx(params);\n return new Transaction({ feePayer: params.operator }).add(ix);\n }\n\n depositAndSwapTx(params: DepositAndSwapParams): Transaction {\n const ix = this.depositAndSwapIx(params);\n return new Transaction({ feePayer: params.operator }).add(ix);\n }\n}\n"]}
|
package/dist/domain/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC"}
|
package/dist/domain/index.js
CHANGED
|
@@ -33,9 +33,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.trade = exports.referral = exports.priceHistory = exports.position = exports.orderbook = exports.order = exports.notification = exports.market = exports.
|
|
36
|
+
exports.trade = exports.referral = exports.priceHistory = exports.position = exports.orderbook = exports.order = exports.notification = exports.market = exports.admin = void 0;
|
|
37
37
|
exports.admin = __importStar(require("./admin"));
|
|
38
|
-
exports.depositPrice = __importStar(require("./deposit_price"));
|
|
39
38
|
exports.market = __importStar(require("./market"));
|
|
40
39
|
exports.notification = __importStar(require("./notification"));
|
|
41
40
|
exports.order = __importStar(require("./order"));
|
package/dist/domain/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAiC;AACjC,mDAAmC;AACnC,+DAA+C;AAC/C,iDAAiC;AACjC,yDAAyC;AACzC,uDAAuC;AACvC,gEAAgD;AAChD,uDAAuC;AACvC,iDAAiC","sourcesContent":["export * as admin from \"./admin\";\nexport * as market from \"./market\";\nexport * as notification from \"./notification\";\nexport * as order from \"./order\";\nexport * as orderbook from \"./orderbook\";\nexport * as position from \"./position\";\nexport * as priceHistory from \"./price_history\";\nexport * as referral from \"./referral\";\nexport * as trade from \"./trade\";\n"]}
|
|
@@ -1,21 +1,29 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { Transaction, type PublicKey, type TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
import type { ClientContext } from "../../context";
|
|
3
|
+
import type { Market as ProgramMarket, MintCompleteSetParams, MergeCompleteSetParams } from "../../program/types";
|
|
2
4
|
import { type Market } from "./index";
|
|
3
5
|
import type { MarketSearchResult } from "./wire";
|
|
4
6
|
export interface MarketsResult {
|
|
5
7
|
markets: Market[];
|
|
6
8
|
validationErrors: string[];
|
|
7
9
|
}
|
|
8
|
-
interface ClientContext {
|
|
9
|
-
http: LightconeHttp;
|
|
10
|
-
}
|
|
11
10
|
export declare class Markets {
|
|
12
11
|
private readonly client;
|
|
13
12
|
constructor(client: ClientContext);
|
|
13
|
+
pda(marketId: bigint): PublicKey;
|
|
14
|
+
deriveConditionId(oracle: PublicKey, questionId: Buffer, numOutcomes: number): Buffer;
|
|
15
|
+
getConditionalMints(market: PublicKey, depositMint: PublicKey, numOutcomes: number): PublicKey[];
|
|
14
16
|
get(cursor?: number, limit?: number): Promise<MarketsResult>;
|
|
15
17
|
getBySlug(slug: string): Promise<Market>;
|
|
16
18
|
getByPubkey(pubkey: string): Promise<Market>;
|
|
17
19
|
search(query: string, limit?: number): Promise<MarketSearchResult[]>;
|
|
18
20
|
featured(): Promise<MarketSearchResult[]>;
|
|
21
|
+
mintCompleteSetIx(params: MintCompleteSetParams, numOutcomes: number): TransactionInstruction;
|
|
22
|
+
mergeCompleteSetIx(params: MergeCompleteSetParams, numOutcomes: number): TransactionInstruction;
|
|
23
|
+
mintCompleteSetTx(params: MintCompleteSetParams, numOutcomes: number): Transaction;
|
|
24
|
+
mergeCompleteSetTx(params: MergeCompleteSetParams, numOutcomes: number): Transaction;
|
|
25
|
+
getOnchain(market: PublicKey): Promise<ProgramMarket>;
|
|
26
|
+
getByIdOnchain(marketId: bigint): Promise<ProgramMarket>;
|
|
27
|
+
nextId(): Promise<bigint>;
|
|
19
28
|
}
|
|
20
|
-
export {};
|
|
21
29
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/market/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/market/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAcnD,OAAO,KAAK,EACV,MAAM,IAAI,aAAa,EACvB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAyC,MAAM,QAAQ,CAAC;AAExF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAIlD,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAMhC,iBAAiB,CACf,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,MAAM;IAIT,mBAAmB,CACjB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,EACtB,WAAW,EAAE,MAAM,GAClB,SAAS,EAAE;IAWR,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA0B5D,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWxC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAW5C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAOpE,QAAQ,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAU/C,iBAAiB,CACf,MAAM,EAAE,qBAAqB,EAC7B,WAAW,EAAE,MAAM,GAClB,sBAAsB;IAIzB,kBAAkB,CAChB,MAAM,EAAE,sBAAsB,EAC9B,WAAW,EAAE,MAAM,GAClB,sBAAsB;IAMzB,iBAAiB,CACf,MAAM,EAAE,qBAAqB,EAC7B,WAAW,EAAE,MAAM,GAClB,WAAW;IAKd,kBAAkB,CAChB,MAAM,EAAE,sBAAsB,EAC9B,WAAW,EAAE,MAAM,GAClB,WAAW;IAOR,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IASrD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAKxD,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;CAMhC"}
|
|
@@ -1,8 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.Markets = void 0;
|
|
37
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
38
|
+
const context_1 = require("../../context");
|
|
4
39
|
const error_1 = require("../../error");
|
|
5
40
|
const http_1 = require("../../http");
|
|
41
|
+
const instructions_1 = require("../../program/instructions");
|
|
42
|
+
const pda_1 = require("../../program/pda");
|
|
43
|
+
const accounts_1 = require("../../program/accounts");
|
|
44
|
+
const utils_1 = require("../../program/utils");
|
|
6
45
|
const convert_1 = require("./convert");
|
|
7
46
|
const index_1 = require("./index");
|
|
8
47
|
class Markets {
|
|
@@ -10,6 +49,18 @@ class Markets {
|
|
|
10
49
|
constructor(client) {
|
|
11
50
|
this.client = client;
|
|
12
51
|
}
|
|
52
|
+
// ── PDA helpers ──────────────────────────────────────────────────────
|
|
53
|
+
pda(marketId) {
|
|
54
|
+
return (0, pda_1.getMarketPda)(marketId, this.client.programId)[0];
|
|
55
|
+
}
|
|
56
|
+
// ── Market helpers ───────────────────────────────────────────────────
|
|
57
|
+
deriveConditionId(oracle, questionId, numOutcomes) {
|
|
58
|
+
return (0, utils_1.deriveConditionId)(oracle, questionId, numOutcomes);
|
|
59
|
+
}
|
|
60
|
+
getConditionalMints(market, depositMint, numOutcomes) {
|
|
61
|
+
return (0, pda_1.getAllConditionalMintPdas)(market, depositMint, numOutcomes, this.client.programId).map(([mint]) => mint);
|
|
62
|
+
}
|
|
63
|
+
// ── HTTP methods ─────────────────────────────────────────────────────
|
|
13
64
|
async get(cursor, limit) {
|
|
14
65
|
const search = new URLSearchParams();
|
|
15
66
|
if (cursor !== undefined)
|
|
@@ -65,6 +116,41 @@ class Markets {
|
|
|
65
116
|
const result = await this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
66
117
|
return result.filter((item) => item.market_status === index_1.Status.Active || item.market_status === index_1.Status.Resolved);
|
|
67
118
|
}
|
|
119
|
+
// ── On-chain transaction builders ────────────────────────────────────
|
|
120
|
+
mintCompleteSetIx(params, numOutcomes) {
|
|
121
|
+
return (0, instructions_1.buildMintCompleteSetIx)(params, numOutcomes, this.client.programId);
|
|
122
|
+
}
|
|
123
|
+
mergeCompleteSetIx(params, numOutcomes) {
|
|
124
|
+
return (0, instructions_1.buildMergeCompleteSetIx)(params, numOutcomes, this.client.programId);
|
|
125
|
+
}
|
|
126
|
+
// ── Transaction builders (_tx convenience wrappers) ─────────────────
|
|
127
|
+
mintCompleteSetTx(params, numOutcomes) {
|
|
128
|
+
const ix = this.mintCompleteSetIx(params, numOutcomes);
|
|
129
|
+
return new web3_js_1.Transaction({ feePayer: params.user }).add(ix);
|
|
130
|
+
}
|
|
131
|
+
mergeCompleteSetTx(params, numOutcomes) {
|
|
132
|
+
const ix = this.mergeCompleteSetIx(params, numOutcomes);
|
|
133
|
+
return new web3_js_1.Transaction({ feePayer: params.user }).add(ix);
|
|
134
|
+
}
|
|
135
|
+
// ── On-chain account fetchers (require Connection) ──────────────────
|
|
136
|
+
async getOnchain(market) {
|
|
137
|
+
const connection = (0, context_1.requireConnection)(this.client);
|
|
138
|
+
const accountInfo = await connection.getAccountInfo(market);
|
|
139
|
+
if (!accountInfo) {
|
|
140
|
+
throw new Error(`Market not found at ${market.toBase58()}`);
|
|
141
|
+
}
|
|
142
|
+
return (0, accounts_1.deserializeMarket)(accountInfo.data);
|
|
143
|
+
}
|
|
144
|
+
async getByIdOnchain(marketId) {
|
|
145
|
+
const marketPda = this.pda(marketId);
|
|
146
|
+
return this.getOnchain(marketPda);
|
|
147
|
+
}
|
|
148
|
+
async nextId() {
|
|
149
|
+
const { Rpc } = await Promise.resolve().then(() => __importStar(require("../../rpc")));
|
|
150
|
+
const rpc = new Rpc(this.client);
|
|
151
|
+
const exchange = await rpc.getExchange();
|
|
152
|
+
return exchange.marketCount;
|
|
153
|
+
}
|
|
68
154
|
}
|
|
69
155
|
exports.Markets = Markets;
|
|
70
156
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/market/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { SdkError } from \"../../error\";\nimport { RetryPolicy } from \"../../http\";\nimport type { LightconeHttp } from \"../../http\";\nimport { marketFromWire } from \"./convert\";\nimport { Status, type Market } from \"./index\";\nimport type { MarketSearchResult, MarketsResponse, SingleMarketResponse } from \"./wire\";\n\nexport interface MarketsResult {\n markets: Market[];\n validationErrors: string[];\n}\n\ninterface ClientContext {\n http: LightconeHttp;\n}\n\nexport class Markets {\n constructor(private readonly client: ClientContext) {}\n\n async get(cursor?: number, limit?: number): Promise<MarketsResult> {\n const search = new URLSearchParams();\n if (cursor !== undefined) search.set(\"cursor\", String(cursor));\n if (limit !== undefined) search.set(\"limit\", String(limit));\n\n const suffix = search.size > 0 ? `?${search.toString()}` : \"\";\n const url = `${this.client.http.baseUrl()}/api/markets${suffix}`;\n\n const response = await this.client.http.get<MarketsResponse>(url, RetryPolicy.Idempotent);\n const markets: Market[] = [];\n const validationErrors: string[] = [];\n\n for (const marketWire of response.markets) {\n try {\n const market = marketFromWire(marketWire);\n if (market.status === Status.Active || market.status === Status.Resolved) {\n markets.push(market);\n }\n } catch (error) {\n validationErrors.push(error instanceof Error ? error.message : String(error));\n }\n }\n\n return { markets, validationErrors };\n }\n\n async getBySlug(slug: string): Promise<Market> {\n const url = `${this.client.http.baseUrl()}/api/markets/by-slug/${encodeURIComponent(slug)}`;\n const response = await this.client.http.get<SingleMarketResponse>(url, RetryPolicy.Idempotent);\n\n try {\n return marketFromWire(response.market);\n } catch (error) {\n throw SdkError.validation(error instanceof Error ? error.message : String(error));\n }\n }\n\n async getByPubkey(pubkey: string): Promise<Market> {\n const url = `${this.client.http.baseUrl()}/api/markets/${encodeURIComponent(pubkey)}`;\n const response = await this.client.http.get<SingleMarketResponse>(url, RetryPolicy.Idempotent);\n\n try {\n return marketFromWire(response.market);\n } catch (error) {\n throw SdkError.validation(error instanceof Error ? error.message : String(error));\n }\n }\n\n async search(query: string, limit?: number): Promise<MarketSearchResult[]> {\n const encoded = encodeURIComponent(query);\n const suffix = limit !== undefined ? `?limit=${limit}` : \"\";\n const url = `${this.client.http.baseUrl()}/api/markets/search/by-query/${encoded}${suffix}`;\n return this.client.http.get<MarketSearchResult[]>(url, RetryPolicy.Idempotent);\n }\n\n async featured(): Promise<MarketSearchResult[]> {\n const url = `${this.client.http.baseUrl()}/api/markets/search/featured`;\n const result = await this.client.http.get<MarketSearchResult[]>(url, RetryPolicy.Idempotent);\n return result.filter(\n (item) => item.market_status === Status.Active || item.market_status === Status.Resolved\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/market/client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA2F;AAE3F,2CAAkD;AAClD,uCAAuC;AACvC,qCAAyC;AACzC,6DAGoC;AACpC,2CAG2B;AAC3B,qDAAuF;AACvF,+CAAwD;AAMxD,uCAA2C;AAC3C,mCAA8C;AAQ9C,MAAa,OAAO;IACW;IAA7B,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtD,wEAAwE;IAExE,GAAG,CAAC,QAAgB;QAClB,OAAO,IAAA,kBAAY,EAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,wEAAwE;IAExE,iBAAiB,CACf,MAAiB,EACjB,UAAkB,EAClB,WAAmB;QAEnB,OAAO,IAAA,yBAAiB,EAAC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,mBAAmB,CACjB,MAAiB,EACjB,WAAsB,EACtB,WAAmB;QAEnB,OAAO,IAAA,+BAAyB,EAC9B,MAAM,EACN,WAAW,EACX,WAAW,EACX,IAAI,CAAC,MAAM,CAAC,SAAS,CACtB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,wEAAwE;IAExE,KAAK,CAAC,GAAG,CAAC,MAAe,EAAE,KAAc;QACvC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,MAAM,EAAE,CAAC;QAEjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAkB,GAAG,EAAE,kBAAW,CAAC,UAAU,CAAC,CAAC;QAC1F,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,gBAAgB,GAAa,EAAE,CAAC;QAEtC,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAA,wBAAc,EAAC,UAAU,CAAC,CAAC;gBAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,cAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,cAAM,CAAC,QAAQ,EAAE,CAAC;oBACzE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gBAAgB,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAuB,GAAG,EAAE,kBAAW,CAAC,UAAU,CAAC,CAAC;QAE/F,IAAI,CAAC;YACH,OAAO,IAAA,wBAAc,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,gBAAQ,CAAC,UAAU,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc;QAC9B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QACtF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAuB,GAAG,EAAE,kBAAW,CAAC,UAAU,CAAC,CAAC;QAE/F,IAAI,CAAC;YACH,OAAO,IAAA,wBAAc,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,gBAAQ,CAAC,UAAU,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,KAAc;QACxC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,gCAAgC,OAAO,GAAG,MAAM,EAAE,CAAC;QAC5F,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAuB,GAAG,EAAE,kBAAW,CAAC,UAAU,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAuB,GAAG,EAAE,kBAAW,CAAC,UAAU,CAAC,CAAC;QAC7F,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,KAAK,cAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,KAAK,cAAM,CAAC,QAAQ,CACzF,CAAC;IACJ,CAAC;IAED,wEAAwE;IAExE,iBAAiB,CACf,MAA6B,EAC7B,WAAmB;QAEnB,OAAO,IAAA,qCAAsB,EAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED,kBAAkB,CAChB,MAA8B,EAC9B,WAAmB;QAEnB,OAAO,IAAA,sCAAuB,EAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7E,CAAC;IAED,uEAAuE;IAEvE,iBAAiB,CACf,MAA6B,EAC7B,WAAmB;QAEnB,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACvD,OAAO,IAAI,qBAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,kBAAkB,CAChB,MAA8B,EAC9B,WAAmB;QAEnB,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACxD,OAAO,IAAI,qBAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,uEAAuE;IAEvE,KAAK,CAAC,UAAU,CAAC,MAAiB;QAChC,MAAM,UAAU,GAAG,IAAA,2BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAA,4BAAwB,EAAC,WAAW,CAAC,IAAc,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,EAAE,GAAG,EAAE,GAAG,wDAAa,WAAW,GAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC,WAAW,CAAC;IAC9B,CAAC;CACF;AAzJD,0BAyJC","sourcesContent":["import { Transaction, type PublicKey, type TransactionInstruction } from \"@solana/web3.js\";\nimport type { ClientContext } from \"../../context\";\nimport { requireConnection } from \"../../context\";\nimport { SdkError } from \"../../error\";\nimport { RetryPolicy } from \"../../http\";\nimport {\n buildMintCompleteSetIx,\n buildMergeCompleteSetIx,\n} from \"../../program/instructions\";\nimport {\n getMarketPda,\n getAllConditionalMintPdas,\n} from \"../../program/pda\";\nimport { deserializeMarket as deserializeProgramMarket } from \"../../program/accounts\";\nimport { deriveConditionId } from \"../../program/utils\";\nimport type {\n Market as ProgramMarket,\n MintCompleteSetParams,\n MergeCompleteSetParams,\n} from \"../../program/types\";\nimport { marketFromWire } from \"./convert\";\nimport { Status, type Market } from \"./index\";\nimport type { MarketSearchResult, MarketsResponse, SingleMarketResponse } from \"./wire\";\n\nexport interface MarketsResult {\n markets: Market[];\n validationErrors: string[];\n}\n\nexport class Markets {\n constructor(private readonly client: ClientContext) {}\n\n // ── PDA helpers ──────────────────────────────────────────────────────\n\n pda(marketId: bigint): PublicKey {\n return getMarketPda(marketId, this.client.programId)[0];\n }\n\n // ── Market helpers ───────────────────────────────────────────────────\n\n deriveConditionId(\n oracle: PublicKey,\n questionId: Buffer,\n numOutcomes: number\n ): Buffer {\n return deriveConditionId(oracle, questionId, numOutcomes);\n }\n\n getConditionalMints(\n market: PublicKey,\n depositMint: PublicKey,\n numOutcomes: number\n ): PublicKey[] {\n return getAllConditionalMintPdas(\n market,\n depositMint,\n numOutcomes,\n this.client.programId\n ).map(([mint]) => mint);\n }\n\n // ── HTTP methods ─────────────────────────────────────────────────────\n\n async get(cursor?: number, limit?: number): Promise<MarketsResult> {\n const search = new URLSearchParams();\n if (cursor !== undefined) search.set(\"cursor\", String(cursor));\n if (limit !== undefined) search.set(\"limit\", String(limit));\n\n const suffix = search.size > 0 ? `?${search.toString()}` : \"\";\n const url = `${this.client.http.baseUrl()}/api/markets${suffix}`;\n\n const response = await this.client.http.get<MarketsResponse>(url, RetryPolicy.Idempotent);\n const markets: Market[] = [];\n const validationErrors: string[] = [];\n\n for (const marketWire of response.markets) {\n try {\n const market = marketFromWire(marketWire);\n if (market.status === Status.Active || market.status === Status.Resolved) {\n markets.push(market);\n }\n } catch (error) {\n validationErrors.push(error instanceof Error ? error.message : String(error));\n }\n }\n\n return { markets, validationErrors };\n }\n\n async getBySlug(slug: string): Promise<Market> {\n const url = `${this.client.http.baseUrl()}/api/markets/by-slug/${encodeURIComponent(slug)}`;\n const response = await this.client.http.get<SingleMarketResponse>(url, RetryPolicy.Idempotent);\n\n try {\n return marketFromWire(response.market);\n } catch (error) {\n throw SdkError.validation(error instanceof Error ? error.message : String(error));\n }\n }\n\n async getByPubkey(pubkey: string): Promise<Market> {\n const url = `${this.client.http.baseUrl()}/api/markets/${encodeURIComponent(pubkey)}`;\n const response = await this.client.http.get<SingleMarketResponse>(url, RetryPolicy.Idempotent);\n\n try {\n return marketFromWire(response.market);\n } catch (error) {\n throw SdkError.validation(error instanceof Error ? error.message : String(error));\n }\n }\n\n async search(query: string, limit?: number): Promise<MarketSearchResult[]> {\n const encoded = encodeURIComponent(query);\n const suffix = limit !== undefined ? `?limit=${limit}` : \"\";\n const url = `${this.client.http.baseUrl()}/api/markets/search/by-query/${encoded}${suffix}`;\n return this.client.http.get<MarketSearchResult[]>(url, RetryPolicy.Idempotent);\n }\n\n async featured(): Promise<MarketSearchResult[]> {\n const url = `${this.client.http.baseUrl()}/api/markets/search/featured`;\n const result = await this.client.http.get<MarketSearchResult[]>(url, RetryPolicy.Idempotent);\n return result.filter(\n (item) => item.market_status === Status.Active || item.market_status === Status.Resolved\n );\n }\n\n // ── On-chain transaction builders ────────────────────────────────────\n\n mintCompleteSetIx(\n params: MintCompleteSetParams,\n numOutcomes: number\n ): TransactionInstruction {\n return buildMintCompleteSetIx(params, numOutcomes, this.client.programId);\n }\n\n mergeCompleteSetIx(\n params: MergeCompleteSetParams,\n numOutcomes: number\n ): TransactionInstruction {\n return buildMergeCompleteSetIx(params, numOutcomes, this.client.programId);\n }\n\n // ── Transaction builders (_tx convenience wrappers) ─────────────────\n\n mintCompleteSetTx(\n params: MintCompleteSetParams,\n numOutcomes: number\n ): Transaction {\n const ix = this.mintCompleteSetIx(params, numOutcomes);\n return new Transaction({ feePayer: params.user }).add(ix);\n }\n\n mergeCompleteSetTx(\n params: MergeCompleteSetParams,\n numOutcomes: number\n ): Transaction {\n const ix = this.mergeCompleteSetIx(params, numOutcomes);\n return new Transaction({ feePayer: params.user }).add(ix);\n }\n\n // ── On-chain account fetchers (require Connection) ──────────────────\n\n async getOnchain(market: PublicKey): Promise<ProgramMarket> {\n const connection = requireConnection(this.client);\n const accountInfo = await connection.getAccountInfo(market);\n if (!accountInfo) {\n throw new Error(`Market not found at ${market.toBase58()}`);\n }\n return deserializeProgramMarket(accountInfo.data as Buffer);\n }\n\n async getByIdOnchain(marketId: bigint): Promise<ProgramMarket> {\n const marketPda = this.pda(marketId);\n return this.getOnchain(marketPda);\n }\n\n async nextId(): Promise<bigint> {\n const { Rpc } = await import(\"../../rpc\");\n const rpc = new Rpc(this.client);\n const exchange = await rpc.getExchange();\n return exchange.marketCount;\n }\n}\n"]}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { Keypair, Transaction, type PublicKey, type TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
import type { ClientContext } from "../../context";
|
|
3
|
+
import type { SignedOrder, BidOrderParams, AskOrderParams, OrderStatus as ProgramOrderStatus } from "../../program/types";
|
|
2
4
|
import type { OrderBookId, PubkeyStr } from "../../shared";
|
|
3
5
|
import type { UserSnapshotBalance, UserSnapshotOrder } from "./wire";
|
|
4
6
|
export interface CancelBody {
|
|
@@ -7,6 +9,7 @@ export interface CancelBody {
|
|
|
7
9
|
signature: string;
|
|
8
10
|
}
|
|
9
11
|
export declare function cancelBodyFromBase58(orderHash: string, maker: PubkeyStr, signatureBase58: string): CancelBody;
|
|
12
|
+
export declare function cancelBodySigned(orderHash: string, maker: PubkeyStr, keypair: Keypair): CancelBody;
|
|
10
13
|
export interface CancelAllBody {
|
|
11
14
|
user_pubkey: PubkeyStr;
|
|
12
15
|
orderbook_id: OrderBookId;
|
|
@@ -15,12 +18,14 @@ export interface CancelAllBody {
|
|
|
15
18
|
salt: string;
|
|
16
19
|
}
|
|
17
20
|
export declare function cancelAllBodyFromBase58(userPubkey: PubkeyStr, orderbookId: OrderBookId, timestamp: number, salt: string, signatureBase58: string): CancelAllBody;
|
|
21
|
+
export declare function cancelAllBodySigned(userPubkey: PubkeyStr, orderbookId: OrderBookId, timestamp: number, salt: string, keypair: Keypair): CancelAllBody;
|
|
18
22
|
export interface CancelTriggerBody {
|
|
19
23
|
trigger_order_id: string;
|
|
20
24
|
maker: PubkeyStr;
|
|
21
25
|
signature: string;
|
|
22
26
|
}
|
|
23
27
|
export declare function cancelTriggerBodyFromBase58(triggerOrderId: string, maker: PubkeyStr, signatureBase58: string): CancelTriggerBody;
|
|
28
|
+
export declare function cancelTriggerBodySigned(triggerOrderId: string, maker: PubkeyStr, keypair: Keypair): CancelTriggerBody;
|
|
24
29
|
export interface FillInfo {
|
|
25
30
|
counterparty: PubkeyStr;
|
|
26
31
|
counterparty_order_hash: string;
|
|
@@ -171,18 +176,31 @@ export interface UserOrdersResponse {
|
|
|
171
176
|
next_cursor?: string;
|
|
172
177
|
has_more: boolean;
|
|
173
178
|
}
|
|
174
|
-
interface ClientContext {
|
|
175
|
-
http: LightconeHttp;
|
|
176
|
-
}
|
|
177
179
|
export declare class Orders {
|
|
178
180
|
private readonly client;
|
|
179
181
|
constructor(client: ClientContext);
|
|
182
|
+
statusPda(orderHash: Buffer): PublicKey;
|
|
183
|
+
noncePda(user: PublicKey): PublicKey;
|
|
184
|
+
generateCancelAllSalt(): string;
|
|
180
185
|
submit(request: object): Promise<SubmitOrderResponse>;
|
|
181
186
|
cancel(body: CancelBody): Promise<CancelSuccess>;
|
|
182
187
|
cancelAll(body: CancelAllBody): Promise<CancelAllSuccess>;
|
|
183
188
|
submitTrigger(request: object): Promise<TriggerOrderResponse>;
|
|
184
189
|
cancelTrigger(body: CancelTriggerBody): Promise<CancelTriggerSuccess>;
|
|
185
190
|
getUserOrders(walletAddress: string, limit?: number, cursor?: string): Promise<UserOrdersResponse>;
|
|
191
|
+
cancelOrderIx(maker: PublicKey, market: PublicKey, order: SignedOrder): TransactionInstruction;
|
|
192
|
+
incrementNonceIx(user: PublicKey): TransactionInstruction;
|
|
193
|
+
cancelOrderTx(maker: PublicKey, market: PublicKey, order: SignedOrder): Transaction;
|
|
194
|
+
incrementNonceTx(user: PublicKey): Transaction;
|
|
195
|
+
createBidOrder(params: BidOrderParams): Omit<SignedOrder, "signature">;
|
|
196
|
+
createAskOrder(params: AskOrderParams): Omit<SignedOrder, "signature">;
|
|
197
|
+
createSignedBidOrder(params: BidOrderParams, signer: Keypair): SignedOrder;
|
|
198
|
+
createSignedAskOrder(params: AskOrderParams, signer: Keypair): SignedOrder;
|
|
199
|
+
hashOrder(order: SignedOrder): Buffer;
|
|
200
|
+
signOrder(order: SignedOrder, signer: Keypair): Buffer;
|
|
201
|
+
signFullOrder(order: Omit<SignedOrder, "signature">, signer: Keypair): SignedOrder;
|
|
202
|
+
getStatus(orderHash: Buffer): Promise<ProgramOrderStatus | null>;
|
|
203
|
+
getNonce(user: PublicKey): Promise<bigint>;
|
|
204
|
+
currentNonce(user: PublicKey): Promise<number>;
|
|
186
205
|
}
|
|
187
|
-
export {};
|
|
188
206
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/order/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/order/client.ts"],"names":[],"mappings":"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"}
|