@lightconexyz/lightcone-sdk 0.6.1 → 0.7.1
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 +6 -2
- package/dist/auth/client.d.ts.map +1 -1
- package/dist/auth/client.js +2 -0
- package/dist/auth/client.js.map +1 -1
- package/dist/auth/index.d.ts +15 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +10 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/client.d.ts +17 -7
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +36 -13
- package/dist/client.js.map +1 -1
- package/dist/context.d.ts +7 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +60 -6
- package/dist/context.js.map +1 -1
- package/dist/domain/admin/client.d.ts +11 -1
- package/dist/domain/admin/client.d.ts.map +1 -1
- package/dist/domain/admin/client.js +39 -4
- package/dist/domain/admin/client.js.map +1 -1
- package/dist/domain/admin/wire.d.ts +37 -12
- package/dist/domain/admin/wire.d.ts.map +1 -1
- package/dist/domain/admin/wire.js.map +1 -1
- package/dist/domain/market/client.js +1 -1
- package/dist/domain/market/client.js.map +1 -1
- package/dist/domain/market/convert.js +1 -1
- package/dist/domain/market/convert.js.map +1 -1
- package/dist/domain/market/index.d.ts +8 -1
- package/dist/domain/market/index.d.ts.map +1 -1
- package/dist/domain/market/index.js +12 -0
- package/dist/domain/market/index.js.map +1 -1
- package/dist/domain/market/outcome.d.ts +1 -0
- package/dist/domain/market/outcome.d.ts.map +1 -1
- package/dist/domain/market/outcome.js +1 -0
- package/dist/domain/market/outcome.js.map +1 -1
- package/dist/domain/market/tokens.d.ts +2 -0
- package/dist/domain/market/tokens.d.ts.map +1 -1
- package/dist/domain/market/tokens.js +6 -1
- package/dist/domain/market/tokens.js.map +1 -1
- package/dist/domain/market/wire.d.ts +23 -2
- package/dist/domain/market/wire.d.ts.map +1 -1
- package/dist/domain/market/wire.js +5 -0
- package/dist/domain/market/wire.js.map +1 -1
- package/dist/domain/metrics/client.d.ts +3 -3
- package/dist/domain/metrics/client.d.ts.map +1 -1
- package/dist/domain/metrics/client.js +4 -4
- package/dist/domain/metrics/client.js.map +1 -1
- package/dist/domain/metrics/wire.d.ts +5 -1
- package/dist/domain/metrics/wire.d.ts.map +1 -1
- package/dist/domain/metrics/wire.js.map +1 -1
- package/dist/domain/notification/client.d.ts +2 -2
- package/dist/domain/notification/client.d.ts.map +1 -1
- package/dist/domain/notification/client.js +3 -3
- package/dist/domain/notification/client.js.map +1 -1
- package/dist/domain/notification/index.d.ts +3 -1
- package/dist/domain/notification/index.d.ts.map +1 -1
- package/dist/domain/notification/index.js.map +1 -1
- package/dist/domain/order/client.d.ts +12 -10
- package/dist/domain/order/client.d.ts.map +1 -1
- package/dist/domain/order/client.js +20 -13
- package/dist/domain/order/client.js.map +1 -1
- package/dist/domain/order/convert.d.ts +1 -1
- package/dist/domain/order/convert.d.ts.map +1 -1
- package/dist/domain/order/convert.js +2 -2
- package/dist/domain/order/convert.js.map +1 -1
- package/dist/domain/order/index.d.ts +2 -1
- package/dist/domain/order/index.d.ts.map +1 -1
- package/dist/domain/order/index.js +11 -3
- package/dist/domain/order/index.js.map +1 -1
- package/dist/domain/orderbook/client.d.ts +6 -2
- package/dist/domain/orderbook/client.d.ts.map +1 -1
- package/dist/domain/orderbook/client.js +17 -0
- package/dist/domain/orderbook/client.js.map +1 -1
- package/dist/domain/position/builders.d.ts +11 -8
- package/dist/domain/position/builders.d.ts.map +1 -1
- package/dist/domain/position/builders.js +31 -25
- package/dist/domain/position/builders.js.map +1 -1
- package/dist/domain/position/client.d.ts +21 -15
- package/dist/domain/position/client.d.ts.map +1 -1
- package/dist/domain/position/client.js +43 -22
- package/dist/domain/position/client.js.map +1 -1
- package/dist/domain/referral/client.d.ts +2 -2
- package/dist/domain/referral/client.d.ts.map +1 -1
- package/dist/domain/referral/client.js +3 -3
- package/dist/domain/referral/client.js.map +1 -1
- package/dist/domain/trade/client.d.ts +1 -0
- package/dist/domain/trade/client.d.ts.map +1 -1
- package/dist/domain/trade/client.js +14 -0
- package/dist/domain/trade/client.js.map +1 -1
- package/dist/domain/trade/wire.d.ts +6 -0
- package/dist/domain/trade/wire.d.ts.map +1 -1
- package/dist/domain/trade/wire.js.map +1 -1
- package/dist/env.d.ts +6 -1
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +19 -9
- package/dist/env.js.map +1 -1
- package/dist/http/client.d.ts +7 -7
- package/dist/http/client.d.ts.map +1 -1
- package/dist/http/client.js +15 -12
- package/dist/http/client.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/prelude.d.ts +8 -7
- package/dist/prelude.d.ts.map +1 -1
- package/dist/prelude.js +7 -6
- package/dist/prelude.js.map +1 -1
- package/dist/privy/index.d.ts +1 -1
- package/dist/privy/index.js.map +1 -1
- package/dist/program/accounts.d.ts +12 -7
- package/dist/program/accounts.d.ts.map +1 -1
- package/dist/program/accounts.js +38 -16
- package/dist/program/accounts.js.map +1 -1
- package/dist/program/builder.d.ts +0 -4
- package/dist/program/builder.d.ts.map +1 -1
- package/dist/program/builder.js +0 -8
- package/dist/program/builder.js.map +1 -1
- package/dist/program/constants.d.ts +20 -7
- package/dist/program/constants.d.ts.map +1 -1
- package/dist/program/constants.js +21 -8
- package/dist/program/constants.js.map +1 -1
- package/dist/program/error.d.ts +25 -1
- package/dist/program/error.d.ts.map +1 -1
- package/dist/program/error.js +72 -0
- package/dist/program/error.js.map +1 -1
- package/dist/program/index.d.ts +7 -7
- package/dist/program/index.d.ts.map +1 -1
- package/dist/program/index.js +36 -9
- package/dist/program/index.js.map +1 -1
- package/dist/program/instructions.d.ts +184 -71
- package/dist/program/instructions.d.ts.map +1 -1
- package/dist/program/instructions.js +573 -140
- package/dist/program/instructions.js.map +1 -1
- package/dist/program/orders.js +2 -2
- package/dist/program/orders.js.map +1 -1
- package/dist/program/pda.d.ts +21 -3
- package/dist/program/pda.d.ts.map +1 -1
- package/dist/program/pda.js +43 -6
- package/dist/program/pda.js.map +1 -1
- package/dist/program/types.d.ts +139 -21
- package/dist/program/types.d.ts.map +1 -1
- package/dist/program/types.js.map +1 -1
- package/dist/program/utils.d.ts +31 -2
- package/dist/program/utils.d.ts.map +1 -1
- package/dist/program/utils.js +132 -5
- package/dist/program/utils.js.map +1 -1
- package/dist/rpc.d.ts +6 -1
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +9 -7
- package/dist/rpc.js.map +1 -1
- package/dist/rpcFailover.d.ts +22 -0
- package/dist/rpcFailover.d.ts.map +1 -0
- package/dist/rpcFailover.js +71 -0
- package/dist/rpcFailover.js.map +1 -0
- package/dist/shared/fmt/constants.d.ts +5 -0
- package/dist/shared/fmt/constants.d.ts.map +1 -0
- package/dist/shared/fmt/constants.js +25 -0
- package/dist/shared/fmt/constants.js.map +1 -0
- package/dist/shared/fmt/decimal.d.ts +7 -0
- package/dist/shared/fmt/decimal.d.ts.map +1 -1
- package/dist/shared/fmt/decimal.js +28 -20
- package/dist/shared/fmt/decimal.js.map +1 -1
- package/dist/shared/fmt/num.d.ts +7 -0
- package/dist/shared/fmt/num.d.ts.map +1 -1
- package/dist/shared/fmt/num.js +27 -15
- package/dist/shared/fmt/num.js.map +1 -1
- package/dist/ws/client.node.js +1 -1
- package/dist/ws/client.node.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/domain/order/convert.ts"],"names":[],"mappings":";;;;;AAMA,0CAmBC;AAED,oDAkBC;AAED,wDAoBC;AAED,
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/domain/order/convert.ts"],"names":[],"mappings":"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","sourcesContent":["import Decimal from \"decimal.js\";\nimport { TimeInForce } from \"../../shared\";\nimport type { LimitOrder, TriggerOrder } from \"./index\";\nimport type { OrderUpdate, UserSnapshotOrder, UserSnapshotOrderCommon } from \"./wire\";\nimport { UserOpenLimitOrders, UserTriggerOrders } from \"./state\";\n\nexport function orderFromUpdate(update: OrderUpdate): LimitOrder {\n const size = new Decimal(update.order.filled).plus(update.order.remaining);\n\n return {\n marketPubkey: update.market_pubkey,\n orderbookId: update.orderbook_id,\n baseMint: update.order.base_mint,\n quoteMint: update.order.quote_mint,\n orderHash: update.order.order_hash,\n side: update.order.side,\n size: size.toString(),\n price: update.order.price,\n filledSize: update.order.filled,\n remainingSize: update.order.remaining,\n createdAt: new Date(update.order.created_at),\n txSignature: update.tx_signature,\n status: update.order.status,\n outcomeIndex: update.order.outcome_index,\n };\n}\n\nexport function limitSnapshotToOrder(common: UserSnapshotOrderCommon, txSignature?: string): LimitOrder {\n const size = new Decimal(common.filled).plus(common.remaining);\n return {\n marketPubkey: common.market_pubkey,\n orderbookId: common.orderbook_id,\n orderHash: common.order_hash,\n baseMint: common.base_mint,\n quoteMint: common.quote_mint,\n side: common.side,\n size: size.toString(),\n price: common.price,\n filledSize: common.filled,\n remainingSize: common.remaining,\n createdAt: new Date(common.created_at),\n txSignature,\n status: common.status,\n outcomeIndex: common.outcome_index,\n };\n}\n\nexport function triggerSnapshotToOrder(\n common: UserSnapshotOrderCommon,\n triggerOrderId: string,\n triggerPrice: string,\n triggerType: import(\"../../shared\").TriggerType,\n timeInForce?: import(\"../../shared\").TimeInForce\n): TriggerOrder {\n return {\n triggerOrderId,\n orderHash: common.order_hash,\n marketPubkey: common.market_pubkey,\n orderbookId: common.orderbook_id,\n triggerPrice,\n triggerType,\n side: common.side,\n amountIn: common.amount_in,\n amountOut: common.amount_out,\n timeInForce: timeInForce ?? TimeInForce.Gtc,\n createdAt: new Date(common.created_at),\n };\n}\n\nexport function convertSnapshotOrders(orders: UserSnapshotOrder[]): [UserOpenLimitOrders, UserTriggerOrders] {\n const openOrders = new UserOpenLimitOrders();\n const triggerOrders = new UserTriggerOrders();\n\n for (const snapshot of orders) {\n if (snapshot.order_type === \"limit\") {\n if (!new Decimal(snapshot.remaining).isZero()) {\n openOrders.insert(limitSnapshotToOrder(snapshot, snapshot.tx_signature));\n }\n continue;\n }\n\n triggerOrders.insert(\n triggerSnapshotToOrder(\n snapshot,\n snapshot.trigger_order_id,\n snapshot.trigger_price,\n snapshot.trigger_type,\n snapshot.time_in_force\n )\n );\n }\n\n return [openOrders, triggerOrders];\n}\n"]}
|
|
@@ -3,11 +3,12 @@ import { Side, type OrderBookId, type PubkeyStr, type TimeInForce, type TriggerT
|
|
|
3
3
|
export * from "./client";
|
|
4
4
|
export * from "./wire";
|
|
5
5
|
export * from "./state";
|
|
6
|
-
export { limitSnapshotToOrder,
|
|
6
|
+
export { limitSnapshotToOrder, convertSnapshotOrders, orderFromUpdate } from "./convert";
|
|
7
7
|
export declare enum OrderType {
|
|
8
8
|
Limit = "limit",
|
|
9
9
|
Trigger = "trigger"
|
|
10
10
|
}
|
|
11
|
+
export declare function orderTypeLabel(orderType: OrderType): string;
|
|
11
12
|
export declare enum OrderStatus {
|
|
12
13
|
Open = "OPEN",
|
|
13
14
|
Matching = "MATCHING",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/order/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAE1G,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/order/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAE1G,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEzF,oBAAY,SAAS;IACnB,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAO3D;AAED,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,SAAS,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,SAAS,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,GAAG,SAAS,CAW/E"}
|
|
@@ -17,7 +17,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.OrderStatus = exports.OrderType = exports.orderFromUpdate = exports.
|
|
20
|
+
exports.OrderStatus = exports.OrderType = exports.orderFromUpdate = exports.convertSnapshotOrders = exports.limitSnapshotToOrder = void 0;
|
|
21
|
+
exports.orderTypeLabel = orderTypeLabel;
|
|
21
22
|
exports.triggerOrderLimitPrice = triggerOrderLimitPrice;
|
|
22
23
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
23
24
|
const shared_1 = require("../../shared");
|
|
@@ -26,14 +27,21 @@ __exportStar(require("./wire"), exports);
|
|
|
26
27
|
__exportStar(require("./state"), exports);
|
|
27
28
|
var convert_1 = require("./convert");
|
|
28
29
|
Object.defineProperty(exports, "limitSnapshotToOrder", { enumerable: true, get: function () { return convert_1.limitSnapshotToOrder; } });
|
|
29
|
-
Object.defineProperty(exports, "
|
|
30
|
-
Object.defineProperty(exports, "triggerSnapshotToOrder", { enumerable: true, get: function () { return convert_1.triggerSnapshotToOrder; } });
|
|
30
|
+
Object.defineProperty(exports, "convertSnapshotOrders", { enumerable: true, get: function () { return convert_1.convertSnapshotOrders; } });
|
|
31
31
|
Object.defineProperty(exports, "orderFromUpdate", { enumerable: true, get: function () { return convert_1.orderFromUpdate; } });
|
|
32
32
|
var OrderType;
|
|
33
33
|
(function (OrderType) {
|
|
34
34
|
OrderType["Limit"] = "limit";
|
|
35
35
|
OrderType["Trigger"] = "trigger";
|
|
36
36
|
})(OrderType || (exports.OrderType = OrderType = {}));
|
|
37
|
+
function orderTypeLabel(orderType) {
|
|
38
|
+
switch (orderType) {
|
|
39
|
+
case OrderType.Limit:
|
|
40
|
+
return "Limit";
|
|
41
|
+
case OrderType.Trigger:
|
|
42
|
+
return "Trigger";
|
|
43
|
+
}
|
|
44
|
+
}
|
|
37
45
|
var OrderStatus;
|
|
38
46
|
(function (OrderStatus) {
|
|
39
47
|
OrderStatus["Open"] = "OPEN";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/order/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/order/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAaA,wCAOC;AAmDD,wDAWC;AAlFD,4DAAiC;AACjC,yCAA0G;AAE1G,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB;AACxB,qCAAyF;AAAhF,+GAAA,oBAAoB,OAAA;AAAE,gHAAA,qBAAqB,OAAA;AAAE,0GAAA,eAAe,OAAA;AAErE,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,gCAAmB,CAAA;AACrB,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAED,SAAgB,cAAc,CAAC,SAAoB;IACjD,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,SAAS,CAAC,KAAK;YAClB,OAAO,OAAO,CAAC;QACjB,KAAK,SAAS,CAAC,OAAO;YACpB,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,oCAAqB,CAAA;IACrB,sCAAuB,CAAA;IACvB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;AACrB,CAAC,EANW,WAAW,2BAAX,WAAW,QAMtB;AAiCD;;;;;;;;;GASG;AACH,SAAgB,sBAAsB,CAAC,KAAmB;IACxD,MAAM,QAAQ,GAAG,IAAI,oBAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,oBAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAE/C,IAAI,KAAK,CAAC,IAAI,KAAK,aAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAI,CAAC,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,OAAO,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["import Decimal from \"decimal.js\";\nimport { Side, type OrderBookId, type PubkeyStr, type TimeInForce, type TriggerType } from \"../../shared\";\n\nexport * from \"./client\";\nexport * from \"./wire\";\nexport * from \"./state\";\nexport { limitSnapshotToOrder, convertSnapshotOrders, orderFromUpdate } from \"./convert\";\n\nexport enum OrderType {\n Limit = \"limit\",\n Trigger = \"trigger\",\n}\n\nexport function orderTypeLabel(orderType: OrderType): string {\n switch (orderType) {\n case OrderType.Limit:\n return \"Limit\";\n case OrderType.Trigger:\n return \"Trigger\";\n }\n}\n\nexport enum OrderStatus {\n Open = \"OPEN\",\n Matching = \"MATCHING\",\n Cancelled = \"CANCELLED\",\n Filled = \"FILLED\",\n Pending = \"PENDING\",\n}\n\nexport interface LimitOrder {\n marketPubkey: PubkeyStr;\n orderbookId: OrderBookId;\n txSignature?: string;\n baseMint: PubkeyStr;\n quoteMint: PubkeyStr;\n orderHash: string;\n side: Side;\n size: string;\n price: string;\n filledSize: string;\n remainingSize: string;\n createdAt: Date;\n status: OrderStatus;\n outcomeIndex: number;\n}\n\nexport interface TriggerOrder {\n triggerOrderId: string;\n orderHash: string;\n marketPubkey: PubkeyStr;\n orderbookId: OrderBookId;\n triggerPrice: string;\n triggerType: TriggerType;\n side: Side;\n amountIn: string;\n amountOut: string;\n timeInForce: TimeInForce;\n createdAt: Date;\n}\n\n/**\n * Derive the limit price from pre-scaled amounts.\n *\n * `amountIn` and `amountOut` are already human-readable decimals\n * (scaled by the snapshot/websocket layer), so no further decimal\n * conversion is needed.\n *\n * For Ask: maker gives base, receives quote -> price = quote / base\n * For Bid: maker gives quote, receives base -> price = quote / base\n */\nexport function triggerOrderLimitPrice(order: TriggerOrder): Decimal | undefined {\n const amountIn = new Decimal(order.amountIn);\n const amountOut = new Decimal(order.amountOut);\n\n if (order.side === Side.Ask && amountIn.greaterThan(0)) {\n return amountOut.div(amountIn);\n }\n if (order.side === Side.Bid && amountOut.greaterThan(0)) {\n return amountIn.div(amountOut);\n }\n return undefined;\n}\n"]}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { Transaction, type PublicKey, type TransactionInstruction } from "@solana/web3.js";
|
|
2
2
|
import type { ClientContext } from "../../context";
|
|
3
|
-
import type { Orderbook as ProgramOrderbook } from "../../program/types";
|
|
3
|
+
import type { CloseOrderbookAltParams, CloseOrderbookParams, Orderbook as ProgramOrderbook } from "../../program/types";
|
|
4
4
|
import type { OrderbookDepthResponse } from "./wire";
|
|
5
5
|
export declare class Orderbooks {
|
|
6
6
|
private readonly client;
|
|
7
7
|
constructor(client: ClientContext);
|
|
8
8
|
pda(mintA: PublicKey, mintB: PublicKey): PublicKey;
|
|
9
9
|
get(orderbookId: string, depth?: number): Promise<OrderbookDepthResponse>;
|
|
10
|
+
closeOrderbookAltIx(params: CloseOrderbookAltParams): TransactionInstruction;
|
|
11
|
+
closeOrderbookIx(params: CloseOrderbookParams): TransactionInstruction;
|
|
12
|
+
closeOrderbookAltTx(params: CloseOrderbookAltParams): Transaction;
|
|
13
|
+
closeOrderbookTx(params: CloseOrderbookParams): Transaction;
|
|
10
14
|
getOnchain(mintA: PublicKey, mintB: PublicKey): Promise<ProgramOrderbook>;
|
|
11
15
|
}
|
|
12
16
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/orderbook/client.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/orderbook/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;AAUnD,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACpB,SAAS,IAAI,gBAAgB,EAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAErD,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAIlD,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS;IAM5C,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAQ/E,mBAAmB,CAAC,MAAM,EAAE,uBAAuB,GAAG,sBAAsB;IAI5E,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,GAAG,sBAAsB;IAItE,mBAAmB,CAAC,MAAM,EAAE,uBAAuB,GAAG,WAAW;IAKjE,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,GAAG,WAAW;IAOrD,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAWhF"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Orderbooks = void 0;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
4
5
|
const context_1 = require("../../context");
|
|
5
6
|
const error_1 = require("../../program/error");
|
|
6
7
|
const http_1 = require("../../http");
|
|
8
|
+
const instructions_1 = require("../../program/instructions");
|
|
7
9
|
const pda_1 = require("../../program/pda");
|
|
8
10
|
const accounts_1 = require("../../program/accounts");
|
|
9
11
|
class Orderbooks {
|
|
@@ -21,6 +23,21 @@ class Orderbooks {
|
|
|
21
23
|
const url = `${this.client.http.baseUrl()}/api/orderbook/${encodeURIComponent(orderbookId)}${query}`;
|
|
22
24
|
return this.client.http.get(url, http_1.RetryPolicy.Idempotent);
|
|
23
25
|
}
|
|
26
|
+
// ── On-chain transaction builders ────────────────────────────────────
|
|
27
|
+
closeOrderbookAltIx(params) {
|
|
28
|
+
return (0, instructions_1.buildCloseOrderbookAltIx)(params, this.client.programId);
|
|
29
|
+
}
|
|
30
|
+
closeOrderbookIx(params) {
|
|
31
|
+
return (0, instructions_1.buildCloseOrderbookIx)(params, this.client.programId);
|
|
32
|
+
}
|
|
33
|
+
closeOrderbookAltTx(params) {
|
|
34
|
+
const ix = this.closeOrderbookAltIx(params);
|
|
35
|
+
return new web3_js_1.Transaction({ feePayer: params.operator }).add(ix);
|
|
36
|
+
}
|
|
37
|
+
closeOrderbookTx(params) {
|
|
38
|
+
const ix = this.closeOrderbookIx(params);
|
|
39
|
+
return new web3_js_1.Transaction({ feePayer: params.operator }).add(ix);
|
|
40
|
+
}
|
|
24
41
|
// ── On-chain account fetchers (require Connection) ──────────────────
|
|
25
42
|
async getOnchain(mintA, mintB) {
|
|
26
43
|
const connection = (0, context_1.requireConnection)(this.client);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/orderbook/client.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/orderbook/client.ts"],"names":[],"mappings":";;;AAAA,6CAA2F;AAE3F,2CAAkD;AAClD,+CAAsD;AACtD,qCAAyC;AACzC,6DAGoC;AACpC,2CAAoD;AACpD,qDAA6F;AAQ7F,MAAa,UAAU;IACQ;IAA7B,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtD,wEAAwE;IAExE,GAAG,CAAC,KAAgB,EAAE,KAAgB;QACpC,OAAO,IAAA,qBAAe,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,wEAAwE;IAExE,KAAK,CAAC,GAAG,CAAC,WAAmB,EAAE,KAAc;QAC3C,MAAM,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,kBAAkB,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,CAAC;QACrG,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAyB,GAAG,EAAE,kBAAW,CAAC,UAAU,CAAC,CAAC;IACnF,CAAC;IAED,wEAAwE;IAExE,mBAAmB,CAAC,MAA+B;QACjD,OAAO,IAAA,uCAAwB,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,gBAAgB,CAAC,MAA4B;QAC3C,OAAO,IAAA,oCAAqB,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,mBAAmB,CAAC,MAA+B;QACjD,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,IAAI,qBAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,gBAAgB,CAAC,MAA4B;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,IAAI,qBAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,uEAAuE;IAEvE,KAAK,CAAC,UAAU,CAAC,KAAgB,EAAE,KAAgB;QACjD,MAAM,UAAU,GAAG,IAAA,2BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,uBAAe,CAAC,eAAe,CACnC,iBAAiB,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,CAC1D,CAAC;QACJ,CAAC;QACD,OAAO,IAAA,+BAA2B,EAAC,WAAW,CAAC,IAAc,CAAC,CAAC;IACjE,CAAC;CACF;AAlDD,gCAkDC","sourcesContent":["import { Transaction, type PublicKey, type TransactionInstruction } from \"@solana/web3.js\";\nimport type { ClientContext } from \"../../context\";\nimport { requireConnection } from \"../../context\";\nimport { ProgramSdkError } from \"../../program/error\";\nimport { RetryPolicy } from \"../../http\";\nimport {\n buildCloseOrderbookAltIx,\n buildCloseOrderbookIx,\n} from \"../../program/instructions\";\nimport { getOrderbookPda } from \"../../program/pda\";\nimport { deserializeOrderbook as deserializeProgramOrderbook } from \"../../program/accounts\";\nimport type {\n CloseOrderbookAltParams,\n CloseOrderbookParams,\n Orderbook as ProgramOrderbook,\n} from \"../../program/types\";\nimport type { OrderbookDepthResponse } from \"./wire\";\n\nexport class Orderbooks {\n constructor(private readonly client: ClientContext) {}\n\n // ── PDA helpers ──────────────────────────────────────────────────────\n\n pda(mintA: PublicKey, mintB: PublicKey): PublicKey {\n return getOrderbookPda(mintA, mintB, this.client.programId)[0];\n }\n\n // ── HTTP methods ─────────────────────────────────────────────────────\n\n async get(orderbookId: string, depth?: number): Promise<OrderbookDepthResponse> {\n const query = depth !== undefined ? `?depth=${depth}` : \"\";\n const url = `${this.client.http.baseUrl()}/api/orderbook/${encodeURIComponent(orderbookId)}${query}`;\n return this.client.http.get<OrderbookDepthResponse>(url, RetryPolicy.Idempotent);\n }\n\n // ── On-chain transaction builders ────────────────────────────────────\n\n closeOrderbookAltIx(params: CloseOrderbookAltParams): TransactionInstruction {\n return buildCloseOrderbookAltIx(params, this.client.programId);\n }\n\n closeOrderbookIx(params: CloseOrderbookParams): TransactionInstruction {\n return buildCloseOrderbookIx(params, this.client.programId);\n }\n\n closeOrderbookAltTx(params: CloseOrderbookAltParams): Transaction {\n const ix = this.closeOrderbookAltIx(params);\n return new Transaction({ feePayer: params.operator }).add(ix);\n }\n\n closeOrderbookTx(params: CloseOrderbookParams): Transaction {\n const ix = this.closeOrderbookIx(params);\n return new Transaction({ feePayer: params.operator }).add(ix);\n }\n\n // ── On-chain account fetchers (require Connection) ──────────────────\n\n async getOnchain(mintA: PublicKey, mintB: PublicKey): Promise<ProgramOrderbook> {\n const connection = requireConnection(this.client);\n const orderbookPda = this.pda(mintA, mintB);\n const accountInfo = await connection.getAccountInfo(orderbookPda);\n if (!accountInfo) {\n throw ProgramSdkError.accountNotFound(\n `Orderbook for ${mintA.toBase58()} / ${mintB.toBase58()}`\n );\n }\n return deserializeProgramOrderbook(accountInfo.data as Buffer);\n }\n}\n"]}
|
|
@@ -29,7 +29,6 @@ export declare class WithdrawBuilder {
|
|
|
29
29
|
private marketValue?;
|
|
30
30
|
private depositSourceValue?;
|
|
31
31
|
private outcomeIndexValue?;
|
|
32
|
-
private isToken2022Value;
|
|
33
32
|
constructor(client: ClientContext, depositSource: DepositSource);
|
|
34
33
|
user(user: PublicKey): this;
|
|
35
34
|
mint(mint: PublicKey): this;
|
|
@@ -37,7 +36,6 @@ export declare class WithdrawBuilder {
|
|
|
37
36
|
market(market: Market): this;
|
|
38
37
|
depositSource(source: DepositSource): this;
|
|
39
38
|
outcomeIndex(index: number): this;
|
|
40
|
-
token2022(isToken2022: boolean): this;
|
|
41
39
|
withMarketDepositSource(market: Market): this;
|
|
42
40
|
withGlobalDepositSource(): this;
|
|
43
41
|
buildIx(): TransactionInstruction;
|
|
@@ -65,13 +63,13 @@ export declare class RedeemWinningsBuilder {
|
|
|
65
63
|
private marketValue?;
|
|
66
64
|
private mintValue?;
|
|
67
65
|
private amountValue?;
|
|
68
|
-
private
|
|
66
|
+
private outcomeIndexValue?;
|
|
69
67
|
constructor(client: ClientContext);
|
|
70
68
|
user(user: PublicKey): this;
|
|
71
69
|
market(market: PublicKey): this;
|
|
72
70
|
mint(mint: PublicKey): this;
|
|
73
71
|
amount(amount: bigint): this;
|
|
74
|
-
|
|
72
|
+
outcomeIndex(index: number): this;
|
|
75
73
|
buildIx(): TransactionInstruction;
|
|
76
74
|
buildTx(): Transaction;
|
|
77
75
|
signAndSubmit(): Promise<string>;
|
|
@@ -83,14 +81,12 @@ export declare class WithdrawFromPositionBuilder {
|
|
|
83
81
|
private mintValue?;
|
|
84
82
|
private amountValue?;
|
|
85
83
|
private outcomeIndexValue?;
|
|
86
|
-
private isToken2022Value;
|
|
87
84
|
constructor(client: ClientContext);
|
|
88
85
|
user(user: PublicKey): this;
|
|
89
86
|
market(market: PublicKey): this;
|
|
90
87
|
mint(mint: PublicKey): this;
|
|
91
88
|
amount(amount: bigint): this;
|
|
92
89
|
outcomeIndex(index: number): this;
|
|
93
|
-
token2022(isToken2022: boolean): this;
|
|
94
90
|
buildIx(): TransactionInstruction;
|
|
95
91
|
buildTx(): Transaction;
|
|
96
92
|
signAndSubmit(): Promise<string>;
|
|
@@ -114,16 +110,20 @@ export declare class InitPositionTokensBuilder {
|
|
|
114
110
|
buildTx(): Transaction;
|
|
115
111
|
signAndSubmit(): Promise<string>;
|
|
116
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Operator-only builder for extending an existing position ALT after a market
|
|
115
|
+
* adds new deposit mints.
|
|
116
|
+
*/
|
|
117
117
|
export declare class ExtendPositionTokensBuilder {
|
|
118
118
|
private readonly client;
|
|
119
|
-
private
|
|
119
|
+
private operatorValue?;
|
|
120
120
|
private userValue?;
|
|
121
121
|
private marketValue?;
|
|
122
122
|
private lookupTableValue?;
|
|
123
123
|
private depositMintsValue?;
|
|
124
124
|
private numOutcomesValue?;
|
|
125
125
|
constructor(client: ClientContext);
|
|
126
|
-
|
|
126
|
+
operator(operator: PublicKey): this;
|
|
127
127
|
user(user: PublicKey): this;
|
|
128
128
|
market(market: PublicKey): this;
|
|
129
129
|
lookupTable(lookupTable: PublicKey): this;
|
|
@@ -138,10 +138,13 @@ export declare class DepositToGlobalBuilder {
|
|
|
138
138
|
private userValue?;
|
|
139
139
|
private mintValue?;
|
|
140
140
|
private amountValue?;
|
|
141
|
+
private altContextValue?;
|
|
141
142
|
constructor(client: ClientContext);
|
|
142
143
|
user(user: PublicKey): this;
|
|
143
144
|
mint(mint: PublicKey): this;
|
|
144
145
|
amount(amount: bigint): this;
|
|
146
|
+
createAlt(recentSlot: bigint): this;
|
|
147
|
+
extendAlt(lookupTable: PublicKey): this;
|
|
145
148
|
buildIx(): TransactionInstruction;
|
|
146
149
|
buildTx(): Transaction;
|
|
147
150
|
signAndSubmit(): Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/domain/position/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/domain/position/builders.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,7 +93,6 @@ class WithdrawBuilder {
|
|
|
93
93
|
marketValue;
|
|
94
94
|
depositSourceValue;
|
|
95
95
|
outcomeIndexValue;
|
|
96
|
-
isToken2022Value = false;
|
|
97
96
|
constructor(client, depositSource) {
|
|
98
97
|
this.client = client;
|
|
99
98
|
this.depositSourceValue = depositSource;
|
|
@@ -122,10 +121,6 @@ class WithdrawBuilder {
|
|
|
122
121
|
this.outcomeIndexValue = index;
|
|
123
122
|
return this;
|
|
124
123
|
}
|
|
125
|
-
token2022(isToken2022) {
|
|
126
|
-
this.isToken2022Value = isToken2022;
|
|
127
|
-
return this;
|
|
128
|
-
}
|
|
129
124
|
withMarketDepositSource(market) {
|
|
130
125
|
this.depositSourceValue = shared_1.DepositSource.Market;
|
|
131
126
|
this.marketValue = market;
|
|
@@ -150,7 +145,7 @@ class WithdrawBuilder {
|
|
|
150
145
|
}
|
|
151
146
|
const marketPubkey = new web3_js_1.PublicKey(market.pubkey);
|
|
152
147
|
const outcomeIndex = requireField(this.outcomeIndexValue, "outcome_index");
|
|
153
|
-
return (0, instructions_1.buildWithdrawFromPositionIx)({ user, market: marketPubkey, mint, amount, outcomeIndex }, this.
|
|
148
|
+
return (0, instructions_1.buildWithdrawFromPositionIx)({ user, market: marketPubkey, mint, amount, outcomeIndex }, this.client.programId);
|
|
154
149
|
}
|
|
155
150
|
}
|
|
156
151
|
}
|
|
@@ -221,7 +216,7 @@ class RedeemWinningsBuilder {
|
|
|
221
216
|
marketValue;
|
|
222
217
|
mintValue;
|
|
223
218
|
amountValue;
|
|
224
|
-
|
|
219
|
+
outcomeIndexValue;
|
|
225
220
|
constructor(client) {
|
|
226
221
|
this.client = client;
|
|
227
222
|
}
|
|
@@ -241,8 +236,8 @@ class RedeemWinningsBuilder {
|
|
|
241
236
|
this.amountValue = amount;
|
|
242
237
|
return this;
|
|
243
238
|
}
|
|
244
|
-
|
|
245
|
-
this.
|
|
239
|
+
outcomeIndex(index) {
|
|
240
|
+
this.outcomeIndexValue = index;
|
|
246
241
|
return this;
|
|
247
242
|
}
|
|
248
243
|
buildIx() {
|
|
@@ -250,8 +245,8 @@ class RedeemWinningsBuilder {
|
|
|
250
245
|
const market = requireField(this.marketValue, "market");
|
|
251
246
|
const depositMint = requireField(this.mintValue, "mint");
|
|
252
247
|
const amount = requireField(this.amountValue, "amount");
|
|
253
|
-
const
|
|
254
|
-
return (0, instructions_1.buildRedeemWinningsIx)({ user, market, depositMint, amount },
|
|
248
|
+
const outcomeIndex = requireField(this.outcomeIndexValue, "outcome_index");
|
|
249
|
+
return (0, instructions_1.buildRedeemWinningsIx)({ user, market, depositMint, amount }, outcomeIndex, this.client.programId);
|
|
255
250
|
}
|
|
256
251
|
buildTx() {
|
|
257
252
|
const user = requireField(this.userValue, "user");
|
|
@@ -272,7 +267,6 @@ class WithdrawFromPositionBuilder {
|
|
|
272
267
|
mintValue;
|
|
273
268
|
amountValue;
|
|
274
269
|
outcomeIndexValue;
|
|
275
|
-
isToken2022Value = false;
|
|
276
270
|
constructor(client) {
|
|
277
271
|
this.client = client;
|
|
278
272
|
}
|
|
@@ -296,17 +290,13 @@ class WithdrawFromPositionBuilder {
|
|
|
296
290
|
this.outcomeIndexValue = index;
|
|
297
291
|
return this;
|
|
298
292
|
}
|
|
299
|
-
token2022(isToken2022) {
|
|
300
|
-
this.isToken2022Value = isToken2022;
|
|
301
|
-
return this;
|
|
302
|
-
}
|
|
303
293
|
buildIx() {
|
|
304
294
|
const user = requireField(this.userValue, "user");
|
|
305
295
|
const market = requireField(this.marketValue, "market");
|
|
306
296
|
const mint = requireField(this.mintValue, "mint");
|
|
307
297
|
const amount = requireField(this.amountValue, "amount");
|
|
308
298
|
const outcomeIndex = requireField(this.outcomeIndexValue, "outcome_index");
|
|
309
|
-
return (0, instructions_1.buildWithdrawFromPositionIx)({ user, market, mint, amount, outcomeIndex }, this.
|
|
299
|
+
return (0, instructions_1.buildWithdrawFromPositionIx)({ user, market, mint, amount, outcomeIndex }, this.client.programId);
|
|
310
300
|
}
|
|
311
301
|
buildTx() {
|
|
312
302
|
const user = requireField(this.userValue, "user");
|
|
@@ -376,9 +366,13 @@ class InitPositionTokensBuilder {
|
|
|
376
366
|
}
|
|
377
367
|
exports.InitPositionTokensBuilder = InitPositionTokensBuilder;
|
|
378
368
|
// ─── ExtendPositionTokensBuilder ────────────────────────────────────────────
|
|
369
|
+
/**
|
|
370
|
+
* Operator-only builder for extending an existing position ALT after a market
|
|
371
|
+
* adds new deposit mints.
|
|
372
|
+
*/
|
|
379
373
|
class ExtendPositionTokensBuilder {
|
|
380
374
|
client;
|
|
381
|
-
|
|
375
|
+
operatorValue;
|
|
382
376
|
userValue;
|
|
383
377
|
marketValue;
|
|
384
378
|
lookupTableValue;
|
|
@@ -387,8 +381,8 @@ class ExtendPositionTokensBuilder {
|
|
|
387
381
|
constructor(client) {
|
|
388
382
|
this.client = client;
|
|
389
383
|
}
|
|
390
|
-
|
|
391
|
-
this.
|
|
384
|
+
operator(operator) {
|
|
385
|
+
this.operatorValue = operator;
|
|
392
386
|
return this;
|
|
393
387
|
}
|
|
394
388
|
user(user) {
|
|
@@ -412,18 +406,18 @@ class ExtendPositionTokensBuilder {
|
|
|
412
406
|
return this;
|
|
413
407
|
}
|
|
414
408
|
buildIx() {
|
|
415
|
-
const
|
|
409
|
+
const operator = requireField(this.operatorValue, "operator");
|
|
416
410
|
const user = requireField(this.userValue, "user");
|
|
417
411
|
const market = requireField(this.marketValue, "market");
|
|
418
412
|
const lookupTable = requireField(this.lookupTableValue, "lookup_table");
|
|
419
413
|
const depositMints = requireField(this.depositMintsValue, "deposit_mints");
|
|
420
414
|
const numOutcomes = requireField(this.numOutcomesValue, "num_outcomes");
|
|
421
|
-
return (0, instructions_1.buildExtendPositionTokensIx)({
|
|
415
|
+
return (0, instructions_1.buildExtendPositionTokensIx)({ operator, user, market, lookupTable, depositMints }, numOutcomes, this.client.programId);
|
|
422
416
|
}
|
|
423
417
|
buildTx() {
|
|
424
|
-
const
|
|
418
|
+
const operator = requireField(this.operatorValue, "operator");
|
|
425
419
|
const ix = this.buildIx();
|
|
426
|
-
return new web3_js_1.Transaction({ feePayer:
|
|
420
|
+
return new web3_js_1.Transaction({ feePayer: operator }).add(ix);
|
|
427
421
|
}
|
|
428
422
|
async signAndSubmit() {
|
|
429
423
|
const tx = this.buildTx();
|
|
@@ -437,6 +431,7 @@ class DepositToGlobalBuilder {
|
|
|
437
431
|
userValue;
|
|
438
432
|
mintValue;
|
|
439
433
|
amountValue;
|
|
434
|
+
altContextValue;
|
|
440
435
|
constructor(client) {
|
|
441
436
|
this.client = client;
|
|
442
437
|
}
|
|
@@ -452,11 +447,22 @@ class DepositToGlobalBuilder {
|
|
|
452
447
|
this.amountValue = amount;
|
|
453
448
|
return this;
|
|
454
449
|
}
|
|
450
|
+
createAlt(recentSlot) {
|
|
451
|
+
this.altContextValue = { kind: "create", recentSlot };
|
|
452
|
+
return this;
|
|
453
|
+
}
|
|
454
|
+
extendAlt(lookupTable) {
|
|
455
|
+
this.altContextValue = { kind: "extend", lookupTable };
|
|
456
|
+
return this;
|
|
457
|
+
}
|
|
455
458
|
buildIx() {
|
|
456
459
|
const user = requireField(this.userValue, "user");
|
|
457
460
|
const mint = requireField(this.mintValue, "mint");
|
|
458
461
|
const amount = requireField(this.amountValue, "amount");
|
|
459
|
-
|
|
462
|
+
const params = { user, mint, amount };
|
|
463
|
+
return this.altContextValue
|
|
464
|
+
? (0, instructions_1.buildDepositToGlobalIxWithAlt)(params, this.altContextValue, this.client.programId)
|
|
465
|
+
: (0, instructions_1.buildDepositToGlobalIx)(params, this.client.programId);
|
|
460
466
|
}
|
|
461
467
|
buildTx() {
|
|
462
468
|
const user = requireField(this.userValue, "user");
|