@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfers.js","names":["#client","Proto.LedgerReadService","#realtime","#resolver","#scales","#ledgerTransferSchema","Proto.TransferRowSchema"],"sources":["../../../src/services/transfers/transfers.ts"],"sourcesContent":["import * as Proto from \"../../gen/ledger/read/v1/ledger_read_pb.js\";\nimport { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport { publicationHandlerErrorContext } from \"../../shared/subscription-errors.js\";\nimport * as v from \"
|
|
1
|
+
{"version":3,"file":"transfers.js","names":["#client","Proto.LedgerReadService","#realtime","#resolver","#scales","#ledgerTransferSchema","v.parse","v","Proto.TransferRowSchema"],"sources":["../../../src/services/transfers/transfers.ts"],"sourcesContent":["import * as Proto from \"../../gen/ledger/read/v1/ledger_read_pb.js\";\nimport { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport { publicationHandlerErrorContext } from \"../../shared/subscription-errors.js\";\nimport * as v from \"../../shared/validation.js\";\nimport type { PolyesterRealtime } from \"../../realtime/index.js\";\nimport { type SubaccountResolver, resolveAccountScopedInput } from \"../subaccount-resolver.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 {\n createLedgerTransferSchema,\n ListTransfersInputSchema,\n type LedgerTransfer,\n type ListTransfersInput,\n} from \"./transfers.schemas.js\";\n\ninterface SubscribeTransfersInput extends BaseSubscribeInput<LedgerTransfer> {\n accountId: string;\n}\n\n/**\n * Reads and streams ledger transfer activity for the authenticated account scope.\n */\nexport class TransfersService {\n #client: Client<typeof Proto.LedgerReadService>;\n #realtime: PolyesterRealtime;\n #resolver?: SubaccountResolver;\n #scales: SdkScales;\n #ledgerTransferSchema: ReturnType<typeof createLedgerTransferSchema>;\n\n constructor(\n transport: Transport,\n realtime: PolyesterRealtime,\n resolver: SubaccountResolver | undefined,\n scales: SdkScales,\n ) {\n this.#client = createClient(Proto.LedgerReadService, transport);\n this.#realtime = realtime;\n this.#resolver = resolver;\n this.#scales = scales;\n this.#ledgerTransferSchema = createLedgerTransferSchema(scales);\n }\n\n /**\n * Returns ledger transfers for the resolved account scope with limit, direction, timestamp, code, ledger, and page-token filters.\n */\n async list(\n input: ListTransfersInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ transfers: LedgerTransfer[]; nextPageToken: string }> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(ListTransfersInputSchema, resolved);\n const res = await this.#client.listTransfers(validatedInput, toConnectCallOptions(options));\n const transfers = v.parse(v.array(this.#ledgerTransferSchema), res.transfers);\n return { transfers, nextPageToken: res.nextPageToken };\n }\n\n /**\n * Subscribes to private ledger transfer updates on private:ledger:transfers:{accountId}:proto and emits parsed transfer rows.\n */\n subscribe(input: SubscribeTransfersInput): () => void {\n const channel = `private:ledger:transfers:${input.accountId}: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: Proto.TransferRowSchema,\n onPublication: (m) => {\n gate.run(() => {\n const tr = v.parse(this.#ledgerTransferSchema, m);\n input.onEvent(tr);\n });\n },\n onConnected: input.onOpen,\n onDisconnected: input.onClose,\n onError: input.onError,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;AA0BA,IAAa,mBAAb,MAA8B;CAC1B;CACA;CACA;CACA;CACA;CAEA,YACI,WACA,UACA,UACA,QACF;EACE,KAAKA,UAAU,aAAaC,mBAAyB,SAAS;EAC9D,KAAKC,YAAY;EACjB,KAAKC,YAAY;EACjB,KAAKC,UAAU;EACf,KAAKC,wBAAwB,2BAA2B,MAAM;CAClE;;;;CAKA,MAAM,KACF,QAA4B,CAAC,GAC7B,SAC+D;EAC/D,MAAM,KAAKD,QAAQ,MAAM;EACzB,MAAM,WAAW,0BAA0B,OAAO,KAAKD,SAAS;EAChE,MAAM,iBAAiBG,MAAQ,0BAA0B,QAAQ;EACjE,MAAM,MAAM,MAAM,KAAKN,QAAQ,cAAc,gBAAgB,qBAAqB,OAAO,CAAC;EAE1F,OAAO;GAAE,WADSM,MAAQC,mBAAE,MAAM,KAAKF,qBAAqB,GAAG,IAAI,SAClD;GAAG,eAAe,IAAI;EAAc;CACzD;;;;CAKA,UAAU,OAA4C;EAClD,MAAM,UAAU,4BAA4B,MAAM,UAAU;EAC5D,MAAM,OAAO,sBACH,KAAKD,QAAQ,MAAM,IACxB,UAAU,MAAM,UAAU,+BAA+B,SAAS,KAAK,CAAC,CAC7E;EACA,OAAO,KAAKF,UAAU,oBAAoB;GACtC;GACA,QAAQM;GACR,gBAAgB,MAAM;IAClB,KAAK,UAAU;KACX,MAAM,KAAKF,MAAQ,KAAKD,uBAAuB,CAAC;KAChD,MAAM,QAAQ,EAAE;IACpB,CAAC;GACL;GACA,aAAa,MAAM;GACnB,gBAAgB,MAAM;GACtB,SAAS,MAAM;EACnB,CAAC;CACL;AACJ"}
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
+
import { validation_d_exports } from "../../shared/validation.js";
|
|
1
2
|
import { TransferCode } from "../../gen/ledger/v1/catalog_pb.js";
|
|
2
3
|
import { TransferSideKind } from "../../gen/ledger/read/v1/ledger_read_pb.js";
|
|
3
4
|
import { SdkScales } from "../../shared/decimal-surface.js";
|
|
4
|
-
import * as v from "valibot";
|
|
5
5
|
//#region src/services/transfers/transfers.schemas.d.ts
|
|
6
|
-
declare const LedgerTransferSideSchema:
|
|
7
|
-
readonly kind:
|
|
8
|
-
readonly accountId:
|
|
9
|
-
readonly address:
|
|
6
|
+
declare const LedgerTransferSideSchema: validation_d_exports.ObjectSchema<{
|
|
7
|
+
readonly kind: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof TransferSideKind, undefined>, validation_d_exports.TransformAction<TransferSideKind, "unspecified" | "funding_account" | "trading_account" | "external_address" | "private_counterparty" | "fee_account" | "system_account">]>;
|
|
8
|
+
readonly accountId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, undefined>, validation_d_exports.TransformAction<bigint | undefined, string | undefined>]>;
|
|
9
|
+
readonly address: validation_d_exports.OptionalSchema<validation_d_exports.StringSchema<undefined>, "">;
|
|
10
10
|
}, undefined>;
|
|
11
|
-
type LedgerTransferSide =
|
|
12
|
-
declare function createLedgerTransferSchema(scales: SdkScales):
|
|
13
|
-
readonly assetId:
|
|
14
|
-
readonly amountE18:
|
|
15
|
-
readonly hi:
|
|
16
|
-
readonly lo:
|
|
11
|
+
type LedgerTransferSide = validation_d_exports.InferOutput<typeof LedgerTransferSideSchema>;
|
|
12
|
+
declare function createLedgerTransferSchema(scales: SdkScales): validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
|
|
13
|
+
readonly assetId: validation_d_exports.NumberSchema<undefined>;
|
|
14
|
+
readonly amountE18: validation_d_exports.OptionalSchema<validation_d_exports.ObjectSchema<{
|
|
15
|
+
readonly hi: validation_d_exports.BigintSchema<undefined>;
|
|
16
|
+
readonly lo: validation_d_exports.BigintSchema<undefined>;
|
|
17
17
|
}, undefined>, undefined>;
|
|
18
|
-
readonly balanceAfterE18:
|
|
19
|
-
readonly hi:
|
|
20
|
-
readonly lo:
|
|
18
|
+
readonly balanceAfterE18: validation_d_exports.OptionalSchema<validation_d_exports.ObjectSchema<{
|
|
19
|
+
readonly hi: validation_d_exports.BigintSchema<undefined>;
|
|
20
|
+
readonly lo: validation_d_exports.BigintSchema<undefined>;
|
|
21
21
|
}, undefined>, undefined>;
|
|
22
|
-
readonly isDebit:
|
|
23
|
-
readonly transferCode:
|
|
24
|
-
readonly accountCode:
|
|
25
|
-
readonly tsUs:
|
|
26
|
-
readonly linkId:
|
|
27
|
-
readonly flowId:
|
|
28
|
-
readonly source:
|
|
29
|
-
readonly kind:
|
|
30
|
-
readonly accountId:
|
|
31
|
-
readonly address:
|
|
22
|
+
readonly isDebit: validation_d_exports.BooleanSchema<undefined>;
|
|
23
|
+
readonly transferCode: validation_d_exports.NumberSchema<undefined>;
|
|
24
|
+
readonly accountCode: validation_d_exports.NumberSchema<undefined>;
|
|
25
|
+
readonly tsUs: validation_d_exports.UnionSchema<[validation_d_exports.BigintSchema<undefined>, validation_d_exports.NumberSchema<undefined>, validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.RegexAction<string, undefined>, validation_d_exports.TransformAction<string, bigint>]>], undefined>;
|
|
26
|
+
readonly linkId: validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, undefined>;
|
|
27
|
+
readonly flowId: validation_d_exports.OptionalSchema<validation_d_exports.StringSchema<undefined>, undefined>;
|
|
28
|
+
readonly source: validation_d_exports.OptionalSchema<validation_d_exports.ObjectSchema<{
|
|
29
|
+
readonly kind: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof TransferSideKind, undefined>, validation_d_exports.TransformAction<TransferSideKind, "unspecified" | "funding_account" | "trading_account" | "external_address" | "private_counterparty" | "fee_account" | "system_account">]>;
|
|
30
|
+
readonly accountId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, undefined>, validation_d_exports.TransformAction<bigint | undefined, string | undefined>]>;
|
|
31
|
+
readonly address: validation_d_exports.OptionalSchema<validation_d_exports.StringSchema<undefined>, "">;
|
|
32
32
|
}, undefined>, undefined>;
|
|
33
|
-
readonly destination:
|
|
34
|
-
readonly kind:
|
|
35
|
-
readonly accountId:
|
|
36
|
-
readonly address:
|
|
33
|
+
readonly destination: validation_d_exports.OptionalSchema<validation_d_exports.ObjectSchema<{
|
|
34
|
+
readonly kind: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof TransferSideKind, undefined>, validation_d_exports.TransformAction<TransferSideKind, "unspecified" | "funding_account" | "trading_account" | "external_address" | "private_counterparty" | "fee_account" | "system_account">]>;
|
|
35
|
+
readonly accountId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, undefined>, validation_d_exports.TransformAction<bigint | undefined, string | undefined>]>;
|
|
36
|
+
readonly address: validation_d_exports.OptionalSchema<validation_d_exports.StringSchema<undefined>, "">;
|
|
37
37
|
}, undefined>, undefined>;
|
|
38
|
-
}, undefined>,
|
|
38
|
+
}, undefined>, validation_d_exports.TransformAction<{
|
|
39
39
|
assetId: number;
|
|
40
40
|
amountE18?: {
|
|
41
41
|
hi: bigint;
|
|
@@ -82,19 +82,19 @@ declare function createLedgerTransferSchema(scales: SdkScales): v.SchemaWithPipe
|
|
|
82
82
|
linkId: number | undefined;
|
|
83
83
|
flowId: string;
|
|
84
84
|
}>]>;
|
|
85
|
-
type LedgerTransfer =
|
|
86
|
-
declare const ListTransfersInputSchema:
|
|
87
|
-
readonly ledger:
|
|
88
|
-
readonly limit:
|
|
89
|
-
readonly reversed:
|
|
90
|
-
readonly timestampMin:
|
|
91
|
-
readonly timestampMax:
|
|
92
|
-
readonly transferCode:
|
|
93
|
-
readonly pageToken:
|
|
94
|
-
readonly account:
|
|
95
|
-
readonly subaccountId:
|
|
85
|
+
type LedgerTransfer = validation_d_exports.InferOutput<ReturnType<typeof createLedgerTransferSchema>>;
|
|
86
|
+
declare const ListTransfersInputSchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StrictObjectSchema<{
|
|
87
|
+
readonly ledger: validation_d_exports.OptionalSchema<validation_d_exports.NumberSchema<undefined>, 0>;
|
|
88
|
+
readonly limit: validation_d_exports.OptionalSchema<validation_d_exports.NumberSchema<undefined>, undefined>;
|
|
89
|
+
readonly reversed: validation_d_exports.OptionalSchema<validation_d_exports.BooleanSchema<undefined>, false>;
|
|
90
|
+
readonly timestampMin: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.NumberSchema<undefined>, validation_d_exports.IntegerAction<number, undefined>, validation_d_exports.MinValueAction<number, 0, undefined>, validation_d_exports.MaxValueAction<number, number, undefined>, validation_d_exports.TransformAction<number, bigint>]>, undefined>;
|
|
91
|
+
readonly timestampMax: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.NumberSchema<undefined>, validation_d_exports.IntegerAction<number, undefined>, validation_d_exports.MinValueAction<number, 0, undefined>, validation_d_exports.MaxValueAction<number, number, undefined>, validation_d_exports.TransformAction<number, bigint>]>, undefined>;
|
|
92
|
+
readonly transferCode: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.PicklistSchema<readonly ["deposit", "withdraw", "maker_fee", "taker_fee", "internal_transfer", "trade_base", "trade_quote", "rebate", "funding_to_trading", "trading_to_funding", "trading_withdraw_reserve", "funding_user_transfer", "trading_withdraw_request_fee"], undefined>, validation_d_exports.TransformAction<"internal_transfer" | "deposit" | "withdraw" | "maker_fee" | "taker_fee" | "trade_base" | "trade_quote" | "rebate" | "funding_to_trading" | "trading_to_funding" | "trading_withdraw_reserve" | "funding_user_transfer" | "trading_withdraw_request_fee", TransferCode.DEPOSIT | TransferCode.WITHDRAW | TransferCode.MAKER_FEE | TransferCode.TAKER_FEE | TransferCode.INTERNAL_TRANSFER | TransferCode.TRADE_BASE | TransferCode.TRADE_QUOTE | TransferCode.REBATE | TransferCode.FUNDING_TO_TRADING | TransferCode.TRADING_TO_FUNDING | TransferCode.TRADING_WITHDRAW_RESERVE | TransferCode.FUNDING_USER_TRANSFER | TransferCode.TRADING_WITHDRAW_REQUEST_FEE>]>, undefined>;
|
|
93
|
+
readonly pageToken: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction]>, "">;
|
|
94
|
+
readonly account: validation_d_exports.OptionalSchema<validation_d_exports.UnionSchema<[validation_d_exports.PicklistSchema<["active", "main"], undefined>, validation_d_exports.StrictObjectSchema<{
|
|
95
|
+
readonly subaccountId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction, validation_d_exports.MinLengthAction<string, 1, undefined>]>;
|
|
96
96
|
}, undefined>], undefined>, undefined>;
|
|
97
|
-
}, undefined>,
|
|
97
|
+
}, undefined>, validation_d_exports.TransformAction<{
|
|
98
98
|
ledger: number;
|
|
99
99
|
limit?: number | undefined;
|
|
100
100
|
reversed: boolean;
|
|
@@ -115,7 +115,7 @@ declare const ListTransfersInputSchema: v.SchemaWithPipe<readonly [v.StrictObjec
|
|
|
115
115
|
transferCode?: TransferCode.DEPOSIT | TransferCode.WITHDRAW | TransferCode.MAKER_FEE | TransferCode.TAKER_FEE | TransferCode.INTERNAL_TRANSFER | TransferCode.TRADE_BASE | TransferCode.TRADE_QUOTE | TransferCode.REBATE | TransferCode.FUNDING_TO_TRADING | TransferCode.TRADING_TO_FUNDING | TransferCode.TRADING_WITHDRAW_RESERVE | TransferCode.FUNDING_USER_TRANSFER | TransferCode.TRADING_WITHDRAW_REQUEST_FEE | undefined;
|
|
116
116
|
pageToken: string;
|
|
117
117
|
}>]>;
|
|
118
|
-
type ListTransfersInput =
|
|
118
|
+
type ListTransfersInput = validation_d_exports.InferInput<typeof ListTransfersInputSchema>;
|
|
119
119
|
//#endregion
|
|
120
120
|
export { LedgerTransfer, LedgerTransferSide, LedgerTransferSideSchema, ListTransfersInput, ListTransfersInputSchema, createLedgerTransferSchema };
|
|
121
121
|
//# sourceMappingURL=transfers.schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfers.schemas.d.ts","names":[],"sources":["../../../src/services/transfers/transfers.schemas.ts"],"mappings":";;;;;cA2Ca,0BAAwB,
|
|
1
|
+
{"version":3,"file":"transfers.schemas.d.ts","names":[],"sources":["../../../src/services/transfers/transfers.schemas.ts"],"mappings":";;;;;cA2Ca,0BAAwB,qBAAA;;;;;KAMzB,qBAAqB,qBAAE,mBAAmB;iBAEtC,2BAA2B,QAAQ,YAAS,qBAAA,yBAAA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuDhD,iBAAiB,qBAAE,YAAY,kBAAkB;cAEhD,0BAAwB,qBAAA,yBAAA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwBzB,qBAAqB,qBAAE,kBAAkB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { validation_exports } from "../../shared/validation.js";
|
|
1
2
|
import { requiredEnumLabel } from "../../shared/proto-enum-codec.js";
|
|
2
3
|
import { wireTimestampToMs } from "../../utils/time.js";
|
|
3
4
|
import { OptionalPublicIdSchema, OptionalTimestampMsToUsInputSchema } from "../../shared/schemas.js";
|
|
@@ -7,37 +8,36 @@ import { scaledToDecimalOutput } from "../../shared/decimal-surface.js";
|
|
|
7
8
|
import { fromU128 } from "../../utils/u128.js";
|
|
8
9
|
import { AccountCodeCodec, TRANSFER_CODE_VALUES, TransferCodeCodec } from "../../shared/ledger-codes.js";
|
|
9
10
|
import { TransferSideKindCodec } from "./transfers.codecs.js";
|
|
10
|
-
import * as v from "valibot";
|
|
11
11
|
//#region src/services/transfers/transfers.schemas.ts
|
|
12
|
-
const U128Schema =
|
|
13
|
-
hi:
|
|
14
|
-
lo:
|
|
12
|
+
const U128Schema = validation_exports.object({
|
|
13
|
+
hi: validation_exports.bigint(),
|
|
14
|
+
lo: validation_exports.bigint()
|
|
15
15
|
});
|
|
16
|
-
const WireTimestampInputSchema =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
const WireTimestampInputSchema = validation_exports.union([
|
|
17
|
+
validation_exports.bigint(),
|
|
18
|
+
validation_exports.number(),
|
|
19
|
+
validation_exports.pipe(validation_exports.string(), validation_exports.regex(/^\d+$/), validation_exports.transform((value) => BigInt(value)))
|
|
20
20
|
]);
|
|
21
|
-
const TransferSideKindSchema =
|
|
22
|
-
const LedgerTransferSideSchema =
|
|
21
|
+
const TransferSideKindSchema = validation_exports.pipe(validation_exports.enum(TransferSideKind), validation_exports.transform((kind) => requiredEnumLabel(TransferSideKindCodec.protoToOutput, kind, "TransferSideSchema", "kind")));
|
|
22
|
+
const LedgerTransferSideSchema = validation_exports.object({
|
|
23
23
|
kind: TransferSideKindSchema,
|
|
24
24
|
accountId: OptionalPublicIdSchema,
|
|
25
|
-
address:
|
|
25
|
+
address: validation_exports.optional(validation_exports.string(), "")
|
|
26
26
|
});
|
|
27
27
|
function createLedgerTransferSchema(scales) {
|
|
28
|
-
return
|
|
29
|
-
assetId:
|
|
30
|
-
amountE18:
|
|
31
|
-
balanceAfterE18:
|
|
32
|
-
isDebit:
|
|
33
|
-
transferCode:
|
|
34
|
-
accountCode:
|
|
28
|
+
return validation_exports.pipe(validation_exports.object({
|
|
29
|
+
assetId: validation_exports.number(),
|
|
30
|
+
amountE18: validation_exports.optional(U128Schema),
|
|
31
|
+
balanceAfterE18: validation_exports.optional(U128Schema),
|
|
32
|
+
isDebit: validation_exports.boolean(),
|
|
33
|
+
transferCode: validation_exports.number(),
|
|
34
|
+
accountCode: validation_exports.number(),
|
|
35
35
|
tsUs: WireTimestampInputSchema,
|
|
36
|
-
linkId:
|
|
37
|
-
flowId:
|
|
38
|
-
source:
|
|
39
|
-
destination:
|
|
40
|
-
}),
|
|
36
|
+
linkId: validation_exports.optional(validation_exports.bigint()),
|
|
37
|
+
flowId: validation_exports.optional(validation_exports.string()),
|
|
38
|
+
source: validation_exports.optional(LedgerTransferSideSchema),
|
|
39
|
+
destination: validation_exports.optional(LedgerTransferSideSchema)
|
|
40
|
+
}), validation_exports.transform((tr) => {
|
|
41
41
|
scales.ledgerAmount(tr.assetId);
|
|
42
42
|
const amount = fromU128(tr.amountE18);
|
|
43
43
|
const linkIdNum = Number(tr.linkId ?? 0n);
|
|
@@ -56,16 +56,16 @@ function createLedgerTransferSchema(scales) {
|
|
|
56
56
|
};
|
|
57
57
|
}));
|
|
58
58
|
}
|
|
59
|
-
const ListTransfersInputSchema =
|
|
59
|
+
const ListTransfersInputSchema = validation_exports.pipe(validation_exports.strictObject({
|
|
60
60
|
...AccountScopeInputEntries,
|
|
61
|
-
ledger:
|
|
62
|
-
limit:
|
|
63
|
-
reversed:
|
|
61
|
+
ledger: validation_exports.optional(validation_exports.number(), 0),
|
|
62
|
+
limit: validation_exports.optional(validation_exports.number()),
|
|
63
|
+
reversed: validation_exports.optional(validation_exports.boolean(), false),
|
|
64
64
|
timestampMin: OptionalTimestampMsToUsInputSchema,
|
|
65
65
|
timestampMax: OptionalTimestampMsToUsInputSchema,
|
|
66
|
-
transferCode:
|
|
67
|
-
pageToken:
|
|
68
|
-
}),
|
|
66
|
+
transferCode: validation_exports.optional(validation_exports.pipe(validation_exports.picklist(TRANSFER_CODE_VALUES), validation_exports.transform((value) => TransferCodeCodec.inputToProto[value]))),
|
|
67
|
+
pageToken: validation_exports.optional(validation_exports.pipe(validation_exports.string(), validation_exports.trim()), "")
|
|
68
|
+
}), validation_exports.transform(({ account, timestampMin, timestampMax, ...input }) => ({
|
|
69
69
|
...input,
|
|
70
70
|
tsMinUs: timestampMin,
|
|
71
71
|
tsMaxUs: timestampMax,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfers.schemas.js","names":["Proto.TransferSideKind"],"sources":["../../../src/services/transfers/transfers.schemas.ts"],"sourcesContent":["import * as v from \"
|
|
1
|
+
{"version":3,"file":"transfers.schemas.js","names":["v","Proto.TransferSideKind"],"sources":["../../../src/services/transfers/transfers.schemas.ts"],"sourcesContent":["import * as v from \"../../shared/validation.js\";\nimport * as Proto from \"../../gen/ledger/read/v1/ledger_read_pb.js\";\nimport { fromU128 } from \"../../utils/u128.js\";\nimport {\n AccountCodeCodec,\n TRANSFER_CODE_VALUES,\n TransferCodeCodec,\n} from \"../../shared/ledger-codes.js\";\nimport { requiredEnumLabel } from \"../../shared/proto-enum-codec.js\";\nimport { wireTimestampToMs } from \"../../utils/time.js\";\nimport {\n OptionalPublicIdSchema,\n OptionalTimestampMsToUsInputSchema,\n} from \"../../shared/schemas.js\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../shared/account-scope.js\";\nimport { E18_SCALE, scaledToDecimalOutput, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport { TransferSideKindCodec } from \"./transfers.codecs.js\";\n\nconst U128Schema = v.object({\n hi: v.bigint(),\n lo: v.bigint(),\n});\n\nconst WireTimestampInputSchema = v.union([\n v.bigint(),\n v.number(),\n v.pipe(\n v.string(),\n v.regex(/^\\d+$/),\n v.transform((value) => BigInt(value)),\n ),\n]);\n\nconst TransferSideKindSchema = v.pipe(\n v.enum(Proto.TransferSideKind),\n v.transform((kind) =>\n requiredEnumLabel(TransferSideKindCodec.protoToOutput, kind, \"TransferSideSchema\", \"kind\"),\n ),\n);\n\nexport const LedgerTransferSideSchema = v.object({\n kind: TransferSideKindSchema,\n accountId: OptionalPublicIdSchema,\n address: v.optional(v.string(), \"\"),\n});\n\nexport type LedgerTransferSide = v.InferOutput<typeof LedgerTransferSideSchema>;\n\nexport function createLedgerTransferSchema(scales: SdkScales) {\n return v.pipe(\n v.object({\n assetId: v.number(),\n amountE18: v.optional(U128Schema),\n balanceAfterE18: v.optional(U128Schema),\n isDebit: v.boolean(),\n transferCode: v.number(),\n accountCode: v.number(),\n tsUs: WireTimestampInputSchema,\n linkId: v.optional(v.bigint()),\n flowId: v.optional(v.string()),\n source: v.optional(LedgerTransferSideSchema),\n destination: v.optional(LedgerTransferSideSchema),\n }),\n v.transform((tr) => {\n // Keep the catalog lookup for readiness/fallback parity; u128 amount fields are always E18 on the wire.\n scales.ledgerAmount(tr.assetId);\n const amount = fromU128(tr.amountE18);\n const linkIdNum = Number(tr.linkId ?? 0n);\n\n const output = {\n assetId: tr.assetId,\n amount: scaledToDecimalOutput(amount, E18_SCALE),\n balanceAfter:\n tr.balanceAfterE18 !== undefined\n ? scaledToDecimalOutput(fromU128(tr.balanceAfterE18), E18_SCALE)\n : undefined,\n type: requiredEnumLabel(\n TransferCodeCodec.protoToOutput,\n tr.transferCode,\n \"LedgerTransferSchema\",\n \"transfer code\",\n ),\n accountCode: requiredEnumLabel(\n AccountCodeCodec.protoToOutput,\n tr.accountCode,\n \"LedgerTransferSchema\",\n \"account code\",\n ),\n timestamp: wireTimestampToMs(tr.tsUs),\n isDebit: tr.isDebit,\n linkId: linkIdNum || undefined,\n flowId: tr.flowId?.trim() ?? \"\",\n };\n\n return {\n ...output,\n ...(tr.source ? { source: tr.source } : {}),\n ...(tr.destination ? { destination: tr.destination } : {}),\n };\n }),\n );\n}\n\nexport type LedgerTransfer = v.InferOutput<ReturnType<typeof createLedgerTransferSchema>>;\n\nexport const ListTransfersInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n ledger: v.optional(v.number(), 0),\n limit: v.optional(v.number()),\n reversed: v.optional(v.boolean(), false),\n timestampMin: OptionalTimestampMsToUsInputSchema,\n timestampMax: OptionalTimestampMsToUsInputSchema,\n transferCode: v.optional(\n v.pipe(\n v.picklist(TRANSFER_CODE_VALUES),\n v.transform((value) => TransferCodeCodec.inputToProto[value]),\n ),\n ),\n pageToken: v.optional(v.pipe(v.string(), v.trim()), \"\"),\n }),\n v.transform(({ account, timestampMin, timestampMax, ...input }) => ({\n ...input,\n tsMinUs: timestampMin,\n tsMaxUs: timestampMax,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type ListTransfersInput = v.InferInput<typeof ListTransfersInputSchema>;\n"],"mappings":";;;;;;;;;;;AAqBA,MAAM,aAAaA,mBAAE,OAAO;CACxB,IAAIA,mBAAE,OAAO;CACb,IAAIA,mBAAE,OAAO;AACjB,CAAC;AAED,MAAM,2BAA2BA,mBAAE,MAAM;CACrCA,mBAAE,OAAO;CACTA,mBAAE,OAAO;CACTA,mBAAE,KACEA,mBAAE,OAAO,GACTA,mBAAE,MAAM,OAAO,GACfA,mBAAE,WAAW,UAAU,OAAO,KAAK,CAAC,CACxC;AACJ,CAAC;AAED,MAAM,yBAAyBA,mBAAE,KAC7BA,mBAAE,KAAKC,gBAAsB,GAC7BD,mBAAE,WAAW,SACT,kBAAkB,sBAAsB,eAAe,MAAM,sBAAsB,MAAM,CAC7F,CACJ;AAEA,MAAa,2BAA2BA,mBAAE,OAAO;CAC7C,MAAM;CACN,WAAW;CACX,SAASA,mBAAE,SAASA,mBAAE,OAAO,GAAG,EAAE;AACtC,CAAC;AAID,SAAgB,2BAA2B,QAAmB;CAC1D,OAAOA,mBAAE,KACLA,mBAAE,OAAO;EACL,SAASA,mBAAE,OAAO;EAClB,WAAWA,mBAAE,SAAS,UAAU;EAChC,iBAAiBA,mBAAE,SAAS,UAAU;EACtC,SAASA,mBAAE,QAAQ;EACnB,cAAcA,mBAAE,OAAO;EACvB,aAAaA,mBAAE,OAAO;EACtB,MAAM;EACN,QAAQA,mBAAE,SAASA,mBAAE,OAAO,CAAC;EAC7B,QAAQA,mBAAE,SAASA,mBAAE,OAAO,CAAC;EAC7B,QAAQA,mBAAE,SAAS,wBAAwB;EAC3C,aAAaA,mBAAE,SAAS,wBAAwB;CACpD,CAAC,GACDA,mBAAE,WAAW,OAAO;EAEhB,OAAO,aAAa,GAAG,OAAO;EAC9B,MAAM,SAAS,SAAS,GAAG,SAAS;EACpC,MAAM,YAAY,OAAO,GAAG,UAAU,EAAE;EA2BxC,OAAO;GAxBH,SAAS,GAAG;GACZ,QAAQ,sBAAsB,QAAA,EAAiB;GAC/C,cACI,GAAG,oBAAoB,KAAA,IACjB,sBAAsB,SAAS,GAAG,eAAe,GAAA,EAAY,IAC7D,KAAA;GACV,MAAM,kBACF,kBAAkB,eAClB,GAAG,cACH,wBACA,eACJ;GACA,aAAa,kBACT,iBAAiB,eACjB,GAAG,aACH,wBACA,cACJ;GACA,WAAW,kBAAkB,GAAG,IAAI;GACpC,SAAS,GAAG;GACZ,QAAQ,aAAa,KAAA;GACrB,QAAQ,GAAG,QAAQ,KAAK,KAAK;GAK7B,GAAI,GAAG,SAAS,EAAE,QAAQ,GAAG,OAAO,IAAI,CAAC;GACzC,GAAI,GAAG,cAAc,EAAE,aAAa,GAAG,YAAY,IAAI,CAAC;EAC5D;CACJ,CAAC,CACL;AACJ;AAIA,MAAa,2BAA2BA,mBAAE,KACtCA,mBAAE,aAAa;CACX,GAAG;CACH,QAAQA,mBAAE,SAASA,mBAAE,OAAO,GAAG,CAAC;CAChC,OAAOA,mBAAE,SAASA,mBAAE,OAAO,CAAC;CAC5B,UAAUA,mBAAE,SAASA,mBAAE,QAAQ,GAAG,KAAK;CACvC,cAAc;CACd,cAAc;CACd,cAAcA,mBAAE,SACZA,mBAAE,KACEA,mBAAE,SAAS,oBAAoB,GAC/BA,mBAAE,WAAW,UAAU,kBAAkB,aAAa,MAAM,CAChE,CACJ;CACA,WAAWA,mBAAE,SAASA,mBAAE,KAAKA,mBAAE,OAAO,GAAGA,mBAAE,KAAK,CAAC,GAAG,EAAE;AAC1D,CAAC,GACDA,mBAAE,WAAW,EAAE,SAAS,cAAc,cAAc,GAAG,aAAa;CAChE,GAAG;CACH,SAAS;CACT,SAAS;CACT,cAAc,2BAA2B,OAAO;AACpD,EAAE,CACN"}
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
+
import { validation_exports } from "../../shared/validation.js";
|
|
1
2
|
import { AccountScopeInputEntries, accountScopeToSubaccountId } from "../../shared/account-scope.js";
|
|
2
3
|
import { positiveDecimalInputToScaled } from "../../shared/decimal-surface.js";
|
|
3
4
|
import { FEE_ASSET_VALUES, FeeAssetCodec, ORDER_SIDE_VALUES, OrderSideCodec, SELF_TRADE_PREVENTION_MODE_VALUES, SelfTradePreventionModeCodec } from "../orders/order-enums.codecs.js";
|
|
4
5
|
import { TriggerLimitFokSchema, TriggerLimitGtcSchema, TriggerLimitIocSchema, TriggerMarketIocSchema, TwapLimitGtcSchema, TwapMarketIocSchema } from "../../gen/triggers/v1/triggers_pb.js";
|
|
5
6
|
import { create } from "@bufbuild/protobuf";
|
|
6
|
-
import * as v from "valibot";
|
|
7
7
|
//#region src/services/triggers/trigger-child-order.schemas.ts
|
|
8
|
-
const FeeAssetSchema =
|
|
9
|
-
const SelfTradePreventionModeSchema =
|
|
10
|
-
const SideInputSchema =
|
|
11
|
-
const DecimalInputStringSchema =
|
|
12
|
-
const BaseTriggerFieldsSchema =
|
|
8
|
+
const FeeAssetSchema = validation_exports.picklist(FEE_ASSET_VALUES);
|
|
9
|
+
const SelfTradePreventionModeSchema = validation_exports.picklist(SELF_TRADE_PREVENTION_MODE_VALUES);
|
|
10
|
+
const SideInputSchema = validation_exports.picklist(ORDER_SIDE_VALUES);
|
|
11
|
+
const DecimalInputStringSchema = validation_exports.pipe(validation_exports.string(), validation_exports.trim(), validation_exports.minLength(1));
|
|
12
|
+
const BaseTriggerFieldsSchema = validation_exports.object({
|
|
13
13
|
...AccountScopeInputEntries,
|
|
14
|
-
symbol:
|
|
15
|
-
clientTriggerId:
|
|
14
|
+
symbol: validation_exports.pipe(validation_exports.string(), validation_exports.trim(), validation_exports.minLength(1)),
|
|
15
|
+
clientTriggerId: validation_exports.optional(validation_exports.pipe(validation_exports.string(), validation_exports.trim()), () => crypto.randomUUID()),
|
|
16
16
|
qty: DecimalInputStringSchema,
|
|
17
|
-
feeAsset:
|
|
18
|
-
selfTradePreventionMode:
|
|
17
|
+
feeAsset: validation_exports.pipe(validation_exports.optional(FeeAssetSchema, "quote"), validation_exports.transform((value) => FeeAssetCodec.inputToProto[value])),
|
|
18
|
+
selfTradePreventionMode: validation_exports.pipe(validation_exports.optional(SelfTradePreventionModeSchema, "expire_maker"), validation_exports.transform((value) => SelfTradePreventionModeCodec.inputToProto[value]))
|
|
19
19
|
});
|
|
20
|
-
const TriggerSideInputSchema =
|
|
21
|
-
const MarketIocConditionalExecutionInputSchema =
|
|
22
|
-
const LimitConditionalExecutionInputSchema =
|
|
23
|
-
|
|
24
|
-
type:
|
|
20
|
+
const TriggerSideInputSchema = validation_exports.pipe(SideInputSchema, validation_exports.transform((value) => OrderSideCodec.inputToProto[value]));
|
|
21
|
+
const MarketIocConditionalExecutionInputSchema = validation_exports.strictObject({ type: validation_exports.literal("market_ioc") });
|
|
22
|
+
const LimitConditionalExecutionInputSchema = validation_exports.variant("type", [
|
|
23
|
+
validation_exports.strictObject({
|
|
24
|
+
type: validation_exports.literal("limit_gtc"),
|
|
25
25
|
price: DecimalInputStringSchema,
|
|
26
|
-
postOnly:
|
|
26
|
+
postOnly: validation_exports.optional(validation_exports.boolean(), false)
|
|
27
27
|
}),
|
|
28
|
-
|
|
29
|
-
type:
|
|
28
|
+
validation_exports.strictObject({
|
|
29
|
+
type: validation_exports.literal("limit_ioc"),
|
|
30
30
|
price: DecimalInputStringSchema
|
|
31
31
|
}),
|
|
32
|
-
|
|
33
|
-
type:
|
|
32
|
+
validation_exports.strictObject({
|
|
33
|
+
type: validation_exports.literal("limit_fok"),
|
|
34
34
|
price: DecimalInputStringSchema
|
|
35
35
|
})
|
|
36
36
|
]);
|
|
37
|
-
const ConditionalExecutionInputSchema =
|
|
38
|
-
const TwapExecutionInputSchema =
|
|
39
|
-
type:
|
|
37
|
+
const ConditionalExecutionInputSchema = validation_exports.variant("type", [MarketIocConditionalExecutionInputSchema, ...LimitConditionalExecutionInputSchema.options]);
|
|
38
|
+
const TwapExecutionInputSchema = validation_exports.variant("type", [validation_exports.strictObject({ type: validation_exports.literal("market_ioc") }), validation_exports.strictObject({
|
|
39
|
+
type: validation_exports.literal("limit_gtc"),
|
|
40
40
|
price: DecimalInputStringSchema
|
|
41
41
|
})]);
|
|
42
42
|
function buildTriggerIntentBase(input, scales) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-child-order.schemas.js","names":["TRIGGER_SIDE_VALUES","TriggerSideCodec","Proto.TriggerMarketIocSchema","Proto.TriggerLimitGtcSchema","Proto.TriggerLimitIocSchema","Proto.TriggerLimitFokSchema","Proto.TwapMarketIocSchema","Proto.TwapLimitGtcSchema"],"sources":["../../../src/services/triggers/trigger-child-order.schemas.ts"],"sourcesContent":["import * as Proto from \"../../gen/triggers/v1/triggers_pb.js\";\nimport * as v from \"
|
|
1
|
+
{"version":3,"file":"trigger-child-order.schemas.js","names":["v","TRIGGER_SIDE_VALUES","TriggerSideCodec","Proto.TriggerMarketIocSchema","Proto.TriggerLimitGtcSchema","Proto.TriggerLimitIocSchema","Proto.TriggerLimitFokSchema","Proto.TwapMarketIocSchema","Proto.TwapLimitGtcSchema"],"sources":["../../../src/services/triggers/trigger-child-order.schemas.ts"],"sourcesContent":["import * as Proto from \"../../gen/triggers/v1/triggers_pb.js\";\nimport * as v from \"../../shared/validation.js\";\nimport { create } from \"@bufbuild/protobuf\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../shared/account-scope.js\";\nimport { positiveDecimalInputToScaled, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport {\n FEE_ASSET_VALUES,\n FeeAssetCodec,\n SELF_TRADE_PREVENTION_MODE_VALUES,\n SelfTradePreventionModeCodec,\n TRIGGER_SIDE_VALUES,\n TriggerSideCodec,\n} from \"./triggers.codecs.js\";\n\nconst FeeAssetSchema = v.picklist(FEE_ASSET_VALUES);\nconst SelfTradePreventionModeSchema = v.picklist(SELF_TRADE_PREVENTION_MODE_VALUES);\nconst SideInputSchema = v.picklist(TRIGGER_SIDE_VALUES);\nexport const DecimalInputStringSchema = v.pipe(v.string(), v.trim(), v.minLength(1));\n\nexport type TrailingDistanceOneof = Proto.ModifyTriggerRequest[\"trailingDistance\"];\nexport type MaxSlippageOneof = Proto.ModifyTriggerRequest[\"maxSlippage\"];\n\nexport const BaseTriggerFieldsSchema = v.object({\n ...AccountScopeInputEntries,\n symbol: v.pipe(v.string(), v.trim(), v.minLength(1)),\n clientTriggerId: v.optional(v.pipe(v.string(), v.trim()), () => crypto.randomUUID()),\n qty: DecimalInputStringSchema,\n feeAsset: v.pipe(\n v.optional(FeeAssetSchema, \"quote\"),\n v.transform((value) => FeeAssetCodec.inputToProto[value]),\n ),\n selfTradePreventionMode: v.pipe(\n v.optional(SelfTradePreventionModeSchema, \"expire_maker\"),\n v.transform((value) => SelfTradePreventionModeCodec.inputToProto[value]),\n ),\n});\n\nexport const TriggerSideInputSchema = v.pipe(\n SideInputSchema,\n v.transform((value) => TriggerSideCodec.inputToProto[value]),\n);\n\nexport const MarketIocConditionalExecutionInputSchema = v.strictObject({\n type: v.literal(\"market_ioc\"),\n});\n\nexport const LimitConditionalExecutionInputSchema = v.variant(\"type\", [\n v.strictObject({\n type: v.literal(\"limit_gtc\"),\n price: DecimalInputStringSchema,\n postOnly: v.optional(v.boolean(), false),\n }),\n v.strictObject({\n type: v.literal(\"limit_ioc\"),\n price: DecimalInputStringSchema,\n }),\n v.strictObject({\n type: v.literal(\"limit_fok\"),\n price: DecimalInputStringSchema,\n }),\n]);\n\nexport const ConditionalExecutionInputSchema = v.variant(\"type\", [\n MarketIocConditionalExecutionInputSchema,\n ...LimitConditionalExecutionInputSchema.options,\n]);\n\nexport const TwapExecutionInputSchema = v.variant(\"type\", [\n v.strictObject({ type: v.literal(\"market_ioc\") }),\n v.strictObject({\n type: v.literal(\"limit_gtc\"),\n price: DecimalInputStringSchema,\n }),\n]);\n\ntype BaseTriggerInput = v.InferOutput<typeof BaseTriggerFieldsSchema>;\ntype ConditionalExecutionInput = v.InferOutput<typeof ConditionalExecutionInputSchema>;\ntype TwapExecutionInput = v.InferOutput<typeof TwapExecutionInputSchema>;\n\nexport function buildTriggerIntentBase(input: BaseTriggerInput, scales: SdkScales) {\n return {\n subaccountId: accountScopeToSubaccountId(input.account),\n intent: {\n symbol: input.symbol,\n qtyScaled: positiveDecimalInputToScaled(\"qty\", input.qty, scales.baseQty(input.symbol)),\n feeAsset: input.feeAsset,\n selfTradePreventionMode: input.selfTradePreventionMode,\n clientTriggerId: input.clientTriggerId ?? crypto.randomUUID(),\n },\n };\n}\n\nexport function buildConditionalExecution(input: ConditionalExecutionInput, scales: SdkScales) {\n switch (input.type) {\n case \"market_ioc\":\n return {\n execution: {\n case: \"marketIoc\",\n value: create(Proto.TriggerMarketIocSchema),\n },\n } as const;\n case \"limit_gtc\":\n return {\n execution: {\n case: \"limitGtc\",\n value: create(Proto.TriggerLimitGtcSchema, {\n priceTicks: positiveDecimalInputToScaled(\n \"execution.price\",\n input.price,\n scales.price(),\n ),\n postOnly: input.postOnly,\n }),\n },\n } as const;\n case \"limit_ioc\":\n return {\n execution: {\n case: \"limitIoc\",\n value: create(Proto.TriggerLimitIocSchema, {\n priceTicks: positiveDecimalInputToScaled(\n \"execution.price\",\n input.price,\n scales.price(),\n ),\n }),\n },\n } as const;\n case \"limit_fok\":\n return {\n execution: {\n case: \"limitFok\",\n value: create(Proto.TriggerLimitFokSchema, {\n priceTicks: positiveDecimalInputToScaled(\n \"execution.price\",\n input.price,\n scales.price(),\n ),\n }),\n },\n } as const;\n }\n}\n\nexport function buildTwapExecution(input: TwapExecutionInput, scales: SdkScales) {\n return input.type === \"market_ioc\"\n ? ({\n case: \"marketIoc\",\n value: create(Proto.TwapMarketIocSchema),\n } as const)\n : ({\n case: \"limitGtc\",\n value: create(Proto.TwapLimitGtcSchema, {\n priceTicks: positiveDecimalInputToScaled(\n \"execution.price\",\n input.price,\n scales.price(),\n ),\n }),\n } as const);\n}\n"],"mappings":";;;;;;;AAiBA,MAAM,iBAAiBA,mBAAE,SAAS,gBAAgB;AAClD,MAAM,gCAAgCA,mBAAE,SAAS,iCAAiC;AAClF,MAAM,kBAAkBA,mBAAE,SAASC,iBAAmB;AACtD,MAAa,2BAA2BD,mBAAE,KAAKA,mBAAE,OAAO,GAAGA,mBAAE,KAAK,GAAGA,mBAAE,UAAU,CAAC,CAAC;AAKnF,MAAa,0BAA0BA,mBAAE,OAAO;CAC5C,GAAG;CACH,QAAQA,mBAAE,KAAKA,mBAAE,OAAO,GAAGA,mBAAE,KAAK,GAAGA,mBAAE,UAAU,CAAC,CAAC;CACnD,iBAAiBA,mBAAE,SAASA,mBAAE,KAAKA,mBAAE,OAAO,GAAGA,mBAAE,KAAK,CAAC,SAAS,OAAO,WAAW,CAAC;CACnF,KAAK;CACL,UAAUA,mBAAE,KACRA,mBAAE,SAAS,gBAAgB,OAAO,GAClCA,mBAAE,WAAW,UAAU,cAAc,aAAa,MAAM,CAC5D;CACA,yBAAyBA,mBAAE,KACvBA,mBAAE,SAAS,+BAA+B,cAAc,GACxDA,mBAAE,WAAW,UAAU,6BAA6B,aAAa,MAAM,CAC3E;AACJ,CAAC;AAED,MAAa,yBAAyBA,mBAAE,KACpC,iBACAA,mBAAE,WAAW,UAAUE,eAAiB,aAAa,MAAM,CAC/D;AAEA,MAAa,2CAA2CF,mBAAE,aAAa,EACnE,MAAMA,mBAAE,QAAQ,YAAY,EAChC,CAAC;AAED,MAAa,uCAAuCA,mBAAE,QAAQ,QAAQ;CAClEA,mBAAE,aAAa;EACX,MAAMA,mBAAE,QAAQ,WAAW;EAC3B,OAAO;EACP,UAAUA,mBAAE,SAASA,mBAAE,QAAQ,GAAG,KAAK;CAC3C,CAAC;CACDA,mBAAE,aAAa;EACX,MAAMA,mBAAE,QAAQ,WAAW;EAC3B,OAAO;CACX,CAAC;CACDA,mBAAE,aAAa;EACX,MAAMA,mBAAE,QAAQ,WAAW;EAC3B,OAAO;CACX,CAAC;AACL,CAAC;AAED,MAAa,kCAAkCA,mBAAE,QAAQ,QAAQ,CAC7D,0CACA,GAAG,qCAAqC,OAC5C,CAAC;AAED,MAAa,2BAA2BA,mBAAE,QAAQ,QAAQ,CACtDA,mBAAE,aAAa,EAAE,MAAMA,mBAAE,QAAQ,YAAY,EAAE,CAAC,GAChDA,mBAAE,aAAa;CACX,MAAMA,mBAAE,QAAQ,WAAW;CAC3B,OAAO;AACX,CAAC,CACL,CAAC;AAMD,SAAgB,uBAAuB,OAAyB,QAAmB;CAC/E,OAAO;EACH,cAAc,2BAA2B,MAAM,OAAO;EACtD,QAAQ;GACJ,QAAQ,MAAM;GACd,WAAW,6BAA6B,OAAO,MAAM,KAAK,OAAO,QAAQ,MAAM,MAAM,CAAC;GACtF,UAAU,MAAM;GAChB,yBAAyB,MAAM;GAC/B,iBAAiB,MAAM,mBAAmB,OAAO,WAAW;EAChE;CACJ;AACJ;AAEA,SAAgB,0BAA0B,OAAkC,QAAmB;CAC3F,QAAQ,MAAM,MAAd;EACI,KAAK,cACD,OAAO,EACH,WAAW;GACP,MAAM;GACN,OAAO,OAAOG,sBAA4B;EAC9C,EACJ;EACJ,KAAK,aACD,OAAO,EACH,WAAW;GACP,MAAM;GACN,OAAO,OAAOC,uBAA6B;IACvC,YAAY,6BACR,mBACA,MAAM,OACN,OAAO,MAAM,CACjB;IACA,UAAU,MAAM;GACpB,CAAC;EACL,EACJ;EACJ,KAAK,aACD,OAAO,EACH,WAAW;GACP,MAAM;GACN,OAAO,OAAOC,uBAA6B,EACvC,YAAY,6BACR,mBACA,MAAM,OACN,OAAO,MAAM,CACjB,EACJ,CAAC;EACL,EACJ;EACJ,KAAK,aACD,OAAO,EACH,WAAW;GACP,MAAM;GACN,OAAO,OAAOC,uBAA6B,EACvC,YAAY,6BACR,mBACA,MAAM,OACN,OAAO,MAAM,CACjB,EACJ,CAAC;EACL,EACJ;CACR;AACJ;AAEA,SAAgB,mBAAmB,OAA2B,QAAmB;CAC7E,OAAO,MAAM,SAAS,eACf;EACG,MAAM;EACN,OAAO,OAAOC,mBAAyB;CAC3C,IACC;EACG,MAAM;EACN,OAAO,OAAOC,oBAA0B,EACpC,YAAY,6BACR,mBACA,MAAM,OACN,OAAO,MAAM,CACjB,EACJ,CAAC;CACL;AACV"}
|