@polyester/sdk 0.19.3 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/gen/auth/v1/social_verification_pb.d.ts +4 -2
- package/dist/gen/auth/v1/social_verification_pb.d.ts.map +1 -1
- package/dist/gen/auth/v1/social_verification_pb.js.map +1 -1
- package/dist/gen/auth/v1/subaccounts_pb.d.ts +1 -1
- package/dist/gen/auth/v1/subaccounts_pb.js +1 -1
- package/dist/gen/chain/withdraw/v1/withdraw_pb.d.ts +290 -2
- package/dist/gen/chain/withdraw/v1/withdraw_pb.d.ts.map +1 -1
- package/dist/gen/chain/withdraw/v1/withdraw_pb.js +288 -9
- package/dist/gen/chain/withdraw/v1/withdraw_pb.js.map +1 -1
- package/dist/gen/index.d.ts +10 -10
- package/dist/gen/index.js +7 -7
- package/dist/gen/ledger/read/v1/ledger_read_pb.d.ts +1 -1
- package/dist/gen/ledger/read/v1/ledger_read_pb.js +1 -1
- package/dist/gen/orderbook/v1/orderbook_pb.d.ts +5 -3
- package/dist/gen/orderbook/v1/orderbook_pb.d.ts.map +1 -1
- package/dist/gen/orderbook/v1/orderbook_pb.js.map +1 -1
- package/dist/gen/orders/v1/orders_pb.d.ts +14 -6
- package/dist/gen/orders/v1/orders_pb.d.ts.map +1 -1
- package/dist/gen/orders/v1/orders_pb.js +7 -1
- package/dist/gen/orders/v1/orders_pb.js.map +1 -1
- package/dist/gen/orders/v1/orders_read_pb.d.ts +1 -1
- package/dist/gen/orders/v1/orders_read_pb.js +2 -2
- package/dist/gen/transfer/v1/internal_transfer_pb.d.ts +200 -2
- package/dist/gen/transfer/v1/internal_transfer_pb.d.ts.map +1 -1
- package/dist/gen/transfer/v1/internal_transfer_pb.js +193 -4
- package/dist/gen/transfer/v1/internal_transfer_pb.js.map +1 -1
- package/dist/gen/triggers/v1/triggers_pb.d.ts +47 -2
- package/dist/gen/triggers/v1/triggers_pb.d.ts.map +1 -1
- package/dist/gen/triggers/v1/triggers_pb.js +1 -1
- package/dist/gen/triggers/v1/triggers_pb.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -2
- package/dist/services/auth/profile/profile.js +1 -1
- package/dist/services/balances/balances.js +1 -1
- package/dist/services/balances/balances.schemas.js +1 -1
- package/dist/services/candles/candles.schemas.d.ts +10 -10
- package/dist/services/heatmap/heatmap.schemas.d.ts +13 -13
- package/dist/services/internal-transfers/internal-transfers.js +1 -1
- package/dist/services/lifecycle/lifecycle.schemas.d.ts +42 -42
- package/dist/services/market-overview/market-overview.js +1 -1
- package/dist/services/market-overview/market-overview.schemas.d.ts +3 -3
- package/dist/services/market-overview/market-overview.schemas.js +1 -1
- package/dist/services/orderbook/orderbook.schemas.d.ts +1 -1
- package/dist/services/orders/index.d.ts +1 -1
- package/dist/services/orders/order-errors.schemas.d.ts +1 -1
- package/dist/services/orders/orders-batch.schemas.d.ts +20 -20
- package/dist/services/orders/orders-batch.schemas.js +1 -1
- package/dist/services/orders/orders-input.schemas.d.ts +7 -7
- package/dist/services/orders/orders-input.schemas.js +2 -2
- package/dist/services/orders/orders-input.schemas.js.map +1 -1
- package/dist/services/orders/orders-output.schemas.d.ts +6 -6
- package/dist/services/orders/orders.d.ts +1 -1
- package/dist/services/orders/orders.d.ts.map +1 -1
- package/dist/services/orders/orders.js +5 -3
- package/dist/services/orders/orders.js.map +1 -1
- package/dist/services/orders/orders.schemas.d.ts +1 -1
- package/dist/services/orders/orders.types.d.ts +1 -1
- package/dist/services/subaccounts/subaccounts.schemas.d.ts +4 -4
- package/dist/services/trading-withdraws/trading-withdraws.d.ts +1 -1
- package/dist/services/trading-withdraws/trading-withdraws.js +1 -1
- package/dist/services/trading-withdraws/trading-withdraws.schemas.js +1 -1
- package/dist/services/transfers/transfers.js +1 -1
- package/dist/services/transfers/transfers.schemas.js +1 -1
- package/dist/services/triggers/trigger-child-order.schemas.js +25 -4
- package/dist/services/triggers/trigger-child-order.schemas.js.map +1 -1
- package/dist/services/triggers/trigger-input.schemas.d.ts +39 -3
- package/dist/services/triggers/trigger-input.schemas.d.ts.map +1 -1
- package/dist/services/triggers/trigger-input.schemas.js +3 -26
- package/dist/services/triggers/trigger-input.schemas.js.map +1 -1
- package/dist/services/triggers/triggers-output.schemas.d.ts +92 -17
- package/dist/services/triggers/triggers-output.schemas.d.ts.map +1 -1
- package/dist/services/triggers/triggers-output.schemas.js +36 -25
- package/dist/services/triggers/triggers-output.schemas.js.map +1 -1
- package/dist/shared/connect-error-mapping.d.ts.map +1 -1
- package/dist/shared/connect-error-mapping.js +50 -50
- package/dist/shared/connect-error-mapping.js.map +1 -1
- package/dist/shared/error-detail.d.ts +37 -0
- package/dist/shared/error-detail.d.ts.map +1 -0
- package/dist/shared/error-detail.js +106 -0
- package/dist/shared/error-detail.js.map +1 -0
- package/dist/shared/errors.d.ts +11 -6
- package/dist/shared/errors.d.ts.map +1 -1
- package/dist/shared/errors.js +3 -1
- package/dist/shared/errors.js.map +1 -1
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +1 -15
- package/dist/utils/errors.js.map +1 -1
- package/dist/wired-services.js +5 -5
- package/package.json +1 -1
- package/dist/utils/connect-order-errors.d.ts +0 -15
- package/dist/utils/connect-order-errors.d.ts.map +0 -1
- package/dist/utils/connect-order-errors.js +0 -41
- package/dist/utils/connect-order-errors.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FeeAsset, SelfTradePreventionMode, Side } from "../../gen/orders/v1/orders_pb.js";
|
|
2
|
-
import { TriggerEventType, TriggerLimitFok, TriggerLimitGtc, TriggerLimitIoc, TriggerStatus, TriggerType, TwapLimitGtc } from "../../gen/triggers/v1/triggers_pb.js";
|
|
2
|
+
import { TriggerEventType, TriggerLimitFok, TriggerLimitGtc, TriggerLimitIoc, TriggerStatus, TriggerType, TwapLimitGtc, TwapMarketIoc } from "../../gen/triggers/v1/triggers_pb.js";
|
|
3
3
|
import { SdkScales } from "../../shared/decimal-surface.js";
|
|
4
4
|
import * as v from "valibot";
|
|
5
5
|
//#region src/services/triggers/trigger-input.schemas.d.ts
|
|
@@ -626,6 +626,15 @@ declare function createCreateTriggerInputSchema(scales: SdkScales): v.UnionSchem
|
|
|
626
626
|
readonly sliceIntervalMs: v.SchemaWithPipe<readonly [v.UnionSchema<[v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction]>, v.NumberSchema<undefined>], undefined>, v.TransformAction<string | number, bigint>]>;
|
|
627
627
|
readonly execution: v.VariantSchema<"type", [v.StrictObjectSchema<{
|
|
628
628
|
readonly type: v.LiteralSchema<"market_ioc", undefined>;
|
|
629
|
+
readonly maxSlippage: v.OptionalSchema<v.UnionSchema<[v.StrictObjectSchema<{
|
|
630
|
+
readonly kind: v.LiteralSchema<"slippage", undefined>;
|
|
631
|
+
readonly slippage: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
|
|
632
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
633
|
+
readonly kind: v.LiteralSchema<"bps", undefined>;
|
|
634
|
+
readonly bps: v.UnionSchema<[v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.GtValueAction<number, 0, undefined>]>], undefined>;
|
|
635
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
636
|
+
readonly kind: v.LiteralSchema<"none", undefined>;
|
|
637
|
+
}, undefined>], undefined>, undefined>;
|
|
629
638
|
}, undefined>, v.StrictObjectSchema<{
|
|
630
639
|
readonly type: v.LiteralSchema<"limit_gtc", undefined>;
|
|
631
640
|
readonly price: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
|
|
@@ -645,6 +654,15 @@ declare function createCreateTriggerInputSchema(scales: SdkScales): v.UnionSchem
|
|
|
645
654
|
sliceIntervalMs: bigint;
|
|
646
655
|
execution: {
|
|
647
656
|
type: "market_ioc";
|
|
657
|
+
maxSlippage?: {
|
|
658
|
+
kind: "bps";
|
|
659
|
+
bps: string | number;
|
|
660
|
+
} | {
|
|
661
|
+
kind: "slippage";
|
|
662
|
+
slippage: string;
|
|
663
|
+
} | {
|
|
664
|
+
kind: "none";
|
|
665
|
+
} | undefined;
|
|
648
666
|
} | {
|
|
649
667
|
type: "limit_gtc";
|
|
650
668
|
price: string;
|
|
@@ -664,6 +682,15 @@ declare function createCreateTriggerInputSchema(scales: SdkScales): v.UnionSchem
|
|
|
664
682
|
sliceIntervalMs: bigint;
|
|
665
683
|
execution: {
|
|
666
684
|
type: "market_ioc";
|
|
685
|
+
maxSlippage?: {
|
|
686
|
+
kind: "bps";
|
|
687
|
+
bps: string | number;
|
|
688
|
+
} | {
|
|
689
|
+
kind: "slippage";
|
|
690
|
+
slippage: string;
|
|
691
|
+
} | {
|
|
692
|
+
kind: "none";
|
|
693
|
+
} | undefined;
|
|
667
694
|
} | {
|
|
668
695
|
type: "limit_gtc";
|
|
669
696
|
price: string;
|
|
@@ -683,6 +710,15 @@ declare function createCreateTriggerInputSchema(scales: SdkScales): v.UnionSchem
|
|
|
683
710
|
sliceIntervalMs: bigint;
|
|
684
711
|
execution: {
|
|
685
712
|
type: "market_ioc";
|
|
713
|
+
maxSlippage?: {
|
|
714
|
+
kind: "bps";
|
|
715
|
+
bps: string | number;
|
|
716
|
+
} | {
|
|
717
|
+
kind: "slippage";
|
|
718
|
+
slippage: string;
|
|
719
|
+
} | {
|
|
720
|
+
kind: "none";
|
|
721
|
+
} | undefined;
|
|
686
722
|
} | {
|
|
687
723
|
type: "limit_gtc";
|
|
688
724
|
price: string;
|
|
@@ -706,7 +742,7 @@ declare function createCreateTriggerInputSchema(scales: SdkScales): v.UnionSchem
|
|
|
706
742
|
readonly sliceIntervalMs: bigint;
|
|
707
743
|
readonly execution: {
|
|
708
744
|
readonly case: "marketIoc";
|
|
709
|
-
readonly value:
|
|
745
|
+
readonly value: TwapMarketIoc;
|
|
710
746
|
} | {
|
|
711
747
|
readonly case: "limitGtc";
|
|
712
748
|
readonly value: TwapLimitGtc;
|
|
@@ -809,7 +845,7 @@ type CreateTriggerInput = v.InferInput<ReturnType<typeof createCreateTriggerInpu
|
|
|
809
845
|
declare const ListTriggersInputSchema: v.SchemaWithPipe<readonly [v.StrictObjectSchema<{
|
|
810
846
|
readonly parentOrderId: v.SchemaWithPipe<readonly [v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction]>, undefined>, v.TransformAction<string | undefined, bigint | undefined>]>;
|
|
811
847
|
readonly symbolId: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.GtValueAction<number, 0, undefined>, v.MaxValueAction<number, 4294967295, undefined>]>, undefined>;
|
|
812
|
-
readonly status: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["created", "armed", "running", "completed", "cancelled", "failed", "paused"], undefined>, undefined>, undefined>, v.TransformAction<("
|
|
848
|
+
readonly status: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["created", "armed", "running", "completed", "cancelled", "failed", "paused"], undefined>, undefined>, undefined>, v.TransformAction<("failed" | "cancelled" | "created" | "completed" | "armed" | "running" | "paused")[] | undefined, (TriggerStatus.STATUS_CREATED | TriggerStatus.STATUS_ARMED | TriggerStatus.STATUS_RUNNING | TriggerStatus.STATUS_COMPLETED | TriggerStatus.STATUS_CANCELED | TriggerStatus.STATUS_FAILED | TriggerStatus.STATUS_PAUSED)[]>]>;
|
|
813
849
|
readonly triggerType: v.SchemaWithPipe<readonly [v.OptionalSchema<v.PicklistSchema<readonly ["stop_loss", "take_profit", "trailing_stop", "twap", "ladder"], undefined>, undefined>, v.TransformAction<"twap" | "ladder" | "stop_loss" | "take_profit" | "trailing_stop" | undefined, TriggerType>]>;
|
|
814
850
|
readonly limit: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.GtValueAction<number, 0, undefined>, v.MaxValueAction<number, 1000, undefined>]>, 50>;
|
|
815
851
|
readonly pageToken: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction]>, "">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-input.schemas.d.ts","names":[],"sources":["../../../src/services/triggers/trigger-input.schemas.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"trigger-input.schemas.d.ts","names":[],"sources":["../../../src/services/triggers/trigger-input.schemas.ts"],"mappings":";;;;;;iBA6TgB,+BAA+B,QAAQ,YAAS,EAAA,aAAA,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAWpD,qBAAqB,EAAE,WAAW,kBAAkB;;cAGnD,yBAAuB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgCxB,oBAAoB,EAAE,kBAAkB;cAEvC,0BAAwB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;KACzB,qBAAqB,EAAE,kBAAkB;cAExC,uBAAqB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;KACtB,kBAAkB,EAAE,kBAAkB;cAErC,yBAAuB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;KACxB,oBAAoB,EAAE,kBAAkB;cAEvC,0BAAwB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;KAUzB,qBAAqB,EAAE,kBAAkB;iBAErC,+BAA+B,QAAQ,YAAS,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8DpD,qBAAqB,EAAE,WAAW,kBAAkB;cAEnD,8BAA4B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;KAiB7B,yBAAyB,EAAE,kBAAkB"}
|
|
@@ -7,10 +7,10 @@ import { BpsStringOrNumberInputSchema, NoneInputSchema, SymbolIdInputSchema } fr
|
|
|
7
7
|
import { AccountScopeInputEntries, accountScopeToSubaccountId } from "../../shared/account-scope.js";
|
|
8
8
|
import { positiveDecimalInputToScaled } from "../../shared/decimal-surface.js";
|
|
9
9
|
import { OrderSideCodec } from "../orders/order-enums.codecs.js";
|
|
10
|
-
import {
|
|
10
|
+
import { parseTrailingDistanceInput } from "../trailing-oneof-inputs.js";
|
|
11
11
|
import "../../gen/triggers/v1/triggers_pb.js";
|
|
12
12
|
import { TRIGGER_EVENT_TYPE_VALUES, TRIGGER_STATUS_FILTER_VALUES, TRIGGER_TYPE_VALUES, TriggerEventTypeCodec, TriggerStatusCodec, TriggerTypeCodec } from "./triggers.codecs.js";
|
|
13
|
-
import { BaseTriggerFieldsSchema, ConditionalExecutionInputSchema, DecimalInputStringSchema, LimitConditionalExecutionInputSchema, TriggerSideInputSchema, TwapExecutionInputSchema, buildConditionalExecution, buildTriggerIntentBase, buildTwapExecution } from "./trigger-child-order.schemas.js";
|
|
13
|
+
import { BaseTriggerFieldsSchema, ConditionalExecutionInputSchema, DecimalInputStringSchema, LimitConditionalExecutionInputSchema, MaxSlippageInputSchema, TriggerSideInputSchema, TwapExecutionInputSchema, buildConditionalExecution, buildTriggerIntentBase, buildTwapExecution, parseMaxSlippage } from "./trigger-child-order.schemas.js";
|
|
14
14
|
import * as v from "valibot";
|
|
15
15
|
//#region src/services/triggers/trigger-input.schemas.ts
|
|
16
16
|
const TriggerTypeSchema = v.picklist(TRIGGER_TYPE_VALUES);
|
|
@@ -29,22 +29,7 @@ const PriceDistanceInputSchema = v.strictObject({
|
|
|
29
29
|
kind: v.literal("distance"),
|
|
30
30
|
distance: DecimalInputStringSchema
|
|
31
31
|
});
|
|
32
|
-
/** Absolute price slippage, as a decimal price string (e.g. "0.25"). */
|
|
33
|
-
const PriceSlippageInputSchema = v.strictObject({
|
|
34
|
-
kind: v.literal("slippage"),
|
|
35
|
-
slippage: DecimalInputStringSchema
|
|
36
|
-
});
|
|
37
32
|
const TrailingDistanceInputSchema = v.union([PriceDistanceInputSchema, BpsStringOrNumberInputSchema]);
|
|
38
|
-
const MaxSlippageInputSchema = v.union([
|
|
39
|
-
PriceSlippageInputSchema,
|
|
40
|
-
BpsStringOrNumberInputSchema,
|
|
41
|
-
NoneInputSchema
|
|
42
|
-
]);
|
|
43
|
-
const MaxSlippagePatchInputSchema = v.union([
|
|
44
|
-
PriceSlippageInputSchema,
|
|
45
|
-
BpsStringOrNumberInputSchema,
|
|
46
|
-
NoneInputSchema
|
|
47
|
-
]);
|
|
48
33
|
const ActivationPricePatchInputSchema = v.union([DecimalInputStringSchema, NoneInputSchema]);
|
|
49
34
|
function parseTrailingDistance(scales, distance) {
|
|
50
35
|
return parseTrailingDistanceInput(scales, distance, "trailingDistance");
|
|
@@ -54,14 +39,6 @@ function parseTwapMilliseconds(value, fieldName, minimum) {
|
|
|
54
39
|
if (parsed === void 0 || parsed < minimum || parsed > 9223372036854775807n) throw new Error(`${fieldName} must be between ${minimum} and ${PROTOBUF_INT64_MAX} milliseconds`);
|
|
55
40
|
return parsed;
|
|
56
41
|
}
|
|
57
|
-
function parseMaxSlippage(scales, slippage) {
|
|
58
|
-
return parseSlippageInput(scales, slippage, {
|
|
59
|
-
fieldName: "maxSlippage",
|
|
60
|
-
ticksCase: "maxSlippageTicks",
|
|
61
|
-
bpsCase: "maxSlippageBps",
|
|
62
|
-
maxBps: MAX_SLIPPAGE_BPS
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
42
|
function parseMaxSlippagePatch(scales, slippage) {
|
|
66
43
|
if (slippage.kind === "none") return {
|
|
67
44
|
case: "maxSlippageTicks",
|
|
@@ -235,7 +212,7 @@ function createModifyTriggerInputSchema(scales) {
|
|
|
235
212
|
limitPrice: v.optional(DecimalInputStringSchema),
|
|
236
213
|
trailingDistance: v.optional(TrailingDistanceInputSchema),
|
|
237
214
|
activationPrice: v.optional(ActivationPricePatchInputSchema),
|
|
238
|
-
maxSlippage: v.optional(
|
|
215
|
+
maxSlippage: v.optional(MaxSlippageInputSchema)
|
|
239
216
|
}), v.check((input) => input.triggerPrice !== void 0 || input.limitPrice !== void 0 || input.trailingDistance !== void 0 || input.activationPrice !== void 0 || input.maxSlippage !== void 0, "At least one patch field is required"), v.transform(({ account, ...input }) => ({
|
|
240
217
|
triggerId: input.triggerId,
|
|
241
218
|
subaccountId: accountScopeToSubaccountId(account),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-input.schemas.js","names":["TriggerSideCodec"],"sources":["../../../src/services/triggers/trigger-input.schemas.ts"],"sourcesContent":["import * as Proto from \"../../gen/triggers/v1/triggers_pb.js\";\nimport * as ProtoOrders from \"../../gen/orders/v1/orders_pb.js\";\nimport * as v from \"valibot\";\nimport { idInputSchema } from \"../../shared/schemas.js\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../shared/account-scope.js\";\nimport { positiveDecimalInputToScaled, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport { PROTOBUF_INT64_MAX } from \"../../shared/wire-bounds.js\";\nimport {\n parseOptionalPositiveBigIntLike,\n parseOptionalPositiveIntLike,\n} from \"../../utils/numbers.js\";\nimport { idToBigInt } from \"../../utils/base58-id.js\";\nimport {\n TRIGGER_EVENT_TYPE_VALUES,\n TRIGGER_STATUS_FILTER_VALUES,\n TRIGGER_TYPE_VALUES,\n TriggerEventTypeCodec,\n TriggerSideCodec,\n TriggerTypeCodec,\n TriggerStatusCodec,\n} from \"./triggers.codecs.js\";\nimport { BpsStringOrNumberInputSchema, NoneInputSchema, SymbolIdInputSchema } from \"../shared.js\";\nimport {\n BaseTriggerFieldsSchema,\n ConditionalExecutionInputSchema,\n DecimalInputStringSchema,\n LimitConditionalExecutionInputSchema,\n TriggerSideInputSchema,\n TwapExecutionInputSchema,\n buildConditionalExecution,\n buildTriggerIntentBase,\n buildTwapExecution,\n type MaxSlippageOneof,\n type TrailingDistanceOneof,\n} from \"./trigger-child-order.schemas.js\";\nimport {\n MAX_SLIPPAGE_BPS,\n parseSlippageInput,\n parseTrailingDistanceInput,\n} from \"../trailing-oneof-inputs.js\";\n\nconst TriggerTypeSchema = v.picklist(TRIGGER_TYPE_VALUES);\nconst TriggerStatusFilterSchema = v.picklist(TRIGGER_STATUS_FILTER_VALUES);\nconst TriggerEventTypeSchema = v.picklist(TRIGGER_EVENT_TYPE_VALUES);\nconst TriggerIdInputSchema = idInputSchema(\"triggerId\");\n\nconst TriggerScopedInputEntries = {\n triggerId: TriggerIdInputSchema,\n ...AccountScopeInputEntries,\n};\n\nconst TriggerScopedInputSchema = v.pipe(\n v.strictObject(TriggerScopedInputEntries),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\n/** Absolute price distance, as a decimal price string (e.g. \"0.50\"). */\nconst PriceDistanceInputSchema = v.strictObject({\n kind: v.literal(\"distance\"),\n distance: DecimalInputStringSchema,\n});\n\n/** Absolute price slippage, as a decimal price string (e.g. \"0.25\"). */\nconst PriceSlippageInputSchema = v.strictObject({\n kind: v.literal(\"slippage\"),\n slippage: DecimalInputStringSchema,\n});\n\nconst TrailingDistanceInputSchema = v.union([\n PriceDistanceInputSchema,\n BpsStringOrNumberInputSchema,\n]);\n\nconst MaxSlippageInputSchema = v.union([\n PriceSlippageInputSchema,\n BpsStringOrNumberInputSchema,\n NoneInputSchema,\n]);\n\nconst MaxSlippagePatchInputSchema = v.union([\n PriceSlippageInputSchema,\n BpsStringOrNumberInputSchema,\n NoneInputSchema,\n]);\n\nconst ActivationPricePatchInputSchema = v.union([DecimalInputStringSchema, NoneInputSchema]);\n\nfunction parseTrailingDistance(\n scales: SdkScales,\n distance: v.InferOutput<typeof TrailingDistanceInputSchema>,\n): TrailingDistanceOneof {\n return parseTrailingDistanceInput(scales, distance, \"trailingDistance\");\n}\n\nfunction parseTwapMilliseconds(\n value: string | number,\n fieldName: \"durationMs\" | \"sliceIntervalMs\",\n minimum: bigint,\n): bigint {\n const parsed = parseOptionalPositiveBigIntLike(value);\n if (parsed === undefined || parsed < minimum || parsed > PROTOBUF_INT64_MAX) {\n throw new Error(\n `${fieldName} must be between ${minimum} and ${PROTOBUF_INT64_MAX} milliseconds`,\n );\n }\n return parsed;\n}\n\nfunction parseMaxSlippage(\n scales: SdkScales,\n slippage: v.InferOutput<typeof MaxSlippageInputSchema> | undefined,\n): MaxSlippageOneof {\n return parseSlippageInput(scales, slippage, {\n fieldName: \"maxSlippage\",\n ticksCase: \"maxSlippageTicks\",\n bpsCase: \"maxSlippageBps\",\n maxBps: MAX_SLIPPAGE_BPS,\n });\n}\n\nfunction parseMaxSlippagePatch(\n scales: SdkScales,\n slippage: v.InferOutput<typeof MaxSlippagePatchInputSchema>,\n): MaxSlippageOneof {\n if (slippage.kind === \"none\") {\n return { case: \"maxSlippageTicks\", value: 0 };\n }\n return parseMaxSlippage(scales, slippage);\n}\n\nfunction createConditionalTriggerInputSchema<const TriggerType extends \"stop_loss\" | \"take_profit\">(\n scales: SdkScales,\n triggerType: TriggerType,\n) {\n const sharedEntries = {\n ...BaseTriggerFieldsSchema.entries,\n triggerType: v.literal(triggerType),\n triggerPrice: DecimalInputStringSchema,\n };\n\n const sellInputSchema = v.strictObject({\n ...sharedEntries,\n side: v.literal(\"sell\"),\n execution: ConditionalExecutionInputSchema,\n });\n const buyInputSchema = v.strictObject({\n ...sharedEntries,\n side: v.literal(\"buy\"),\n execution: LimitConditionalExecutionInputSchema,\n });\n\n function transformInput(\n input: v.InferOutput<typeof sellInputSchema> | v.InferOutput<typeof buyInputSchema>,\n ) {\n const { subaccountId, intent } = buildTriggerIntentBase(input, scales);\n const strategy = {\n triggerPriceTicks: positiveDecimalInputToScaled(\n \"triggerPrice\",\n input.triggerPrice,\n scales.price(),\n ),\n side: TriggerSideCodec.inputToProto[input.side],\n child: buildConditionalExecution(input.execution, scales),\n };\n return {\n subaccountId,\n trigger: {\n ...intent,\n strategy:\n triggerType === \"stop_loss\"\n ? ({ case: \"stopLoss\", value: strategy } as const)\n : ({ case: \"takeProfit\", value: strategy } as const),\n },\n };\n }\n\n return [\n v.pipe(\n sellInputSchema,\n v.check(\n (input) => input.feeAsset === ProtoOrders.FeeAsset.QUOTE,\n \"SELL triggers must use the quote fee asset\",\n ),\n v.transform((input: v.InferOutput<typeof sellInputSchema>) => transformInput(input)),\n ),\n v.pipe(\n buyInputSchema,\n v.transform((input: v.InferOutput<typeof buyInputSchema>) => transformInput(input)),\n ),\n ] as const;\n}\n\nfunction createTrailingStopTriggerInputSchema(scales: SdkScales) {\n return v.pipe(\n v.strictObject({\n ...BaseTriggerFieldsSchema.entries,\n triggerType: v.literal(\"trailing_stop\"),\n trailingDistance: TrailingDistanceInputSchema,\n activationPrice: v.optional(DecimalInputStringSchema),\n maxSlippage: v.optional(MaxSlippageInputSchema),\n }),\n v.check(\n (input) => input.feeAsset === ProtoOrders.FeeAsset.QUOTE,\n \"Trailing-stop triggers must use the quote fee asset\",\n ),\n v.transform((input) => {\n const { subaccountId, intent } = buildTriggerIntentBase(input, scales);\n return {\n subaccountId,\n trigger: {\n ...intent,\n strategy: {\n case: \"trailingStop\",\n value: {\n trailingDistance: parseTrailingDistance(scales, input.trailingDistance),\n activationPriceTicks:\n input.activationPrice === undefined\n ? 0n\n : positiveDecimalInputToScaled(\n \"activationPrice\",\n input.activationPrice,\n scales.price(),\n ),\n maxSlippage: parseMaxSlippage(scales, input.maxSlippage),\n side: ProtoOrders.Side.SELL,\n },\n } as const,\n },\n };\n }),\n );\n}\n\nfunction createTwapTriggerInputSchema(scales: SdkScales) {\n return v.pipe(\n v.strictObject({\n ...BaseTriggerFieldsSchema.entries,\n triggerType: v.literal(\"twap\"),\n side: TriggerSideInputSchema,\n durationMs: v.pipe(\n v.union([v.pipe(v.string(), v.trim()), v.number()]),\n v.transform((value) => parseTwapMilliseconds(value, \"durationMs\", 1_000n)),\n ),\n sliceIntervalMs: v.pipe(\n v.union([v.pipe(v.string(), v.trim()), v.number()]),\n v.transform((value) => parseTwapMilliseconds(value, \"sliceIntervalMs\", 100n)),\n ),\n execution: TwapExecutionInputSchema,\n }),\n v.check(\n (input) =>\n input.side !== ProtoOrders.Side.SELL ||\n input.feeAsset === ProtoOrders.FeeAsset.QUOTE,\n \"SELL triggers must use the quote fee asset\",\n ),\n v.check(\n (input) => input.sliceIntervalMs <= input.durationMs,\n \"sliceIntervalMs cannot exceed durationMs\",\n ),\n v.transform((input) => {\n const { subaccountId, intent } = buildTriggerIntentBase(input, scales);\n return {\n subaccountId,\n trigger: {\n ...intent,\n strategy: {\n case: \"twap\",\n value: {\n side: input.side,\n durationMs: input.durationMs,\n sliceIntervalMs: input.sliceIntervalMs,\n execution: buildTwapExecution(input.execution, scales),\n },\n } as const,\n },\n };\n }),\n );\n}\n\nfunction createLadderTriggerInputSchema(scales: SdkScales) {\n return v.pipe(\n v.strictObject({\n ...BaseTriggerFieldsSchema.entries,\n triggerType: v.literal(\"ladder\"),\n side: TriggerSideInputSchema,\n priceMin: DecimalInputStringSchema,\n priceMax: DecimalInputStringSchema,\n levels: v.pipe(\n v.union([v.pipe(v.string(), v.trim()), v.pipe(v.number(), v.integer())]),\n v.transform((value) => {\n const levels = parseOptionalPositiveIntLike(value);\n if (!levels || levels < 2 || levels > 100) {\n throw new Error(\"levels must be between 2 and 100\");\n }\n return levels;\n }),\n ),\n postOnly: v.optional(v.boolean(), false),\n }),\n v.check(\n (input) =>\n input.side !== ProtoOrders.Side.SELL ||\n input.feeAsset === ProtoOrders.FeeAsset.QUOTE,\n \"SELL triggers must use the quote fee asset\",\n ),\n v.transform((input) => {\n const { subaccountId, intent } = buildTriggerIntentBase(input, scales);\n return {\n subaccountId,\n trigger: {\n ...intent,\n strategy: {\n case: \"ladder\",\n value: {\n side: input.side,\n priceMinTicks: positiveDecimalInputToScaled(\n \"priceMin\",\n input.priceMin,\n scales.price(),\n ),\n priceMaxTicks: positiveDecimalInputToScaled(\n \"priceMax\",\n input.priceMax,\n scales.price(),\n ),\n levels: input.levels,\n postOnly: input.postOnly,\n },\n } as const,\n },\n };\n }),\n v.check(\n (output) =>\n output.trigger.strategy.value.priceMinTicks <\n output.trigger.strategy.value.priceMaxTicks,\n \"priceMin must be less than priceMax\",\n ),\n );\n}\n\n/** Builds the create-trigger boundary schema using catalog scales keyed by symbol ID. */\nexport function createCreateTriggerInputSchema(scales: SdkScales) {\n return v.union([\n ...createConditionalTriggerInputSchema(scales, \"stop_loss\"),\n ...createConditionalTriggerInputSchema(scales, \"take_profit\"),\n createTrailingStopTriggerInputSchema(scales),\n createTwapTriggerInputSchema(scales),\n createLadderTriggerInputSchema(scales),\n ]);\n}\n\n/** Public input for creating a standalone trigger. */\nexport type CreateTriggerInput = v.InferInput<ReturnType<typeof createCreateTriggerInputSchema>>;\n\n/** Public filters for listing triggers in an account scope. */\nexport const ListTriggersInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n parentOrderId: v.pipe(\n v.optional(v.pipe(v.string(), v.trim())),\n v.transform((value) => (value ? idToBigInt(value, \"parentOrderId\") : undefined)),\n ),\n symbolId: v.optional(SymbolIdInputSchema),\n status: v.pipe(\n v.optional(v.array(TriggerStatusFilterSchema)),\n v.transform(\n (values) => values?.map((value) => TriggerStatusCodec.inputToProto[value]) ?? [],\n ),\n ),\n triggerType: v.pipe(\n v.optional(TriggerTypeSchema),\n v.transform((value) =>\n value\n ? TriggerTypeCodec.inputToProto[value]\n : Proto.TriggerType.TRIGGER_TYPE_UNSPECIFIED,\n ),\n ),\n limit: v.optional(v.pipe(v.number(), v.integer(), v.gtValue(0), v.maxValue(1000)), 50),\n pageToken: v.optional(v.pipe(v.string(), v.trim()), \"\"),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\n/** Public filters for listing triggers. */\nexport type ListTriggersInput = v.InferInput<typeof ListTriggersInputSchema>;\n\nexport const CancelTriggerInputSchema = TriggerScopedInputSchema;\nexport type CancelTriggerInput = v.InferInput<typeof CancelTriggerInputSchema>;\n\nexport const GetTriggerInputSchema = CancelTriggerInputSchema;\nexport type GetTriggerInput = v.InferInput<typeof GetTriggerInputSchema>;\n\nexport const PauseTriggerInputSchema = TriggerScopedInputSchema;\nexport type PauseTriggerInput = v.InferInput<typeof PauseTriggerInputSchema>;\n\nexport const ResumeTriggerInputSchema = v.pipe(\n v.strictObject({\n ...TriggerScopedInputEntries,\n symbolId: SymbolIdInputSchema,\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\nexport type ResumeTriggerInput = v.InferInput<typeof ResumeTriggerInputSchema>;\n\nexport function createModifyTriggerInputSchema(scales: SdkScales) {\n return v.pipe(\n v.strictObject({\n ...TriggerScopedInputEntries,\n symbolId: SymbolIdInputSchema,\n triggerPrice: v.optional(DecimalInputStringSchema),\n limitPrice: v.optional(DecimalInputStringSchema),\n trailingDistance: v.optional(TrailingDistanceInputSchema),\n activationPrice: v.optional(ActivationPricePatchInputSchema),\n maxSlippage: v.optional(MaxSlippagePatchInputSchema),\n }),\n v.check(\n (input) =>\n input.triggerPrice !== undefined ||\n input.limitPrice !== undefined ||\n input.trailingDistance !== undefined ||\n input.activationPrice !== undefined ||\n input.maxSlippage !== undefined,\n \"At least one patch field is required\",\n ),\n v.transform(({ account, ...input }) => ({\n triggerId: input.triggerId,\n subaccountId: accountScopeToSubaccountId(account),\n symbolId: input.symbolId,\n triggerPriceTicks:\n input.triggerPrice === undefined\n ? undefined\n : positiveDecimalInputToScaled(\n \"triggerPrice\",\n input.triggerPrice,\n scales.price(),\n ),\n limitPriceTicks:\n input.limitPrice === undefined\n ? undefined\n : positiveDecimalInputToScaled(\"limitPrice\", input.limitPrice, scales.price()),\n trailingDistance:\n input.trailingDistance === undefined\n ? ({ case: undefined, value: undefined } as const)\n : parseTrailingDistance(scales, input.trailingDistance),\n activationPriceTicks:\n input.activationPrice === undefined\n ? undefined\n : typeof input.activationPrice !== \"string\"\n ? 0n\n : positiveDecimalInputToScaled(\n \"activationPrice\",\n input.activationPrice,\n scales.price(),\n ),\n maxSlippage:\n input.maxSlippage === undefined\n ? ({ case: undefined, value: undefined } as const)\n : parseMaxSlippagePatch(scales, input.maxSlippage),\n })),\n );\n}\n\n/**\n * A trigger patch. Omitted fields remain unchanged; `{ kind: \"none\" }` clears\n * `activationPrice` or `maxSlippage`.\n */\nexport type ModifyTriggerInput = v.InferInput<ReturnType<typeof createModifyTriggerInputSchema>>;\n\nexport const ListTriggerEventsInputSchema = v.pipe(\n v.strictObject({\n ...TriggerScopedInputEntries,\n limit: v.optional(v.pipe(v.number(), v.integer(), v.gtValue(0), v.maxValue(1000))),\n eventType: v.optional(TriggerEventTypeSchema),\n pageToken: v.optional(v.pipe(v.string(), v.trim()), \"\"),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n eventType:\n input.eventType === undefined\n ? undefined\n : TriggerEventTypeCodec.inputToProto[input.eventType],\n })),\n);\n\nexport type ListTriggerEventsInput = v.InferInput<typeof ListTriggerEventsInputSchema>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trigger-input.schemas.js","names":["TriggerSideCodec"],"sources":["../../../src/services/triggers/trigger-input.schemas.ts"],"sourcesContent":["import * as Proto from \"../../gen/triggers/v1/triggers_pb.js\";\nimport * as ProtoOrders from \"../../gen/orders/v1/orders_pb.js\";\nimport * as v from \"valibot\";\nimport { idInputSchema } from \"../../shared/schemas.js\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../shared/account-scope.js\";\nimport { positiveDecimalInputToScaled, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport { PROTOBUF_INT64_MAX } from \"../../shared/wire-bounds.js\";\nimport {\n parseOptionalPositiveBigIntLike,\n parseOptionalPositiveIntLike,\n} from \"../../utils/numbers.js\";\nimport { idToBigInt } from \"../../utils/base58-id.js\";\nimport {\n TRIGGER_EVENT_TYPE_VALUES,\n TRIGGER_STATUS_FILTER_VALUES,\n TRIGGER_TYPE_VALUES,\n TriggerEventTypeCodec,\n TriggerSideCodec,\n TriggerTypeCodec,\n TriggerStatusCodec,\n} from \"./triggers.codecs.js\";\nimport { BpsStringOrNumberInputSchema, NoneInputSchema, SymbolIdInputSchema } from \"../shared.js\";\nimport {\n BaseTriggerFieldsSchema,\n ConditionalExecutionInputSchema,\n DecimalInputStringSchema,\n LimitConditionalExecutionInputSchema,\n TriggerSideInputSchema,\n TwapExecutionInputSchema,\n buildConditionalExecution,\n buildTriggerIntentBase,\n buildTwapExecution,\n MaxSlippageInputSchema,\n parseMaxSlippage,\n type MaxSlippageOneof,\n type TrailingDistanceOneof,\n} from \"./trigger-child-order.schemas.js\";\nimport { parseTrailingDistanceInput } from \"../trailing-oneof-inputs.js\";\n\nconst TriggerTypeSchema = v.picklist(TRIGGER_TYPE_VALUES);\nconst TriggerStatusFilterSchema = v.picklist(TRIGGER_STATUS_FILTER_VALUES);\nconst TriggerEventTypeSchema = v.picklist(TRIGGER_EVENT_TYPE_VALUES);\nconst TriggerIdInputSchema = idInputSchema(\"triggerId\");\n\nconst TriggerScopedInputEntries = {\n triggerId: TriggerIdInputSchema,\n ...AccountScopeInputEntries,\n};\n\nconst TriggerScopedInputSchema = v.pipe(\n v.strictObject(TriggerScopedInputEntries),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\n/** Absolute price distance, as a decimal price string (e.g. \"0.50\"). */\nconst PriceDistanceInputSchema = v.strictObject({\n kind: v.literal(\"distance\"),\n distance: DecimalInputStringSchema,\n});\n\nconst TrailingDistanceInputSchema = v.union([\n PriceDistanceInputSchema,\n BpsStringOrNumberInputSchema,\n]);\n\nconst ActivationPricePatchInputSchema = v.union([DecimalInputStringSchema, NoneInputSchema]);\n\nfunction parseTrailingDistance(\n scales: SdkScales,\n distance: v.InferOutput<typeof TrailingDistanceInputSchema>,\n): TrailingDistanceOneof {\n return parseTrailingDistanceInput(scales, distance, \"trailingDistance\");\n}\n\nfunction parseTwapMilliseconds(\n value: string | number,\n fieldName: \"durationMs\" | \"sliceIntervalMs\",\n minimum: bigint,\n): bigint {\n const parsed = parseOptionalPositiveBigIntLike(value);\n if (parsed === undefined || parsed < minimum || parsed > PROTOBUF_INT64_MAX) {\n throw new Error(\n `${fieldName} must be between ${minimum} and ${PROTOBUF_INT64_MAX} milliseconds`,\n );\n }\n return parsed;\n}\n\nfunction parseMaxSlippagePatch(\n scales: SdkScales,\n slippage: v.InferOutput<typeof MaxSlippageInputSchema>,\n): MaxSlippageOneof {\n if (slippage.kind === \"none\") {\n return { case: \"maxSlippageTicks\", value: 0 };\n }\n return parseMaxSlippage(scales, slippage);\n}\n\nfunction createConditionalTriggerInputSchema<const TriggerType extends \"stop_loss\" | \"take_profit\">(\n scales: SdkScales,\n triggerType: TriggerType,\n) {\n const sharedEntries = {\n ...BaseTriggerFieldsSchema.entries,\n triggerType: v.literal(triggerType),\n triggerPrice: DecimalInputStringSchema,\n };\n\n const sellInputSchema = v.strictObject({\n ...sharedEntries,\n side: v.literal(\"sell\"),\n execution: ConditionalExecutionInputSchema,\n });\n const buyInputSchema = v.strictObject({\n ...sharedEntries,\n side: v.literal(\"buy\"),\n execution: LimitConditionalExecutionInputSchema,\n });\n\n function transformInput(\n input: v.InferOutput<typeof sellInputSchema> | v.InferOutput<typeof buyInputSchema>,\n ) {\n const { subaccountId, intent } = buildTriggerIntentBase(input, scales);\n const strategy = {\n triggerPriceTicks: positiveDecimalInputToScaled(\n \"triggerPrice\",\n input.triggerPrice,\n scales.price(),\n ),\n side: TriggerSideCodec.inputToProto[input.side],\n child: buildConditionalExecution(input.execution, scales),\n };\n return {\n subaccountId,\n trigger: {\n ...intent,\n strategy:\n triggerType === \"stop_loss\"\n ? ({ case: \"stopLoss\", value: strategy } as const)\n : ({ case: \"takeProfit\", value: strategy } as const),\n },\n };\n }\n\n return [\n v.pipe(\n sellInputSchema,\n v.check(\n (input) => input.feeAsset === ProtoOrders.FeeAsset.QUOTE,\n \"SELL triggers must use the quote fee asset\",\n ),\n v.transform((input: v.InferOutput<typeof sellInputSchema>) => transformInput(input)),\n ),\n v.pipe(\n buyInputSchema,\n v.transform((input: v.InferOutput<typeof buyInputSchema>) => transformInput(input)),\n ),\n ] as const;\n}\n\nfunction createTrailingStopTriggerInputSchema(scales: SdkScales) {\n return v.pipe(\n v.strictObject({\n ...BaseTriggerFieldsSchema.entries,\n triggerType: v.literal(\"trailing_stop\"),\n trailingDistance: TrailingDistanceInputSchema,\n activationPrice: v.optional(DecimalInputStringSchema),\n maxSlippage: v.optional(MaxSlippageInputSchema),\n }),\n v.check(\n (input) => input.feeAsset === ProtoOrders.FeeAsset.QUOTE,\n \"Trailing-stop triggers must use the quote fee asset\",\n ),\n v.transform((input) => {\n const { subaccountId, intent } = buildTriggerIntentBase(input, scales);\n return {\n subaccountId,\n trigger: {\n ...intent,\n strategy: {\n case: \"trailingStop\",\n value: {\n trailingDistance: parseTrailingDistance(scales, input.trailingDistance),\n activationPriceTicks:\n input.activationPrice === undefined\n ? 0n\n : positiveDecimalInputToScaled(\n \"activationPrice\",\n input.activationPrice,\n scales.price(),\n ),\n maxSlippage: parseMaxSlippage(scales, input.maxSlippage),\n side: ProtoOrders.Side.SELL,\n },\n } as const,\n },\n };\n }),\n );\n}\n\nfunction createTwapTriggerInputSchema(scales: SdkScales) {\n return v.pipe(\n v.strictObject({\n ...BaseTriggerFieldsSchema.entries,\n triggerType: v.literal(\"twap\"),\n side: TriggerSideInputSchema,\n durationMs: v.pipe(\n v.union([v.pipe(v.string(), v.trim()), v.number()]),\n v.transform((value) => parseTwapMilliseconds(value, \"durationMs\", 1_000n)),\n ),\n sliceIntervalMs: v.pipe(\n v.union([v.pipe(v.string(), v.trim()), v.number()]),\n v.transform((value) => parseTwapMilliseconds(value, \"sliceIntervalMs\", 100n)),\n ),\n execution: TwapExecutionInputSchema,\n }),\n v.check(\n (input) =>\n input.side !== ProtoOrders.Side.SELL ||\n input.feeAsset === ProtoOrders.FeeAsset.QUOTE,\n \"SELL triggers must use the quote fee asset\",\n ),\n v.check(\n (input) => input.sliceIntervalMs <= input.durationMs,\n \"sliceIntervalMs cannot exceed durationMs\",\n ),\n v.transform((input) => {\n const { subaccountId, intent } = buildTriggerIntentBase(input, scales);\n return {\n subaccountId,\n trigger: {\n ...intent,\n strategy: {\n case: \"twap\",\n value: {\n side: input.side,\n durationMs: input.durationMs,\n sliceIntervalMs: input.sliceIntervalMs,\n execution: buildTwapExecution(input.execution, scales),\n },\n } as const,\n },\n };\n }),\n );\n}\n\nfunction createLadderTriggerInputSchema(scales: SdkScales) {\n return v.pipe(\n v.strictObject({\n ...BaseTriggerFieldsSchema.entries,\n triggerType: v.literal(\"ladder\"),\n side: TriggerSideInputSchema,\n priceMin: DecimalInputStringSchema,\n priceMax: DecimalInputStringSchema,\n levels: v.pipe(\n v.union([v.pipe(v.string(), v.trim()), v.pipe(v.number(), v.integer())]),\n v.transform((value) => {\n const levels = parseOptionalPositiveIntLike(value);\n if (!levels || levels < 2 || levels > 100) {\n throw new Error(\"levels must be between 2 and 100\");\n }\n return levels;\n }),\n ),\n postOnly: v.optional(v.boolean(), false),\n }),\n v.check(\n (input) =>\n input.side !== ProtoOrders.Side.SELL ||\n input.feeAsset === ProtoOrders.FeeAsset.QUOTE,\n \"SELL triggers must use the quote fee asset\",\n ),\n v.transform((input) => {\n const { subaccountId, intent } = buildTriggerIntentBase(input, scales);\n return {\n subaccountId,\n trigger: {\n ...intent,\n strategy: {\n case: \"ladder\",\n value: {\n side: input.side,\n priceMinTicks: positiveDecimalInputToScaled(\n \"priceMin\",\n input.priceMin,\n scales.price(),\n ),\n priceMaxTicks: positiveDecimalInputToScaled(\n \"priceMax\",\n input.priceMax,\n scales.price(),\n ),\n levels: input.levels,\n postOnly: input.postOnly,\n },\n } as const,\n },\n };\n }),\n v.check(\n (output) =>\n output.trigger.strategy.value.priceMinTicks <\n output.trigger.strategy.value.priceMaxTicks,\n \"priceMin must be less than priceMax\",\n ),\n );\n}\n\n/** Builds the create-trigger boundary schema using catalog scales keyed by symbol ID. */\nexport function createCreateTriggerInputSchema(scales: SdkScales) {\n return v.union([\n ...createConditionalTriggerInputSchema(scales, \"stop_loss\"),\n ...createConditionalTriggerInputSchema(scales, \"take_profit\"),\n createTrailingStopTriggerInputSchema(scales),\n createTwapTriggerInputSchema(scales),\n createLadderTriggerInputSchema(scales),\n ]);\n}\n\n/** Public input for creating a standalone trigger. */\nexport type CreateTriggerInput = v.InferInput<ReturnType<typeof createCreateTriggerInputSchema>>;\n\n/** Public filters for listing triggers in an account scope. */\nexport const ListTriggersInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n parentOrderId: v.pipe(\n v.optional(v.pipe(v.string(), v.trim())),\n v.transform((value) => (value ? idToBigInt(value, \"parentOrderId\") : undefined)),\n ),\n symbolId: v.optional(SymbolIdInputSchema),\n status: v.pipe(\n v.optional(v.array(TriggerStatusFilterSchema)),\n v.transform(\n (values) => values?.map((value) => TriggerStatusCodec.inputToProto[value]) ?? [],\n ),\n ),\n triggerType: v.pipe(\n v.optional(TriggerTypeSchema),\n v.transform((value) =>\n value\n ? TriggerTypeCodec.inputToProto[value]\n : Proto.TriggerType.TRIGGER_TYPE_UNSPECIFIED,\n ),\n ),\n limit: v.optional(v.pipe(v.number(), v.integer(), v.gtValue(0), v.maxValue(1000)), 50),\n pageToken: v.optional(v.pipe(v.string(), v.trim()), \"\"),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\n/** Public filters for listing triggers. */\nexport type ListTriggersInput = v.InferInput<typeof ListTriggersInputSchema>;\n\nexport const CancelTriggerInputSchema = TriggerScopedInputSchema;\nexport type CancelTriggerInput = v.InferInput<typeof CancelTriggerInputSchema>;\n\nexport const GetTriggerInputSchema = CancelTriggerInputSchema;\nexport type GetTriggerInput = v.InferInput<typeof GetTriggerInputSchema>;\n\nexport const PauseTriggerInputSchema = TriggerScopedInputSchema;\nexport type PauseTriggerInput = v.InferInput<typeof PauseTriggerInputSchema>;\n\nexport const ResumeTriggerInputSchema = v.pipe(\n v.strictObject({\n ...TriggerScopedInputEntries,\n symbolId: SymbolIdInputSchema,\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\nexport type ResumeTriggerInput = v.InferInput<typeof ResumeTriggerInputSchema>;\n\nexport function createModifyTriggerInputSchema(scales: SdkScales) {\n return v.pipe(\n v.strictObject({\n ...TriggerScopedInputEntries,\n symbolId: SymbolIdInputSchema,\n triggerPrice: v.optional(DecimalInputStringSchema),\n limitPrice: v.optional(DecimalInputStringSchema),\n trailingDistance: v.optional(TrailingDistanceInputSchema),\n activationPrice: v.optional(ActivationPricePatchInputSchema),\n maxSlippage: v.optional(MaxSlippageInputSchema),\n }),\n v.check(\n (input) =>\n input.triggerPrice !== undefined ||\n input.limitPrice !== undefined ||\n input.trailingDistance !== undefined ||\n input.activationPrice !== undefined ||\n input.maxSlippage !== undefined,\n \"At least one patch field is required\",\n ),\n v.transform(({ account, ...input }) => ({\n triggerId: input.triggerId,\n subaccountId: accountScopeToSubaccountId(account),\n symbolId: input.symbolId,\n triggerPriceTicks:\n input.triggerPrice === undefined\n ? undefined\n : positiveDecimalInputToScaled(\n \"triggerPrice\",\n input.triggerPrice,\n scales.price(),\n ),\n limitPriceTicks:\n input.limitPrice === undefined\n ? undefined\n : positiveDecimalInputToScaled(\"limitPrice\", input.limitPrice, scales.price()),\n trailingDistance:\n input.trailingDistance === undefined\n ? ({ case: undefined, value: undefined } as const)\n : parseTrailingDistance(scales, input.trailingDistance),\n activationPriceTicks:\n input.activationPrice === undefined\n ? undefined\n : typeof input.activationPrice !== \"string\"\n ? 0n\n : positiveDecimalInputToScaled(\n \"activationPrice\",\n input.activationPrice,\n scales.price(),\n ),\n maxSlippage:\n input.maxSlippage === undefined\n ? ({ case: undefined, value: undefined } as const)\n : parseMaxSlippagePatch(scales, input.maxSlippage),\n })),\n );\n}\n\n/**\n * A trigger patch. Omitted fields remain unchanged; `{ kind: \"none\" }` clears\n * `activationPrice` or `maxSlippage`.\n */\nexport type ModifyTriggerInput = v.InferInput<ReturnType<typeof createModifyTriggerInputSchema>>;\n\nexport const ListTriggerEventsInputSchema = v.pipe(\n v.strictObject({\n ...TriggerScopedInputEntries,\n limit: v.optional(v.pipe(v.number(), v.integer(), v.gtValue(0), v.maxValue(1000))),\n eventType: v.optional(TriggerEventTypeSchema),\n pageToken: v.optional(v.pipe(v.string(), v.trim()), \"\"),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n eventType:\n input.eventType === undefined\n ? undefined\n : TriggerEventTypeCodec.inputToProto[input.eventType],\n })),\n);\n\nexport type ListTriggerEventsInput = v.InferInput<typeof ListTriggerEventsInputSchema>;\n"],"mappings":"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"}
|
|
@@ -31,62 +31,62 @@ declare const CreateTriggerResultSchema: v.SchemaWithPipe<readonly [v.ObjectSche
|
|
|
31
31
|
type CreateTriggerResult = v.InferOutput<typeof CreateTriggerResultSchema>;
|
|
32
32
|
declare const CancelTriggerResultSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
33
33
|
readonly triggerId: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
|
|
34
|
-
readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof TriggerStatus, undefined>, v.TransformAction<TriggerStatus, "unspecified" | "
|
|
34
|
+
readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof TriggerStatus, undefined>, v.TransformAction<TriggerStatus, "unspecified" | "failed" | "cancelled" | "created" | "completed" | "armed" | "running" | "paused">]>;
|
|
35
35
|
readonly tsNs: v.BigintSchema<undefined>;
|
|
36
36
|
}, undefined>, v.TransformAction<{
|
|
37
37
|
triggerId: string;
|
|
38
|
-
status: "unspecified" | "
|
|
38
|
+
status: "unspecified" | "failed" | "cancelled" | "created" | "completed" | "armed" | "running" | "paused";
|
|
39
39
|
tsNs: bigint;
|
|
40
40
|
}, {
|
|
41
41
|
ts: number;
|
|
42
42
|
tsNs: string;
|
|
43
43
|
triggerId: string;
|
|
44
|
-
status: "unspecified" | "
|
|
44
|
+
status: "unspecified" | "failed" | "cancelled" | "created" | "completed" | "armed" | "running" | "paused";
|
|
45
45
|
}>]>;
|
|
46
46
|
type CancelTriggerResult = v.InferOutput<typeof CancelTriggerResultSchema>;
|
|
47
47
|
declare const ModifyTriggerResultSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
48
48
|
readonly triggerId: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
|
|
49
|
-
readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof TriggerStatus, undefined>, v.TransformAction<TriggerStatus, "unspecified" | "
|
|
49
|
+
readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof TriggerStatus, undefined>, v.TransformAction<TriggerStatus, "unspecified" | "failed" | "cancelled" | "created" | "completed" | "armed" | "running" | "paused">]>;
|
|
50
50
|
readonly tsNs: v.BigintSchema<undefined>;
|
|
51
51
|
}, undefined>, v.TransformAction<{
|
|
52
52
|
triggerId: string;
|
|
53
|
-
status: "unspecified" | "
|
|
53
|
+
status: "unspecified" | "failed" | "cancelled" | "created" | "completed" | "armed" | "running" | "paused";
|
|
54
54
|
tsNs: bigint;
|
|
55
55
|
}, {
|
|
56
56
|
ts: number;
|
|
57
57
|
tsNs: string;
|
|
58
58
|
triggerId: string;
|
|
59
|
-
status: "unspecified" | "
|
|
59
|
+
status: "unspecified" | "failed" | "cancelled" | "created" | "completed" | "armed" | "running" | "paused";
|
|
60
60
|
}>]>;
|
|
61
61
|
type ModifyTriggerResult = v.InferOutput<typeof ModifyTriggerResultSchema>;
|
|
62
62
|
declare const PauseTriggerResultSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
63
63
|
readonly triggerId: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
|
|
64
|
-
readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof TriggerStatus, undefined>, v.TransformAction<TriggerStatus, "unspecified" | "
|
|
64
|
+
readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof TriggerStatus, undefined>, v.TransformAction<TriggerStatus, "unspecified" | "failed" | "cancelled" | "created" | "completed" | "armed" | "running" | "paused">]>;
|
|
65
65
|
readonly tsNs: v.BigintSchema<undefined>;
|
|
66
66
|
}, undefined>, v.TransformAction<{
|
|
67
67
|
triggerId: string;
|
|
68
|
-
status: "unspecified" | "
|
|
68
|
+
status: "unspecified" | "failed" | "cancelled" | "created" | "completed" | "armed" | "running" | "paused";
|
|
69
69
|
tsNs: bigint;
|
|
70
70
|
}, {
|
|
71
71
|
ts: number;
|
|
72
72
|
tsNs: string;
|
|
73
73
|
triggerId: string;
|
|
74
|
-
status: "unspecified" | "
|
|
74
|
+
status: "unspecified" | "failed" | "cancelled" | "created" | "completed" | "armed" | "running" | "paused";
|
|
75
75
|
}>]>;
|
|
76
76
|
type PauseTriggerResult = v.InferOutput<typeof PauseTriggerResultSchema>;
|
|
77
77
|
declare const ResumeTriggerResultSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
78
78
|
readonly triggerId: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
|
|
79
|
-
readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof TriggerStatus, undefined>, v.TransformAction<TriggerStatus, "unspecified" | "
|
|
79
|
+
readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof TriggerStatus, undefined>, v.TransformAction<TriggerStatus, "unspecified" | "failed" | "cancelled" | "created" | "completed" | "armed" | "running" | "paused">]>;
|
|
80
80
|
readonly tsNs: v.BigintSchema<undefined>;
|
|
81
81
|
}, undefined>, v.TransformAction<{
|
|
82
82
|
triggerId: string;
|
|
83
|
-
status: "unspecified" | "
|
|
83
|
+
status: "unspecified" | "failed" | "cancelled" | "created" | "completed" | "armed" | "running" | "paused";
|
|
84
84
|
tsNs: bigint;
|
|
85
85
|
}, {
|
|
86
86
|
ts: number;
|
|
87
87
|
tsNs: string;
|
|
88
88
|
triggerId: string;
|
|
89
|
-
status: "unspecified" | "
|
|
89
|
+
status: "unspecified" | "failed" | "cancelled" | "created" | "completed" | "armed" | "running" | "paused";
|
|
90
90
|
}>]>;
|
|
91
91
|
type ResumeTriggerResult = v.InferOutput<typeof ResumeTriggerResultSchema>;
|
|
92
92
|
type StopDetailsOutput = {
|
|
@@ -122,6 +122,10 @@ type LadderDetailsOutput = {
|
|
|
122
122
|
ladderPriceMax: string;
|
|
123
123
|
ladderLevels: number;
|
|
124
124
|
ladderDistribution: LadderDistributionLabel;
|
|
125
|
+
/** Cumulative filled child-order base quantity. */
|
|
126
|
+
executedQty: string;
|
|
127
|
+
/** Number of ladder levels with at least one fill. */
|
|
128
|
+
executedLevels: number;
|
|
125
129
|
};
|
|
126
130
|
type TriggerDetailsOutput = StopDetailsOutput | TrailingDetailsOutput | TwapDetailsOutput | LadderDetailsOutput | {
|
|
127
131
|
case: undefined;
|
|
@@ -232,7 +236,18 @@ declare function createTriggerSchema(scales: SdkScales): v.SchemaWithPipe<readon
|
|
|
232
236
|
readonly sliceIntervalMs: v.BigintSchema<undefined>;
|
|
233
237
|
readonly execution: v.VariantSchema<"case", [v.ObjectSchema<{
|
|
234
238
|
readonly case: v.LiteralSchema<"marketIoc", undefined>;
|
|
235
|
-
readonly value: v.ObjectSchema<{
|
|
239
|
+
readonly value: v.ObjectSchema<{
|
|
240
|
+
readonly maxSlippage: v.VariantSchema<"case", [v.ObjectSchema<{
|
|
241
|
+
readonly case: v.LiteralSchema<"maxSlippageTicks", undefined>;
|
|
242
|
+
readonly value: v.NumberSchema<undefined>;
|
|
243
|
+
}, undefined>, v.ObjectSchema<{
|
|
244
|
+
readonly case: v.LiteralSchema<"maxSlippageBps", undefined>;
|
|
245
|
+
readonly value: v.NumberSchema<undefined>;
|
|
246
|
+
}, undefined>, v.ObjectSchema<{
|
|
247
|
+
readonly case: v.UndefinedSchema<undefined>;
|
|
248
|
+
readonly value: v.OptionalSchema<v.UndefinedSchema<undefined>, undefined>;
|
|
249
|
+
}, undefined>], undefined>;
|
|
250
|
+
}, undefined>;
|
|
236
251
|
}, undefined>, v.ObjectSchema<{
|
|
237
252
|
readonly case: v.LiteralSchema<"limitGtc", undefined>;
|
|
238
253
|
readonly value: v.ObjectSchema<{
|
|
@@ -319,6 +334,8 @@ declare function createTriggerSchema(scales: SdkScales): v.SchemaWithPipe<readon
|
|
|
319
334
|
readonly ladderPriceMaxTicks: v.BigintSchema<undefined>;
|
|
320
335
|
readonly ladderLevels: v.NumberSchema<undefined>;
|
|
321
336
|
readonly ladderDistribution: v.EnumSchema<typeof LadderDistribution, undefined>;
|
|
337
|
+
readonly executedQtyScaled: v.BigintSchema<undefined>;
|
|
338
|
+
readonly executedLevels: v.NumberSchema<undefined>;
|
|
322
339
|
}, undefined>;
|
|
323
340
|
}, undefined>, v.ObjectSchema<{
|
|
324
341
|
readonly case: v.UndefinedSchema<undefined>;
|
|
@@ -429,7 +446,18 @@ declare function createTriggerSchema(scales: SdkScales): v.SchemaWithPipe<readon
|
|
|
429
446
|
sliceIntervalMs: bigint;
|
|
430
447
|
execution: {
|
|
431
448
|
case: "marketIoc";
|
|
432
|
-
value: {
|
|
449
|
+
value: {
|
|
450
|
+
maxSlippage: {
|
|
451
|
+
case: "maxSlippageTicks";
|
|
452
|
+
value: number;
|
|
453
|
+
} | {
|
|
454
|
+
case: "maxSlippageBps";
|
|
455
|
+
value: number;
|
|
456
|
+
} | {
|
|
457
|
+
case: undefined;
|
|
458
|
+
value?: undefined;
|
|
459
|
+
};
|
|
460
|
+
};
|
|
433
461
|
} | {
|
|
434
462
|
case: "limitGtc";
|
|
435
463
|
value: {
|
|
@@ -516,6 +544,8 @@ declare function createTriggerSchema(scales: SdkScales): v.SchemaWithPipe<readon
|
|
|
516
544
|
ladderPriceMaxTicks: bigint;
|
|
517
545
|
ladderLevels: number;
|
|
518
546
|
ladderDistribution: LadderDistribution;
|
|
547
|
+
executedQtyScaled: bigint;
|
|
548
|
+
executedLevels: number;
|
|
519
549
|
};
|
|
520
550
|
} | {
|
|
521
551
|
case: undefined;
|
|
@@ -528,7 +558,7 @@ declare function createTriggerSchema(scales: SdkScales): v.SchemaWithPipe<readon
|
|
|
528
558
|
triggerId: string;
|
|
529
559
|
subaccountId: string;
|
|
530
560
|
symbolId: number;
|
|
531
|
-
status: "unspecified" | "
|
|
561
|
+
status: "unspecified" | "failed" | "cancelled" | "created" | "completed" | "armed" | "running" | "paused";
|
|
532
562
|
parentOrderId: string | undefined;
|
|
533
563
|
qty: string;
|
|
534
564
|
feeAsset: "unspecified" | "quote" | "base";
|
|
@@ -612,12 +642,27 @@ declare function createTriggerSchema(scales: SdkScales): v.SchemaWithPipe<readon
|
|
|
612
642
|
sliceIntervalMs: number;
|
|
613
643
|
execution: {
|
|
614
644
|
readonly type: "market_ioc";
|
|
645
|
+
readonly maxSlippage: {
|
|
646
|
+
kind: "slippage";
|
|
647
|
+
slippage: string;
|
|
648
|
+
bps?: undefined;
|
|
649
|
+
} | {
|
|
650
|
+
kind: "bps";
|
|
651
|
+
bps: number;
|
|
652
|
+
slippage?: undefined;
|
|
653
|
+
} | {
|
|
654
|
+
kind: "none";
|
|
655
|
+
slippage?: undefined;
|
|
656
|
+
bps?: undefined;
|
|
657
|
+
};
|
|
615
658
|
readonly price?: undefined;
|
|
616
659
|
} | {
|
|
617
660
|
readonly type: "limit_gtc";
|
|
618
661
|
readonly price: string;
|
|
662
|
+
maxSlippage?: undefined;
|
|
619
663
|
} | {
|
|
620
664
|
readonly type: "unspecified";
|
|
665
|
+
maxSlippage?: undefined;
|
|
621
666
|
readonly price?: undefined;
|
|
622
667
|
};
|
|
623
668
|
triggerPrice?: undefined;
|
|
@@ -669,7 +714,7 @@ declare function createTriggerSchema(scales: SdkScales): v.SchemaWithPipe<readon
|
|
|
669
714
|
triggerId: string;
|
|
670
715
|
subaccountId: string;
|
|
671
716
|
symbolId: number;
|
|
672
|
-
status: "unspecified" | "
|
|
717
|
+
status: "unspecified" | "failed" | "cancelled" | "created" | "completed" | "armed" | "running" | "paused";
|
|
673
718
|
parentOrderId: string | undefined;
|
|
674
719
|
qty: string;
|
|
675
720
|
feeAsset: "unspecified" | "quote" | "base";
|
|
@@ -753,12 +798,27 @@ declare function createTriggerSchema(scales: SdkScales): v.SchemaWithPipe<readon
|
|
|
753
798
|
sliceIntervalMs: number;
|
|
754
799
|
execution: {
|
|
755
800
|
readonly type: "market_ioc";
|
|
801
|
+
readonly maxSlippage: {
|
|
802
|
+
kind: "slippage";
|
|
803
|
+
slippage: string;
|
|
804
|
+
bps?: undefined;
|
|
805
|
+
} | {
|
|
806
|
+
kind: "bps";
|
|
807
|
+
bps: number;
|
|
808
|
+
slippage?: undefined;
|
|
809
|
+
} | {
|
|
810
|
+
kind: "none";
|
|
811
|
+
slippage?: undefined;
|
|
812
|
+
bps?: undefined;
|
|
813
|
+
};
|
|
756
814
|
readonly price?: undefined;
|
|
757
815
|
} | {
|
|
758
816
|
readonly type: "limit_gtc";
|
|
759
817
|
readonly price: string;
|
|
818
|
+
maxSlippage?: undefined;
|
|
760
819
|
} | {
|
|
761
820
|
readonly type: "unspecified";
|
|
821
|
+
maxSlippage?: undefined;
|
|
762
822
|
readonly price?: undefined;
|
|
763
823
|
};
|
|
764
824
|
triggerPrice?: undefined;
|
|
@@ -810,7 +870,7 @@ declare function createTriggerSchema(scales: SdkScales): v.SchemaWithPipe<readon
|
|
|
810
870
|
triggerId: string;
|
|
811
871
|
subaccountId: string;
|
|
812
872
|
symbolId: number;
|
|
813
|
-
status: "unspecified" | "
|
|
873
|
+
status: "unspecified" | "failed" | "cancelled" | "created" | "completed" | "armed" | "running" | "paused";
|
|
814
874
|
parentOrderId: string | undefined;
|
|
815
875
|
qty: string;
|
|
816
876
|
feeAsset: "unspecified" | "quote" | "base";
|
|
@@ -894,12 +954,27 @@ declare function createTriggerSchema(scales: SdkScales): v.SchemaWithPipe<readon
|
|
|
894
954
|
sliceIntervalMs: number;
|
|
895
955
|
execution: {
|
|
896
956
|
readonly type: "market_ioc";
|
|
957
|
+
readonly maxSlippage: {
|
|
958
|
+
kind: "slippage";
|
|
959
|
+
slippage: string;
|
|
960
|
+
bps?: undefined;
|
|
961
|
+
} | {
|
|
962
|
+
kind: "bps";
|
|
963
|
+
bps: number;
|
|
964
|
+
slippage?: undefined;
|
|
965
|
+
} | {
|
|
966
|
+
kind: "none";
|
|
967
|
+
slippage?: undefined;
|
|
968
|
+
bps?: undefined;
|
|
969
|
+
};
|
|
897
970
|
readonly price?: undefined;
|
|
898
971
|
} | {
|
|
899
972
|
readonly type: "limit_gtc";
|
|
900
973
|
readonly price: string;
|
|
974
|
+
maxSlippage?: undefined;
|
|
901
975
|
} | {
|
|
902
976
|
readonly type: "unspecified";
|
|
977
|
+
maxSlippage?: undefined;
|
|
903
978
|
readonly price?: undefined;
|
|
904
979
|
};
|
|
905
980
|
triggerPrice?: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triggers-output.schemas.d.ts","names":[],"sources":["../../../src/services/triggers/triggers-output.schemas.ts"],"mappings":";;;;;KA4BK;KAEA;KAEA;cA2BQ,2BAAyB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;KAc1B,sBAAsB,EAAE,mBAAmB;cAE1C,2BAAyB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;KAE1B,sBAAsB,EAAE,mBAAmB;cAE1C,2BAAyB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;KAE1B,sBAAsB,EAAE,mBAAmB;cAE1C,0BAAwB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;KACzB,qBAAqB,EAAE,mBAAmB;cAEzC,2BAAyB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;KAC1B,sBAAsB,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"triggers-output.schemas.d.ts","names":[],"sources":["../../../src/services/triggers/triggers-output.schemas.ts"],"mappings":";;;;;KA4BK;KAEA;KAEA;cA2BQ,2BAAyB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;KAc1B,sBAAsB,EAAE,mBAAmB;cAE1C,2BAAyB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;KAE1B,sBAAsB,EAAE,mBAAmB;cAE1C,2BAAyB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;KAE1B,sBAAsB,EAAE,mBAAmB;cAE1C,0BAAwB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;KACzB,qBAAqB,EAAE,mBAAmB;cAEzC,2BAAyB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;KAC1B,sBAAsB,EAAE,mBAAmB;KAyT3C;EACR;EACA;EACA,oBAAoB;EACpB,kBAAkB;;KAGV;EACR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,oBAAoB;EACpB,kBAAkB;;KAGV;EACR;EACA;EACA;EACA;EACA;;EAEA;;KAGQ;EACR;EACA;EACA;EACA;EACA,oBAAoB;;EAEpB;;EAEA;;KAGQ,uBACN,oBACA,wBACA,oBACA;EACE;;;iBA+GQ,oBAAoB,QAAQ,YAAS,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyDzC,UAAU,EAAE,YAAY,kBAAkB;iBAEtC,yBAAyB,QAAQ,YAAS,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0C9C,eAAe,EAAE,YAAY,kBAAkB;KAE/C;EACR,QAAQ;EACR"}
|