@polyester/sdk 0.3.1 → 0.4.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 +38 -0
- package/README.md +63 -17
- package/dist/_virtual/_rolldown/runtime.js +15 -1
- package/dist/account-signer/types.d.ts.map +1 -1
- package/dist/account-signer/types.js +6 -3
- package/dist/account-signer/types.js.map +1 -1
- package/dist/browser-client.d.ts +4 -2
- package/dist/browser-client.d.ts.map +1 -1
- package/dist/browser-client.js +3 -4
- package/dist/browser-client.js.map +1 -1
- package/dist/catalogs/client-catalog.d.ts.map +1 -1
- package/dist/catalogs/client-catalog.js +11 -4
- package/dist/catalogs/client-catalog.js.map +1 -1
- package/dist/catalogs/index.js +1 -1
- package/dist/catalogs/readers.d.ts.map +1 -1
- package/dist/catalogs/readers.js +3 -1
- package/dist/catalogs/readers.js.map +1 -1
- package/dist/catalogs/snapshot-validation.js +132 -0
- package/dist/catalogs/snapshot-validation.js.map +1 -0
- package/dist/catalogs/snapshot.d.ts.map +1 -1
- package/dist/catalogs/snapshot.js +16 -7
- package/dist/catalogs/snapshot.js.map +1 -1
- package/dist/catalogs/zipper-supply.d.ts.map +1 -1
- package/dist/catalogs/zipper-supply.js +10 -7
- package/dist/catalogs/zipper-supply.js.map +1 -1
- package/dist/core-client.d.ts +24 -17
- package/dist/core-client.d.ts.map +1 -1
- package/dist/core-client.js +21 -3
- package/dist/core-client.js.map +1 -1
- package/dist/environment.d.ts.map +1 -1
- package/dist/environment.js +32 -1
- package/dist/environment.js.map +1 -1
- package/dist/index.js +3 -3
- package/dist/realtime/client.js +13 -2
- package/dist/realtime/client.js.map +1 -1
- package/dist/realtime/snapshot-then-stream.js +1 -1
- package/dist/realtime/snapshot-then-stream.js.map +1 -1
- package/dist/realtime/types.d.ts +2 -0
- package/dist/realtime/types.d.ts.map +1 -1
- package/dist/server-client.d.ts +17 -8
- package/dist/server-client.d.ts.map +1 -1
- package/dist/server-client.js +8 -11
- package/dist/server-client.js.map +1 -1
- package/dist/services/accounts/accounts.js +3 -3
- package/dist/services/accounts/accounts.js.map +1 -1
- package/dist/services/accounts/accounts.schemas.d.ts +13 -13
- package/dist/services/accounts/accounts.schemas.d.ts.map +1 -1
- package/dist/services/accounts/accounts.schemas.js +11 -11
- package/dist/services/accounts/accounts.schemas.js.map +1 -1
- package/dist/services/address-book/address-book.js +28 -28
- package/dist/services/address-book/address-book.js.map +1 -1
- package/dist/services/address-book/address-book.schemas.d.ts +751 -751
- package/dist/services/address-book/address-book.schemas.d.ts.map +1 -1
- package/dist/services/address-book/address-book.schemas.js +160 -160
- package/dist/services/address-book/address-book.schemas.js.map +1 -1
- package/dist/services/api-keys/api-keys.d.ts +6 -6
- package/dist/services/api-keys/api-keys.d.ts.map +1 -1
- package/dist/services/api-keys/api-keys.js +12 -12
- package/dist/services/api-keys/api-keys.js.map +1 -1
- package/dist/services/api-keys/api-keys.schemas.d.ts +62 -62
- package/dist/services/api-keys/api-keys.schemas.d.ts.map +1 -1
- package/dist/services/api-keys/api-keys.schemas.js +34 -34
- package/dist/services/api-keys/api-keys.schemas.js.map +1 -1
- package/dist/services/auth/auth.d.ts +46 -40
- package/dist/services/auth/auth.d.ts.map +1 -1
- package/dist/services/auth/auth.js +28 -25
- package/dist/services/auth/auth.js.map +1 -1
- package/dist/services/auth/profile/profile.d.ts +2 -2
- package/dist/services/auth/profile/profile.d.ts.map +1 -1
- package/dist/services/auth/profile/profile.js +7 -7
- package/dist/services/auth/profile/profile.js.map +1 -1
- package/dist/services/auth/profile/profile.schemas.d.ts +41 -41
- package/dist/services/auth/profile/profile.schemas.d.ts.map +1 -1
- package/dist/services/auth/profile/profile.schemas.js +27 -27
- package/dist/services/auth/profile/profile.schemas.js.map +1 -1
- package/dist/services/auth/session.d.ts +1 -1
- package/dist/services/auth/session.d.ts.map +1 -1
- package/dist/services/auth/session.js +6 -2
- package/dist/services/auth/session.js.map +1 -1
- package/dist/services/auth/session.schemas.js +17 -17
- package/dist/services/auth/session.schemas.js.map +1 -1
- package/dist/services/auth/session.types.d.ts +3 -2
- package/dist/services/auth/session.types.d.ts.map +1 -1
- package/dist/services/balances/balances.d.ts +1 -1
- package/dist/services/balances/balances.js +9 -9
- package/dist/services/balances/balances.js.map +1 -1
- package/dist/services/balances/balances.schemas.d.ts +95 -95
- package/dist/services/balances/balances.schemas.d.ts.map +1 -1
- package/dist/services/balances/balances.schemas.js +61 -61
- package/dist/services/balances/balances.schemas.js.map +1 -1
- package/dist/services/candles/candles.js +12 -12
- package/dist/services/candles/candles.js.map +1 -1
- package/dist/services/candles/candles.schemas.d.ts +70 -70
- package/dist/services/candles/candles.schemas.d.ts.map +1 -1
- package/dist/services/candles/candles.schemas.js +47 -48
- package/dist/services/candles/candles.schemas.js.map +1 -1
- package/dist/services/chain-analytics/chain-analytics.js +7 -7
- package/dist/services/chain-analytics/chain-analytics.js.map +1 -1
- package/dist/services/chain-analytics/chain-analytics.schemas.d.ts +68 -68
- package/dist/services/chain-analytics/chain-analytics.schemas.d.ts.map +1 -1
- package/dist/services/chain-analytics/chain-analytics.schemas.js +29 -29
- package/dist/services/chain-analytics/chain-analytics.schemas.js.map +1 -1
- package/dist/services/deposit/deposit.js +5 -5
- package/dist/services/deposit/deposit.js.map +1 -1
- package/dist/services/deposit/deposit.schemas.d.ts +17 -17
- package/dist/services/deposit/deposit.schemas.d.ts.map +1 -1
- package/dist/services/deposit/deposit.schemas.js +11 -11
- package/dist/services/deposit/deposit.schemas.js.map +1 -1
- package/dist/services/guard-signer/guard-signer.js +13 -13
- package/dist/services/guard-signer/guard-signer.js.map +1 -1
- package/dist/services/guard-signer/guard-signer.schemas.d.ts +75 -75
- package/dist/services/guard-signer/guard-signer.schemas.d.ts.map +1 -1
- package/dist/services/guard-signer/guard-signer.schemas.js +42 -42
- package/dist/services/guard-signer/guard-signer.schemas.js.map +1 -1
- package/dist/services/heatmap/heatmap.js +9 -9
- package/dist/services/heatmap/heatmap.js.map +1 -1
- package/dist/services/heatmap/heatmap.schemas.d.ts +144 -144
- package/dist/services/heatmap/heatmap.schemas.d.ts.map +1 -1
- package/dist/services/heatmap/heatmap.schemas.js +47 -47
- package/dist/services/heatmap/heatmap.schemas.js.map +1 -1
- package/dist/services/internal-transfers/internal-transfers.js +3 -3
- package/dist/services/internal-transfers/internal-transfers.js.map +1 -1
- package/dist/services/internal-transfers/internal-transfers.schemas.d.ts +53 -53
- package/dist/services/internal-transfers/internal-transfers.schemas.d.ts.map +1 -1
- package/dist/services/internal-transfers/internal-transfers.schemas.js +27 -27
- package/dist/services/internal-transfers/internal-transfers.schemas.js.map +1 -1
- package/dist/services/lifecycle/lifecycle.js +10 -10
- package/dist/services/lifecycle/lifecycle.js.map +1 -1
- package/dist/services/lifecycle/lifecycle.schemas.d.ts +614 -614
- package/dist/services/lifecycle/lifecycle.schemas.d.ts.map +1 -1
- package/dist/services/lifecycle/lifecycle.schemas.js +146 -146
- package/dist/services/lifecycle/lifecycle.schemas.js.map +1 -1
- package/dist/services/market-data/market-data.js +6 -6
- package/dist/services/market-data/market-data.js.map +1 -1
- package/dist/services/market-data/market-data.schemas.d.ts +20 -20
- package/dist/services/market-data/market-data.schemas.d.ts.map +1 -1
- package/dist/services/market-data/market-data.schemas.js +51 -55
- package/dist/services/market-data/market-data.schemas.js.map +1 -1
- package/dist/services/market-overview/market-overview.js +4 -4
- package/dist/services/market-overview/market-overview.js.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.d.ts +38 -38
- package/dist/services/market-overview/market-overview.schemas.d.ts.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.js +33 -33
- package/dist/services/market-overview/market-overview.schemas.js.map +1 -1
- package/dist/services/mfa/mfa.js +27 -27
- package/dist/services/mfa/mfa.js.map +1 -1
- package/dist/services/mfa/mfa.schemas.d.ts +206 -206
- package/dist/services/mfa/mfa.schemas.d.ts.map +1 -1
- package/dist/services/mfa/mfa.schemas.js +83 -83
- package/dist/services/mfa/mfa.schemas.js.map +1 -1
- package/dist/services/orderbook/orderbook.d.ts +2 -2
- package/dist/services/orderbook/orderbook.d.ts.map +1 -1
- package/dist/services/orderbook/orderbook.js +5 -5
- package/dist/services/orderbook/orderbook.js.map +1 -1
- package/dist/services/orderbook/orderbook.schemas.d.ts +22 -22
- package/dist/services/orderbook/orderbook.schemas.d.ts.map +1 -1
- package/dist/services/orderbook/orderbook.schemas.js +15 -15
- package/dist/services/orderbook/orderbook.schemas.js.map +1 -1
- package/dist/services/orders/order-errors.schemas.d.ts +18 -18
- package/dist/services/orders/order-errors.schemas.d.ts.map +1 -1
- package/dist/services/orders/order-errors.schemas.js +8 -8
- package/dist/services/orders/order-errors.schemas.js.map +1 -1
- package/dist/services/orders/orders-batch.schemas.d.ts +492 -492
- package/dist/services/orders/orders-batch.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-batch.schemas.js +118 -118
- package/dist/services/orders/orders-batch.schemas.js.map +1 -1
- package/dist/services/orders/orders-identifiers.schemas.js +5 -5
- package/dist/services/orders/orders-identifiers.schemas.js.map +1 -1
- package/dist/services/orders/orders-input.schemas.d.ts +657 -648
- package/dist/services/orders/orders-input.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-input.schemas.js +100 -96
- package/dist/services/orders/orders-input.schemas.js.map +1 -1
- package/dist/services/orders/orders-modify.schemas.d.ts +370 -351
- package/dist/services/orders/orders-modify.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-modify.schemas.js +48 -44
- package/dist/services/orders/orders-modify.schemas.js.map +1 -1
- package/dist/services/orders/orders-output.schemas.d.ts +183 -183
- package/dist/services/orders/orders-output.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-output.schemas.js +49 -49
- package/dist/services/orders/orders-output.schemas.js.map +1 -1
- package/dist/services/orders/orders-risk.schemas.d.ts +226 -226
- package/dist/services/orders/orders-risk.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-risk.schemas.js +69 -69
- package/dist/services/orders/orders-risk.schemas.js.map +1 -1
- package/dist/services/orders/orders.d.ts +8 -8
- package/dist/services/orders/orders.d.ts.map +1 -1
- package/dist/services/orders/orders.js +44 -32
- package/dist/services/orders/orders.js.map +1 -1
- package/dist/services/policies/api-key-policies/api-key-policies.d.ts +6 -6
- package/dist/services/policies/api-key-policies/api-key-policies.d.ts.map +1 -1
- package/dist/services/policies/api-key-policies/api-key-policies.js +11 -11
- 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 +105 -105
- 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 +49 -49
- package/dist/services/policies/api-key-policies/api-key-policies.schemas.js.map +1 -1
- package/dist/services/policies/shared.d.ts +5 -5
- package/dist/services/policies/shared.d.ts.map +1 -1
- package/dist/services/policies/shared.js +10 -10
- package/dist/services/policies/shared.js.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts +6 -6
- package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.js +13 -13
- package/dist/services/policies/subaccount-policies/subaccount-policies.js.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts +124 -124
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js +75 -75
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js.map +1 -1
- package/dist/services/shared.js +11 -11
- package/dist/services/shared.js.map +1 -1
- package/dist/services/social-verification/social-verification.d.ts +3 -3
- package/dist/services/social-verification/social-verification.d.ts.map +1 -1
- package/dist/services/social-verification/social-verification.js +7 -7
- package/dist/services/social-verification/social-verification.js.map +1 -1
- package/dist/services/social-verification/social-verification.schemas.d.ts +54 -54
- package/dist/services/social-verification/social-verification.schemas.d.ts.map +1 -1
- package/dist/services/social-verification/social-verification.schemas.js +28 -28
- package/dist/services/social-verification/social-verification.schemas.js.map +1 -1
- package/dist/services/subaccount-resolver.js +5 -3
- package/dist/services/subaccount-resolver.js.map +1 -1
- package/dist/services/subaccounts/subaccounts.d.ts +15 -15
- package/dist/services/subaccounts/subaccounts.d.ts.map +1 -1
- package/dist/services/subaccounts/subaccounts.js +35 -35
- package/dist/services/subaccounts/subaccounts.js.map +1 -1
- package/dist/services/subaccounts/subaccounts.schemas.d.ts +135 -135
- package/dist/services/subaccounts/subaccounts.schemas.d.ts.map +1 -1
- package/dist/services/subaccounts/subaccounts.schemas.js +72 -72
- package/dist/services/subaccounts/subaccounts.schemas.js.map +1 -1
- package/dist/services/trades/trades.d.ts +2 -2
- package/dist/services/trades/trades.d.ts.map +1 -1
- package/dist/services/trades/trades.js +5 -5
- package/dist/services/trades/trades.js.map +1 -1
- package/dist/services/trades/trades.schemas.d.ts +31 -31
- package/dist/services/trades/trades.schemas.d.ts.map +1 -1
- package/dist/services/trades/trades.schemas.js +24 -24
- package/dist/services/trades/trades.schemas.js.map +1 -1
- package/dist/services/trading-withdraws/trading-withdraws.js +8 -8
- package/dist/services/trading-withdraws/trading-withdraws.js.map +1 -1
- package/dist/services/trading-withdraws/trading-withdraws.schemas.d.ts +45 -45
- package/dist/services/trading-withdraws/trading-withdraws.schemas.d.ts.map +1 -1
- package/dist/services/trading-withdraws/trading-withdraws.schemas.js +36 -36
- package/dist/services/trading-withdraws/trading-withdraws.schemas.js.map +1 -1
- package/dist/services/transfers/transfers.d.ts +1 -1
- package/dist/services/transfers/transfers.d.ts.map +1 -1
- package/dist/services/transfers/transfers.js +5 -5
- package/dist/services/transfers/transfers.js.map +1 -1
- package/dist/services/transfers/transfers.schemas.d.ts +42 -42
- package/dist/services/transfers/transfers.schemas.d.ts.map +1 -1
- package/dist/services/transfers/transfers.schemas.js +30 -30
- package/dist/services/transfers/transfers.schemas.js.map +1 -1
- package/dist/services/triggers/trigger-child-order.schemas.js +23 -23
- package/dist/services/triggers/trigger-child-order.schemas.js.map +1 -1
- package/dist/services/triggers/trigger-input.schemas.d.ts +226 -226
- package/dist/services/triggers/trigger-input.schemas.d.ts.map +1 -1
- package/dist/services/triggers/trigger-input.schemas.js +53 -53
- package/dist/services/triggers/trigger-input.schemas.js.map +1 -1
- package/dist/services/triggers/triggers-output.schemas.d.ts +210 -210
- package/dist/services/triggers/triggers-output.schemas.d.ts.map +1 -1
- package/dist/services/triggers/triggers-output.schemas.js +152 -152
- package/dist/services/triggers/triggers-output.schemas.js.map +1 -1
- package/dist/services/triggers/triggers.js +21 -21
- package/dist/services/triggers/triggers.js.map +1 -1
- package/dist/services/whiteboard/whiteboard.js +15 -15
- package/dist/services/whiteboard/whiteboard.js.map +1 -1
- package/dist/services/whiteboard/whiteboard.schemas.d.ts +379 -379
- package/dist/services/whiteboard/whiteboard.schemas.d.ts.map +1 -1
- package/dist/services/whiteboard/whiteboard.schemas.js +71 -71
- package/dist/services/whiteboard/whiteboard.schemas.js.map +1 -1
- package/dist/services/zipper/zipper.js +3 -3
- package/dist/services/zipper/zipper.js.map +1 -1
- package/dist/services/zipper/zipper.schemas.d.ts +1 -1
- package/dist/services/zipper/zipper.schemas.js +54 -54
- package/dist/services/zipper/zipper.schemas.js.map +1 -1
- package/dist/shared/account-scope.d.ts +6 -6
- package/dist/shared/account-scope.d.ts.map +1 -1
- package/dist/shared/account-scope.js +3 -3
- package/dist/shared/account-scope.js.map +1 -1
- package/dist/shared/connect-error-mapping.d.ts +1 -1
- package/dist/shared/connect-error-mapping.js +29 -3
- package/dist/shared/connect-error-mapping.js.map +1 -1
- package/dist/shared/rate-limit.schemas.d.ts +12 -12
- package/dist/shared/rate-limit.schemas.d.ts.map +1 -1
- package/dist/shared/rate-limit.schemas.js +7 -7
- package/dist/shared/rate-limit.schemas.js.map +1 -1
- package/dist/shared/schemas.js +26 -26
- package/dist/shared/schemas.js.map +1 -1
- package/dist/shared/transports.js +7 -12
- package/dist/shared/transports.js.map +1 -1
- package/dist/shared/types.d.ts +12 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/validation.d.ts +14 -0
- package/dist/shared/validation.d.ts.map +1 -0
- package/dist/shared/validation.js +24 -0
- package/dist/shared/validation.js.map +1 -0
- package/dist/utils/connect-order-errors.js +2 -2
- package/dist/utils/connect-order-errors.js.map +1 -1
- package/dist/utils/cookies.d.ts +8 -3
- package/dist/utils/cookies.d.ts.map +1 -1
- package/dist/utils/cookies.js +7 -1
- package/dist/utils/cookies.js.map +1 -1
- package/dist/utils/event-emitter.d.ts +1 -1
- package/dist/utils/event-emitter.d.ts.map +1 -1
- package/dist/utils/event-emitter.js +4 -2
- package/dist/utils/event-emitter.js.map +1 -1
- package/dist/utils/evm.js +2 -2
- package/dist/utils/evm.js.map +1 -1
- package/dist/utils/jwt.d.ts +2 -2
- package/dist/utils/jwt.d.ts.map +1 -1
- package/dist/utils/jwt.js +2 -2
- package/dist/utils/jwt.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,24 +1,24 @@
|
|
|
1
|
+
import { validation_exports } from "../../shared/validation.js";
|
|
1
2
|
import { AccountScopeInputEntries, accountScopeToSubaccountId } from "../../shared/account-scope.js";
|
|
2
3
|
import { PROTECTED_ACTION_VALUES, ProtectedActionCodec } from "./guard-signer.codecs.js";
|
|
3
|
-
import * as v from "valibot";
|
|
4
4
|
import { bytesToHex } from "@noble/hashes/utils.js";
|
|
5
5
|
//#region src/services/guard-signer/guard-signer.schemas.ts
|
|
6
|
-
const HexAddressSchema =
|
|
7
|
-
const WhitelistAddressSchema =
|
|
8
|
-
const GuardSignerScopedInputSchema =
|
|
9
|
-
const ProtectedActionArgsInputSchema =
|
|
10
|
-
|
|
11
|
-
case:
|
|
12
|
-
polychainChainId:
|
|
13
|
-
addresses:
|
|
6
|
+
const HexAddressSchema = validation_exports.pipe(validation_exports.string(), validation_exports.trim(), validation_exports.regex(/^0x[0-9a-fA-F]{40}$/));
|
|
7
|
+
const WhitelistAddressSchema = validation_exports.pipe(validation_exports.string(), validation_exports.trim(), validation_exports.minLength(1));
|
|
8
|
+
const GuardSignerScopedInputSchema = validation_exports.pipe(validation_exports.strictObject({ ...AccountScopeInputEntries }), validation_exports.transform(({ account }) => ({ subaccountId: accountScopeToSubaccountId(account) })));
|
|
9
|
+
const ProtectedActionArgsInputSchema = validation_exports.variant("case", [
|
|
10
|
+
validation_exports.strictObject({
|
|
11
|
+
case: validation_exports.literal("externalWhitelist"),
|
|
12
|
+
polychainChainId: validation_exports.pipe(validation_exports.number(), validation_exports.integer(), validation_exports.gtValue(0)),
|
|
13
|
+
addresses: validation_exports.pipe(validation_exports.array(WhitelistAddressSchema), validation_exports.minLength(1))
|
|
14
14
|
}),
|
|
15
|
-
|
|
16
|
-
case:
|
|
17
|
-
addresses:
|
|
15
|
+
validation_exports.strictObject({
|
|
16
|
+
case: validation_exports.literal("internalWhitelist"),
|
|
17
|
+
addresses: validation_exports.pipe(validation_exports.array(WhitelistAddressSchema), validation_exports.minLength(1))
|
|
18
18
|
}),
|
|
19
|
-
|
|
20
|
-
case:
|
|
21
|
-
required:
|
|
19
|
+
validation_exports.strictObject({
|
|
20
|
+
case: validation_exports.literal("whitelistRequirement"),
|
|
21
|
+
required: validation_exports.boolean()
|
|
22
22
|
})
|
|
23
23
|
]);
|
|
24
24
|
function toProtectedActionArgs(args) {
|
|
@@ -38,55 +38,55 @@ function toProtectedActionArgs(args) {
|
|
|
38
38
|
value: { required: args.required }
|
|
39
39
|
} };
|
|
40
40
|
}
|
|
41
|
-
const SignProtectedActionInputSchema =
|
|
41
|
+
const SignProtectedActionInputSchema = validation_exports.pipe(validation_exports.strictObject({
|
|
42
42
|
...AccountScopeInputEntries,
|
|
43
|
-
action:
|
|
44
|
-
args:
|
|
45
|
-
}),
|
|
43
|
+
action: validation_exports.picklist(PROTECTED_ACTION_VALUES),
|
|
44
|
+
args: validation_exports.optional(ProtectedActionArgsInputSchema)
|
|
45
|
+
}), validation_exports.transform(({ account, action, args }) => ({
|
|
46
46
|
subaccountId: accountScopeToSubaccountId(account),
|
|
47
47
|
action: ProtectedActionCodec.inputToProto[action],
|
|
48
48
|
args: args ? toProtectedActionArgs(args) : void 0
|
|
49
49
|
})));
|
|
50
|
-
const BatchSignProtectedActionInputSchema =
|
|
50
|
+
const BatchSignProtectedActionInputSchema = validation_exports.pipe(validation_exports.strictObject({
|
|
51
51
|
...AccountScopeInputEntries,
|
|
52
|
-
actions:
|
|
53
|
-
action:
|
|
54
|
-
args:
|
|
55
|
-
})),
|
|
56
|
-
}),
|
|
52
|
+
actions: validation_exports.pipe(validation_exports.array(validation_exports.strictObject({
|
|
53
|
+
action: validation_exports.picklist(PROTECTED_ACTION_VALUES),
|
|
54
|
+
args: validation_exports.optional(ProtectedActionArgsInputSchema)
|
|
55
|
+
})), validation_exports.minLength(1, "At least one protected action is required."))
|
|
56
|
+
}), validation_exports.transform(({ account, actions }) => ({
|
|
57
57
|
subaccountId: accountScopeToSubaccountId(account),
|
|
58
58
|
actions: actions.map(({ action, args }) => ({
|
|
59
59
|
action: ProtectedActionCodec.inputToProto[action],
|
|
60
60
|
args: args ? toProtectedActionArgs(args) : void 0
|
|
61
61
|
}))
|
|
62
62
|
})));
|
|
63
|
-
const GuardSignerStatusSchema =
|
|
64
|
-
signerAddress:
|
|
65
|
-
onchainSignerAddress:
|
|
66
|
-
initialized:
|
|
67
|
-
nonce:
|
|
68
|
-
nonceSpace:
|
|
63
|
+
const GuardSignerStatusSchema = validation_exports.object({
|
|
64
|
+
signerAddress: validation_exports.string(),
|
|
65
|
+
onchainSignerAddress: validation_exports.string(),
|
|
66
|
+
initialized: validation_exports.boolean(),
|
|
67
|
+
nonce: validation_exports.string(),
|
|
68
|
+
nonceSpace: validation_exports.bigint()
|
|
69
69
|
});
|
|
70
|
-
const GuardApprovalSchema =
|
|
71
|
-
nonceSpace:
|
|
72
|
-
deadlineUnix:
|
|
73
|
-
signature:
|
|
74
|
-
}),
|
|
70
|
+
const GuardApprovalSchema = validation_exports.pipe(validation_exports.object({
|
|
71
|
+
nonceSpace: validation_exports.bigint(),
|
|
72
|
+
deadlineUnix: validation_exports.bigint(),
|
|
73
|
+
signature: validation_exports.instance(Uint8Array)
|
|
74
|
+
}), validation_exports.transform((approval) => ({
|
|
75
75
|
nonceSpace: approval.nonceSpace.toString(),
|
|
76
76
|
deadlineUnix: approval.deadlineUnix.toString(),
|
|
77
77
|
signature: `0x${bytesToHex(approval.signature)}`,
|
|
78
78
|
raw: approval
|
|
79
79
|
})));
|
|
80
|
-
const BatchGuardApprovalsSchema =
|
|
81
|
-
const CreateGuardSignerWalletResultSchema =
|
|
82
|
-
const RotateGuardSignerWalletResultSchema =
|
|
80
|
+
const BatchGuardApprovalsSchema = validation_exports.object({ approvals: validation_exports.array(GuardApprovalSchema) });
|
|
81
|
+
const CreateGuardSignerWalletResultSchema = validation_exports.object({ signerAddress: HexAddressSchema });
|
|
82
|
+
const RotateGuardSignerWalletResultSchema = validation_exports.pipe(validation_exports.object({
|
|
83
83
|
newSignerAddress: HexAddressSchema,
|
|
84
|
-
approval:
|
|
85
|
-
}),
|
|
84
|
+
approval: validation_exports.optional(GuardApprovalSchema)
|
|
85
|
+
}), validation_exports.transform((result) => ({
|
|
86
86
|
newSignerAddress: result.newSignerAddress,
|
|
87
87
|
approval: result.approval ?? null
|
|
88
88
|
})));
|
|
89
|
-
const ExportGuardSignerWalletResultSchema =
|
|
89
|
+
const ExportGuardSignerWalletResultSchema = validation_exports.object({ privateKey: validation_exports.pipe(validation_exports.string(), validation_exports.trim(), validation_exports.regex(/^0x[0-9a-fA-F]{64}$/)) });
|
|
90
90
|
//#endregion
|
|
91
91
|
export { BatchGuardApprovalsSchema, BatchSignProtectedActionInputSchema, CreateGuardSignerWalletResultSchema, ExportGuardSignerWalletResultSchema, GuardApprovalSchema, GuardSignerScopedInputSchema, GuardSignerStatusSchema, RotateGuardSignerWalletResultSchema, SignProtectedActionInputSchema };
|
|
92
92
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard-signer.schemas.js","names":[],"sources":["../../../src/services/guard-signer/guard-signer.schemas.ts"],"sourcesContent":["import { bytesToHex } from \"@noble/hashes/utils.js\";\nimport * as v from \"
|
|
1
|
+
{"version":3,"file":"guard-signer.schemas.js","names":["v"],"sources":["../../../src/services/guard-signer/guard-signer.schemas.ts"],"sourcesContent":["import { bytesToHex } from \"@noble/hashes/utils.js\";\nimport * as v from \"../../shared/validation.js\";\nimport { PROTECTED_ACTION_VALUES, ProtectedActionCodec } from \"./guard-signer.codecs.js\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../shared/account-scope.js\";\n\nconst HexAddressSchema = v.pipe(v.string(), v.trim(), v.regex(/^0x[0-9a-fA-F]{40}$/));\n\nconst WhitelistAddressSchema = v.pipe(v.string(), v.trim(), v.minLength(1));\n\nexport const GuardSignerScopedInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n }),\n v.transform(({ account }) => ({\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type GuardSignerScopedInput = v.InferInput<typeof GuardSignerScopedInputSchema>;\n\nconst ProtectedActionArgsInputSchema = v.variant(\"case\", [\n v.strictObject({\n case: v.literal(\"externalWhitelist\"),\n polychainChainId: v.pipe(v.number(), v.integer(), v.gtValue(0)),\n addresses: v.pipe(v.array(WhitelistAddressSchema), v.minLength(1)),\n }),\n v.strictObject({\n case: v.literal(\"internalWhitelist\"),\n addresses: v.pipe(v.array(WhitelistAddressSchema), v.minLength(1)),\n }),\n v.strictObject({\n case: v.literal(\"whitelistRequirement\"),\n required: v.boolean(),\n }),\n]);\n\nfunction toProtectedActionArgs(args: v.InferOutput<typeof ProtectedActionArgsInputSchema>) {\n if (args.case === \"externalWhitelist\") {\n return {\n args: {\n case: \"externalWhitelist\" as const,\n value: {\n polychainChainId: args.polychainChainId,\n addresses: args.addresses,\n },\n },\n };\n }\n\n if (args.case === \"internalWhitelist\") {\n return {\n args: {\n case: \"internalWhitelist\" as const,\n value: {\n addresses: args.addresses,\n },\n },\n };\n }\n\n return {\n args: {\n case: \"whitelistRequirement\" as const,\n value: {\n required: args.required,\n },\n },\n };\n}\n\nexport const SignProtectedActionInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n action: v.picklist(PROTECTED_ACTION_VALUES),\n args: v.optional(ProtectedActionArgsInputSchema),\n }),\n v.transform(({ account, action, args }) => ({\n subaccountId: accountScopeToSubaccountId(account),\n action: ProtectedActionCodec.inputToProto[action],\n args: args ? toProtectedActionArgs(args) : undefined,\n })),\n);\n\nexport type SignProtectedActionInput = v.InferInput<typeof SignProtectedActionInputSchema>;\n\nexport const BatchSignProtectedActionInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n actions: v.pipe(\n v.array(\n v.strictObject({\n action: v.picklist(PROTECTED_ACTION_VALUES),\n args: v.optional(ProtectedActionArgsInputSchema),\n }),\n ),\n v.minLength(1, \"At least one protected action is required.\"),\n ),\n }),\n v.transform(({ account, actions }) => ({\n subaccountId: accountScopeToSubaccountId(account),\n actions: actions.map(({ action, args }) => ({\n action: ProtectedActionCodec.inputToProto[action],\n args: args ? toProtectedActionArgs(args) : undefined,\n })),\n })),\n);\n\nexport type BatchSignProtectedActionInput = v.InferInput<\n typeof BatchSignProtectedActionInputSchema\n>;\n\nexport const GuardSignerStatusSchema = v.object({\n signerAddress: v.string(),\n onchainSignerAddress: v.string(),\n initialized: v.boolean(),\n nonce: v.string(),\n nonceSpace: v.bigint(),\n});\n\nexport type GuardSignerStatus = v.InferOutput<typeof GuardSignerStatusSchema>;\n\nexport const GuardApprovalSchema = v.pipe(\n v.object({\n nonceSpace: v.bigint(),\n deadlineUnix: v.bigint(),\n signature: v.instance(Uint8Array),\n }),\n v.transform((approval) => ({\n nonceSpace: approval.nonceSpace.toString(),\n deadlineUnix: approval.deadlineUnix.toString(),\n signature: `0x${bytesToHex(approval.signature)}` as `0x${string}`,\n raw: approval,\n })),\n);\n\nexport type GuardApproval = v.InferOutput<typeof GuardApprovalSchema>;\n\nexport const BatchGuardApprovalsSchema = v.object({\n approvals: v.array(GuardApprovalSchema),\n});\n\nexport type BatchGuardApprovals = v.InferOutput<typeof BatchGuardApprovalsSchema>;\n\nexport const CreateGuardSignerWalletResultSchema = v.object({\n signerAddress: HexAddressSchema,\n});\n\nexport type CreateGuardSignerWalletResult = v.InferOutput<\n typeof CreateGuardSignerWalletResultSchema\n>;\n\nexport const RotateGuardSignerWalletResultSchema = v.pipe(\n v.object({\n newSignerAddress: HexAddressSchema,\n approval: v.optional(GuardApprovalSchema),\n }),\n v.transform((result) => ({\n newSignerAddress: result.newSignerAddress,\n approval: result.approval ?? null,\n })),\n);\n\nexport type RotateGuardSignerWalletResult = v.InferOutput<\n typeof RotateGuardSignerWalletResultSchema\n>;\n\nexport const ExportGuardSignerWalletResultSchema = v.object({\n privateKey: v.pipe(v.string(), v.trim(), v.regex(/^0x[0-9a-fA-F]{64}$/)),\n});\n\nexport type ExportGuardSignerWalletResult = v.InferOutput<\n typeof ExportGuardSignerWalletResultSchema\n>;\n"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { parse, validation_exports } from "../../shared/validation.js";
|
|
1
2
|
import { toConnectCallOptions } from "../../shared/request-options.js";
|
|
2
3
|
import { publicationHandlerErrorContext } from "../../shared/subscription-errors.js";
|
|
3
4
|
import { createReadyGate } from "../../shared/decimal-surface.js";
|
|
@@ -6,11 +7,10 @@ import { HEATMAP_INTERVAL_VALUES } from "./heatmap.codecs.js";
|
|
|
6
7
|
import { GetOrderbookHeatmapInputSchema, createOrderbookHeatmapLiveBucketSchema, createOrderbookHeatmapResponseSchema } from "./heatmap.schemas.js";
|
|
7
8
|
import { create } from "@bufbuild/protobuf";
|
|
8
9
|
import { createClient } from "@connectrpc/connect";
|
|
9
|
-
import * as v from "valibot";
|
|
10
10
|
//#region src/services/heatmap/heatmap.ts
|
|
11
|
-
const SubscribeHeatmapLiveParamsSchema =
|
|
12
|
-
symbolId:
|
|
13
|
-
interval:
|
|
11
|
+
const SubscribeHeatmapLiveParamsSchema = validation_exports.object({
|
|
12
|
+
symbolId: validation_exports.pipe(validation_exports.number(), validation_exports.integer(), validation_exports.gtValue(0)),
|
|
13
|
+
interval: validation_exports.picklist(HEATMAP_INTERVAL_VALUES)
|
|
14
14
|
});
|
|
15
15
|
/**
|
|
16
16
|
* Reads historical order book heatmap chains and streams live heatmap buckets.
|
|
@@ -32,27 +32,27 @@ var HeatmapService = class {
|
|
|
32
32
|
* Fetches order book heatmap data for a symbol, interval, depth, and quantity mode using either an absolute time range or cursor pagination. The response includes a keyframe anchor, delta buckets, pagination metadata, and live-anchor fields when available.
|
|
33
33
|
*/
|
|
34
34
|
async getOrderbookHeatmap(input, options) {
|
|
35
|
-
const parsed =
|
|
35
|
+
const parsed = parse(GetOrderbookHeatmapInputSchema, input);
|
|
36
36
|
await this.#scales.ready();
|
|
37
37
|
const res = await this.#client.getOrderbookHeatmap({
|
|
38
38
|
symbolId: parsed.symbolId,
|
|
39
39
|
interval: parsed.interval,
|
|
40
40
|
depth: parsed.depth,
|
|
41
41
|
quantityMode: parsed.quantityMode,
|
|
42
|
-
limit: parsed.limit
|
|
42
|
+
limit: parsed.limit,
|
|
43
43
|
pageToken: parsed.pageToken,
|
|
44
44
|
timeRange: parsed.timeRange != null ? create(HeatmapTimeRangeSchema, {
|
|
45
45
|
startTime: parsed.timeRange.startTime,
|
|
46
46
|
endTime: parsed.timeRange.endTime
|
|
47
47
|
}) : void 0
|
|
48
48
|
}, toConnectCallOptions(options));
|
|
49
|
-
return
|
|
49
|
+
return parse(this.#responseSchema, res);
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
52
|
* Subscribes to live heatmap buckets on public:spot:market:heatmap:{interval}:{symbolId}:proto and emits parsed bid/ask delta buckets for the selected interval.
|
|
53
53
|
*/
|
|
54
54
|
subscribeLive(input) {
|
|
55
|
-
const params =
|
|
55
|
+
const params = parse(SubscribeHeatmapLiveParamsSchema, {
|
|
56
56
|
symbolId: input.symbolId,
|
|
57
57
|
interval: input.interval
|
|
58
58
|
});
|
|
@@ -63,7 +63,7 @@ var HeatmapService = class {
|
|
|
63
63
|
schema: HeatmapLiveBucketSchema,
|
|
64
64
|
onPublication: (data) => {
|
|
65
65
|
gate.run(() => {
|
|
66
|
-
const bucket =
|
|
66
|
+
const bucket = parse(this.#liveBucketSchema, data);
|
|
67
67
|
input.onEvent(bucket);
|
|
68
68
|
});
|
|
69
69
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heatmap.js","names":["#client","HeatmapRpc","#realtime","#scales","#responseSchema","#liveBucketSchema","ProtoHeatmapLiveBucketSchema"],"sources":["../../../src/services/heatmap/heatmap.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport { create } from \"@bufbuild/protobuf\";\nimport { publicationHandlerErrorContext } from \"../../shared/subscription-errors.js\";\nimport {\n HeatmapService as HeatmapRpc,\n HeatmapLiveBucketSchema as ProtoHeatmapLiveBucketSchema,\n HeatmapTimeRangeSchema,\n} from \"../../gen/marketdata/v1/heatmap_pb.js\";\nimport type { PolyesterRealtime } from \"../../realtime/types.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport {\n toConnectCallOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport { createReadyGate, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport { HEATMAP_INTERVAL_VALUES, type HeatmapIntervalValue } from \"./heatmap.codecs.js\";\nimport * as v from \"
|
|
1
|
+
{"version":3,"file":"heatmap.js","names":["v","#client","HeatmapRpc","#realtime","#scales","#responseSchema","#liveBucketSchema","v.parse","ProtoHeatmapLiveBucketSchema"],"sources":["../../../src/services/heatmap/heatmap.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport { create } from \"@bufbuild/protobuf\";\nimport { publicationHandlerErrorContext } from \"../../shared/subscription-errors.js\";\nimport {\n HeatmapService as HeatmapRpc,\n HeatmapLiveBucketSchema as ProtoHeatmapLiveBucketSchema,\n HeatmapTimeRangeSchema,\n} from \"../../gen/marketdata/v1/heatmap_pb.js\";\nimport type { PolyesterRealtime } from \"../../realtime/types.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport {\n toConnectCallOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport { createReadyGate, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport { HEATMAP_INTERVAL_VALUES, type HeatmapIntervalValue } from \"./heatmap.codecs.js\";\nimport * as v from \"../../shared/validation.js\";\nimport {\n GetOrderbookHeatmapInputSchema,\n createOrderbookHeatmapLiveBucketSchema,\n createOrderbookHeatmapResponseSchema,\n type GetOrderbookHeatmapInput,\n type OrderbookHeatmapLiveBucket,\n type OrderbookHeatmapResponse,\n} from \"./heatmap.schemas.js\";\n\nexport interface OrderbookHeatmapProvider {\n getOrderbookHeatmap(\n input: GetOrderbookHeatmapInput,\n options?: PolyesterRequestOptions,\n ): Promise<OrderbookHeatmapResponse>;\n}\n\ninterface SubscribeHeatmapLiveInput extends BaseSubscribeInput<OrderbookHeatmapLiveBucket> {\n symbolId: number;\n interval: HeatmapIntervalValue;\n}\n\nconst SubscribeHeatmapLiveParamsSchema = v.object({\n symbolId: v.pipe(v.number(), v.integer(), v.gtValue(0)),\n interval: v.picklist(HEATMAP_INTERVAL_VALUES),\n});\n\n/**\n * Reads historical order book heatmap chains and streams live heatmap buckets.\n */\nexport class HeatmapService implements OrderbookHeatmapProvider {\n #client: Client<typeof HeatmapRpc>;\n #realtime: PolyesterRealtime;\n #scales: SdkScales;\n #responseSchema: ReturnType<typeof createOrderbookHeatmapResponseSchema>;\n #liveBucketSchema: ReturnType<typeof createOrderbookHeatmapLiveBucketSchema>;\n\n constructor(transport: Transport, realtime: PolyesterRealtime, scales: SdkScales) {\n this.#client = createClient(HeatmapRpc, transport);\n this.#realtime = realtime;\n this.#scales = scales;\n this.#responseSchema = createOrderbookHeatmapResponseSchema(scales);\n this.#liveBucketSchema = createOrderbookHeatmapLiveBucketSchema(scales);\n }\n\n /**\n * Fetches order book heatmap data for a symbol, interval, depth, and quantity mode using either an absolute time range or cursor pagination. The response includes a keyframe anchor, delta buckets, pagination metadata, and live-anchor fields when available.\n */\n async getOrderbookHeatmap(\n input: GetOrderbookHeatmapInput,\n options?: PolyesterRequestOptions,\n ): Promise<OrderbookHeatmapResponse> {\n const parsed = v.parse(GetOrderbookHeatmapInputSchema, input);\n await this.#scales.ready();\n\n const res = await this.#client.getOrderbookHeatmap(\n {\n symbolId: parsed.symbolId,\n interval: parsed.interval,\n depth: parsed.depth,\n quantityMode: parsed.quantityMode,\n limit: parsed.limit,\n pageToken: parsed.pageToken,\n timeRange:\n parsed.timeRange != null\n ? create(HeatmapTimeRangeSchema, {\n startTime: parsed.timeRange.startTime,\n endTime: parsed.timeRange.endTime,\n })\n : undefined,\n },\n toConnectCallOptions(options),\n );\n return v.parse(this.#responseSchema, res);\n }\n\n /**\n * Subscribes to live heatmap buckets on public:spot:market:heatmap:{interval}:{symbolId}:proto and emits parsed bid/ask delta buckets for the selected interval.\n */\n subscribeLive(input: SubscribeHeatmapLiveInput): () => void {\n const params = v.parse(SubscribeHeatmapLiveParamsSchema, {\n symbolId: input.symbolId,\n interval: input.interval,\n });\n const channel = `public:spot:market:heatmap:${params.interval}:${params.symbolId}:proto`;\n const gate = createReadyGate(\n () => this.#scales.ready(),\n (error) => input.onError?.(publicationHandlerErrorContext(channel, error)),\n );\n return this.#realtime.connectProtoChannel({\n channel,\n schema: ProtoHeatmapLiveBucketSchema,\n onPublication: (data) => {\n gate.run(() => {\n const bucket = v.parse(this.#liveBucketSchema, data);\n input.onEvent(bucket);\n });\n },\n onConnected: input.onOpen,\n onDisconnected: input.onClose,\n onError: input.onError,\n });\n }\n}\n"],"mappings":";;;;;;;;;;AAsCA,MAAM,mCAAmCA,mBAAE,OAAO;CAC9C,UAAUA,mBAAE,KAAKA,mBAAE,OAAO,GAAGA,mBAAE,QAAQ,GAAGA,mBAAE,QAAQ,CAAC,CAAC;CACtD,UAAUA,mBAAE,SAAS,uBAAuB;AAChD,CAAC;;;;AAKD,IAAa,iBAAb,MAAgE;CAC5D;CACA;CACA;CACA;CACA;CAEA,YAAY,WAAsB,UAA6B,QAAmB;EAC9E,KAAKC,UAAU,aAAaC,kBAAY,SAAS;EACjD,KAAKC,YAAY;EACjB,KAAKC,UAAU;EACf,KAAKC,kBAAkB,qCAAqC,MAAM;EAClE,KAAKC,oBAAoB,uCAAuC,MAAM;CAC1E;;;;CAKA,MAAM,oBACF,OACA,SACiC;EACjC,MAAM,SAASC,MAAQ,gCAAgC,KAAK;EAC5D,MAAM,KAAKH,QAAQ,MAAM;EAEzB,MAAM,MAAM,MAAM,KAAKH,QAAQ,oBAC3B;GACI,UAAU,OAAO;GACjB,UAAU,OAAO;GACjB,OAAO,OAAO;GACd,cAAc,OAAO;GACrB,OAAO,OAAO;GACd,WAAW,OAAO;GAClB,WACI,OAAO,aAAa,OACd,OAAO,wBAAwB;IAC3B,WAAW,OAAO,UAAU;IAC5B,SAAS,OAAO,UAAU;GAC9B,CAAC,IACD,KAAA;EACd,GACA,qBAAqB,OAAO,CAChC;EACA,OAAOM,MAAQ,KAAKF,iBAAiB,GAAG;CAC5C;;;;CAKA,cAAc,OAA8C;EACxD,MAAM,SAASE,MAAQ,kCAAkC;GACrD,UAAU,MAAM;GAChB,UAAU,MAAM;EACpB,CAAC;EACD,MAAM,UAAU,8BAA8B,OAAO,SAAS,GAAG,OAAO,SAAS;EACjF,MAAM,OAAO,sBACH,KAAKH,QAAQ,MAAM,IACxB,UAAU,MAAM,UAAU,+BAA+B,SAAS,KAAK,CAAC,CAC7E;EACA,OAAO,KAAKD,UAAU,oBAAoB;GACtC;GACA,QAAQK;GACR,gBAAgB,SAAS;IACrB,KAAK,UAAU;KACX,MAAM,SAASD,MAAQ,KAAKD,mBAAmB,IAAI;KACnD,MAAM,QAAQ,MAAM;IACxB,CAAC;GACL;GACA,aAAa,MAAM;GACnB,gBAAgB,MAAM;GACtB,SAAS,MAAM;EACnB,CAAC;CACL;AACJ"}
|