@polyester/sdk 0.7.0 → 0.9.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 +24 -0
- package/dist/catalogs/readers.js +1 -1
- package/dist/gen/auth/v1/api_keys_pb.d.ts +1 -1
- package/dist/gen/auth/v1/api_keys_pb.js.map +1 -1
- package/dist/gen/auth/v1/policies_pb.d.ts +69 -341
- package/dist/gen/auth/v1/policies_pb.d.ts.map +1 -1
- package/dist/gen/auth/v1/policies_pb.js +28 -46
- package/dist/gen/auth/v1/policies_pb.js.map +1 -1
- package/dist/gen/fees/v1/fees_pb.d.ts +0 -6
- package/dist/gen/fees/v1/fees_pb.d.ts.map +1 -1
- package/dist/gen/fees/v1/fees_pb.js +1 -1
- package/dist/gen/fees/v1/fees_pb.js.map +1 -1
- package/dist/gen/marketoverview/v1/marketoverview_pb.d.ts +6 -11
- package/dist/gen/marketoverview/v1/marketoverview_pb.d.ts.map +1 -1
- package/dist/gen/marketoverview/v1/marketoverview_pb.js +1 -1
- package/dist/gen/marketoverview/v1/marketoverview_pb.js.map +1 -1
- package/dist/gen/orderbook/v1/orderbook_pb.d.ts +3 -3
- package/dist/gen/orderbook/v1/orderbook_pb.js +1 -1
- package/dist/gen/orderbook/v1/orderbook_pb.js.map +1 -1
- package/dist/gen/orders/v1/orders_pb.d.ts +43 -12
- package/dist/gen/orders/v1/orders_pb.d.ts.map +1 -1
- package/dist/gen/orders/v1/orders_pb.js +25 -1
- package/dist/gen/orders/v1/orders_pb.js.map +1 -1
- package/dist/gen/triggers/v1/triggers_pb.d.ts +28 -14
- package/dist/gen/triggers/v1/triggers_pb.d.ts.map +1 -1
- package/dist/gen/triggers/v1/triggers_pb.js +7 -1
- package/dist/gen/triggers/v1/triggers_pb.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/services/fees/fees.schemas.d.ts +2 -3
- package/dist/services/fees/fees.schemas.d.ts.map +1 -1
- package/dist/services/fees/fees.schemas.js +3 -4
- package/dist/services/fees/fees.schemas.js.map +1 -1
- package/dist/services/market-data/market-data.schemas.js +1 -1
- package/dist/services/market-overview/market-overview.d.ts +1 -1
- package/dist/services/market-overview/market-overview.js +1 -1
- package/dist/services/market-overview/market-overview.js.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.d.ts +20 -7
- package/dist/services/market-overview/market-overview.schemas.d.ts.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.js +8 -6
- package/dist/services/market-overview/market-overview.schemas.js.map +1 -1
- package/dist/services/orderbook/orderbook.d.ts +3 -4
- package/dist/services/orderbook/orderbook.d.ts.map +1 -1
- package/dist/services/orderbook/orderbook.js +13 -10
- package/dist/services/orderbook/orderbook.js.map +1 -1
- package/dist/services/orderbook/orderbook.schemas.d.ts +8 -9
- package/dist/services/orderbook/orderbook.schemas.d.ts.map +1 -1
- package/dist/services/orderbook/orderbook.schemas.js +9 -8
- package/dist/services/orderbook/orderbook.schemas.js.map +1 -1
- package/dist/services/orders/order-errors.schemas.d.ts +1 -1
- package/dist/services/orders/orders-batch.schemas.d.ts +42 -42
- package/dist/services/orders/orders-batch.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-batch.schemas.js +7 -8
- package/dist/services/orders/orders-batch.schemas.js.map +1 -1
- package/dist/services/orders/orders-input.schemas.d.ts +29 -29
- package/dist/services/orders/orders-input.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-input.schemas.js +10 -10
- package/dist/services/orders/orders-input.schemas.js.map +1 -1
- package/dist/services/orders/orders-modify.schemas.d.ts +3 -2
- package/dist/services/orders/orders-modify.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-modify.schemas.js +5 -3
- package/dist/services/orders/orders-modify.schemas.js.map +1 -1
- package/dist/services/orders/orders-risk.schemas.js +1 -1
- package/dist/services/orders/orders.d.ts +5 -5
- package/dist/services/orders/orders.d.ts.map +1 -1
- package/dist/services/orders/orders.js +8 -8
- package/dist/services/orders/orders.js.map +1 -1
- package/dist/services/policies/api-key-policies/api-key-policies.d.ts +2 -2
- package/dist/services/policies/api-key-policies/api-key-policies.js +2 -2
- package/dist/services/policies/api-key-policies/api-key-policies.js.map +1 -1
- package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts +30 -155
- package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts.map +1 -1
- package/dist/services/policies/api-key-policies/api-key-policies.schemas.js +5 -53
- package/dist/services/policies/api-key-policies/api-key-policies.schemas.js.map +1 -1
- package/dist/services/policies/shared.codecs.js +4 -12
- package/dist/services/policies/shared.codecs.js.map +1 -1
- package/dist/services/policies/shared.d.ts +1 -1
- package/dist/services/policies/shared.d.ts.map +1 -1
- package/dist/services/policies/shared.js +5 -12
- package/dist/services/policies/shared.js.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.js +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.js.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts +19 -215
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js +9 -115
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js.map +1 -1
- package/dist/services/shared.js +4 -1
- package/dist/services/shared.js.map +1 -1
- package/dist/services/subaccounts/subaccounts.schemas.d.ts +1 -1
- package/dist/services/trades/trades.schemas.js +1 -1
- package/dist/services/trailing-oneof-inputs.js +1 -1
- package/dist/services/triggers/trigger-child-order.schemas.js +5 -3
- package/dist/services/triggers/trigger-child-order.schemas.js.map +1 -1
- package/dist/services/triggers/trigger-input.schemas.d.ts +46 -35
- package/dist/services/triggers/trigger-input.schemas.d.ts.map +1 -1
- package/dist/services/triggers/trigger-input.schemas.js +14 -4
- package/dist/services/triggers/trigger-input.schemas.js.map +1 -1
- package/dist/services/triggers/triggers-output.schemas.d.ts +4 -5
- package/dist/services/triggers/triggers-output.schemas.d.ts.map +1 -1
- package/dist/services/triggers/triggers-output.schemas.js +3 -3
- package/dist/services/triggers/triggers-output.schemas.js.map +1 -1
- package/dist/services/triggers/triggers.codecs.js +6 -3
- package/dist/services/triggers/triggers.codecs.js.map +1 -1
- package/dist/services/triggers/triggers.d.ts +4 -4
- package/dist/services/triggers/triggers.js +4 -4
- package/dist/services/triggers/triggers.js.map +1 -1
- package/dist/services/triggers/triggers.types.d.ts +3 -3
- package/dist/shared/decimal-surface.js +1 -1
- package/dist/shared/schemas.js +2 -2
- package/dist/shared/schemas.js.map +1 -1
- package/dist/shared/transports.js +6 -1
- package/dist/shared/transports.js.map +1 -1
- package/dist/shared/wire-bounds.js +3 -1
- package/dist/shared/wire-bounds.js.map +1 -1
- package/dist/utils/numbers.js +1 -10
- package/dist/utils/numbers.js.map +1 -1
- package/package.json +2 -2
|
@@ -24,20 +24,12 @@ declare const ApiKeyPolicySchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
|
24
24
|
readonly name: v.StringSchema<undefined>;
|
|
25
25
|
readonly description: v.StringSchema<undefined>;
|
|
26
26
|
readonly spotMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
27
|
-
readonly
|
|
27
|
+
readonly symbolId: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.GtValueAction<number, 0, undefined>, v.MaxValueAction<number, 4294967295, undefined>]>;
|
|
28
28
|
}, undefined>, undefined>, readonly []>;
|
|
29
29
|
readonly spotMarketScope: v.SchemaWithPipe<readonly [v.EnumSchema<typeof MarketScope_Value, undefined>, v.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
|
|
30
|
-
readonly
|
|
31
|
-
readonly perpMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
32
|
-
readonly symbol: v.StringSchema<undefined>;
|
|
33
|
-
readonly maxLeverageX: v.NumberSchema<undefined>;
|
|
34
|
-
}, undefined>, undefined>, readonly []>;
|
|
35
|
-
readonly actions: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ArraySchema<v.EnumSchema<typeof PolicyAction, undefined>, undefined>, readonly []>, v.TransformAction<v.EnumValues<typeof PolicyAction>[], DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[]>]>;
|
|
30
|
+
readonly actions: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ArraySchema<v.EnumSchema<typeof PolicyAction, undefined>, undefined>, readonly []>, v.TransformAction<v.EnumValues<typeof PolicyAction>[], DecodedEnum<"trade-spot" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-internal-transfers" | "read-address-book" | "manage-address-book">[]>]>;
|
|
36
31
|
readonly isTemplate: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
|
|
37
32
|
readonly sourceTemplateId: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, string | undefined>]>;
|
|
38
|
-
readonly maxOrderNotional: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, number | undefined>]>;
|
|
39
|
-
readonly dailyInternalTransferOutLimit: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, number>]>;
|
|
40
|
-
readonly dailyWithdrawLimit: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, number>]>;
|
|
41
33
|
readonly createdAt: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
42
34
|
readonly seconds: v.BigintSchema<undefined>;
|
|
43
35
|
readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
@@ -55,20 +47,12 @@ declare const ApiKeyPolicySchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
|
55
47
|
name: string;
|
|
56
48
|
description: string;
|
|
57
49
|
spotMarkets: {
|
|
58
|
-
|
|
50
|
+
symbolId: number;
|
|
59
51
|
}[];
|
|
60
52
|
spotMarketScope: DecodedEnum<"all" | "allowlist">;
|
|
61
|
-
|
|
62
|
-
perpMarkets: {
|
|
63
|
-
symbol: string;
|
|
64
|
-
maxLeverageX: number;
|
|
65
|
-
}[];
|
|
66
|
-
actions: DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[];
|
|
53
|
+
actions: DecodedEnum<"trade-spot" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-internal-transfers" | "read-address-book" | "manage-address-book">[];
|
|
67
54
|
isTemplate: boolean;
|
|
68
55
|
sourceTemplateId?: string | undefined;
|
|
69
|
-
maxOrderNotional?: number | undefined;
|
|
70
|
-
dailyInternalTransferOutLimit: number;
|
|
71
|
-
dailyWithdrawLimit: number;
|
|
72
56
|
createdAt: number;
|
|
73
57
|
updatedAt: {
|
|
74
58
|
seconds: bigint;
|
|
@@ -82,20 +66,12 @@ declare const ApiKeyPolicySchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
|
82
66
|
name: string;
|
|
83
67
|
description: string;
|
|
84
68
|
spotMarkets: {
|
|
85
|
-
|
|
69
|
+
symbolId: number;
|
|
86
70
|
}[];
|
|
87
71
|
spotMarketScope: DecodedEnum<"all" | "allowlist">;
|
|
88
|
-
|
|
89
|
-
perpMarkets: {
|
|
90
|
-
symbol: string;
|
|
91
|
-
maxLeverageX: number;
|
|
92
|
-
}[];
|
|
93
|
-
actions: DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[];
|
|
72
|
+
actions: DecodedEnum<"trade-spot" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-internal-transfers" | "read-address-book" | "manage-address-book">[];
|
|
94
73
|
isTemplate: boolean;
|
|
95
74
|
sourceTemplateId?: string | undefined;
|
|
96
|
-
maxOrderNotional?: number | undefined;
|
|
97
|
-
dailyInternalTransferOutLimit: number;
|
|
98
|
-
dailyWithdrawLimit: number;
|
|
99
75
|
createdAt: number;
|
|
100
76
|
revision: string;
|
|
101
77
|
}>]>;
|
|
@@ -106,20 +82,12 @@ declare const ListApiKeyPoliciesResponseSchema: v.SchemaWithPipe<readonly [v.Obj
|
|
|
106
82
|
readonly name: v.StringSchema<undefined>;
|
|
107
83
|
readonly description: v.StringSchema<undefined>;
|
|
108
84
|
readonly spotMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
109
|
-
readonly
|
|
85
|
+
readonly symbolId: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.GtValueAction<number, 0, undefined>, v.MaxValueAction<number, 4294967295, undefined>]>;
|
|
110
86
|
}, undefined>, undefined>, readonly []>;
|
|
111
87
|
readonly spotMarketScope: v.SchemaWithPipe<readonly [v.EnumSchema<typeof MarketScope_Value, undefined>, v.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
|
|
112
|
-
readonly
|
|
113
|
-
readonly perpMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
114
|
-
readonly symbol: v.StringSchema<undefined>;
|
|
115
|
-
readonly maxLeverageX: v.NumberSchema<undefined>;
|
|
116
|
-
}, undefined>, undefined>, readonly []>;
|
|
117
|
-
readonly actions: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ArraySchema<v.EnumSchema<typeof PolicyAction, undefined>, undefined>, readonly []>, v.TransformAction<v.EnumValues<typeof PolicyAction>[], DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[]>]>;
|
|
88
|
+
readonly actions: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ArraySchema<v.EnumSchema<typeof PolicyAction, undefined>, undefined>, readonly []>, v.TransformAction<v.EnumValues<typeof PolicyAction>[], DecodedEnum<"trade-spot" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-internal-transfers" | "read-address-book" | "manage-address-book">[]>]>;
|
|
118
89
|
readonly isTemplate: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
|
|
119
90
|
readonly sourceTemplateId: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, string | undefined>]>;
|
|
120
|
-
readonly maxOrderNotional: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, number | undefined>]>;
|
|
121
|
-
readonly dailyInternalTransferOutLimit: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, number>]>;
|
|
122
|
-
readonly dailyWithdrawLimit: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, number>]>;
|
|
123
91
|
readonly createdAt: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
124
92
|
readonly seconds: v.BigintSchema<undefined>;
|
|
125
93
|
readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
@@ -137,20 +105,12 @@ declare const ListApiKeyPoliciesResponseSchema: v.SchemaWithPipe<readonly [v.Obj
|
|
|
137
105
|
name: string;
|
|
138
106
|
description: string;
|
|
139
107
|
spotMarkets: {
|
|
140
|
-
|
|
108
|
+
symbolId: number;
|
|
141
109
|
}[];
|
|
142
110
|
spotMarketScope: DecodedEnum<"all" | "allowlist">;
|
|
143
|
-
|
|
144
|
-
perpMarkets: {
|
|
145
|
-
symbol: string;
|
|
146
|
-
maxLeverageX: number;
|
|
147
|
-
}[];
|
|
148
|
-
actions: DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[];
|
|
111
|
+
actions: DecodedEnum<"trade-spot" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-internal-transfers" | "read-address-book" | "manage-address-book">[];
|
|
149
112
|
isTemplate: boolean;
|
|
150
113
|
sourceTemplateId?: string | undefined;
|
|
151
|
-
maxOrderNotional?: number | undefined;
|
|
152
|
-
dailyInternalTransferOutLimit: number;
|
|
153
|
-
dailyWithdrawLimit: number;
|
|
154
114
|
createdAt: number;
|
|
155
115
|
updatedAt: {
|
|
156
116
|
seconds: bigint;
|
|
@@ -164,20 +124,12 @@ declare const ListApiKeyPoliciesResponseSchema: v.SchemaWithPipe<readonly [v.Obj
|
|
|
164
124
|
name: string;
|
|
165
125
|
description: string;
|
|
166
126
|
spotMarkets: {
|
|
167
|
-
|
|
127
|
+
symbolId: number;
|
|
168
128
|
}[];
|
|
169
129
|
spotMarketScope: DecodedEnum<"all" | "allowlist">;
|
|
170
|
-
|
|
171
|
-
perpMarkets: {
|
|
172
|
-
symbol: string;
|
|
173
|
-
maxLeverageX: number;
|
|
174
|
-
}[];
|
|
175
|
-
actions: DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[];
|
|
130
|
+
actions: DecodedEnum<"trade-spot" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-internal-transfers" | "read-address-book" | "manage-address-book">[];
|
|
176
131
|
isTemplate: boolean;
|
|
177
132
|
sourceTemplateId?: string | undefined;
|
|
178
|
-
maxOrderNotional?: number | undefined;
|
|
179
|
-
dailyInternalTransferOutLimit: number;
|
|
180
|
-
dailyWithdrawLimit: number;
|
|
181
133
|
createdAt: number;
|
|
182
134
|
revision: string;
|
|
183
135
|
}>]>, undefined>, readonly []>;
|
|
@@ -189,20 +141,12 @@ declare const ListApiKeyPoliciesResponseSchema: v.SchemaWithPipe<readonly [v.Obj
|
|
|
189
141
|
name: string;
|
|
190
142
|
description: string;
|
|
191
143
|
spotMarkets: {
|
|
192
|
-
|
|
144
|
+
symbolId: number;
|
|
193
145
|
}[];
|
|
194
146
|
spotMarketScope: DecodedEnum<"all" | "allowlist">;
|
|
195
|
-
|
|
196
|
-
perpMarkets: {
|
|
197
|
-
symbol: string;
|
|
198
|
-
maxLeverageX: number;
|
|
199
|
-
}[];
|
|
200
|
-
actions: DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[];
|
|
147
|
+
actions: DecodedEnum<"trade-spot" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-internal-transfers" | "read-address-book" | "manage-address-book">[];
|
|
201
148
|
isTemplate: boolean;
|
|
202
149
|
sourceTemplateId?: string | undefined;
|
|
203
|
-
maxOrderNotional?: number | undefined;
|
|
204
|
-
dailyInternalTransferOutLimit: number;
|
|
205
|
-
dailyWithdrawLimit: number;
|
|
206
150
|
createdAt: number;
|
|
207
151
|
revision: string;
|
|
208
152
|
}[];
|
|
@@ -213,20 +157,12 @@ declare const ListApiKeyPoliciesResponseSchema: v.SchemaWithPipe<readonly [v.Obj
|
|
|
213
157
|
name: string;
|
|
214
158
|
description: string;
|
|
215
159
|
spotMarkets: {
|
|
216
|
-
|
|
160
|
+
symbolId: number;
|
|
217
161
|
}[];
|
|
218
162
|
spotMarketScope: DecodedEnum<"all" | "allowlist">;
|
|
219
|
-
|
|
220
|
-
perpMarkets: {
|
|
221
|
-
symbol: string;
|
|
222
|
-
maxLeverageX: number;
|
|
223
|
-
}[];
|
|
224
|
-
actions: DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[];
|
|
163
|
+
actions: DecodedEnum<"trade-spot" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-internal-transfers" | "read-address-book" | "manage-address-book">[];
|
|
225
164
|
isTemplate: boolean;
|
|
226
165
|
sourceTemplateId?: string | undefined;
|
|
227
|
-
maxOrderNotional?: number | undefined;
|
|
228
|
-
dailyInternalTransferOutLimit: number;
|
|
229
|
-
dailyWithdrawLimit: number;
|
|
230
166
|
createdAt: number;
|
|
231
167
|
revision: string;
|
|
232
168
|
}[]>]>;
|
|
@@ -235,55 +171,31 @@ declare const CreateApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.Strict
|
|
|
235
171
|
readonly name: v.StringSchema<undefined>;
|
|
236
172
|
readonly description: v.OptionalSchema<v.StringSchema<undefined>, "">;
|
|
237
173
|
readonly spotMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
238
|
-
readonly
|
|
239
|
-
}, undefined>, undefined>, readonly []>;
|
|
240
|
-
readonly perpMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
241
|
-
readonly symbol: v.StringSchema<undefined>;
|
|
242
|
-
readonly maxLeverageX: v.NumberSchema<undefined>;
|
|
174
|
+
readonly symbolId: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.GtValueAction<number, 0, undefined>, v.MaxValueAction<number, 4294967295, undefined>]>;
|
|
243
175
|
}, undefined>, undefined>, readonly []>;
|
|
244
176
|
readonly spotMarketScope: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["all", "allowlist"], undefined>, v.TransformAction<"all" | "allowlist", MarketScope_Value.ALL | MarketScope_Value.ALLOWLIST>]>;
|
|
245
|
-
readonly
|
|
246
|
-
readonly actions: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["trade-spot", "trade-perp", "internal-transfer", "external-withdraw", "read-balances", "read-spot", "read-perp", "read-internal-transfers", "read-external-withdrawals", "read-transfer-controls", "manage-address-book", "manage-transfer-whitelists"], undefined>, undefined>, readonly []>, v.TransformAction<("trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists")[], (PolicyAction.TRADE_SPOT | PolicyAction.TRADE_PERP | PolicyAction.INTERNAL_TRANSFER | PolicyAction.EXTERNAL_WITHDRAW | PolicyAction.READ_BALANCES | PolicyAction.READ_SPOT | PolicyAction.READ_PERP | PolicyAction.READ_INTERNAL_TRANSFERS | PolicyAction.READ_EXTERNAL_WITHDRAWALS | PolicyAction.READ_TRANSFER_CONTROLS | PolicyAction.MANAGE_ADDRESS_BOOK | PolicyAction.MANAGE_TRANSFER_WHITELISTS)[]>]>;
|
|
247
|
-
readonly maxOrderNotional: v.SchemaWithPipe<readonly [v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, null>, v.TransformAction<number | null, bigint>]>;
|
|
248
|
-
readonly dailyInternalTransferLimit: v.SchemaWithPipe<readonly [v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, null>, v.TransformAction<number | null, bigint>]>;
|
|
249
|
-
readonly dailyWithdrawLimit: v.SchemaWithPipe<readonly [v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, null>, v.TransformAction<number | null, bigint>]>;
|
|
177
|
+
readonly actions: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["trade-spot", "internal-transfer", "external-withdraw", "read-balances", "read-spot", "read-internal-transfers", "read-address-book", "manage-address-book"], undefined>, undefined>, readonly []>, v.TransformAction<("trade-spot" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-internal-transfers" | "read-address-book" | "manage-address-book")[], (PolicyAction.TRADE_SPOT | PolicyAction.INTERNAL_TRANSFER | PolicyAction.EXTERNAL_WITHDRAW | PolicyAction.READ_BALANCES | PolicyAction.READ_SPOT | PolicyAction.READ_INTERNAL_TRANSFERS | PolicyAction.READ_ADDRESS_BOOK | PolicyAction.MANAGE_ADDRESS_BOOK)[]>]>;
|
|
250
178
|
readonly isTemplate: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
|
|
251
179
|
readonly assignToKeyId: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction]>, undefined>;
|
|
252
180
|
}, undefined>, v.TransformAction<{
|
|
253
181
|
name: string;
|
|
254
182
|
description: string;
|
|
255
183
|
spotMarkets: {
|
|
256
|
-
|
|
257
|
-
}[];
|
|
258
|
-
perpMarkets: {
|
|
259
|
-
symbol: string;
|
|
260
|
-
maxLeverageX: number;
|
|
184
|
+
symbolId: number;
|
|
261
185
|
}[];
|
|
262
186
|
spotMarketScope: MarketScope_Value.ALL | MarketScope_Value.ALLOWLIST;
|
|
263
|
-
|
|
264
|
-
actions: (PolicyAction.TRADE_SPOT | PolicyAction.TRADE_PERP | PolicyAction.INTERNAL_TRANSFER | PolicyAction.EXTERNAL_WITHDRAW | PolicyAction.READ_BALANCES | PolicyAction.READ_SPOT | PolicyAction.READ_PERP | PolicyAction.READ_INTERNAL_TRANSFERS | PolicyAction.READ_EXTERNAL_WITHDRAWALS | PolicyAction.READ_TRANSFER_CONTROLS | PolicyAction.MANAGE_ADDRESS_BOOK | PolicyAction.MANAGE_TRANSFER_WHITELISTS)[];
|
|
265
|
-
maxOrderNotional: bigint;
|
|
266
|
-
dailyInternalTransferLimit: bigint;
|
|
267
|
-
dailyWithdrawLimit: bigint;
|
|
187
|
+
actions: (PolicyAction.TRADE_SPOT | PolicyAction.INTERNAL_TRANSFER | PolicyAction.EXTERNAL_WITHDRAW | PolicyAction.READ_BALANCES | PolicyAction.READ_SPOT | PolicyAction.READ_INTERNAL_TRANSFERS | PolicyAction.READ_ADDRESS_BOOK | PolicyAction.MANAGE_ADDRESS_BOOK)[];
|
|
268
188
|
isTemplate: boolean;
|
|
269
189
|
assignToKeyId?: string | undefined;
|
|
270
190
|
}, {
|
|
271
191
|
policy: {
|
|
272
|
-
dailyInternalTransferOutLimit: bigint;
|
|
273
192
|
name: string;
|
|
274
193
|
description: string;
|
|
275
194
|
spotMarkets: {
|
|
276
|
-
|
|
277
|
-
}[];
|
|
278
|
-
perpMarkets: {
|
|
279
|
-
symbol: string;
|
|
280
|
-
maxLeverageX: number;
|
|
195
|
+
symbolId: number;
|
|
281
196
|
}[];
|
|
282
197
|
spotMarketScope: MarketScope_Value.ALL | MarketScope_Value.ALLOWLIST;
|
|
283
|
-
|
|
284
|
-
actions: (PolicyAction.TRADE_SPOT | PolicyAction.TRADE_PERP | PolicyAction.INTERNAL_TRANSFER | PolicyAction.EXTERNAL_WITHDRAW | PolicyAction.READ_BALANCES | PolicyAction.READ_SPOT | PolicyAction.READ_PERP | PolicyAction.READ_INTERNAL_TRANSFERS | PolicyAction.READ_EXTERNAL_WITHDRAWALS | PolicyAction.READ_TRANSFER_CONTROLS | PolicyAction.MANAGE_ADDRESS_BOOK | PolicyAction.MANAGE_TRANSFER_WHITELISTS)[];
|
|
285
|
-
maxOrderNotional: bigint;
|
|
286
|
-
dailyWithdrawLimit: bigint;
|
|
198
|
+
actions: (PolicyAction.TRADE_SPOT | PolicyAction.INTERNAL_TRANSFER | PolicyAction.EXTERNAL_WITHDRAW | PolicyAction.READ_BALANCES | PolicyAction.READ_SPOT | PolicyAction.READ_INTERNAL_TRANSFERS | PolicyAction.READ_ADDRESS_BOOK | PolicyAction.MANAGE_ADDRESS_BOOK)[];
|
|
287
199
|
isTemplate: boolean;
|
|
288
200
|
};
|
|
289
201
|
assignToKeyId: string | undefined;
|
|
@@ -295,18 +207,10 @@ declare const UpdateApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.Strict
|
|
|
295
207
|
readonly name: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
296
208
|
readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
297
209
|
readonly spotMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
298
|
-
readonly
|
|
299
|
-
}, undefined>, undefined>, undefined>;
|
|
300
|
-
readonly perpMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
301
|
-
readonly symbol: v.StringSchema<undefined>;
|
|
302
|
-
readonly maxLeverageX: v.NumberSchema<undefined>;
|
|
210
|
+
readonly symbolId: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.GtValueAction<number, 0, undefined>, v.MaxValueAction<number, 4294967295, undefined>]>;
|
|
303
211
|
}, undefined>, undefined>, undefined>;
|
|
304
212
|
readonly spotMarketScope: v.OptionalSchema<v.PicklistSchema<readonly ["all", "allowlist"], undefined>, undefined>;
|
|
305
|
-
readonly
|
|
306
|
-
readonly actions: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["trade-spot", "trade-perp", "internal-transfer", "external-withdraw", "read-balances", "read-spot", "read-perp", "read-internal-transfers", "read-external-withdrawals", "read-transfer-controls", "manage-address-book", "manage-transfer-whitelists"], undefined>, undefined>, undefined>;
|
|
307
|
-
readonly maxOrderNotional: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
308
|
-
readonly dailyInternalTransferLimit: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
309
|
-
readonly dailyWithdrawLimit: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
213
|
+
readonly actions: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["trade-spot", "internal-transfer", "external-withdraw", "read-balances", "read-spot", "read-internal-transfers", "read-address-book", "manage-address-book"], undefined>, undefined>, undefined>;
|
|
310
214
|
readonly isTemplate: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
311
215
|
}, undefined>, v.CheckAction<{
|
|
312
216
|
policyId: bigint;
|
|
@@ -314,18 +218,10 @@ declare const UpdateApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.Strict
|
|
|
314
218
|
name?: string | undefined;
|
|
315
219
|
description?: string | undefined;
|
|
316
220
|
spotMarkets?: {
|
|
317
|
-
|
|
318
|
-
}[] | undefined;
|
|
319
|
-
perpMarkets?: {
|
|
320
|
-
symbol: string;
|
|
321
|
-
maxLeverageX: number;
|
|
221
|
+
symbolId: number;
|
|
322
222
|
}[] | undefined;
|
|
323
223
|
spotMarketScope?: "all" | "allowlist" | undefined;
|
|
324
|
-
|
|
325
|
-
actions?: ("trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists")[] | undefined;
|
|
326
|
-
maxOrderNotional?: number | null | undefined;
|
|
327
|
-
dailyInternalTransferLimit?: number | null | undefined;
|
|
328
|
-
dailyWithdrawLimit?: number | null | undefined;
|
|
224
|
+
actions?: ("trade-spot" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-internal-transfers" | "read-address-book" | "manage-address-book")[] | undefined;
|
|
329
225
|
isTemplate?: boolean | undefined;
|
|
330
226
|
}, "At least one API key policy field must be provided">, v.TransformAction<{
|
|
331
227
|
policyId: bigint;
|
|
@@ -333,18 +229,10 @@ declare const UpdateApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.Strict
|
|
|
333
229
|
name?: string | undefined;
|
|
334
230
|
description?: string | undefined;
|
|
335
231
|
spotMarkets?: {
|
|
336
|
-
|
|
337
|
-
}[] | undefined;
|
|
338
|
-
perpMarkets?: {
|
|
339
|
-
symbol: string;
|
|
340
|
-
maxLeverageX: number;
|
|
232
|
+
symbolId: number;
|
|
341
233
|
}[] | undefined;
|
|
342
234
|
spotMarketScope?: "all" | "allowlist" | undefined;
|
|
343
|
-
|
|
344
|
-
actions?: ("trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists")[] | undefined;
|
|
345
|
-
maxOrderNotional?: number | null | undefined;
|
|
346
|
-
dailyInternalTransferLimit?: number | null | undefined;
|
|
347
|
-
dailyWithdrawLimit?: number | null | undefined;
|
|
235
|
+
actions?: ("trade-spot" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-internal-transfers" | "read-address-book" | "manage-address-book")[] | undefined;
|
|
348
236
|
isTemplate?: boolean | undefined;
|
|
349
237
|
}, {
|
|
350
238
|
policyId: bigint;
|
|
@@ -354,25 +242,12 @@ declare const UpdateApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.Strict
|
|
|
354
242
|
description: string;
|
|
355
243
|
} & {
|
|
356
244
|
spotMarkets: {
|
|
357
|
-
|
|
358
|
-
}[];
|
|
359
|
-
} & {
|
|
360
|
-
perpMarkets: {
|
|
361
|
-
symbol: string;
|
|
362
|
-
maxLeverageX: number;
|
|
245
|
+
symbolId: number;
|
|
363
246
|
}[];
|
|
364
247
|
} & {
|
|
365
248
|
spotMarketScope: MarketScope_Value.ALL | MarketScope_Value.ALLOWLIST;
|
|
366
249
|
} & {
|
|
367
|
-
|
|
368
|
-
} & {
|
|
369
|
-
actions: (PolicyAction.TRADE_SPOT | PolicyAction.TRADE_PERP | PolicyAction.INTERNAL_TRANSFER | PolicyAction.EXTERNAL_WITHDRAW | PolicyAction.READ_BALANCES | PolicyAction.READ_SPOT | PolicyAction.READ_PERP | PolicyAction.READ_INTERNAL_TRANSFERS | PolicyAction.READ_EXTERNAL_WITHDRAWALS | PolicyAction.READ_TRANSFER_CONTROLS | PolicyAction.MANAGE_ADDRESS_BOOK | PolicyAction.MANAGE_TRANSFER_WHITELISTS)[];
|
|
370
|
-
} & {
|
|
371
|
-
maxOrderNotional: bigint;
|
|
372
|
-
} & {
|
|
373
|
-
dailyInternalTransferOutLimit: bigint;
|
|
374
|
-
} & {
|
|
375
|
-
dailyWithdrawLimit: bigint;
|
|
250
|
+
actions: (PolicyAction.TRADE_SPOT | PolicyAction.INTERNAL_TRANSFER | PolicyAction.EXTERNAL_WITHDRAW | PolicyAction.READ_BALANCES | PolicyAction.READ_SPOT | PolicyAction.READ_INTERNAL_TRANSFERS | PolicyAction.READ_ADDRESS_BOOK | PolicyAction.MANAGE_ADDRESS_BOOK)[];
|
|
376
251
|
} & {
|
|
377
252
|
isTemplate: boolean;
|
|
378
253
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-key-policies.schemas.d.ts","names":[],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.schemas.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"api-key-policies.schemas.d.ts","names":[],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.schemas.ts"],"mappings":";;;;cA8Ba,+BAA6B,EAAA;;;cAM7B,4BAA0B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;cAiB1B,oBAAkB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;KA2BnB,eAAe,EAAE,mBAAmB;cAEnC,kCAAgC,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAA;;;;;;;;;;;;;;;;;;;;;;;KAOjC,6BAA6B,EAAE,mBAAmB;cAkBjD,+BAA6B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAK9B,0BAA0B,EAAE,kBAAkB;cA8B7C,+BAA6B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyB9B,0BAA0B,EAAE,kBAAkB;cAE7C,8BAA4B,EAAA;;;;KAQ7B,yBAAyB,EAAE,kBAAkB"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { idToBigInt } from "../../../utils/base58-id.js";
|
|
2
|
-
import { toBigIntOrZero } from "../../../utils/numbers.js";
|
|
3
2
|
import { tsObjToMs, tsObjToNsString } from "../../../utils/time.js";
|
|
4
|
-
import { BigIntStringSchema,
|
|
5
|
-
import {
|
|
3
|
+
import { BigIntStringSchema, OptionalPublicIdSchema, PublicIdSchema, TimestampMsSchema, TimestampSchema, positiveBigintStringInputSchema } from "../../../shared/schemas.js";
|
|
4
|
+
import { PolicyActionEnumSchema, PolicyMarketScopeEnumSchema, ProtoPolicyActionEnumSchema, ProtoPolicyMarketScopeEnumSchema, SpotMarketRuleSchema } from "../shared.js";
|
|
6
5
|
import { PolicyActionCodec, PolicyMarketScopeCodec, policyActionLabelFor, policyMarketScopeLabelFor } from "../shared.codecs.js";
|
|
7
6
|
import { buildProtoPatch, defineProtoPatchFields } from "../../../utils/proto-patch.js";
|
|
8
7
|
import * as v from "valibot";
|
|
@@ -26,14 +25,9 @@ const ApiKeyPolicySchema = v.pipe(v.object({
|
|
|
26
25
|
description: v.string(),
|
|
27
26
|
spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),
|
|
28
27
|
spotMarketScope: v.pipe(ProtoPolicyMarketScopeEnumSchema, v.transform((v) => policyMarketScopeLabelFor(v))),
|
|
29
|
-
perpMarketScope: v.pipe(ProtoPolicyMarketScopeEnumSchema, v.transform((v) => policyMarketScopeLabelFor(v))),
|
|
30
|
-
perpMarkets: v.optional(v.array(PerpMarketRuleSchema), []),
|
|
31
28
|
actions: v.pipe(v.optional(v.array(ProtoPolicyActionEnumSchema), []), v.transform((v) => v.map((action) => policyActionLabelFor(action)))),
|
|
32
29
|
isTemplate: v.optional(v.boolean(), false),
|
|
33
30
|
sourceTemplateId: OptionalPublicIdSchema,
|
|
34
|
-
maxOrderNotional: v.pipe(v.optional(v.bigint()), v.transform((v) => v === void 0 ? void 0 : Number(v))),
|
|
35
|
-
dailyInternalTransferOutLimit: v.pipe(v.bigint(), v.transform((v) => Number(v))),
|
|
36
|
-
dailyWithdrawLimit: v.pipe(v.bigint(), v.transform((v) => Number(v))),
|
|
37
31
|
createdAt: TimestampMsSchema,
|
|
38
32
|
updatedAt: TimestampSchema,
|
|
39
33
|
revision: BigIntStringSchema
|
|
@@ -47,38 +41,21 @@ const ApiKeyPolicyInputBaseSchema = v.strictObject({
|
|
|
47
41
|
name: v.string(),
|
|
48
42
|
description: v.optional(v.string(), ""),
|
|
49
43
|
spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),
|
|
50
|
-
perpMarkets: v.optional(v.array(PerpMarketRuleSchema), []),
|
|
51
44
|
spotMarketScope: v.pipe(PolicyMarketScopeEnumSchema, v.transform((v) => PolicyMarketScopeCodec.inputToProto[v])),
|
|
52
|
-
perpMarketScope: v.pipe(PolicyMarketScopeEnumSchema, v.transform((v) => PolicyMarketScopeCodec.inputToProto[v])),
|
|
53
45
|
actions: v.pipe(v.optional(v.array(PolicyActionEnumSchema), []), v.transform((v) => (v ?? []).map((action) => PolicyActionCodec.inputToProto[action]))),
|
|
54
|
-
maxOrderNotional: OptionalNumberToBigIntOrZeroSchema,
|
|
55
|
-
dailyInternalTransferLimit: OptionalNumberToBigIntOrZeroSchema,
|
|
56
|
-
dailyWithdrawLimit: OptionalNumberToBigIntOrZeroSchema,
|
|
57
46
|
isTemplate: v.optional(v.boolean(), false),
|
|
58
47
|
assignToKeyId: v.optional(v.pipe(v.string(), v.trim()))
|
|
59
48
|
});
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
...rest,
|
|
64
|
-
dailyInternalTransferOutLimit: dailyInternalTransferLimit
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
const CreateApiKeyPolicyInputSchema = v.pipe(ApiKeyPolicyInputBaseSchema, v.transform((input) => ({
|
|
68
|
-
policy: createApiKeyPolicyBaseTransform(input),
|
|
69
|
-
assignToKeyId: input.assignToKeyId
|
|
49
|
+
const CreateApiKeyPolicyInputSchema = v.pipe(ApiKeyPolicyInputBaseSchema, v.transform(({ assignToKeyId, ...policy }) => ({
|
|
50
|
+
policy,
|
|
51
|
+
assignToKeyId
|
|
70
52
|
})));
|
|
71
53
|
const ApiKeyPolicyPatchSchema = v.strictObject({
|
|
72
54
|
name: v.optional(v.string()),
|
|
73
55
|
description: v.optional(v.string()),
|
|
74
56
|
spotMarkets: v.optional(v.array(SpotMarketRuleSchema)),
|
|
75
|
-
perpMarkets: v.optional(v.array(PerpMarketRuleSchema)),
|
|
76
57
|
spotMarketScope: v.optional(PolicyMarketScopeEnumSchema),
|
|
77
|
-
perpMarketScope: v.optional(PolicyMarketScopeEnumSchema),
|
|
78
58
|
actions: v.optional(v.array(PolicyActionEnumSchema)),
|
|
79
|
-
maxOrderNotional: v.optional(v.nullable(v.number())),
|
|
80
|
-
dailyInternalTransferLimit: v.optional(v.nullable(v.number())),
|
|
81
|
-
dailyWithdrawLimit: v.optional(v.nullable(v.number())),
|
|
82
59
|
isTemplate: v.optional(v.boolean())
|
|
83
60
|
});
|
|
84
61
|
const API_KEY_POLICY_PATCH_FIELDS = defineProtoPatchFields()({
|
|
@@ -94,34 +71,14 @@ const API_KEY_POLICY_PATCH_FIELDS = defineProtoPatchFields()({
|
|
|
94
71
|
path: "spot_markets",
|
|
95
72
|
encode: (spotMarkets) => ({ spotMarkets })
|
|
96
73
|
},
|
|
97
|
-
perpMarkets: {
|
|
98
|
-
path: "perp_markets",
|
|
99
|
-
encode: (perpMarkets) => ({ perpMarkets })
|
|
100
|
-
},
|
|
101
74
|
spotMarketScope: {
|
|
102
75
|
path: "spot_market_scope",
|
|
103
76
|
encode: (scope) => ({ spotMarketScope: PolicyMarketScopeCodec.inputToProto[scope] })
|
|
104
77
|
},
|
|
105
|
-
perpMarketScope: {
|
|
106
|
-
path: "perp_market_scope",
|
|
107
|
-
encode: (scope) => ({ perpMarketScope: PolicyMarketScopeCodec.inputToProto[scope] })
|
|
108
|
-
},
|
|
109
78
|
actions: {
|
|
110
79
|
path: "actions",
|
|
111
80
|
encode: (actions) => ({ actions: actions.map((action) => PolicyActionCodec.inputToProto[action]) })
|
|
112
81
|
},
|
|
113
|
-
maxOrderNotional: {
|
|
114
|
-
path: "max_order_notional",
|
|
115
|
-
encode: (value) => ({ maxOrderNotional: toBigIntOrZero(value) })
|
|
116
|
-
},
|
|
117
|
-
dailyInternalTransferLimit: {
|
|
118
|
-
path: "daily_internal_transfer_out_limit",
|
|
119
|
-
encode: (value) => ({ dailyInternalTransferOutLimit: toBigIntOrZero(value) })
|
|
120
|
-
},
|
|
121
|
-
dailyWithdrawLimit: {
|
|
122
|
-
path: "daily_withdraw_limit",
|
|
123
|
-
encode: (value) => ({ dailyWithdrawLimit: toBigIntOrZero(value) })
|
|
124
|
-
},
|
|
125
82
|
isTemplate: {
|
|
126
83
|
path: "is_template",
|
|
127
84
|
encode: (isTemplate) => ({ isTemplate })
|
|
@@ -150,12 +107,7 @@ const DEFAULT_API_KEY_POLICY = {
|
|
|
150
107
|
description: "Default API key policy with no permissions",
|
|
151
108
|
spotMarkets: [],
|
|
152
109
|
spotMarketScope: "all",
|
|
153
|
-
perpMarketScope: "all",
|
|
154
|
-
perpMarkets: [],
|
|
155
110
|
actions: [],
|
|
156
|
-
maxOrderNotional: 0,
|
|
157
|
-
dailyInternalTransferOutLimit: 0,
|
|
158
|
-
dailyWithdrawLimit: 0,
|
|
159
111
|
isTemplate: false,
|
|
160
112
|
sourceTemplateId: "",
|
|
161
113
|
createdAt: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-key-policies.schemas.js","names":[],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.schemas.ts"],"sourcesContent":["import * as v from \"valibot\";\nimport {\n PerpMarketRuleSchema,\n PolicyActionEnumSchema,\n PolicyMarketScopeEnumSchema,\n ProtoPolicyActionEnumSchema,\n ProtoPolicyMarketScopeEnumSchema,\n SpotMarketRuleSchema,\n} from \"../shared.js\";\nimport {\n PolicyMarketScopeCodec,\n PolicyActionCodec,\n policyMarketScopeLabelFor,\n policyActionLabelFor,\n} from \"../shared.codecs.js\";\nimport { idToBigInt } from \"../../../utils/base58-id.js\";\nimport {\n OptionalNumberToBigIntOrZeroSchema,\n OptionalPublicIdSchema,\n BigIntStringSchema,\n PublicIdSchema,\n TimestampMsSchema,\n TimestampSchema,\n positiveBigintStringInputSchema,\n} from \"../../../shared/schemas.js\";\nimport { tsObjToMs, tsObjToNsString } from \"../../../utils/time.js\";\nimport { toBigIntOrZero } from \"../../../utils/numbers.js\";\nimport { buildProtoPatch, defineProtoPatchFields } from \"../../../utils/proto-patch.js\";\n\nconst OptionalApiKeyContextSchema = v.optional(\n v.pipe(v.string(), v.trim(), v.minLength(1, \"keyId is required\")),\n);\n\nexport const ListApiKeyPoliciesInputSchema = v.strictObject({\n keyId: OptionalApiKeyContextSchema,\n});\n\nexport type ListApiKeyPoliciesInput = v.InferInput<typeof ListApiKeyPoliciesInputSchema>;\n\nexport const GetApiKeyPolicyInputSchema = v.pipe(\n v.strictObject({\n policyId: v.optional(v.pipe(v.string(), v.trim(), v.minLength(1))),\n keyId: OptionalApiKeyContextSchema,\n }),\n v.transform(({ policyId, keyId }) => ({\n policyId: policyId ? idToBigInt(policyId, \"policyId\") : undefined,\n keyId,\n })),\n);\n\nexport type GetApiKeyPolicyInput = v.InferInput<typeof GetApiKeyPolicyInputSchema>;\n\n/**\n * From the backend format to a usable frontend/UI format, so big ints to numbers, etc.\n * Shape matches auth.v1.ApiPolicyView.\n */\nexport const ApiKeyPolicySchema = v.pipe(\n v.object({\n id: PublicIdSchema,\n name: v.string(),\n description: v.string(),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),\n spotMarketScope: v.pipe(\n ProtoPolicyMarketScopeEnumSchema,\n v.transform((v) => policyMarketScopeLabelFor(v)),\n ),\n perpMarketScope: v.pipe(\n ProtoPolicyMarketScopeEnumSchema,\n v.transform((v) => policyMarketScopeLabelFor(v)),\n ),\n perpMarkets: v.optional(v.array(PerpMarketRuleSchema), []),\n actions: v.pipe(\n v.optional(v.array(ProtoPolicyActionEnumSchema), []),\n v.transform((v) => v.map((action) => policyActionLabelFor(action))),\n ),\n isTemplate: v.optional(v.boolean(), false),\n sourceTemplateId: OptionalPublicIdSchema,\n maxOrderNotional: v.pipe(\n v.optional(v.bigint()),\n v.transform((v) => (v === undefined ? undefined : Number(v))),\n ),\n dailyInternalTransferOutLimit: v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n ),\n dailyWithdrawLimit: v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n ),\n createdAt: TimestampMsSchema,\n updatedAt: TimestampSchema,\n revision: BigIntStringSchema,\n }),\n v.transform(({ updatedAt, ...policy }) => ({\n ...policy,\n updatedAt: tsObjToMs(updatedAt),\n updatedAtNs: tsObjToNsString(updatedAt),\n })),\n);\n\nexport type ApiKeyPolicy = v.InferOutput<typeof ApiKeyPolicySchema>;\n\nexport const ListApiKeyPoliciesResponseSchema = v.pipe(\n v.object({\n policies: v.optional(v.array(ApiKeyPolicySchema), []),\n }),\n v.transform((value) => value.policies),\n);\n\nexport type ListApiKeyPoliciesResponse = v.InferOutput<typeof ListApiKeyPoliciesResponseSchema>;\n\nconst ApiKeyPolicyInputBaseSchema = v.strictObject({\n name: v.string(),\n description: v.optional(v.string(), \"\"),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),\n perpMarkets: v.optional(v.array(PerpMarketRuleSchema), []),\n spotMarketScope: v.pipe(\n PolicyMarketScopeEnumSchema,\n v.transform((v) => PolicyMarketScopeCodec.inputToProto[v]),\n ),\n perpMarketScope: v.pipe(\n PolicyMarketScopeEnumSchema,\n v.transform((v) => PolicyMarketScopeCodec.inputToProto[v]),\n ),\n actions: v.pipe(\n v.optional(v.array(PolicyActionEnumSchema), []),\n v.transform((v) => (v ?? []).map((action) => PolicyActionCodec.inputToProto[action])),\n ),\n maxOrderNotional: OptionalNumberToBigIntOrZeroSchema,\n dailyInternalTransferLimit: OptionalNumberToBigIntOrZeroSchema,\n dailyWithdrawLimit: OptionalNumberToBigIntOrZeroSchema,\n isTemplate: v.optional(v.boolean(), false),\n assignToKeyId: v.optional(v.pipe(v.string(), v.trim())),\n});\n\nfunction createApiKeyPolicyBaseTransform(input: v.InferOutput<typeof ApiKeyPolicyInputBaseSchema>) {\n const { dailyInternalTransferLimit, assignToKeyId: _assignToKeyId, ...rest } = input;\n return {\n ...rest,\n dailyInternalTransferOutLimit: dailyInternalTransferLimit,\n };\n}\n\nexport const CreateApiKeyPolicyInputSchema = v.pipe(\n ApiKeyPolicyInputBaseSchema,\n v.transform((input) => ({\n policy: createApiKeyPolicyBaseTransform(input),\n assignToKeyId: input.assignToKeyId,\n })),\n);\n\nexport type ApiKeyPolicyCreateInput = v.InferInput<typeof CreateApiKeyPolicyInputSchema>;\n\nconst ApiKeyPolicyPatchSchema = v.strictObject({\n name: v.optional(v.string()),\n description: v.optional(v.string()),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema)),\n perpMarkets: v.optional(v.array(PerpMarketRuleSchema)),\n spotMarketScope: v.optional(PolicyMarketScopeEnumSchema),\n perpMarketScope: v.optional(PolicyMarketScopeEnumSchema),\n actions: v.optional(v.array(PolicyActionEnumSchema)),\n maxOrderNotional: v.optional(v.nullable(v.number())),\n dailyInternalTransferLimit: v.optional(v.nullable(v.number())),\n dailyWithdrawLimit: v.optional(v.nullable(v.number())),\n isTemplate: v.optional(v.boolean()),\n});\n\ntype ApiKeyPolicyPatch = v.InferOutput<typeof ApiKeyPolicyPatchSchema>;\n\nconst API_KEY_POLICY_PATCH_FIELDS = defineProtoPatchFields<ApiKeyPolicyPatch>()({\n name: { path: \"name\", encode: (name) => ({ name }) },\n description: { path: \"description\", encode: (description) => ({ description }) },\n spotMarkets: { path: \"spot_markets\", encode: (spotMarkets) => ({ spotMarkets }) },\n perpMarkets: { path: \"perp_markets\", encode: (perpMarkets) => ({ perpMarkets }) },\n spotMarketScope: {\n path: \"spot_market_scope\",\n encode: (scope) => ({ spotMarketScope: PolicyMarketScopeCodec.inputToProto[scope] }),\n },\n perpMarketScope: {\n path: \"perp_market_scope\",\n encode: (scope) => ({ perpMarketScope: PolicyMarketScopeCodec.inputToProto[scope] }),\n },\n actions: {\n path: \"actions\",\n encode: (actions) => ({\n actions: actions.map((action) => PolicyActionCodec.inputToProto[action]),\n }),\n },\n maxOrderNotional: {\n path: \"max_order_notional\",\n encode: (value) => ({ maxOrderNotional: toBigIntOrZero(value) }),\n },\n dailyInternalTransferLimit: {\n path: \"daily_internal_transfer_out_limit\",\n encode: (value) => ({ dailyInternalTransferOutLimit: toBigIntOrZero(value) }),\n },\n dailyWithdrawLimit: {\n path: \"daily_withdraw_limit\",\n encode: (value) => ({ dailyWithdrawLimit: toBigIntOrZero(value) }),\n },\n isTemplate: { path: \"is_template\", encode: (isTemplate) => ({ isTemplate }) },\n});\n\nexport const UpdateApiKeyPolicyInputSchema = v.pipe(\n v.strictObject({\n ...ApiKeyPolicyPatchSchema.entries,\n policyId: v.pipe(\n v.string(),\n v.transform((v) => idToBigInt(v, \"policyId\")),\n ),\n expectedRevision: positiveBigintStringInputSchema(\"expectedRevision\"),\n }),\n v.check(\n ({ policyId: _policyId, expectedRevision: _expectedRevision, ...patch }) =>\n Object.values(patch).some((value) => value !== undefined),\n \"At least one API key policy field must be provided\",\n ),\n v.transform(({ policyId, expectedRevision, ...patch }) => {\n const { patch: policy, updateMask } = buildProtoPatch(patch, API_KEY_POLICY_PATCH_FIELDS);\n return {\n policyId,\n policy,\n updateMask,\n expectedRevision,\n };\n }),\n);\n\nexport type ApiKeyPolicyUpdateInput = v.InferInput<typeof UpdateApiKeyPolicyInputSchema>;\n\nexport const ApplyApiKeyPolicyInputSchema = v.strictObject({\n keyId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n policyId: v.pipe(\n v.nullable(v.pipe(v.string(), v.trim())),\n v.transform((value) => (value ? idToBigInt(value, \"policyId\") : undefined)),\n ),\n});\n\nexport type ApiKeyPolicyApplyInput = v.InferInput<typeof ApplyApiKeyPolicyInputSchema>;\n\nexport const DEFAULT_API_KEY_POLICY: ApiKeyPolicy = {\n id: \"\",\n name: \"API Key Policy\",\n description: \"Default API key policy with no permissions\",\n spotMarkets: [],\n spotMarketScope: \"all\",\n perpMarketScope: \"all\",\n perpMarkets: [],\n actions: [],\n maxOrderNotional: 0,\n dailyInternalTransferOutLimit: 0,\n dailyWithdrawLimit: 0,\n isTemplate: false,\n sourceTemplateId: \"\",\n createdAt: 0,\n updatedAt: 0,\n updatedAtNs: \"0\",\n revision: \"0\",\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api-key-policies.schemas.js","names":[],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.schemas.ts"],"sourcesContent":["import * as v from \"valibot\";\nimport {\n PolicyActionEnumSchema,\n PolicyMarketScopeEnumSchema,\n ProtoPolicyActionEnumSchema,\n ProtoPolicyMarketScopeEnumSchema,\n SpotMarketRuleSchema,\n} from \"../shared.js\";\nimport {\n PolicyMarketScopeCodec,\n PolicyActionCodec,\n policyMarketScopeLabelFor,\n policyActionLabelFor,\n} from \"../shared.codecs.js\";\nimport { idToBigInt } from \"../../../utils/base58-id.js\";\nimport {\n OptionalPublicIdSchema,\n BigIntStringSchema,\n PublicIdSchema,\n TimestampMsSchema,\n TimestampSchema,\n positiveBigintStringInputSchema,\n} from \"../../../shared/schemas.js\";\nimport { tsObjToMs, tsObjToNsString } from \"../../../utils/time.js\";\nimport { buildProtoPatch, defineProtoPatchFields } from \"../../../utils/proto-patch.js\";\n\nconst OptionalApiKeyContextSchema = v.optional(\n v.pipe(v.string(), v.trim(), v.minLength(1, \"keyId is required\")),\n);\n\nexport const ListApiKeyPoliciesInputSchema = v.strictObject({\n keyId: OptionalApiKeyContextSchema,\n});\n\nexport type ListApiKeyPoliciesInput = v.InferInput<typeof ListApiKeyPoliciesInputSchema>;\n\nexport const GetApiKeyPolicyInputSchema = v.pipe(\n v.strictObject({\n policyId: v.optional(v.pipe(v.string(), v.trim(), v.minLength(1))),\n keyId: OptionalApiKeyContextSchema,\n }),\n v.transform(({ policyId, keyId }) => ({\n policyId: policyId ? idToBigInt(policyId, \"policyId\") : undefined,\n keyId,\n })),\n);\n\nexport type GetApiKeyPolicyInput = v.InferInput<typeof GetApiKeyPolicyInputSchema>;\n\n/**\n * From the backend format to a usable frontend/UI format, so big ints to numbers, etc.\n * Shape matches auth.v1.ApiPolicyView.\n */\nexport const ApiKeyPolicySchema = v.pipe(\n v.object({\n id: PublicIdSchema,\n name: v.string(),\n description: v.string(),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),\n spotMarketScope: v.pipe(\n ProtoPolicyMarketScopeEnumSchema,\n v.transform((v) => policyMarketScopeLabelFor(v)),\n ),\n actions: v.pipe(\n v.optional(v.array(ProtoPolicyActionEnumSchema), []),\n v.transform((v) => v.map((action) => policyActionLabelFor(action))),\n ),\n isTemplate: v.optional(v.boolean(), false),\n sourceTemplateId: OptionalPublicIdSchema,\n createdAt: TimestampMsSchema,\n updatedAt: TimestampSchema,\n revision: BigIntStringSchema,\n }),\n v.transform(({ updatedAt, ...policy }) => ({\n ...policy,\n updatedAt: tsObjToMs(updatedAt),\n updatedAtNs: tsObjToNsString(updatedAt),\n })),\n);\n\nexport type ApiKeyPolicy = v.InferOutput<typeof ApiKeyPolicySchema>;\n\nexport const ListApiKeyPoliciesResponseSchema = v.pipe(\n v.object({\n policies: v.optional(v.array(ApiKeyPolicySchema), []),\n }),\n v.transform((value) => value.policies),\n);\n\nexport type ListApiKeyPoliciesResponse = v.InferOutput<typeof ListApiKeyPoliciesResponseSchema>;\n\nconst ApiKeyPolicyInputBaseSchema = v.strictObject({\n name: v.string(),\n description: v.optional(v.string(), \"\"),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),\n spotMarketScope: v.pipe(\n PolicyMarketScopeEnumSchema,\n v.transform((v) => PolicyMarketScopeCodec.inputToProto[v]),\n ),\n actions: v.pipe(\n v.optional(v.array(PolicyActionEnumSchema), []),\n v.transform((v) => (v ?? []).map((action) => PolicyActionCodec.inputToProto[action])),\n ),\n isTemplate: v.optional(v.boolean(), false),\n assignToKeyId: v.optional(v.pipe(v.string(), v.trim())),\n});\n\nexport const CreateApiKeyPolicyInputSchema = v.pipe(\n ApiKeyPolicyInputBaseSchema,\n v.transform(({ assignToKeyId, ...policy }) => ({ policy, assignToKeyId })),\n);\n\nexport type ApiKeyPolicyCreateInput = v.InferInput<typeof CreateApiKeyPolicyInputSchema>;\n\nconst ApiKeyPolicyPatchSchema = v.strictObject({\n name: v.optional(v.string()),\n description: v.optional(v.string()),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema)),\n spotMarketScope: v.optional(PolicyMarketScopeEnumSchema),\n actions: v.optional(v.array(PolicyActionEnumSchema)),\n isTemplate: v.optional(v.boolean()),\n});\n\ntype ApiKeyPolicyPatch = v.InferOutput<typeof ApiKeyPolicyPatchSchema>;\n\nconst API_KEY_POLICY_PATCH_FIELDS = defineProtoPatchFields<ApiKeyPolicyPatch>()({\n name: { path: \"name\", encode: (name) => ({ name }) },\n description: { path: \"description\", encode: (description) => ({ description }) },\n spotMarkets: { path: \"spot_markets\", encode: (spotMarkets) => ({ spotMarkets }) },\n spotMarketScope: {\n path: \"spot_market_scope\",\n encode: (scope) => ({ spotMarketScope: PolicyMarketScopeCodec.inputToProto[scope] }),\n },\n actions: {\n path: \"actions\",\n encode: (actions) => ({\n actions: actions.map((action) => PolicyActionCodec.inputToProto[action]),\n }),\n },\n isTemplate: { path: \"is_template\", encode: (isTemplate) => ({ isTemplate }) },\n});\n\nexport const UpdateApiKeyPolicyInputSchema = v.pipe(\n v.strictObject({\n ...ApiKeyPolicyPatchSchema.entries,\n policyId: v.pipe(\n v.string(),\n v.transform((v) => idToBigInt(v, \"policyId\")),\n ),\n expectedRevision: positiveBigintStringInputSchema(\"expectedRevision\"),\n }),\n v.check(\n ({ policyId: _policyId, expectedRevision: _expectedRevision, ...patch }) =>\n Object.values(patch).some((value) => value !== undefined),\n \"At least one API key policy field must be provided\",\n ),\n v.transform(({ policyId, expectedRevision, ...patch }) => {\n const { patch: policy, updateMask } = buildProtoPatch(patch, API_KEY_POLICY_PATCH_FIELDS);\n return {\n policyId,\n policy,\n updateMask,\n expectedRevision,\n };\n }),\n);\n\nexport type ApiKeyPolicyUpdateInput = v.InferInput<typeof UpdateApiKeyPolicyInputSchema>;\n\nexport const ApplyApiKeyPolicyInputSchema = v.strictObject({\n keyId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n policyId: v.pipe(\n v.nullable(v.pipe(v.string(), v.trim())),\n v.transform((value) => (value ? idToBigInt(value, \"policyId\") : undefined)),\n ),\n});\n\nexport type ApiKeyPolicyApplyInput = v.InferInput<typeof ApplyApiKeyPolicyInputSchema>;\n\nexport const DEFAULT_API_KEY_POLICY: ApiKeyPolicy = {\n id: \"\",\n name: \"API Key Policy\",\n description: \"Default API key policy with no permissions\",\n spotMarkets: [],\n spotMarketScope: \"all\",\n actions: [],\n isTemplate: false,\n sourceTemplateId: \"\",\n createdAt: 0,\n updatedAt: 0,\n updatedAtNs: \"0\",\n revision: \"0\",\n};\n"],"mappings":"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"}
|
|
@@ -16,31 +16,23 @@ const PolicyActionCodec = {
|
|
|
16
16
|
protoToOutput: {
|
|
17
17
|
[0]: "unspecified",
|
|
18
18
|
[1]: "trade-spot",
|
|
19
|
-
[2]: "trade-perp",
|
|
20
19
|
[3]: "internal-transfer",
|
|
21
20
|
[4]: "external-withdraw",
|
|
22
21
|
[5]: "read-balances",
|
|
23
22
|
[6]: "read-spot",
|
|
24
|
-
[7]: "read-perp",
|
|
25
23
|
[8]: "read-internal-transfers",
|
|
26
|
-
[
|
|
27
|
-
[
|
|
28
|
-
[12]: "manage-address-book",
|
|
29
|
-
[13]: "manage-transfer-whitelists"
|
|
24
|
+
[11]: "read-address-book",
|
|
25
|
+
[12]: "manage-address-book"
|
|
30
26
|
},
|
|
31
27
|
inputToProto: {
|
|
32
28
|
"trade-spot": 1,
|
|
33
|
-
"trade-perp": 2,
|
|
34
29
|
"internal-transfer": 3,
|
|
35
30
|
"external-withdraw": 4,
|
|
36
31
|
"read-balances": 5,
|
|
37
32
|
"read-spot": 6,
|
|
38
|
-
"read-perp": 7,
|
|
39
33
|
"read-internal-transfers": 8,
|
|
40
|
-
"read-
|
|
41
|
-
"
|
|
42
|
-
"manage-address-book": 12,
|
|
43
|
-
"manage-transfer-whitelists": 13
|
|
34
|
+
"read-address-book": 11,
|
|
35
|
+
"manage-address-book": 12
|
|
44
36
|
}
|
|
45
37
|
};
|
|
46
38
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.codecs.js","names":[],"sources":["../../../src/services/policies/shared.codecs.ts"],"sourcesContent":["import * as Proto from \"../../gen/auth/v1/policies_pb.js\";\nimport { requiredEnumLabel } from \"../../shared/proto-enum-codec.js\";\nimport type { DecodedEnum, ProtoToOutput } from \"../../utils/types.js\";\n\nexport const POLICY_ACTION_LABELS = [\n \"trade-spot\",\n \"
|
|
1
|
+
{"version":3,"file":"shared.codecs.js","names":[],"sources":["../../../src/services/policies/shared.codecs.ts"],"sourcesContent":["import * as Proto from \"../../gen/auth/v1/policies_pb.js\";\nimport { requiredEnumLabel } from \"../../shared/proto-enum-codec.js\";\nimport type { DecodedEnum, ProtoToOutput } from \"../../utils/types.js\";\n\nexport const POLICY_ACTION_LABELS = [\n \"trade-spot\",\n \"internal-transfer\",\n \"external-withdraw\",\n \"read-balances\",\n \"read-spot\",\n \"read-internal-transfers\",\n \"read-address-book\",\n \"manage-address-book\",\n] as const;\nexport type PolicyActionLabel = (typeof POLICY_ACTION_LABELS)[number];\n\nexport const POLICY_MARKET_SCOPE_LABELS = [\"all\", \"allowlist\"] as const;\nexport type PolicyMarketScopeLabel = (typeof POLICY_MARKET_SCOPE_LABELS)[number];\n\nexport const PolicyMarketScopeCodec = {\n inputToProto: {\n all: Proto.MarketScope_Value.ALL,\n allowlist: Proto.MarketScope_Value.ALLOWLIST,\n } satisfies Record<PolicyMarketScopeLabel, Proto.MarketScope_Value>,\n protoToOutput: {\n [Proto.MarketScope_Value.UNSPECIFIED]: \"unspecified\",\n [Proto.MarketScope_Value.ALL]: \"all\",\n [Proto.MarketScope_Value.ALLOWLIST]: \"allowlist\",\n } satisfies ProtoToOutput<Proto.MarketScope_Value, PolicyMarketScopeLabel>,\n} as const;\n\nexport const PolicyActionCodec = {\n protoToOutput: {\n [Proto.PolicyAction.UNSPECIFIED]: \"unspecified\",\n [Proto.PolicyAction.TRADE_SPOT]: \"trade-spot\",\n [Proto.PolicyAction.INTERNAL_TRANSFER]: \"internal-transfer\",\n [Proto.PolicyAction.EXTERNAL_WITHDRAW]: \"external-withdraw\",\n [Proto.PolicyAction.READ_BALANCES]: \"read-balances\",\n [Proto.PolicyAction.READ_SPOT]: \"read-spot\",\n [Proto.PolicyAction.READ_INTERNAL_TRANSFERS]: \"read-internal-transfers\",\n [Proto.PolicyAction.READ_ADDRESS_BOOK]: \"read-address-book\",\n [Proto.PolicyAction.MANAGE_ADDRESS_BOOK]: \"manage-address-book\",\n } satisfies ProtoToOutput<Proto.PolicyAction, PolicyActionLabel>,\n inputToProto: {\n \"trade-spot\": Proto.PolicyAction.TRADE_SPOT,\n \"internal-transfer\": Proto.PolicyAction.INTERNAL_TRANSFER,\n \"external-withdraw\": Proto.PolicyAction.EXTERNAL_WITHDRAW,\n \"read-balances\": Proto.PolicyAction.READ_BALANCES,\n \"read-spot\": Proto.PolicyAction.READ_SPOT,\n \"read-internal-transfers\": Proto.PolicyAction.READ_INTERNAL_TRANSFERS,\n \"read-address-book\": Proto.PolicyAction.READ_ADDRESS_BOOK,\n \"manage-address-book\": Proto.PolicyAction.MANAGE_ADDRESS_BOOK,\n } satisfies Record<PolicyActionLabel, Proto.PolicyAction>,\n} as const;\n\n/**\n * Returns the display label for a policy market scope.\n */\nexport function policyMarketScopeLabelFor(\n value: Proto.MarketScope_Value,\n): DecodedEnum<PolicyMarketScopeLabel> {\n return requiredEnumLabel(\n PolicyMarketScopeCodec.protoToOutput,\n value,\n \"PolicyMarketScopeCodec\",\n \"market scope\",\n );\n}\n\n/**\n * Returns the display label for a policy action.\n */\nexport function policyActionLabelFor(value: Proto.PolicyAction): DecodedEnum<PolicyActionLabel> {\n return requiredEnumLabel(\n PolicyActionCodec.protoToOutput,\n value,\n \"PolicyActionCodec\",\n \"policy action\",\n );\n}\n"],"mappings":";;;AAmBA,MAAa,yBAAyB;CAClC,cAAc;EACV,KAAA;EACA,WAAA;CACJ;CACA,eAAe;GAC4B,IAAA;GACR,IAAA;GACM,IAAA;CACzC;AACJ;AAEA,MAAa,oBAAoB;CAC7B,eAAe;GACuB,IAAA;GACD,IAAA;GACO,IAAA;GACA,IAAA;GACJ,IAAA;GACJ,IAAA;GACc,IAAA;GACN,KAAA;GACE,KAAA;CAC9C;CACA,cAAc;EACV,cAAA;EACA,qBAAA;EACA,qBAAA;EACA,iBAAA;EACA,aAAA;EACA,2BAAA;EACA,qBAAA;EACA,uBAAA;CACJ;AACJ;;;;AAKA,SAAgB,0BACZ,OACmC;CACnC,OAAO,kBACH,uBAAuB,eACvB,OACA,0BACA,cACJ;AACJ;;;;AAKA,SAAgB,qBAAqB,OAA2D;CAC5F,OAAO,kBACH,kBAAkB,eAClB,OACA,qBACA,eACJ;AACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../../gen/auth/v1/policies_pb.js";
|
|
2
2
|
import * as v from "valibot";
|
|
3
3
|
//#region src/services/policies/shared.d.ts
|
|
4
|
-
declare const PolicyActionEnumSchema: v.PicklistSchema<readonly ["trade-spot", "
|
|
4
|
+
declare const PolicyActionEnumSchema: v.PicklistSchema<readonly ["trade-spot", "internal-transfer", "external-withdraw", "read-balances", "read-spot", "read-internal-transfers", "read-address-book", "manage-address-book"], undefined>;
|
|
5
5
|
declare const PolicyMarketScopeEnumSchema: v.PicklistSchema<readonly ["all", "allowlist"], undefined>;
|
|
6
6
|
type PolicyMarketScope = v.InferOutput<typeof PolicyMarketScopeEnumSchema>;
|
|
7
7
|
type PolicyAction = v.InferOutput<typeof PolicyActionEnumSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","names":[],"sources":["../../../src/services/policies/shared.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"shared.d.ts","names":[],"sources":["../../../src/services/policies/shared.ts"],"mappings":";;;cAuBa,wBAAsB,EAAA;cAEtB,6BAA2B,EAAA;KAC5B,oBAAoB,EAAE,mBAAmB;KAEzC,eAAe,EAAE,mBAAmB"}
|