@lightconexyz/lightcone-sdk 0.2.3 → 0.2.4
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 +25 -14
- package/dist/auth/client.d.ts.map +1 -1
- package/dist/auth/client.js +3 -7
- package/dist/auth/client.js.map +1 -1
- package/dist/auth/index.d.ts +3 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/client.d.ts +17 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +36 -10
- package/dist/client.js.map +1 -1
- package/dist/context.d.ts +14 -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 +15 -5
- package/dist/domain/admin/client.d.ts.map +1 -1
- package/dist/domain/admin/client.js +39 -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 +11 -5
- package/dist/domain/market/client.d.ts.map +1 -1
- package/dist/domain/market/client.js +76 -0
- package/dist/domain/market/client.js.map +1 -1
- package/dist/domain/order/client.d.ts +21 -5
- package/dist/domain/order/client.d.ts.map +1 -1
- package/dist/domain/order/client.js +89 -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 +7 -12
- package/dist/domain/orderbook/client.d.ts.map +1 -1
- package/dist/domain/orderbook/client.js +24 -4
- package/dist/domain/orderbook/client.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 +11 -5
- package/dist/domain/position/client.d.ts.map +1 -1
- package/dist/domain/position/client.js +38 -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.map +1 -1
- package/dist/http/client.js +17 -36
- 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/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/index.d.ts +1 -2
- package/dist/program/index.d.ts.map +1 -1
- package/dist/program/index.js +8 -6
- package/dist/program/index.js.map +1 -1
- package/dist/program/instructions.d.ts +1 -1
- package/dist/program/instructions.d.ts.map +1 -1
- package/dist/program/instructions.js +3 -3
- package/dist/program/instructions.js.map +1 -1
- package/dist/program/orders.d.ts +13 -1
- package/dist/program/orders.d.ts.map +1 -1
- package/dist/program/orders.js +53 -3
- package/dist/program/orders.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 +1 -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
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Admin = void 0;
|
|
4
4
|
const http_1 = require("../../http");
|
|
5
|
+
const instructions_1 = require("../../program/instructions");
|
|
5
6
|
class Admin {
|
|
6
7
|
client;
|
|
7
8
|
constructor(client) {
|
|
8
9
|
this.client = client;
|
|
9
10
|
}
|
|
11
|
+
// ── HTTP methods ─────────────────────────────────────────────────────
|
|
10
12
|
async upsertMetadata(envelope) {
|
|
11
13
|
const url = `${this.client.http.baseUrl()}/api/admin/metadata`;
|
|
12
14
|
return this.client.http.post(url, envelope, http_1.RetryPolicy.None);
|
|
@@ -35,6 +37,43 @@ class Admin {
|
|
|
35
37
|
const url = `${this.client.http.baseUrl()}/api/admin/notifications/dismiss`;
|
|
36
38
|
return this.client.http.post(url, envelope, http_1.RetryPolicy.None);
|
|
37
39
|
}
|
|
40
|
+
// ── On-chain transaction builders ────────────────────────────────────
|
|
41
|
+
initializeIx(authority) {
|
|
42
|
+
return (0, instructions_1.buildInitializeIx)({ authority }, this.client.programId);
|
|
43
|
+
}
|
|
44
|
+
createMarketIx(params, marketId) {
|
|
45
|
+
return (0, instructions_1.buildCreateMarketIx)(params, marketId, this.client.programId);
|
|
46
|
+
}
|
|
47
|
+
addDepositMintIx(params, market, numOutcomes) {
|
|
48
|
+
return (0, instructions_1.buildAddDepositMintIx)(params, market, numOutcomes, this.client.programId);
|
|
49
|
+
}
|
|
50
|
+
activateMarketIx(params) {
|
|
51
|
+
return (0, instructions_1.buildActivateMarketIx)(params, this.client.programId);
|
|
52
|
+
}
|
|
53
|
+
settleMarketIx(params) {
|
|
54
|
+
return (0, instructions_1.buildSettleMarketIx)(params, this.client.programId);
|
|
55
|
+
}
|
|
56
|
+
setPausedIx(authority, paused) {
|
|
57
|
+
return (0, instructions_1.buildSetPausedIx)(authority, paused, this.client.programId);
|
|
58
|
+
}
|
|
59
|
+
setOperatorIx(authority, newOperator) {
|
|
60
|
+
return (0, instructions_1.buildSetOperatorIx)(authority, newOperator, this.client.programId);
|
|
61
|
+
}
|
|
62
|
+
setAuthorityIx(params) {
|
|
63
|
+
return (0, instructions_1.buildSetAuthorityIx)(params, this.client.programId);
|
|
64
|
+
}
|
|
65
|
+
whitelistDepositTokenIx(params) {
|
|
66
|
+
return (0, instructions_1.buildWhitelistDepositTokenIx)(params, this.client.programId);
|
|
67
|
+
}
|
|
68
|
+
createOrderbookIx(params) {
|
|
69
|
+
return (0, instructions_1.buildCreateOrderbookIx)(params, this.client.programId);
|
|
70
|
+
}
|
|
71
|
+
matchOrdersMultiIx(params) {
|
|
72
|
+
return (0, instructions_1.buildMatchOrdersMultiIx)(params, this.client.programId);
|
|
73
|
+
}
|
|
74
|
+
depositAndSwapIx(params) {
|
|
75
|
+
return (0, instructions_1.buildDepositAndSwapIx)(params, this.client.programId);
|
|
76
|
+
}
|
|
38
77
|
}
|
|
39
78
|
exports.Admin = Admin;
|
|
40
79
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/admin/client.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/admin/client.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PublicKey, 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"]}
|
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,27 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PublicKey, 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
|
+
getOnchain(market: PublicKey): Promise<ProgramMarket>;
|
|
24
|
+
getByIdOnchain(marketId: bigint): Promise<ProgramMarket>;
|
|
25
|
+
nextId(): Promise<bigint>;
|
|
19
26
|
}
|
|
20
|
-
export {};
|
|
21
27
|
//# 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,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzE,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;IAMnB,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,46 @@
|
|
|
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 context_1 = require("../../context");
|
|
4
38
|
const error_1 = require("../../error");
|
|
5
39
|
const http_1 = require("../../http");
|
|
40
|
+
const instructions_1 = require("../../program/instructions");
|
|
41
|
+
const pda_1 = require("../../program/pda");
|
|
42
|
+
const accounts_1 = require("../../program/accounts");
|
|
43
|
+
const utils_1 = require("../../program/utils");
|
|
6
44
|
const convert_1 = require("./convert");
|
|
7
45
|
const index_1 = require("./index");
|
|
8
46
|
class Markets {
|
|
@@ -10,6 +48,18 @@ class Markets {
|
|
|
10
48
|
constructor(client) {
|
|
11
49
|
this.client = client;
|
|
12
50
|
}
|
|
51
|
+
// ── PDA helpers ──────────────────────────────────────────────────────
|
|
52
|
+
pda(marketId) {
|
|
53
|
+
return (0, pda_1.getMarketPda)(marketId, this.client.programId)[0];
|
|
54
|
+
}
|
|
55
|
+
// ── Market helpers ───────────────────────────────────────────────────
|
|
56
|
+
deriveConditionId(oracle, questionId, numOutcomes) {
|
|
57
|
+
return (0, utils_1.deriveConditionId)(oracle, questionId, numOutcomes);
|
|
58
|
+
}
|
|
59
|
+
getConditionalMints(market, depositMint, numOutcomes) {
|
|
60
|
+
return (0, pda_1.getAllConditionalMintPdas)(market, depositMint, numOutcomes, this.client.programId).map(([mint]) => mint);
|
|
61
|
+
}
|
|
62
|
+
// ── HTTP methods ─────────────────────────────────────────────────────
|
|
13
63
|
async get(cursor, limit) {
|
|
14
64
|
const search = new URLSearchParams();
|
|
15
65
|
if (cursor !== undefined)
|
|
@@ -65,6 +115,32 @@ class Markets {
|
|
|
65
115
|
const result = await this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
66
116
|
return result.filter((item) => item.market_status === index_1.Status.Active || item.market_status === index_1.Status.Resolved);
|
|
67
117
|
}
|
|
118
|
+
// ── On-chain transaction builders ────────────────────────────────────
|
|
119
|
+
mintCompleteSetIx(params, numOutcomes) {
|
|
120
|
+
return (0, instructions_1.buildMintCompleteSetIx)(params, numOutcomes, this.client.programId);
|
|
121
|
+
}
|
|
122
|
+
mergeCompleteSetIx(params, numOutcomes) {
|
|
123
|
+
return (0, instructions_1.buildMergeCompleteSetIx)(params, numOutcomes, this.client.programId);
|
|
124
|
+
}
|
|
125
|
+
// ── On-chain account fetchers (require Connection) ──────────────────
|
|
126
|
+
async getOnchain(market) {
|
|
127
|
+
const connection = (0, context_1.requireConnection)(this.client);
|
|
128
|
+
const accountInfo = await connection.getAccountInfo(market);
|
|
129
|
+
if (!accountInfo) {
|
|
130
|
+
throw new Error(`Market not found at ${market.toBase58()}`);
|
|
131
|
+
}
|
|
132
|
+
return (0, accounts_1.deserializeMarket)(accountInfo.data);
|
|
133
|
+
}
|
|
134
|
+
async getByIdOnchain(marketId) {
|
|
135
|
+
const marketPda = this.pda(marketId);
|
|
136
|
+
return this.getOnchain(marketPda);
|
|
137
|
+
}
|
|
138
|
+
async nextId() {
|
|
139
|
+
const { Rpc } = await Promise.resolve().then(() => __importStar(require("../../rpc")));
|
|
140
|
+
const rpc = new Rpc(this.client);
|
|
141
|
+
const exchange = await rpc.getExchange();
|
|
142
|
+
return exchange.marketCount;
|
|
143
|
+
}
|
|
68
144
|
}
|
|
69
145
|
exports.Markets = Markets;
|
|
70
146
|
//# 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":"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","sourcesContent":["import type { PublicKey, 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 // ── 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, 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,29 @@ 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
|
+
createBidOrder(params: BidOrderParams): Omit<SignedOrder, "signature">;
|
|
194
|
+
createAskOrder(params: AskOrderParams): Omit<SignedOrder, "signature">;
|
|
195
|
+
createSignedBidOrder(params: BidOrderParams, signer: Keypair): SignedOrder;
|
|
196
|
+
createSignedAskOrder(params: AskOrderParams, signer: Keypair): SignedOrder;
|
|
197
|
+
hashOrder(order: SignedOrder): Buffer;
|
|
198
|
+
signOrder(order: SignedOrder, signer: Keypair): Buffer;
|
|
199
|
+
signFullOrder(order: Omit<SignedOrder, "signature">, signer: Keypair): SignedOrder;
|
|
200
|
+
getStatus(orderHash: Buffer): Promise<ProgramOrderStatus | null>;
|
|
201
|
+
getNonce(user: PublicKey): Promise<bigint>;
|
|
202
|
+
currentNonce(user: PublicKey): Promise<number>;
|
|
186
203
|
}
|
|
187
|
-
export {};
|
|
188
204
|
//# 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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"}
|
|
@@ -5,11 +5,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Orders = void 0;
|
|
7
7
|
exports.cancelBodyFromBase58 = cancelBodyFromBase58;
|
|
8
|
+
exports.cancelBodySigned = cancelBodySigned;
|
|
8
9
|
exports.cancelAllBodyFromBase58 = cancelAllBodyFromBase58;
|
|
10
|
+
exports.cancelAllBodySigned = cancelAllBodySigned;
|
|
9
11
|
exports.cancelTriggerBodyFromBase58 = cancelTriggerBodyFromBase58;
|
|
12
|
+
exports.cancelTriggerBodySigned = cancelTriggerBodySigned;
|
|
10
13
|
const bs58_1 = __importDefault(require("bs58"));
|
|
14
|
+
const context_1 = require("../../context");
|
|
11
15
|
const error_1 = require("../../error");
|
|
12
16
|
const http_1 = require("../../http");
|
|
17
|
+
const instructions_1 = require("../../program/instructions");
|
|
18
|
+
const orders_1 = require("../../program/orders");
|
|
19
|
+
const pda_1 = require("../../program/pda");
|
|
20
|
+
const accounts_1 = require("../../program/accounts");
|
|
13
21
|
function cancelBodyFromBase58(orderHash, maker, signatureBase58) {
|
|
14
22
|
return {
|
|
15
23
|
order_hash: orderHash,
|
|
@@ -17,6 +25,10 @@ function cancelBodyFromBase58(orderHash, maker, signatureBase58) {
|
|
|
17
25
|
signature: Buffer.from(bs58_1.default.decode(signatureBase58)).toString("hex"),
|
|
18
26
|
};
|
|
19
27
|
}
|
|
28
|
+
function cancelBodySigned(orderHash, maker, keypair) {
|
|
29
|
+
const signature = (0, orders_1.signCancelOrder)(orderHash, keypair);
|
|
30
|
+
return { order_hash: orderHash, maker, signature };
|
|
31
|
+
}
|
|
20
32
|
function cancelAllBodyFromBase58(userPubkey, orderbookId, timestamp, salt, signatureBase58) {
|
|
21
33
|
return {
|
|
22
34
|
user_pubkey: userPubkey,
|
|
@@ -26,6 +38,10 @@ function cancelAllBodyFromBase58(userPubkey, orderbookId, timestamp, salt, signa
|
|
|
26
38
|
salt,
|
|
27
39
|
};
|
|
28
40
|
}
|
|
41
|
+
function cancelAllBodySigned(userPubkey, orderbookId, timestamp, salt, keypair) {
|
|
42
|
+
const signature = (0, orders_1.signCancelAll)(userPubkey, orderbookId, timestamp, salt, keypair);
|
|
43
|
+
return { user_pubkey: userPubkey, orderbook_id: orderbookId, signature, timestamp, salt };
|
|
44
|
+
}
|
|
29
45
|
function cancelTriggerBodyFromBase58(triggerOrderId, maker, signatureBase58) {
|
|
30
46
|
return {
|
|
31
47
|
trigger_order_id: triggerOrderId,
|
|
@@ -33,11 +49,28 @@ function cancelTriggerBodyFromBase58(triggerOrderId, maker, signatureBase58) {
|
|
|
33
49
|
signature: Buffer.from(bs58_1.default.decode(signatureBase58)).toString("hex"),
|
|
34
50
|
};
|
|
35
51
|
}
|
|
52
|
+
function cancelTriggerBodySigned(triggerOrderId, maker, keypair) {
|
|
53
|
+
const signature = (0, orders_1.signCancelTriggerOrder)(triggerOrderId, keypair);
|
|
54
|
+
return { trigger_order_id: triggerOrderId, maker, signature };
|
|
55
|
+
}
|
|
56
|
+
// ─── Sub-client ──────────────────────────────────────────────────────────────
|
|
36
57
|
class Orders {
|
|
37
58
|
client;
|
|
38
59
|
constructor(client) {
|
|
39
60
|
this.client = client;
|
|
40
61
|
}
|
|
62
|
+
// ── PDA helpers ──────────────────────────────────────────────────────
|
|
63
|
+
statusPda(orderHash) {
|
|
64
|
+
return (0, pda_1.getOrderStatusPda)(orderHash, this.client.programId)[0];
|
|
65
|
+
}
|
|
66
|
+
noncePda(user) {
|
|
67
|
+
return (0, pda_1.getUserNoncePda)(user, this.client.programId)[0];
|
|
68
|
+
}
|
|
69
|
+
// ── Helpers ──────────────────────────────────────────────────────────
|
|
70
|
+
generateCancelAllSalt() {
|
|
71
|
+
return (0, orders_1.generateCancelAllSalt)();
|
|
72
|
+
}
|
|
73
|
+
// ── HTTP methods ─────────────────────────────────────────────────────
|
|
41
74
|
async submit(request) {
|
|
42
75
|
const url = `${this.client.http.baseUrl()}/api/orders/submit`;
|
|
43
76
|
const raw = await this.client.http.post(url, request, http_1.RetryPolicy.None);
|
|
@@ -125,6 +158,62 @@ class Orders {
|
|
|
125
158
|
has_more: response.has_more ?? false,
|
|
126
159
|
};
|
|
127
160
|
}
|
|
161
|
+
// ── On-chain transaction builders ────────────────────────────────────
|
|
162
|
+
cancelOrderIx(maker, market, order) {
|
|
163
|
+
return (0, instructions_1.buildCancelOrderIx)(maker, market, order, this.client.programId);
|
|
164
|
+
}
|
|
165
|
+
incrementNonceIx(user) {
|
|
166
|
+
return (0, instructions_1.buildIncrementNonceIx)(user, this.client.programId);
|
|
167
|
+
}
|
|
168
|
+
// ── Order helpers ────────────────────────────────────────────────────
|
|
169
|
+
createBidOrder(params) {
|
|
170
|
+
return (0, orders_1.createBidOrder)(params);
|
|
171
|
+
}
|
|
172
|
+
createAskOrder(params) {
|
|
173
|
+
return (0, orders_1.createAskOrder)(params);
|
|
174
|
+
}
|
|
175
|
+
createSignedBidOrder(params, signer) {
|
|
176
|
+
return (0, orders_1.createSignedBidOrder)(params, signer);
|
|
177
|
+
}
|
|
178
|
+
createSignedAskOrder(params, signer) {
|
|
179
|
+
return (0, orders_1.createSignedAskOrder)(params, signer);
|
|
180
|
+
}
|
|
181
|
+
hashOrder(order) {
|
|
182
|
+
return (0, orders_1.hashOrder)(order);
|
|
183
|
+
}
|
|
184
|
+
signOrder(order, signer) {
|
|
185
|
+
return (0, orders_1.signOrder)(order, signer);
|
|
186
|
+
}
|
|
187
|
+
signFullOrder(order, signer) {
|
|
188
|
+
return (0, orders_1.signOrderFull)(order, signer);
|
|
189
|
+
}
|
|
190
|
+
// ── On-chain account fetchers (require Connection) ──────────────────
|
|
191
|
+
async getStatus(orderHash) {
|
|
192
|
+
const connection = (0, context_1.requireConnection)(this.client);
|
|
193
|
+
const pda = this.statusPda(orderHash);
|
|
194
|
+
const accountInfo = await connection.getAccountInfo(pda);
|
|
195
|
+
if (!accountInfo) {
|
|
196
|
+
return null;
|
|
197
|
+
}
|
|
198
|
+
return (0, accounts_1.deserializeOrderStatus)(accountInfo.data);
|
|
199
|
+
}
|
|
200
|
+
async getNonce(user) {
|
|
201
|
+
const connection = (0, context_1.requireConnection)(this.client);
|
|
202
|
+
const pda = this.noncePda(user);
|
|
203
|
+
const accountInfo = await connection.getAccountInfo(pda);
|
|
204
|
+
if (!accountInfo) {
|
|
205
|
+
return 0n;
|
|
206
|
+
}
|
|
207
|
+
const userNonce = (0, accounts_1.deserializeUserNonce)(accountInfo.data);
|
|
208
|
+
return userNonce.nonce;
|
|
209
|
+
}
|
|
210
|
+
async currentNonce(user) {
|
|
211
|
+
const nonce = await this.getNonce(user);
|
|
212
|
+
if (nonce > 0xffffffffn) {
|
|
213
|
+
throw new Error(`Nonce exceeds u32 range: ${nonce}`);
|
|
214
|
+
}
|
|
215
|
+
return Number(nonce);
|
|
216
|
+
}
|
|
128
217
|
}
|
|
129
218
|
exports.Orders = Orders;
|
|
130
219
|
//# sourceMappingURL=client.js.map
|