@polyester/sdk 0.0.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 +1 -0
- package/LICENSE +7 -0
- package/README.md +55 -0
- package/SECURITY.md +14 -0
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/account-signer/create-polyester-account-signer.d.ts +28 -0
- package/dist/account-signer/create-polyester-account-signer.d.ts.map +1 -0
- package/dist/account-signer/create-polyester-account-signer.js +101 -0
- package/dist/account-signer/create-polyester-account-signer.js.map +1 -0
- package/dist/account-signer/index.d.ts +3 -0
- package/dist/account-signer/index.js +3 -0
- package/dist/account-signer/predict-safe-address.js +230 -0
- package/dist/account-signer/predict-safe-address.js.map +1 -0
- package/dist/account-signer/types.d.ts +40 -0
- package/dist/account-signer/types.d.ts.map +1 -0
- package/dist/account-signer/types.js +29 -0
- package/dist/account-signer/types.js.map +1 -0
- package/dist/browser-client.d.ts +37 -0
- package/dist/browser-client.d.ts.map +1 -0
- package/dist/browser-client.js +69 -0
- package/dist/browser-client.js.map +1 -0
- package/dist/catalogs/client-catalog.d.ts +6 -0
- package/dist/catalogs/client-catalog.d.ts.map +1 -0
- package/dist/catalogs/client-catalog.js +88 -0
- package/dist/catalogs/client-catalog.js.map +1 -0
- package/dist/catalogs/decimal.js +92 -0
- package/dist/catalogs/decimal.js.map +1 -0
- package/dist/catalogs/index.d.ts +10 -0
- package/dist/catalogs/index.js +8 -0
- package/dist/catalogs/indexes.js +36 -0
- package/dist/catalogs/indexes.js.map +1 -0
- package/dist/catalogs/market-data-catalog.d.ts +37 -0
- package/dist/catalogs/market-data-catalog.d.ts.map +1 -0
- package/dist/catalogs/market-data-catalog.js +49 -0
- package/dist/catalogs/market-data-catalog.js.map +1 -0
- package/dist/catalogs/readers.d.ts +6 -0
- package/dist/catalogs/readers.d.ts.map +1 -0
- package/dist/catalogs/readers.js +545 -0
- package/dist/catalogs/readers.js.map +1 -0
- package/dist/catalogs/snapshot.d.ts +18 -0
- package/dist/catalogs/snapshot.d.ts.map +1 -0
- package/dist/catalogs/snapshot.js +16 -0
- package/dist/catalogs/snapshot.js.map +1 -0
- package/dist/catalogs/types.d.ts +268 -0
- package/dist/catalogs/types.d.ts.map +1 -0
- package/dist/catalogs/types.js +48 -0
- package/dist/catalogs/types.js.map +1 -0
- package/dist/catalogs/unknown-asset.d.ts +27 -0
- package/dist/catalogs/unknown-asset.d.ts.map +1 -0
- package/dist/catalogs/unknown-asset.js +38 -0
- package/dist/catalogs/unknown-asset.js.map +1 -0
- package/dist/catalogs/zipper-catalog.d.ts +33 -0
- package/dist/catalogs/zipper-catalog.d.ts.map +1 -0
- package/dist/catalogs/zipper-catalog.js +54 -0
- package/dist/catalogs/zipper-catalog.js.map +1 -0
- package/dist/catalogs/zipper-supply.d.ts +10 -0
- package/dist/catalogs/zipper-supply.d.ts.map +1 -0
- package/dist/catalogs/zipper-supply.js +40 -0
- package/dist/catalogs/zipper-supply.js.map +1 -0
- package/dist/core-client.d.ts +155 -0
- package/dist/core-client.d.ts.map +1 -0
- package/dist/core-client.js +266 -0
- package/dist/core-client.js.map +1 -0
- package/dist/environment.d.ts +57 -0
- package/dist/environment.d.ts.map +1 -0
- package/dist/environment.js +153 -0
- package/dist/environment.js.map +1 -0
- package/dist/gen/auth/v1/address_book_pb.d.ts +2012 -0
- package/dist/gen/auth/v1/address_book_pb.d.ts.map +1 -0
- package/dist/gen/auth/v1/address_book_pb.js +505 -0
- package/dist/gen/auth/v1/address_book_pb.js.map +1 -0
- package/dist/gen/auth/v1/api_keys_pb.d.ts +496 -0
- package/dist/gen/auth/v1/api_keys_pb.d.ts.map +1 -0
- package/dist/gen/auth/v1/api_keys_pb.js +137 -0
- package/dist/gen/auth/v1/api_keys_pb.js.map +1 -0
- package/dist/gen/auth/v1/auth_pb.d.ts +523 -0
- package/dist/gen/auth/v1/auth_pb.d.ts.map +1 -0
- package/dist/gen/auth/v1/auth_pb.js +313 -0
- package/dist/gen/auth/v1/auth_pb.js.map +1 -0
- package/dist/gen/auth/v1/mfa_pb.d.ts +1020 -0
- package/dist/gen/auth/v1/mfa_pb.d.ts.map +1 -0
- package/dist/gen/auth/v1/mfa_pb.js +315 -0
- package/dist/gen/auth/v1/mfa_pb.js.map +1 -0
- package/dist/gen/auth/v1/policies_pb.d.ts +1410 -0
- package/dist/gen/auth/v1/policies_pb.d.ts.map +1 -0
- package/dist/gen/auth/v1/policies_pb.js +341 -0
- package/dist/gen/auth/v1/policies_pb.js.map +1 -0
- package/dist/gen/auth/v1/profile_pb.d.ts +370 -0
- package/dist/gen/auth/v1/profile_pb.d.ts.map +1 -0
- package/dist/gen/auth/v1/profile_pb.js +114 -0
- package/dist/gen/auth/v1/profile_pb.js.map +1 -0
- package/dist/gen/auth/v1/resolve_pb.d.ts +174 -0
- package/dist/gen/auth/v1/resolve_pb.d.ts.map +1 -0
- package/dist/gen/auth/v1/resolve_pb.js +80 -0
- package/dist/gen/auth/v1/resolve_pb.js.map +1 -0
- package/dist/gen/auth/v1/social_verification_pb.d.ts +408 -0
- package/dist/gen/auth/v1/social_verification_pb.d.ts.map +1 -0
- package/dist/gen/auth/v1/social_verification_pb.js +196 -0
- package/dist/gen/auth/v1/social_verification_pb.js.map +1 -0
- package/dist/gen/auth/v1/subaccounts_pb.d.ts +1490 -0
- package/dist/gen/auth/v1/subaccounts_pb.d.ts.map +1 -0
- package/dist/gen/auth/v1/subaccounts_pb.js +574 -0
- package/dist/gen/auth/v1/subaccounts_pb.js.map +1 -0
- package/dist/gen/chain/analytics/v1/analytics_read_pb.d.ts +426 -0
- package/dist/gen/chain/analytics/v1/analytics_read_pb.d.ts.map +1 -0
- package/dist/gen/chain/analytics/v1/analytics_read_pb.js +119 -0
- package/dist/gen/chain/analytics/v1/analytics_read_pb.js.map +1 -0
- package/dist/gen/chain/deposit/v1/deposit_pb.d.ts +158 -0
- package/dist/gen/chain/deposit/v1/deposit_pb.d.ts.map +1 -0
- package/dist/gen/chain/deposit/v1/deposit_pb.js +52 -0
- package/dist/gen/chain/deposit/v1/deposit_pb.js.map +1 -0
- package/dist/gen/chain/guard/v1/guard_signer_pb.d.ts +588 -0
- package/dist/gen/chain/guard/v1/guard_signer_pb.d.ts.map +1 -0
- package/dist/gen/chain/guard/v1/guard_signer_pb.js +195 -0
- package/dist/gen/chain/guard/v1/guard_signer_pb.js.map +1 -0
- package/dist/gen/chain/lifecycle/v1/lifecycle_read_pb.d.ts +1297 -0
- package/dist/gen/chain/lifecycle/v1/lifecycle_read_pb.d.ts.map +1 -0
- package/dist/gen/chain/lifecycle/v1/lifecycle_read_pb.js +408 -0
- package/dist/gen/chain/lifecycle/v1/lifecycle_read_pb.js.map +1 -0
- package/dist/gen/chain/lifecycle/v1/types_pb.d.ts +359 -0
- package/dist/gen/chain/lifecycle/v1/types_pb.d.ts.map +1 -0
- package/dist/gen/chain/lifecycle/v1/types_pb.js +322 -0
- package/dist/gen/chain/lifecycle/v1/types_pb.js.map +1 -0
- package/dist/gen/chain/withdraw/v1/withdraw_pb.d.ts +236 -0
- package/dist/gen/chain/withdraw/v1/withdraw_pb.d.ts.map +1 -0
- package/dist/gen/chain/withdraw/v1/withdraw_pb.js +79 -0
- package/dist/gen/chain/withdraw/v1/withdraw_pb.js.map +1 -0
- package/dist/gen/chain/zipper/v1/reason_pb.d.ts +349 -0
- package/dist/gen/chain/zipper/v1/reason_pb.d.ts.map +1 -0
- package/dist/gen/chain/zipper/v1/reason_pb.js +330 -0
- package/dist/gen/chain/zipper/v1/reason_pb.js.map +1 -0
- package/dist/gen/chain/zipper/v1/zipper_pb.d.ts +396 -0
- package/dist/gen/chain/zipper/v1/zipper_pb.d.ts.map +1 -0
- package/dist/gen/chain/zipper/v1/zipper_pb.js +70 -0
- package/dist/gen/chain/zipper/v1/zipper_pb.js.map +1 -0
- package/dist/gen/collab/v1/whiteboard_pb.d.ts +829 -0
- package/dist/gen/collab/v1/whiteboard_pb.d.ts.map +1 -0
- package/dist/gen/collab/v1/whiteboard_pb.js +250 -0
- package/dist/gen/collab/v1/whiteboard_pb.js.map +1 -0
- package/dist/gen/index.d.ts +35 -0
- package/dist/gen/index.js +35 -0
- package/dist/gen/layout/v1/layout_pb.d.ts +1289 -0
- package/dist/gen/layout/v1/layout_pb.d.ts.map +1 -0
- package/dist/gen/layout/v1/layout_pb.js +313 -0
- package/dist/gen/layout/v1/layout_pb.js.map +1 -0
- package/dist/gen/ledger/read/v1/ledger_read_pb.d.ts +1000 -0
- package/dist/gen/ledger/read/v1/ledger_read_pb.d.ts.map +1 -0
- package/dist/gen/ledger/read/v1/ledger_read_pb.js +347 -0
- package/dist/gen/ledger/read/v1/ledger_read_pb.js.map +1 -0
- package/dist/gen/ledger/v1/catalog_pb.d.ts +129 -0
- package/dist/gen/ledger/v1/catalog_pb.d.ts.map +1 -0
- package/dist/gen/ledger/v1/catalog_pb.js +138 -0
- package/dist/gen/ledger/v1/catalog_pb.js.map +1 -0
- package/dist/gen/marketdata/v1/heatmap_pb.d.ts +571 -0
- package/dist/gen/marketdata/v1/heatmap_pb.d.ts.map +1 -0
- package/dist/gen/marketdata/v1/heatmap_pb.js +194 -0
- package/dist/gen/marketdata/v1/heatmap_pb.js.map +1 -0
- package/dist/gen/marketdata/v1/marketdata_pb.d.ts +1015 -0
- package/dist/gen/marketdata/v1/marketdata_pb.d.ts.map +1 -0
- package/dist/gen/marketdata/v1/marketdata_pb.js +274 -0
- package/dist/gen/marketdata/v1/marketdata_pb.js.map +1 -0
- package/dist/gen/marketoverview/v1/marketoverview_pb.d.ts +419 -0
- package/dist/gen/marketoverview/v1/marketoverview_pb.d.ts.map +1 -0
- package/dist/gen/marketoverview/v1/marketoverview_pb.js +212 -0
- package/dist/gen/marketoverview/v1/marketoverview_pb.js.map +1 -0
- package/dist/gen/orderbook/v1/orderbook_pb.d.ts +260 -0
- package/dist/gen/orderbook/v1/orderbook_pb.d.ts.map +1 -0
- package/dist/gen/orderbook/v1/orderbook_pb.js +119 -0
- package/dist/gen/orderbook/v1/orderbook_pb.js.map +1 -0
- package/dist/gen/orders/v1/orders_pb.d.ts +2497 -0
- package/dist/gen/orders/v1/orders_pb.d.ts.map +1 -0
- package/dist/gen/orders/v1/orders_pb.js +1043 -0
- package/dist/gen/orders/v1/orders_pb.js.map +1 -0
- package/dist/gen/orders/v1/orders_read_pb.d.ts +1322 -0
- package/dist/gen/orders/v1/orders_read_pb.d.ts.map +1 -0
- package/dist/gen/orders/v1/orders_read_pb.js +408 -0
- package/dist/gen/orders/v1/orders_read_pb.js.map +1 -0
- package/dist/gen/polychart/events/v1/polychart_events_pb.d.ts +192 -0
- package/dist/gen/polychart/events/v1/polychart_events_pb.d.ts.map +1 -0
- package/dist/gen/polychart/events/v1/polychart_events_pb.js +57 -0
- package/dist/gen/polychart/events/v1/polychart_events_pb.js.map +1 -0
- package/dist/gen/polychart/v1/polychart_pb.d.ts +1208 -0
- package/dist/gen/polychart/v1/polychart_pb.d.ts.map +1 -0
- package/dist/gen/polychart/v1/polychart_pb.js +244 -0
- package/dist/gen/polychart/v1/polychart_pb.js.map +1 -0
- package/dist/gen/polyester/api/options_pb.d.ts +67 -0
- package/dist/gen/polyester/api/options_pb.d.ts.map +1 -0
- package/dist/gen/polyester/api/options_pb.js +76 -0
- package/dist/gen/polyester/api/options_pb.js.map +1 -0
- package/dist/gen/polyester/type/v1/u128_pb.d.ts +42 -0
- package/dist/gen/polyester/type/v1/u128_pb.d.ts.map +1 -0
- package/dist/gen/polyester/type/v1/u128_pb.js +20 -0
- package/dist/gen/polyester/type/v1/u128_pb.js.map +1 -0
- package/dist/gen/tradews/v1/trade_ws_pb.d.ts +316 -0
- package/dist/gen/tradews/v1/trade_ws_pb.d.ts.map +1 -0
- package/dist/gen/tradews/v1/trade_ws_pb.js +63 -0
- package/dist/gen/tradews/v1/trade_ws_pb.js.map +1 -0
- package/dist/gen/transfer/v1/internal_transfer_pb.d.ts +235 -0
- package/dist/gen/transfer/v1/internal_transfer_pb.d.ts.map +1 -0
- package/dist/gen/transfer/v1/internal_transfer_pb.js +81 -0
- package/dist/gen/transfer/v1/internal_transfer_pb.js.map +1 -0
- package/dist/gen/triggers/v1/triggers_pb.d.ts +1731 -0
- package/dist/gen/triggers/v1/triggers_pb.d.ts.map +1 -0
- package/dist/gen/triggers/v1/triggers_pb.js +413 -0
- package/dist/gen/triggers/v1/triggers_pb.js.map +1 -0
- package/dist/index.d.ts +100 -0
- package/dist/index.js +18 -0
- package/dist/realtime/client.d.ts +18 -0
- package/dist/realtime/client.d.ts.map +1 -0
- package/dist/realtime/client.js +420 -0
- package/dist/realtime/client.js.map +1 -0
- package/dist/realtime/index.d.ts +3 -0
- package/dist/realtime/snapshot-then-stream.js +144 -0
- package/dist/realtime/snapshot-then-stream.js.map +1 -0
- package/dist/realtime/types.d.ts +41 -0
- package/dist/realtime/types.d.ts.map +1 -0
- package/dist/server-client.d.ts +73 -0
- package/dist/server-client.d.ts.map +1 -0
- package/dist/server-client.js +126 -0
- package/dist/server-client.js.map +1 -0
- package/dist/server-session.d.ts +4 -0
- package/dist/server-session.js +3 -0
- package/dist/services/accounts/accounts.codecs.js +17 -0
- package/dist/services/accounts/accounts.codecs.js.map +1 -0
- package/dist/services/accounts/accounts.d.ts +18 -0
- package/dist/services/accounts/accounts.d.ts.map +1 -0
- package/dist/services/accounts/accounts.js +27 -0
- package/dist/services/accounts/accounts.js.map +1 -0
- package/dist/services/accounts/accounts.schemas.d.ts +20 -0
- package/dist/services/accounts/accounts.schemas.d.ts.map +1 -0
- package/dist/services/accounts/accounts.schemas.js +28 -0
- package/dist/services/accounts/accounts.schemas.js.map +1 -0
- package/dist/services/accounts/accounts.types.d.ts +2 -0
- package/dist/services/accounts/index.d.ts +3 -0
- package/dist/services/address-book/address-book.codecs.d.ts +1 -0
- package/dist/services/address-book/address-book.codecs.js +61 -0
- package/dist/services/address-book/address-book.codecs.js.map +1 -0
- package/dist/services/address-book/address-book.d.ts +95 -0
- package/dist/services/address-book/address-book.d.ts.map +1 -0
- package/dist/services/address-book/address-book.js +166 -0
- package/dist/services/address-book/address-book.js.map +1 -0
- package/dist/services/address-book/address-book.schemas.d.ts +1140 -0
- package/dist/services/address-book/address-book.schemas.d.ts.map +1 -0
- package/dist/services/address-book/address-book.schemas.js +343 -0
- package/dist/services/address-book/address-book.schemas.js.map +1 -0
- package/dist/services/address-book/address-book.types.d.ts +2 -0
- package/dist/services/address-book/index.d.ts +4 -0
- package/dist/services/api-keys/api-keys.codecs.js +24 -0
- package/dist/services/api-keys/api-keys.codecs.js.map +1 -0
- package/dist/services/api-keys/api-keys.d.ts +62 -0
- package/dist/services/api-keys/api-keys.d.ts.map +1 -0
- package/dist/services/api-keys/api-keys.js +104 -0
- package/dist/services/api-keys/api-keys.js.map +1 -0
- package/dist/services/api-keys/api-keys.schemas.d.ts +181 -0
- package/dist/services/api-keys/api-keys.schemas.d.ts.map +1 -0
- package/dist/services/api-keys/api-keys.schemas.js +111 -0
- package/dist/services/api-keys/api-keys.schemas.js.map +1 -0
- package/dist/services/api-keys/api-keys.types.d.ts +2 -0
- package/dist/services/api-keys/index.d.ts +3 -0
- package/dist/services/auth/account-signer-auth.d.ts +131 -0
- package/dist/services/auth/account-signer-auth.d.ts.map +1 -0
- package/dist/services/auth/account-signer-auth.js +337 -0
- package/dist/services/auth/account-signer-auth.js.map +1 -0
- package/dist/services/auth/auth.d.ts +91 -0
- package/dist/services/auth/auth.d.ts.map +1 -0
- package/dist/services/auth/auth.js +71 -0
- package/dist/services/auth/auth.js.map +1 -0
- package/dist/services/auth/auth.types.d.ts +3 -0
- package/dist/services/auth/cookie-constants.d.ts +6 -0
- package/dist/services/auth/cookie-constants.d.ts.map +1 -0
- package/dist/services/auth/cookie-constants.js +8 -0
- package/dist/services/auth/cookie-constants.js.map +1 -0
- package/dist/services/auth/profile/profile.d.ts +35 -0
- package/dist/services/auth/profile/profile.d.ts.map +1 -0
- package/dist/services/auth/profile/profile.js +61 -0
- package/dist/services/auth/profile/profile.js.map +1 -0
- package/dist/services/auth/profile/profile.schemas.d.ts +58 -0
- package/dist/services/auth/profile/profile.schemas.d.ts.map +1 -0
- package/dist/services/auth/profile/profile.schemas.js +39 -0
- package/dist/services/auth/profile/profile.schemas.js.map +1 -0
- package/dist/services/auth/profile/profile.types.d.ts +2 -0
- package/dist/services/auth/session-codec.js +22 -0
- package/dist/services/auth/session-codec.js.map +1 -0
- package/dist/services/auth/session.d.ts +51 -0
- package/dist/services/auth/session.d.ts.map +1 -0
- package/dist/services/auth/session.js +200 -0
- package/dist/services/auth/session.js.map +1 -0
- package/dist/services/auth/session.schemas.js +41 -0
- package/dist/services/auth/session.schemas.js.map +1 -0
- package/dist/services/auth/session.types.d.ts +70 -0
- package/dist/services/auth/session.types.d.ts.map +1 -0
- package/dist/services/auth/token-storage.d.ts +27 -0
- package/dist/services/auth/token-storage.d.ts.map +1 -0
- package/dist/services/auth/token-storage.js +61 -0
- package/dist/services/auth/token-storage.js.map +1 -0
- package/dist/services/balances/balances.codecs.js +29 -0
- package/dist/services/balances/balances.codecs.js.map +1 -0
- package/dist/services/balances/balances.d.ts +39 -0
- package/dist/services/balances/balances.d.ts.map +1 -0
- package/dist/services/balances/balances.js +85 -0
- package/dist/services/balances/balances.js.map +1 -0
- package/dist/services/balances/balances.merge.d.ts +9 -0
- package/dist/services/balances/balances.merge.d.ts.map +1 -0
- package/dist/services/balances/balances.merge.js +31 -0
- package/dist/services/balances/balances.merge.js.map +1 -0
- package/dist/services/balances/balances.schemas.d.ts +265 -0
- package/dist/services/balances/balances.schemas.d.ts.map +1 -0
- package/dist/services/balances/balances.schemas.js +167 -0
- package/dist/services/balances/balances.schemas.js.map +1 -0
- package/dist/services/balances/balances.types.d.ts +2 -0
- package/dist/services/balances/index.d.ts +4 -0
- package/dist/services/candles/candles.codecs.js +48 -0
- package/dist/services/candles/candles.codecs.js.map +1 -0
- package/dist/services/candles/candles.d.ts +45 -0
- package/dist/services/candles/candles.d.ts.map +1 -0
- package/dist/services/candles/candles.js +108 -0
- package/dist/services/candles/candles.js.map +1 -0
- package/dist/services/candles/candles.schemas.d.ts +182 -0
- package/dist/services/candles/candles.schemas.d.ts.map +1 -0
- package/dist/services/candles/candles.schemas.js +154 -0
- package/dist/services/candles/candles.schemas.js.map +1 -0
- package/dist/services/candles/candles.types.d.ts +2 -0
- package/dist/services/candles/index.d.ts +3 -0
- package/dist/services/chain-analytics/chain-analytics.codecs.d.ts +1 -0
- package/dist/services/chain-analytics/chain-analytics.codecs.js +33 -0
- package/dist/services/chain-analytics/chain-analytics.codecs.js.map +1 -0
- package/dist/services/chain-analytics/chain-analytics.d.ts +27 -0
- package/dist/services/chain-analytics/chain-analytics.d.ts.map +1 -0
- package/dist/services/chain-analytics/chain-analytics.js +48 -0
- package/dist/services/chain-analytics/chain-analytics.js.map +1 -0
- package/dist/services/chain-analytics/chain-analytics.schemas.d.ts +192 -0
- package/dist/services/chain-analytics/chain-analytics.schemas.d.ts.map +1 -0
- package/dist/services/chain-analytics/chain-analytics.schemas.js +100 -0
- package/dist/services/chain-analytics/chain-analytics.schemas.js.map +1 -0
- package/dist/services/chain-analytics/chain-analytics.types.d.ts +2 -0
- package/dist/services/chain-analytics/index.d.ts +4 -0
- package/dist/services/deposit/deposit.d.ts +23 -0
- package/dist/services/deposit/deposit.d.ts.map +1 -0
- package/dist/services/deposit/deposit.js +42 -0
- package/dist/services/deposit/deposit.js.map +1 -0
- package/dist/services/deposit/deposit.schemas.d.ts +40 -0
- package/dist/services/deposit/deposit.schemas.d.ts.map +1 -0
- package/dist/services/deposit/deposit.schemas.js +27 -0
- package/dist/services/deposit/deposit.schemas.js.map +1 -0
- package/dist/services/deposit/deposit.types.d.ts +2 -0
- package/dist/services/deposit/index.d.ts +3 -0
- package/dist/services/guard-signer/guard-signer.codecs.d.ts +1 -0
- package/dist/services/guard-signer/guard-signer.codecs.js +33 -0
- package/dist/services/guard-signer/guard-signer.codecs.js.map +1 -0
- package/dist/services/guard-signer/guard-signer.d.ts +40 -0
- package/dist/services/guard-signer/guard-signer.d.ts.map +1 -0
- package/dist/services/guard-signer/guard-signer.js +85 -0
- package/dist/services/guard-signer/guard-signer.js.map +1 -0
- package/dist/services/guard-signer/guard-signer.schemas.d.ts +269 -0
- package/dist/services/guard-signer/guard-signer.schemas.d.ts.map +1 -0
- package/dist/services/guard-signer/guard-signer.schemas.js +93 -0
- package/dist/services/guard-signer/guard-signer.schemas.js.map +1 -0
- package/dist/services/guard-signer/guard-signer.types.d.ts +2 -0
- package/dist/services/guard-signer/index.d.ts +4 -0
- package/dist/services/heatmap/heatmap.codecs.d.ts +11 -0
- package/dist/services/heatmap/heatmap.codecs.d.ts.map +1 -0
- package/dist/services/heatmap/heatmap.codecs.js +76 -0
- package/dist/services/heatmap/heatmap.codecs.js.map +1 -0
- package/dist/services/heatmap/heatmap.d.ts +33 -0
- package/dist/services/heatmap/heatmap.d.ts.map +1 -0
- package/dist/services/heatmap/heatmap.js +79 -0
- package/dist/services/heatmap/heatmap.js.map +1 -0
- package/dist/services/heatmap/heatmap.schemas.d.ts +412 -0
- package/dist/services/heatmap/heatmap.schemas.d.ts.map +1 -0
- package/dist/services/heatmap/heatmap.schemas.js +174 -0
- package/dist/services/heatmap/heatmap.schemas.js.map +1 -0
- package/dist/services/heatmap/heatmap.types.d.ts +3 -0
- package/dist/services/heatmap/index.d.ts +4 -0
- package/dist/services/internal-transfers/index.d.ts +3 -0
- package/dist/services/internal-transfers/internal-transfers.codecs.js +10 -0
- package/dist/services/internal-transfers/internal-transfers.codecs.js.map +1 -0
- package/dist/services/internal-transfers/internal-transfers.d.ts +20 -0
- package/dist/services/internal-transfers/internal-transfers.d.ts.map +1 -0
- package/dist/services/internal-transfers/internal-transfers.js +39 -0
- package/dist/services/internal-transfers/internal-transfers.js.map +1 -0
- package/dist/services/internal-transfers/internal-transfers.schemas.d.ts +174 -0
- package/dist/services/internal-transfers/internal-transfers.schemas.d.ts.map +1 -0
- package/dist/services/internal-transfers/internal-transfers.schemas.js +90 -0
- package/dist/services/internal-transfers/internal-transfers.schemas.js.map +1 -0
- package/dist/services/internal-transfers/internal-transfers.types.d.ts +2 -0
- package/dist/services/lifecycle/index.d.ts +4 -0
- package/dist/services/lifecycle/lifecycle.codecs.d.ts +23 -0
- package/dist/services/lifecycle/lifecycle.codecs.d.ts.map +1 -0
- package/dist/services/lifecycle/lifecycle.codecs.js +171 -0
- package/dist/services/lifecycle/lifecycle.codecs.js.map +1 -0
- package/dist/services/lifecycle/lifecycle.d.ts +42 -0
- package/dist/services/lifecycle/lifecycle.d.ts.map +1 -0
- package/dist/services/lifecycle/lifecycle.js +87 -0
- package/dist/services/lifecycle/lifecycle.js.map +1 -0
- package/dist/services/lifecycle/lifecycle.schemas.d.ts +2107 -0
- package/dist/services/lifecycle/lifecycle.schemas.d.ts.map +1 -0
- package/dist/services/lifecycle/lifecycle.schemas.js +282 -0
- package/dist/services/lifecycle/lifecycle.schemas.js.map +1 -0
- package/dist/services/lifecycle/lifecycle.types.d.ts +2 -0
- package/dist/services/market-data/index.d.ts +4 -0
- package/dist/services/market-data/market-data.codecs.js +18 -0
- package/dist/services/market-data/market-data.codecs.js.map +1 -0
- package/dist/services/market-data/market-data.d.ts +40 -0
- package/dist/services/market-data/market-data.d.ts.map +1 -0
- package/dist/services/market-data/market-data.js +75 -0
- package/dist/services/market-data/market-data.js.map +1 -0
- package/dist/services/market-data/market-data.schemas.d.ts +56 -0
- package/dist/services/market-data/market-data.schemas.d.ts.map +1 -0
- package/dist/services/market-data/market-data.schemas.js +178 -0
- package/dist/services/market-data/market-data.schemas.js.map +1 -0
- package/dist/services/market-data/market-data.types.d.ts +3 -0
- package/dist/services/market-overview/index.d.ts +4 -0
- package/dist/services/market-overview/market-overview.codecs.d.ts +1 -0
- package/dist/services/market-overview/market-overview.codecs.js +44 -0
- package/dist/services/market-overview/market-overview.codecs.js.map +1 -0
- package/dist/services/market-overview/market-overview.d.ts +32 -0
- package/dist/services/market-overview/market-overview.d.ts.map +1 -0
- package/dist/services/market-overview/market-overview.js +100 -0
- package/dist/services/market-overview/market-overview.js.map +1 -0
- package/dist/services/market-overview/market-overview.schemas.d.ts +85 -0
- package/dist/services/market-overview/market-overview.schemas.d.ts.map +1 -0
- package/dist/services/market-overview/market-overview.schemas.js +71 -0
- package/dist/services/market-overview/market-overview.schemas.js.map +1 -0
- package/dist/services/market-overview/market-overview.types.d.ts +2 -0
- package/dist/services/mfa/index.d.ts +4 -0
- package/dist/services/mfa/mfa.codecs.d.ts +1 -0
- package/dist/services/mfa/mfa.codecs.js +44 -0
- package/dist/services/mfa/mfa.codecs.js.map +1 -0
- package/dist/services/mfa/mfa.d.ts +74 -0
- package/dist/services/mfa/mfa.d.ts.map +1 -0
- package/dist/services/mfa/mfa.js +139 -0
- package/dist/services/mfa/mfa.js.map +1 -0
- package/dist/services/mfa/mfa.schemas.d.ts +392 -0
- package/dist/services/mfa/mfa.schemas.d.ts.map +1 -0
- package/dist/services/mfa/mfa.schemas.js +132 -0
- package/dist/services/mfa/mfa.schemas.js.map +1 -0
- package/dist/services/mfa/mfa.types.d.ts +2 -0
- package/dist/services/orderbook/index.d.ts +3 -0
- package/dist/services/orderbook/orderbook.codecs.js +45 -0
- package/dist/services/orderbook/orderbook.codecs.js.map +1 -0
- package/dist/services/orderbook/orderbook.d.ts +42 -0
- package/dist/services/orderbook/orderbook.d.ts.map +1 -0
- package/dist/services/orderbook/orderbook.js +193 -0
- package/dist/services/orderbook/orderbook.js.map +1 -0
- package/dist/services/orderbook/orderbook.schemas.d.ts +68 -0
- package/dist/services/orderbook/orderbook.schemas.d.ts.map +1 -0
- package/dist/services/orderbook/orderbook.schemas.js +43 -0
- package/dist/services/orderbook/orderbook.schemas.js.map +1 -0
- package/dist/services/orderbook/orderbook.types.d.ts +3 -0
- package/dist/services/orders/index.d.ts +9 -0
- package/dist/services/orders/order-enums.codecs.js +85 -0
- package/dist/services/orders/order-enums.codecs.js.map +1 -0
- package/dist/services/orders/order-errors.schemas.d.ts +7 -0
- package/dist/services/orders/order-errors.schemas.d.ts.map +1 -0
- package/dist/services/orders/order-errors.schemas.js +20 -0
- package/dist/services/orders/order-errors.schemas.js.map +1 -0
- package/dist/services/orders/orders-batch.schemas.d.ts +2979 -0
- package/dist/services/orders/orders-batch.schemas.d.ts.map +1 -0
- package/dist/services/orders/orders-batch.schemas.js +282 -0
- package/dist/services/orders/orders-batch.schemas.js.map +1 -0
- package/dist/services/orders/orders-identifiers.schemas.js +11 -0
- package/dist/services/orders/orders-identifiers.schemas.js.map +1 -0
- package/dist/services/orders/orders-input.schemas.d.ts +3738 -0
- package/dist/services/orders/orders-input.schemas.d.ts.map +1 -0
- package/dist/services/orders/orders-input.schemas.js +267 -0
- package/dist/services/orders/orders-input.schemas.js.map +1 -0
- package/dist/services/orders/orders-modify.schemas.d.ts +1774 -0
- package/dist/services/orders/orders-modify.schemas.d.ts.map +1 -0
- package/dist/services/orders/orders-modify.schemas.js +132 -0
- package/dist/services/orders/orders-modify.schemas.js.map +1 -0
- package/dist/services/orders/orders-output.schemas.d.ts +598 -0
- package/dist/services/orders/orders-output.schemas.d.ts.map +1 -0
- package/dist/services/orders/orders-output.schemas.js +139 -0
- package/dist/services/orders/orders-output.schemas.js.map +1 -0
- package/dist/services/orders/orders-risk.schemas.d.ts +1041 -0
- package/dist/services/orders/orders-risk.schemas.d.ts.map +1 -0
- package/dist/services/orders/orders-risk.schemas.js +251 -0
- package/dist/services/orders/orders-risk.schemas.js.map +1 -0
- package/dist/services/orders/orders.codecs.js +75 -0
- package/dist/services/orders/orders.codecs.js.map +1 -0
- package/dist/services/orders/orders.d.ts +88 -0
- package/dist/services/orders/orders.d.ts.map +1 -0
- package/dist/services/orders/orders.js +242 -0
- package/dist/services/orders/orders.js.map +1 -0
- package/dist/services/orders/orders.schemas.d.ts +7 -0
- package/dist/services/orders/orders.types.d.ts +8 -0
- package/dist/services/policies/api-key-policies/api-key-policies.d.ts +39 -0
- package/dist/services/policies/api-key-policies/api-key-policies.d.ts.map +1 -0
- package/dist/services/policies/api-key-policies/api-key-policies.js +74 -0
- package/dist/services/policies/api-key-policies/api-key-policies.js.map +1 -0
- package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts +392 -0
- package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts.map +1 -0
- package/dist/services/policies/api-key-policies/api-key-policies.schemas.js +169 -0
- package/dist/services/policies/api-key-policies/api-key-policies.schemas.js.map +1 -0
- package/dist/services/policies/api-key-policies/api-key-policies.types.d.ts +2 -0
- package/dist/services/policies/api-key-policies/index.d.ts +3 -0
- package/dist/services/policies/policies.types.d.ts +2 -0
- package/dist/services/policies/shared.codecs.js +61 -0
- package/dist/services/policies/shared.codecs.js.map +1 -0
- package/dist/services/policies/shared.d.ts +10 -0
- package/dist/services/policies/shared.d.ts.map +1 -0
- package/dist/services/policies/shared.js +33 -0
- package/dist/services/policies/shared.js.map +1 -0
- package/dist/services/policies/subaccount-policies/index.d.ts +3 -0
- package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts +50 -0
- package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts.map +1 -0
- package/dist/services/policies/subaccount-policies/subaccount-policies.js +93 -0
- package/dist/services/policies/subaccount-policies/subaccount-policies.js.map +1 -0
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts +429 -0
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts.map +1 -0
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js +300 -0
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js.map +1 -0
- package/dist/services/policies/subaccount-policies/subaccount-policies.types.d.ts +2 -0
- package/dist/services/shared.js +24 -0
- package/dist/services/shared.js.map +1 -0
- package/dist/services/social-verification/index.d.ts +3 -0
- package/dist/services/social-verification/social-verification.codecs.d.ts +1 -0
- package/dist/services/social-verification/social-verification.codecs.js +55 -0
- package/dist/services/social-verification/social-verification.codecs.js.map +1 -0
- package/dist/services/social-verification/social-verification.d.ts +27 -0
- package/dist/services/social-verification/social-verification.d.ts.map +1 -0
- package/dist/services/social-verification/social-verification.js +43 -0
- package/dist/services/social-verification/social-verification.js.map +1 -0
- package/dist/services/social-verification/social-verification.schemas.d.ts +96 -0
- package/dist/services/social-verification/social-verification.schemas.d.ts.map +1 -0
- package/dist/services/social-verification/social-verification.schemas.js +69 -0
- package/dist/services/social-verification/social-verification.schemas.js.map +1 -0
- package/dist/services/social-verification/social-verification.types.d.ts +2 -0
- package/dist/services/subaccount-resolver.d.ts +14 -0
- package/dist/services/subaccount-resolver.d.ts.map +1 -0
- package/dist/services/subaccount-resolver.js +33 -0
- package/dist/services/subaccount-resolver.js.map +1 -0
- package/dist/services/subaccounts/index.d.ts +3 -0
- package/dist/services/subaccounts/subaccounts.codecs.js +94 -0
- package/dist/services/subaccounts/subaccounts.codecs.js.map +1 -0
- package/dist/services/subaccounts/subaccounts.d.ts +102 -0
- package/dist/services/subaccounts/subaccounts.d.ts.map +1 -0
- package/dist/services/subaccounts/subaccounts.js +196 -0
- package/dist/services/subaccounts/subaccounts.js.map +1 -0
- package/dist/services/subaccounts/subaccounts.schemas.d.ts +257 -0
- package/dist/services/subaccounts/subaccounts.schemas.d.ts.map +1 -0
- package/dist/services/subaccounts/subaccounts.schemas.js +178 -0
- package/dist/services/subaccounts/subaccounts.schemas.js.map +1 -0
- package/dist/services/subaccounts/subaccounts.types.d.ts +2 -0
- package/dist/services/trades/index.d.ts +3 -0
- package/dist/services/trades/trades.codecs.js +10 -0
- package/dist/services/trades/trades.codecs.js.map +1 -0
- package/dist/services/trades/trades.d.ts +33 -0
- package/dist/services/trades/trades.d.ts.map +1 -0
- package/dist/services/trades/trades.js +64 -0
- package/dist/services/trades/trades.js.map +1 -0
- package/dist/services/trades/trades.schemas.d.ts +80 -0
- package/dist/services/trades/trades.schemas.d.ts.map +1 -0
- package/dist/services/trades/trades.schemas.js +66 -0
- package/dist/services/trades/trades.schemas.js.map +1 -0
- package/dist/services/trades/trades.types.d.ts +2 -0
- package/dist/services/trading-withdraws/index.d.ts +4 -0
- package/dist/services/trading-withdraws/trading-withdraws.codecs.d.ts +1 -0
- package/dist/services/trading-withdraws/trading-withdraws.codecs.js +10 -0
- package/dist/services/trading-withdraws/trading-withdraws.codecs.js.map +1 -0
- package/dist/services/trading-withdraws/trading-withdraws.d.ts +124 -0
- package/dist/services/trading-withdraws/trading-withdraws.d.ts.map +1 -0
- package/dist/services/trading-withdraws/trading-withdraws.js +218 -0
- package/dist/services/trading-withdraws/trading-withdraws.js.map +1 -0
- package/dist/services/trading-withdraws/trading-withdraws.schemas.d.ts +73 -0
- package/dist/services/trading-withdraws/trading-withdraws.schemas.d.ts.map +1 -0
- package/dist/services/trading-withdraws/trading-withdraws.schemas.js +95 -0
- package/dist/services/trading-withdraws/trading-withdraws.schemas.js.map +1 -0
- package/dist/services/trading-withdraws/trading-withdraws.types.d.ts +3 -0
- package/dist/services/trailing-oneof-inputs.js +49 -0
- package/dist/services/trailing-oneof-inputs.js.map +1 -0
- package/dist/services/transfers/index.d.ts +4 -0
- package/dist/services/transfers/transfers.codecs.d.ts +6 -0
- package/dist/services/transfers/transfers.codecs.d.ts.map +1 -0
- package/dist/services/transfers/transfers.codecs.js +15 -0
- package/dist/services/transfers/transfers.codecs.js.map +1 -0
- package/dist/services/transfers/transfers.d.ts +33 -0
- package/dist/services/transfers/transfers.d.ts.map +1 -0
- package/dist/services/transfers/transfers.js +63 -0
- package/dist/services/transfers/transfers.js.map +1 -0
- package/dist/services/transfers/transfers.schemas.d.ts +121 -0
- package/dist/services/transfers/transfers.schemas.d.ts.map +1 -0
- package/dist/services/transfers/transfers.schemas.js +77 -0
- package/dist/services/transfers/transfers.schemas.js.map +1 -0
- package/dist/services/transfers/transfers.types.d.ts +3 -0
- package/dist/services/triggers/index.d.ts +5 -0
- package/dist/services/triggers/trigger-child-order.schemas.js +89 -0
- package/dist/services/triggers/trigger-child-order.schemas.js.map +1 -0
- package/dist/services/triggers/trigger-input.schemas.d.ts +1009 -0
- package/dist/services/triggers/trigger-input.schemas.d.ts.map +1 -0
- package/dist/services/triggers/trigger-input.schemas.js +270 -0
- package/dist/services/triggers/trigger-input.schemas.js.map +1 -0
- package/dist/services/triggers/triggers-output.schemas.d.ts +688 -0
- package/dist/services/triggers/triggers-output.schemas.d.ts.map +1 -0
- package/dist/services/triggers/triggers-output.schemas.js +372 -0
- package/dist/services/triggers/triggers-output.schemas.js.map +1 -0
- package/dist/services/triggers/triggers.codecs.js +100 -0
- package/dist/services/triggers/triggers.codecs.js.map +1 -0
- package/dist/services/triggers/triggers.d.ts +71 -0
- package/dist/services/triggers/triggers.d.ts.map +1 -0
- package/dist/services/triggers/triggers.js +176 -0
- package/dist/services/triggers/triggers.js.map +1 -0
- package/dist/services/triggers/triggers.schemas.d.ts +3 -0
- package/dist/services/triggers/triggers.types.d.ts +5 -0
- package/dist/services/whiteboard/index.d.ts +3 -0
- package/dist/services/whiteboard/whiteboard.codecs.js +55 -0
- package/dist/services/whiteboard/whiteboard.codecs.js.map +1 -0
- package/dist/services/whiteboard/whiteboard.d.ts +42 -0
- package/dist/services/whiteboard/whiteboard.d.ts.map +1 -0
- package/dist/services/whiteboard/whiteboard.js +76 -0
- package/dist/services/whiteboard/whiteboard.js.map +1 -0
- package/dist/services/whiteboard/whiteboard.schemas.d.ts +771 -0
- package/dist/services/whiteboard/whiteboard.schemas.d.ts.map +1 -0
- package/dist/services/whiteboard/whiteboard.schemas.js +133 -0
- package/dist/services/whiteboard/whiteboard.schemas.js.map +1 -0
- package/dist/services/whiteboard/whiteboard.types.d.ts +2 -0
- package/dist/services/zipper/index.d.ts +4 -0
- package/dist/services/zipper/zipper.d.ts +28 -0
- package/dist/services/zipper/zipper.d.ts.map +1 -0
- package/dist/services/zipper/zipper.js +84 -0
- package/dist/services/zipper/zipper.js.map +1 -0
- package/dist/services/zipper/zipper.schemas.d.ts +13 -0
- package/dist/services/zipper/zipper.schemas.d.ts.map +1 -0
- package/dist/services/zipper/zipper.schemas.js +89 -0
- package/dist/services/zipper/zipper.schemas.js.map +1 -0
- package/dist/services/zipper/zipper.types.d.ts +4 -0
- package/dist/shared/account-scope.d.ts +17 -0
- package/dist/shared/account-scope.d.ts.map +1 -0
- package/dist/shared/account-scope.js +14 -0
- package/dist/shared/account-scope.js.map +1 -0
- package/dist/shared/catalog-config.d.ts +95 -0
- package/dist/shared/catalog-config.d.ts.map +1 -0
- package/dist/shared/catalog-config.js +12 -0
- package/dist/shared/catalog-config.js.map +1 -0
- package/dist/shared/connect-error-mapping.d.ts +23 -0
- package/dist/shared/connect-error-mapping.d.ts.map +1 -0
- package/dist/shared/connect-error-mapping.js +147 -0
- package/dist/shared/connect-error-mapping.js.map +1 -0
- package/dist/shared/decimal-surface.d.ts +18 -0
- package/dist/shared/decimal-surface.d.ts.map +1 -0
- package/dist/shared/decimal-surface.js +89 -0
- package/dist/shared/decimal-surface.js.map +1 -0
- package/dist/shared/errors.d.ts +242 -0
- package/dist/shared/errors.d.ts.map +1 -0
- package/dist/shared/errors.js +271 -0
- package/dist/shared/errors.js.map +1 -0
- package/dist/shared/ledger-codes.d.ts +9 -0
- package/dist/shared/ledger-codes.d.ts.map +1 -0
- package/dist/shared/ledger-codes.js +63 -0
- package/dist/shared/ledger-codes.js.map +1 -0
- package/dist/shared/proto-enum-codec.js +13 -0
- package/dist/shared/proto-enum-codec.js.map +1 -0
- package/dist/shared/reconciliation.d.ts +14 -0
- package/dist/shared/reconciliation.d.ts.map +1 -0
- package/dist/shared/reconciliation.js +30 -0
- package/dist/shared/reconciliation.js.map +1 -0
- package/dist/shared/request-options.d.ts +10 -0
- package/dist/shared/request-options.d.ts.map +1 -0
- package/dist/shared/request-options.js +22 -0
- package/dist/shared/request-options.js.map +1 -0
- package/dist/shared/schemas.js +65 -0
- package/dist/shared/schemas.js.map +1 -0
- package/dist/shared/subscription-errors.d.ts +14 -0
- package/dist/shared/subscription-errors.d.ts.map +1 -0
- package/dist/shared/subscription-errors.js +49 -0
- package/dist/shared/subscription-errors.js.map +1 -0
- package/dist/shared/transports.d.ts +28 -0
- package/dist/shared/transports.d.ts.map +1 -0
- package/dist/shared/transports.js +111 -0
- package/dist/shared/transports.js.map +1 -0
- package/dist/shared/types.d.ts +11 -0
- package/dist/shared/types.d.ts.map +1 -0
- package/dist/smart-account/index.d.ts +2 -0
- package/dist/smart-account/index.js +2 -0
- package/dist/smart-account/smart-account.d.ts +3093 -0
- package/dist/smart-account/smart-account.d.ts.map +1 -0
- package/dist/smart-account/smart-account.js +94 -0
- package/dist/smart-account/smart-account.js.map +1 -0
- package/dist/utils/base58-id.js +110 -0
- package/dist/utils/base58-id.js.map +1 -0
- package/dist/utils/columnar-time.d.ts +11 -0
- package/dist/utils/columnar-time.d.ts.map +1 -0
- package/dist/utils/columnar-time.js +30 -0
- package/dist/utils/columnar-time.js.map +1 -0
- package/dist/utils/connect-mfa-errors.d.ts +23 -0
- package/dist/utils/connect-mfa-errors.d.ts.map +1 -0
- package/dist/utils/connect-mfa-errors.js +34 -0
- package/dist/utils/connect-mfa-errors.js.map +1 -0
- package/dist/utils/connect-order-errors.d.ts +9 -0
- package/dist/utils/connect-order-errors.d.ts.map +1 -0
- package/dist/utils/connect-order-errors.js +20 -0
- package/dist/utils/connect-order-errors.js.map +1 -0
- package/dist/utils/cookie-es/_utils.js +41 -0
- package/dist/utils/cookie-es/_utils.js.map +1 -0
- package/dist/utils/cookie-es/cookie/parse.js +53 -0
- package/dist/utils/cookie-es/cookie/parse.js.map +1 -0
- package/dist/utils/cookie-es/cookie/serialize.js +145 -0
- package/dist/utils/cookie-es/cookie/serialize.js.map +1 -0
- package/dist/utils/cookies.d.ts +7 -0
- package/dist/utils/cookies.d.ts.map +1 -0
- package/dist/utils/cookies.js +110 -0
- package/dist/utils/cookies.js.map +1 -0
- package/dist/utils/errors.d.ts +36 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +111 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/event-emitter.d.ts +31 -0
- package/dist/utils/event-emitter.d.ts.map +1 -0
- package/dist/utils/event-emitter.js +51 -0
- package/dist/utils/event-emitter.js.map +1 -0
- package/dist/utils/evm.d.ts +33 -0
- package/dist/utils/evm.d.ts.map +1 -0
- package/dist/utils/evm.js +53 -0
- package/dist/utils/evm.js.map +1 -0
- package/dist/utils/is-dev.js +57 -0
- package/dist/utils/is-dev.js.map +1 -0
- package/dist/utils/jwt.d.ts +8 -0
- package/dist/utils/jwt.d.ts.map +1 -0
- package/dist/utils/jwt.js +74 -0
- package/dist/utils/jwt.js.map +1 -0
- package/dist/utils/numbers.js +60 -0
- package/dist/utils/numbers.js.map +1 -0
- package/dist/utils/proto-patch.js +29 -0
- package/dist/utils/proto-patch.js.map +1 -0
- package/dist/utils/remove-undefined.js +12 -0
- package/dist/utils/remove-undefined.js.map +1 -0
- package/dist/utils/streams.js +19 -0
- package/dist/utils/streams.js.map +1 -0
- package/dist/utils/time.d.ts +22 -0
- package/dist/utils/time.d.ts.map +1 -0
- package/dist/utils/time.js +71 -0
- package/dist/utils/time.js.map +1 -0
- package/dist/utils/timestamp.js +52 -0
- package/dist/utils/timestamp.js.map +1 -0
- package/dist/utils/types.d.ts +6 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/u128.d.ts +8 -0
- package/dist/utils/u128.d.ts.map +1 -0
- package/dist/utils/u128.js +43 -0
- package/dist/utils/u128.js.map +1 -0
- package/dist/wired-services.d.ts +15 -0
- package/dist/wired-services.d.ts.map +1 -0
- package/dist/wired-services.js +67 -0
- package/dist/wired-services.js.map +1 -0
- package/package.json +117 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PolyesterError } from "./errors.js";
|
|
2
|
+
import { ConnectError, Interceptor } from "@connectrpc/connect";
|
|
3
|
+
//#region src/shared/connect-error-mapping.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Maps a `ConnectError` from the Polyester backend onto the typed
|
|
6
|
+
* {@link PolyesterError} tree. The original error is preserved as `cause`.
|
|
7
|
+
*/
|
|
8
|
+
declare function connectErrorToPolyesterError(ce: ConnectError): PolyesterError;
|
|
9
|
+
/**
|
|
10
|
+
* Converts any RPC-layer failure into its typed SDK error. Abort errors and
|
|
11
|
+
* caller-cancelled requests pass through unchanged, as do errors that are
|
|
12
|
+
* already typed (e.g. a `NetworkError` from the SDK fetch wrapper).
|
|
13
|
+
*/
|
|
14
|
+
declare function toPolyesterError(err: unknown): unknown;
|
|
15
|
+
/**
|
|
16
|
+
* Interceptor that converts every RPC failure (unary and streaming) into the
|
|
17
|
+
* typed {@link PolyesterError} hierarchy. Installed outermost by
|
|
18
|
+
* `createTransports`, so callers of SDK services always see typed errors.
|
|
19
|
+
*/
|
|
20
|
+
declare function createErrorMappingInterceptor(): Interceptor;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { connectErrorToPolyesterError, createErrorMappingInterceptor, toPolyesterError };
|
|
23
|
+
//# sourceMappingURL=connect-error-mapping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect-error-mapping.d.ts","names":[],"sources":["../../src/shared/connect-error-mapping.ts"],"mappings":";;;;;;;iBA+FgB,6BAA6B,IAAI,eAAe;;;;;;iBA6HhD,iBAAiB;;;;;;iBAyBjB,iCAAiC"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { AuthErrorDetailSchema } from "../gen/auth/v1/auth_pb.js";
|
|
2
|
+
import { ErrorDetailSchema } from "../gen/orders/v1/orders_pb.js";
|
|
3
|
+
import { AlreadyExistsError, AuthenticationError, InternalServerError, MfaEnrollmentRequiredError, MfaLastFactorRequiredError, MfaVerificationError, PermissionError, PolicyInUseError, PolicyLockedError, PolicyScopeMismatchError, PolyesterError, PreconditionFailedError, RateLimitError, ResourceNotFoundError, RevisionConflictError, ServiceUnavailableError, SessionElevationRequiredError, StaleQuoteError, StepUpRequiredError, TimeoutError, TransientError, ValidationError, isAbortError, normalizeErrorMessage } from "./errors.js";
|
|
4
|
+
import { Code, ConnectError } from "@connectrpc/connect";
|
|
5
|
+
//#region src/shared/connect-error-mapping.ts
|
|
6
|
+
function getAuthErrorDetails(err) {
|
|
7
|
+
return ConnectError.from(err).findDetails(AuthErrorDetailSchema);
|
|
8
|
+
}
|
|
9
|
+
function hasAuthErrorCode(err, code) {
|
|
10
|
+
return getAuthErrorDetails(err).some((detail) => detail.code === code);
|
|
11
|
+
}
|
|
12
|
+
function hasOrderErrorCode(err, code) {
|
|
13
|
+
return ConnectError.from(err).findDetails(ErrorDetailSchema).some((detail) => detail.code === code);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Returns the error message without the leading "[code] " prefix that
|
|
17
|
+
* `ConnectError` prepends, e.g. "[invalid_argument] Insufficient funds."
|
|
18
|
+
* becomes "Insufficient funds.".
|
|
19
|
+
*/
|
|
20
|
+
function getNormalizedConnectMessage(err) {
|
|
21
|
+
const raw = ConnectError.from(err).message ?? "";
|
|
22
|
+
return normalizeErrorMessage(raw);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Classifies an error as one of the MFA flows the backend can demand.
|
|
26
|
+
* Classification is based only on stable structured auth error details.
|
|
27
|
+
*/
|
|
28
|
+
function detectMfaErrorKind(err) {
|
|
29
|
+
if (hasAuthErrorCode(err, 38)) return "session-elevation";
|
|
30
|
+
if (hasAuthErrorCode(err, 31)) return "step-up";
|
|
31
|
+
if (hasAuthErrorCode(err, 20)) return "enrollment";
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
function parseRetryAfterMs(ce) {
|
|
35
|
+
const value = ce.metadata.get("retry-after");
|
|
36
|
+
if (!value) return void 0;
|
|
37
|
+
const seconds = Number(value);
|
|
38
|
+
if (Number.isFinite(seconds)) return Math.max(0, Math.round(seconds * 1e3));
|
|
39
|
+
const date = Date.parse(value);
|
|
40
|
+
if (!Number.isNaN(date)) return Math.max(0, date - Date.now());
|
|
41
|
+
}
|
|
42
|
+
const MFA_ERROR_CLASSES = {
|
|
43
|
+
"session-elevation": SessionElevationRequiredError,
|
|
44
|
+
enrollment: MfaEnrollmentRequiredError,
|
|
45
|
+
"step-up": StepUpRequiredError
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Maps a `ConnectError` from the Polyester backend onto the typed
|
|
49
|
+
* {@link PolyesterError} tree. The original error is preserved as `cause`.
|
|
50
|
+
*/
|
|
51
|
+
function connectErrorToPolyesterError(ce) {
|
|
52
|
+
const message = getNormalizedConnectMessage(ce);
|
|
53
|
+
const options = { cause: ce };
|
|
54
|
+
const withFallback = (fallback) => message || fallback;
|
|
55
|
+
if (hasAuthErrorCode(ce, 10)) return new ResourceNotFoundError(withFallback("Resource not found."), options);
|
|
56
|
+
if (hasAuthErrorCode(ce, 37)) return new RevisionConflictError(withFallback("Resource changed since it was last read."), options);
|
|
57
|
+
if (hasAuthErrorCode(ce, 34)) return new PolicyInUseError(withFallback("Policy is still in use."), options);
|
|
58
|
+
if (hasAuthErrorCode(ce, 35)) return new PolicyLockedError(withFallback("Policy is locked."), options);
|
|
59
|
+
if (hasAuthErrorCode(ce, 36)) return new PolicyScopeMismatchError(withFallback("Policy does not belong to the target account scope."), options);
|
|
60
|
+
if (hasAuthErrorCode(ce, 39)) return new MfaLastFactorRequiredError(withFallback("At least one active MFA factor must remain enrolled."), options);
|
|
61
|
+
const mfaVerificationReason = getMfaVerificationFailureReason(ce);
|
|
62
|
+
if (mfaVerificationReason) return new MfaVerificationError(withFallback("MFA verification failed."), mfaVerificationReason, options);
|
|
63
|
+
const mfaKind = detectMfaErrorKind(ce);
|
|
64
|
+
if (mfaKind) return new MFA_ERROR_CLASSES[mfaKind](withFallback("Multi-factor authentication required."), options);
|
|
65
|
+
if (hasOrderErrorCode(ce, 65)) return new StaleQuoteError(withFallback("The submitted market quote is stale."), options);
|
|
66
|
+
switch (ce.code) {
|
|
67
|
+
case Code.InvalidArgument:
|
|
68
|
+
case Code.OutOfRange: return new ValidationError(withFallback("Invalid request."), options);
|
|
69
|
+
case Code.NotFound: return new ResourceNotFoundError(withFallback("Resource not found."), options);
|
|
70
|
+
case Code.AlreadyExists: return new AlreadyExistsError(withFallback("Resource already exists."), options);
|
|
71
|
+
case Code.PermissionDenied: return new PermissionError(withFallback("Permission denied."), options);
|
|
72
|
+
case Code.Unauthenticated: return new AuthenticationError(withFallback("Authentication required."), options);
|
|
73
|
+
case Code.FailedPrecondition: return new PreconditionFailedError(withFallback("Precondition failed."), options);
|
|
74
|
+
case Code.ResourceExhausted: return new RateLimitError(withFallback("Rate limit exceeded."), {
|
|
75
|
+
...options,
|
|
76
|
+
retryAfterMs: parseRetryAfterMs(ce)
|
|
77
|
+
});
|
|
78
|
+
case Code.DeadlineExceeded: return new TimeoutError(withFallback("Request timed out."), options);
|
|
79
|
+
case Code.Unavailable: return new ServiceUnavailableError(withFallback("Service unavailable."), options);
|
|
80
|
+
case Code.Aborted: return new TransientError(withFallback("Operation aborted by the backend."), options);
|
|
81
|
+
default:
|
|
82
|
+
if (/service temporarily unavailable/i.test(message)) return new ServiceUnavailableError(withFallback("Service unavailable."), options);
|
|
83
|
+
return new InternalServerError(withFallback("Internal server error."), options);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
function getMfaVerificationFailureReason(err) {
|
|
87
|
+
if (hasAuthErrorCode(err, 23)) return "challenge-invalid";
|
|
88
|
+
if (hasAuthErrorCode(err, 24)) return "challenge-locked";
|
|
89
|
+
if (hasAuthErrorCode(err, 25)) return "otp-invalid";
|
|
90
|
+
if (hasAuthErrorCode(err, 26)) return "recovery-code-invalid";
|
|
91
|
+
if (hasAuthErrorCode(err, 28) || hasAuthErrorCode(err, 29)) return "passkey-invalid";
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
function findPolyesterErrorInCauseChain(err) {
|
|
95
|
+
let current = err;
|
|
96
|
+
for (let depth = 0; depth < 5 && current instanceof Error; depth++) {
|
|
97
|
+
current = current.cause;
|
|
98
|
+
if (current instanceof PolyesterError) return current;
|
|
99
|
+
}
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Converts any RPC-layer failure into its typed SDK error. Abort errors and
|
|
104
|
+
* caller-cancelled requests pass through unchanged, as do errors that are
|
|
105
|
+
* already typed (e.g. a `NetworkError` from the SDK fetch wrapper).
|
|
106
|
+
*/
|
|
107
|
+
function toPolyesterError(err) {
|
|
108
|
+
if (err instanceof PolyesterError) return err;
|
|
109
|
+
if (isAbortError(err)) return err;
|
|
110
|
+
if (err instanceof ConnectError) {
|
|
111
|
+
if (err.code === Code.Canceled) return err;
|
|
112
|
+
const wrapped = findPolyesterErrorInCauseChain(err);
|
|
113
|
+
if (wrapped) return wrapped;
|
|
114
|
+
return connectErrorToPolyesterError(err);
|
|
115
|
+
}
|
|
116
|
+
return err;
|
|
117
|
+
}
|
|
118
|
+
async function* mapStreamErrors(source) {
|
|
119
|
+
try {
|
|
120
|
+
yield* source;
|
|
121
|
+
} catch (err) {
|
|
122
|
+
throw toPolyesterError(err);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Interceptor that converts every RPC failure (unary and streaming) into the
|
|
127
|
+
* typed {@link PolyesterError} hierarchy. Installed outermost by
|
|
128
|
+
* `createTransports`, so callers of SDK services always see typed errors.
|
|
129
|
+
*/
|
|
130
|
+
function createErrorMappingInterceptor() {
|
|
131
|
+
return (next) => async (req) => {
|
|
132
|
+
try {
|
|
133
|
+
const res = await next(req);
|
|
134
|
+
if (res.stream) return {
|
|
135
|
+
...res,
|
|
136
|
+
message: mapStreamErrors(res.message)
|
|
137
|
+
};
|
|
138
|
+
return res;
|
|
139
|
+
} catch (err) {
|
|
140
|
+
throw toPolyesterError(err);
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
//#endregion
|
|
145
|
+
export { connectErrorToPolyesterError, createErrorMappingInterceptor, detectMfaErrorKind, getNormalizedConnectMessage, toPolyesterError };
|
|
146
|
+
|
|
147
|
+
//# sourceMappingURL=connect-error-mapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect-error-mapping.js","names":["OrderErrorDetailSchema"],"sources":["../../src/shared/connect-error-mapping.ts"],"sourcesContent":["import { Code, ConnectError, type Interceptor } from \"@connectrpc/connect\";\nimport { AuthErrorCode, AuthErrorDetailSchema } from \"../gen/auth/v1/auth_pb.js\";\nimport {\n ErrorCode as OrderErrorCode,\n ErrorDetailSchema as OrderErrorDetailSchema,\n} from \"../gen/orders/v1/orders_pb.js\";\nimport {\n AlreadyExistsError,\n AuthenticationError,\n InternalServerError,\n isAbortError,\n MfaEnrollmentRequiredError,\n MfaLastFactorRequiredError,\n MfaVerificationError,\n type MfaVerificationFailureReason,\n normalizeErrorMessage,\n PermissionError,\n PolicyInUseError,\n PolicyLockedError,\n PolicyScopeMismatchError,\n PolyesterError,\n type PolyesterErrorOptions,\n PreconditionFailedError,\n RateLimitError,\n ResourceNotFoundError,\n RevisionConflictError,\n ServiceUnavailableError,\n SessionElevationRequiredError,\n StaleQuoteError,\n StepUpRequiredError,\n TimeoutError,\n TransientError,\n ValidationError,\n} from \"./errors.js\";\n\nfunction getAuthErrorDetails(err: unknown) {\n return ConnectError.from(err).findDetails(AuthErrorDetailSchema);\n}\n\nfunction hasAuthErrorCode(err: unknown, code: AuthErrorCode): boolean {\n return getAuthErrorDetails(err).some((detail) => detail.code === code);\n}\n\nfunction hasOrderErrorCode(err: unknown, code: OrderErrorCode): boolean {\n return ConnectError.from(err)\n .findDetails(OrderErrorDetailSchema)\n .some((detail) => detail.code === code);\n}\n\n/**\n * Returns the error message without the leading \"[code] \" prefix that\n * `ConnectError` prepends, e.g. \"[invalid_argument] Insufficient funds.\"\n * becomes \"Insufficient funds.\".\n */\nexport function getNormalizedConnectMessage(err: unknown): string {\n const ce = ConnectError.from(err);\n const raw = ce.message ?? \"\";\n return normalizeErrorMessage(raw);\n}\n\nexport type MfaErrorKind = \"session-elevation\" | \"enrollment\" | \"step-up\";\n\n/**\n * Classifies an error as one of the MFA flows the backend can demand.\n * Classification is based only on stable structured auth error details.\n */\nexport function detectMfaErrorKind(err: unknown): MfaErrorKind | null {\n if (hasAuthErrorCode(err, AuthErrorCode.AUTH_MFA_ELEVATION_REQUIRED)) {\n return \"session-elevation\";\n }\n if (hasAuthErrorCode(err, AuthErrorCode.AUTH_STEP_UP_REQUIRED)) return \"step-up\";\n if (hasAuthErrorCode(err, AuthErrorCode.AUTH_MFA_NOT_ENROLLED)) return \"enrollment\";\n return null;\n}\n\nfunction parseRetryAfterMs(ce: ConnectError): number | undefined {\n const value = ce.metadata.get(\"retry-after\");\n if (!value) return undefined;\n const seconds = Number(value);\n if (Number.isFinite(seconds)) return Math.max(0, Math.round(seconds * 1000));\n const date = Date.parse(value);\n if (!Number.isNaN(date)) return Math.max(0, date - Date.now());\n return undefined;\n}\n\nconst MFA_ERROR_CLASSES = {\n \"session-elevation\": SessionElevationRequiredError,\n enrollment: MfaEnrollmentRequiredError,\n \"step-up\": StepUpRequiredError,\n} as const;\n\n/**\n * Maps a `ConnectError` from the Polyester backend onto the typed\n * {@link PolyesterError} tree. The original error is preserved as `cause`.\n */\nexport function connectErrorToPolyesterError(ce: ConnectError): PolyesterError {\n const message = getNormalizedConnectMessage(ce);\n const options: PolyesterErrorOptions = { cause: ce };\n const withFallback = (fallback: string) => message || fallback;\n\n if (hasAuthErrorCode(ce, AuthErrorCode.AUTH_RESOURCE_NOT_FOUND)) {\n return new ResourceNotFoundError(withFallback(\"Resource not found.\"), options);\n }\n\n if (hasAuthErrorCode(ce, AuthErrorCode.AUTH_REVISION_CONFLICT)) {\n return new RevisionConflictError(\n withFallback(\"Resource changed since it was last read.\"),\n options,\n );\n }\n\n if (hasAuthErrorCode(ce, AuthErrorCode.AUTH_POLICY_IN_USE)) {\n return new PolicyInUseError(withFallback(\"Policy is still in use.\"), options);\n }\n if (hasAuthErrorCode(ce, AuthErrorCode.AUTH_POLICY_LOCKED)) {\n return new PolicyLockedError(withFallback(\"Policy is locked.\"), options);\n }\n if (hasAuthErrorCode(ce, AuthErrorCode.AUTH_POLICY_SCOPE_MISMATCH)) {\n return new PolicyScopeMismatchError(\n withFallback(\"Policy does not belong to the target account scope.\"),\n options,\n );\n }\n if (hasAuthErrorCode(ce, AuthErrorCode.AUTH_MFA_LAST_FACTOR_REQUIRED)) {\n return new MfaLastFactorRequiredError(\n withFallback(\"At least one active MFA factor must remain enrolled.\"),\n options,\n );\n }\n\n const mfaVerificationReason = getMfaVerificationFailureReason(ce);\n if (mfaVerificationReason) {\n return new MfaVerificationError(\n withFallback(\"MFA verification failed.\"),\n mfaVerificationReason,\n options,\n );\n }\n\n const mfaKind = detectMfaErrorKind(ce);\n if (mfaKind) {\n return new MFA_ERROR_CLASSES[mfaKind](\n withFallback(\"Multi-factor authentication required.\"),\n options,\n );\n }\n\n if (hasOrderErrorCode(ce, OrderErrorCode.STALE_QUOTE)) {\n return new StaleQuoteError(withFallback(\"The submitted market quote is stale.\"), options);\n }\n\n switch (ce.code) {\n case Code.InvalidArgument:\n case Code.OutOfRange:\n return new ValidationError(withFallback(\"Invalid request.\"), options);\n case Code.NotFound:\n return new ResourceNotFoundError(withFallback(\"Resource not found.\"), options);\n case Code.AlreadyExists:\n return new AlreadyExistsError(withFallback(\"Resource already exists.\"), options);\n case Code.PermissionDenied:\n return new PermissionError(withFallback(\"Permission denied.\"), options);\n case Code.Unauthenticated:\n return new AuthenticationError(withFallback(\"Authentication required.\"), options);\n case Code.FailedPrecondition:\n return new PreconditionFailedError(withFallback(\"Precondition failed.\"), options);\n case Code.ResourceExhausted:\n return new RateLimitError(withFallback(\"Rate limit exceeded.\"), {\n ...options,\n retryAfterMs: parseRetryAfterMs(ce),\n });\n case Code.DeadlineExceeded:\n return new TimeoutError(withFallback(\"Request timed out.\"), options);\n case Code.Unavailable:\n return new ServiceUnavailableError(withFallback(\"Service unavailable.\"), options);\n case Code.Aborted:\n return new TransientError(withFallback(\"Operation aborted by the backend.\"), options);\n default:\n // Gateways sometimes surface outages as Unknown with this stock phrase.\n if (/service temporarily unavailable/i.test(message)) {\n return new ServiceUnavailableError(withFallback(\"Service unavailable.\"), options);\n }\n return new InternalServerError(withFallback(\"Internal server error.\"), options);\n }\n}\n\nfunction getMfaVerificationFailureReason(err: unknown): MfaVerificationFailureReason | null {\n if (hasAuthErrorCode(err, AuthErrorCode.AUTH_MFA_CHALLENGE_INVALID)) {\n return \"challenge-invalid\";\n }\n if (hasAuthErrorCode(err, AuthErrorCode.AUTH_MFA_CHALLENGE_LOCKED)) {\n return \"challenge-locked\";\n }\n if (hasAuthErrorCode(err, AuthErrorCode.AUTH_MFA_OTP_INVALID)) return \"otp-invalid\";\n if (hasAuthErrorCode(err, AuthErrorCode.AUTH_MFA_RECOVERY_INVALID)) {\n return \"recovery-code-invalid\";\n }\n if (\n hasAuthErrorCode(err, AuthErrorCode.AUTH_MFA_PASSKEY_CREDENTIAL_INVALID) ||\n hasAuthErrorCode(err, AuthErrorCode.AUTH_MFA_PASSKEY_VERIFY_FAILED)\n ) {\n return \"passkey-invalid\";\n }\n\n return null;\n}\n\nfunction findPolyesterErrorInCauseChain(err: unknown): PolyesterError | null {\n let current: unknown = err;\n for (let depth = 0; depth < 5 && current instanceof Error; depth++) {\n current = current.cause;\n if (current instanceof PolyesterError) return current;\n }\n return null;\n}\n\n/**\n * Converts any RPC-layer failure into its typed SDK error. Abort errors and\n * caller-cancelled requests pass through unchanged, as do errors that are\n * already typed (e.g. a `NetworkError` from the SDK fetch wrapper).\n */\nexport function toPolyesterError(err: unknown): unknown {\n if (err instanceof PolyesterError) return err;\n if (isAbortError(err)) return err;\n if (err instanceof ConnectError) {\n if (err.code === Code.Canceled) return err;\n const wrapped = findPolyesterErrorInCauseChain(err);\n if (wrapped) return wrapped;\n return connectErrorToPolyesterError(err);\n }\n return err;\n}\n\nasync function* mapStreamErrors<T>(source: AsyncIterable<T>): AsyncIterable<T> {\n try {\n yield* source;\n } catch (err) {\n throw toPolyesterError(err);\n }\n}\n\n/**\n * Interceptor that converts every RPC failure (unary and streaming) into the\n * typed {@link PolyesterError} hierarchy. Installed outermost by\n * `createTransports`, so callers of SDK services always see typed errors.\n */\nexport function createErrorMappingInterceptor(): Interceptor {\n return (next) => async (req) => {\n try {\n const res = await next(req);\n if (res.stream) {\n return { ...res, message: mapStreamErrors(res.message) };\n }\n return res;\n } catch (err) {\n throw toPolyesterError(err);\n }\n };\n}\n"],"mappings":";;;;;AAmCA,SAAS,oBAAoB,KAAc;CACvC,OAAO,aAAa,KAAK,GAAG,CAAC,CAAC,YAAY,qBAAqB;AACnE;AAEA,SAAS,iBAAiB,KAAc,MAA8B;CAClE,OAAO,oBAAoB,GAAG,CAAC,CAAC,MAAM,WAAW,OAAO,SAAS,IAAI;AACzE;AAEA,SAAS,kBAAkB,KAAc,MAA+B;CACpE,OAAO,aAAa,KAAK,GAAG,CAAC,CACxB,YAAYA,iBAAsB,CAAC,CACnC,MAAM,WAAW,OAAO,SAAS,IAAI;AAC9C;;;;;;AAOA,SAAgB,4BAA4B,KAAsB;CAE9D,MAAM,MADK,aAAa,KAAK,GAChB,CAAC,CAAC,WAAW;CAC1B,OAAO,sBAAsB,GAAG;AACpC;;;;;AAQA,SAAgB,mBAAmB,KAAmC;CAClE,IAAI,iBAAiB,KAAA,EAA8C,GAC/D,OAAO;CAEX,IAAI,iBAAiB,KAAA,EAAwC,GAAG,OAAO;CACvE,IAAI,iBAAiB,KAAA,EAAwC,GAAG,OAAO;CACvE,OAAO;AACX;AAEA,SAAS,kBAAkB,IAAsC;CAC7D,MAAM,QAAQ,GAAG,SAAS,IAAI,aAAa;CAC3C,IAAI,CAAC,OAAO,OAAO,KAAA;CACnB,MAAM,UAAU,OAAO,KAAK;CAC5B,IAAI,OAAO,SAAS,OAAO,GAAG,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,UAAU,GAAI,CAAC;CAC3E,MAAM,OAAO,KAAK,MAAM,KAAK;CAC7B,IAAI,CAAC,OAAO,MAAM,IAAI,GAAG,OAAO,KAAK,IAAI,GAAG,OAAO,KAAK,IAAI,CAAC;AAEjE;AAEA,MAAM,oBAAoB;CACtB,qBAAqB;CACrB,YAAY;CACZ,WAAW;AACf;;;;;AAMA,SAAgB,6BAA6B,IAAkC;CAC3E,MAAM,UAAU,4BAA4B,EAAE;CAC9C,MAAM,UAAiC,EAAE,OAAO,GAAG;CACnD,MAAM,gBAAgB,aAAqB,WAAW;CAEtD,IAAI,iBAAiB,IAAA,EAAyC,GAC1D,OAAO,IAAI,sBAAsB,aAAa,qBAAqB,GAAG,OAAO;CAGjF,IAAI,iBAAiB,IAAA,EAAwC,GACzD,OAAO,IAAI,sBACP,aAAa,0CAA0C,GACvD,OACJ;CAGJ,IAAI,iBAAiB,IAAA,EAAoC,GACrD,OAAO,IAAI,iBAAiB,aAAa,yBAAyB,GAAG,OAAO;CAEhF,IAAI,iBAAiB,IAAA,EAAoC,GACrD,OAAO,IAAI,kBAAkB,aAAa,mBAAmB,GAAG,OAAO;CAE3E,IAAI,iBAAiB,IAAA,EAA4C,GAC7D,OAAO,IAAI,yBACP,aAAa,qDAAqD,GAClE,OACJ;CAEJ,IAAI,iBAAiB,IAAA,EAA+C,GAChE,OAAO,IAAI,2BACP,aAAa,sDAAsD,GACnE,OACJ;CAGJ,MAAM,wBAAwB,gCAAgC,EAAE;CAChE,IAAI,uBACA,OAAO,IAAI,qBACP,aAAa,0BAA0B,GACvC,uBACA,OACJ;CAGJ,MAAM,UAAU,mBAAmB,EAAE;CACrC,IAAI,SACA,OAAO,IAAI,kBAAkB,SACzB,aAAa,uCAAuC,GACpD,OACJ;CAGJ,IAAI,kBAAkB,IAAA,EAA8B,GAChD,OAAO,IAAI,gBAAgB,aAAa,sCAAsC,GAAG,OAAO;CAG5F,QAAQ,GAAG,MAAX;EACI,KAAK,KAAK;EACV,KAAK,KAAK,YACN,OAAO,IAAI,gBAAgB,aAAa,kBAAkB,GAAG,OAAO;EACxE,KAAK,KAAK,UACN,OAAO,IAAI,sBAAsB,aAAa,qBAAqB,GAAG,OAAO;EACjF,KAAK,KAAK,eACN,OAAO,IAAI,mBAAmB,aAAa,0BAA0B,GAAG,OAAO;EACnF,KAAK,KAAK,kBACN,OAAO,IAAI,gBAAgB,aAAa,oBAAoB,GAAG,OAAO;EAC1E,KAAK,KAAK,iBACN,OAAO,IAAI,oBAAoB,aAAa,0BAA0B,GAAG,OAAO;EACpF,KAAK,KAAK,oBACN,OAAO,IAAI,wBAAwB,aAAa,sBAAsB,GAAG,OAAO;EACpF,KAAK,KAAK,mBACN,OAAO,IAAI,eAAe,aAAa,sBAAsB,GAAG;GAC5D,GAAG;GACH,cAAc,kBAAkB,EAAE;EACtC,CAAC;EACL,KAAK,KAAK,kBACN,OAAO,IAAI,aAAa,aAAa,oBAAoB,GAAG,OAAO;EACvE,KAAK,KAAK,aACN,OAAO,IAAI,wBAAwB,aAAa,sBAAsB,GAAG,OAAO;EACpF,KAAK,KAAK,SACN,OAAO,IAAI,eAAe,aAAa,mCAAmC,GAAG,OAAO;EACxF;GAEI,IAAI,mCAAmC,KAAK,OAAO,GAC/C,OAAO,IAAI,wBAAwB,aAAa,sBAAsB,GAAG,OAAO;GAEpF,OAAO,IAAI,oBAAoB,aAAa,wBAAwB,GAAG,OAAO;CACtF;AACJ;AAEA,SAAS,gCAAgC,KAAmD;CACxF,IAAI,iBAAiB,KAAA,EAA6C,GAC9D,OAAO;CAEX,IAAI,iBAAiB,KAAA,EAA4C,GAC7D,OAAO;CAEX,IAAI,iBAAiB,KAAA,EAAuC,GAAG,OAAO;CACtE,IAAI,iBAAiB,KAAA,EAA4C,GAC7D,OAAO;CAEX,IACI,iBAAiB,KAAA,EAAsD,KACvE,iBAAiB,KAAA,EAAiD,GAElE,OAAO;CAGX,OAAO;AACX;AAEA,SAAS,+BAA+B,KAAqC;CACzE,IAAI,UAAmB;CACvB,KAAK,IAAI,QAAQ,GAAG,QAAQ,KAAK,mBAAmB,OAAO,SAAS;EAChE,UAAU,QAAQ;EAClB,IAAI,mBAAmB,gBAAgB,OAAO;CAClD;CACA,OAAO;AACX;;;;;;AAOA,SAAgB,iBAAiB,KAAuB;CACpD,IAAI,eAAe,gBAAgB,OAAO;CAC1C,IAAI,aAAa,GAAG,GAAG,OAAO;CAC9B,IAAI,eAAe,cAAc;EAC7B,IAAI,IAAI,SAAS,KAAK,UAAU,OAAO;EACvC,MAAM,UAAU,+BAA+B,GAAG;EAClD,IAAI,SAAS,OAAO;EACpB,OAAO,6BAA6B,GAAG;CAC3C;CACA,OAAO;AACX;AAEA,gBAAgB,gBAAmB,QAA4C;CAC3E,IAAI;EACA,OAAO;CACX,SAAS,KAAK;EACV,MAAM,iBAAiB,GAAG;CAC9B;AACJ;;;;;;AAOA,SAAgB,gCAA6C;CACzD,QAAQ,SAAS,OAAO,QAAQ;EAC5B,IAAI;GACA,MAAM,MAAM,MAAM,KAAK,GAAG;GAC1B,IAAI,IAAI,QACJ,OAAO;IAAE,GAAG;IAAK,SAAS,gBAAgB,IAAI,OAAO;GAAE;GAE3D,OAAO;EACX,SAAS,KAAK;GACV,MAAM,iBAAiB,GAAG;EAC9B;CACJ;AACJ"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PairCatalogKey } from "../catalogs/types.js";
|
|
2
|
+
//#region src/shared/decimal-surface.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Resolves wire scales for the SDK's internal decimal conversion. Backed by
|
|
5
|
+
* the client catalog; `ready()` must be awaited before the synchronous lookups
|
|
6
|
+
* are used so the catalog can answer them.
|
|
7
|
+
*/
|
|
8
|
+
interface SdkScales {
|
|
9
|
+
ready(): Promise<void>;
|
|
10
|
+
price(): number;
|
|
11
|
+
baseQty(pair: PairCatalogKey): number;
|
|
12
|
+
quoteAmount(pair: PairCatalogKey): number;
|
|
13
|
+
ledgerAmount(ledgerAssetId: number): number;
|
|
14
|
+
zippedAssetAmount(zippedAssetId: number): number;
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { SdkScales };
|
|
18
|
+
//# sourceMappingURL=decimal-surface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimal-surface.d.ts","names":[],"sources":["../../src/shared/decimal-surface.ts"],"mappings":";;;;;;;UA6BiB;EACb,SAAS;EACT;EACA,QAAQ,MAAM;EACd,YAAY,MAAM;EAClB,aAAa;EACb,kBAAkB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { scaledToDecimal, tryDecimalToScaled } from "../catalogs/decimal.js";
|
|
2
|
+
import { CatalogConversionError } from "../catalogs/types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Catalog-backed scale resolver. Takes a getter so it can be constructed
|
|
5
|
+
* before the owning client has assigned its catalog.
|
|
6
|
+
*/
|
|
7
|
+
function createCatalogSdkScales(getCatalog) {
|
|
8
|
+
return {
|
|
9
|
+
ready: async () => {
|
|
10
|
+
await getCatalog().ensureReady();
|
|
11
|
+
},
|
|
12
|
+
price: () => 6,
|
|
13
|
+
baseQty: (pair) => requirePair(getCatalog(), pair).baseAsset.quantityScale,
|
|
14
|
+
quoteAmount: (pair) => requirePair(getCatalog(), pair).quoteAsset.quantityScale,
|
|
15
|
+
ledgerAmount: (ledgerAssetId) => getCatalog().ledger.requireAssetByLedgerId(ledgerAssetId).quantityScale,
|
|
16
|
+
zippedAssetAmount: (zippedAssetId) => getCatalog().zipper.requireAssetChainByZippedAssetId(zippedAssetId).asset.quantityScale
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function requirePair(catalog, pair) {
|
|
20
|
+
return typeof pair === "string" || typeof pair === "object" && "symbol" in pair ? catalog.market.requirePairBySymbol(typeof pair === "string" ? pair : pair.symbol) : catalog.market.requirePairBySymbolId(typeof pair === "number" ? pair : pair.symbolId);
|
|
21
|
+
}
|
|
22
|
+
/** Output direction: exact scaled→decimal conversion (`1500000n`@6 → `"1.5"`). */
|
|
23
|
+
function scaledToDecimalOutput(value, scale) {
|
|
24
|
+
return scaledToDecimal(value, scale);
|
|
25
|
+
}
|
|
26
|
+
function conversionFailureMessage(field, value, failure) {
|
|
27
|
+
return failure.reason === "precision" ? `${field} supports at most ${failure.maxDecimals} decimal places: ${value}` : `${field} must be a non-negative decimal number: ${value}`;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Input direction: strict decimal→scaled conversion. Throws
|
|
31
|
+
* CatalogConversionError for non-decimal input or excess precision.
|
|
32
|
+
*/
|
|
33
|
+
function decimalInputToScaled(field, value, scale) {
|
|
34
|
+
const result = tryDecimalToScaled(value.trim(), scale);
|
|
35
|
+
if (!result.ok) throw new CatalogConversionError(field, conversionFailureMessage(field, value, result.failure));
|
|
36
|
+
return result.scaled;
|
|
37
|
+
}
|
|
38
|
+
/** Like decimalInputToScaled, but additionally requires a value greater than zero. */
|
|
39
|
+
function positiveDecimalInputToScaled(field, value, scale) {
|
|
40
|
+
const scaled = decimalInputToScaled(field, value, scale);
|
|
41
|
+
if (scaled <= 0n) throw new CatalogConversionError(field, `${field} must be greater than 0: ${value}`);
|
|
42
|
+
return scaled;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Decimal quantity → PolyesterChain E18 ledger units.
|
|
46
|
+
* Input precision is capped at the asset's quantityScale; the wire value is
|
|
47
|
+
* always upscaled to E18 (trading balances / amount_e18 convention).
|
|
48
|
+
*/
|
|
49
|
+
function quantityInputToE18(params) {
|
|
50
|
+
const field = params.field ?? "quantity";
|
|
51
|
+
const assetScale = params.scales.ledgerAmount(params.assetId);
|
|
52
|
+
if (assetScale > 18) throw new CatalogConversionError(field, `${field} asset quantityScale ${assetScale} exceeds E18 ledger scale`);
|
|
53
|
+
return positiveDecimalInputToScaled(field, params.quantity, assetScale) * 10n ** BigInt(18 - assetScale);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Orders event delivery behind catalog readiness. Events arriving before the
|
|
57
|
+
* catalog can resolve scales are queued and flushed in arrival order once it
|
|
58
|
+
* is ready; delivery errors (including post-flush ones) route to `onError`
|
|
59
|
+
* instead of escaping into the transport, mirroring the realtime client's
|
|
60
|
+
* consumer-handler isolation. If readiness itself fails, queued events are
|
|
61
|
+
* dropped after `onError` fires — the stream cannot be decoded without scales.
|
|
62
|
+
*/
|
|
63
|
+
function createReadyGate(ready, onError) {
|
|
64
|
+
let state = "pending";
|
|
65
|
+
const queue = [];
|
|
66
|
+
const deliverIsolated = (deliver) => {
|
|
67
|
+
try {
|
|
68
|
+
deliver();
|
|
69
|
+
} catch (error) {
|
|
70
|
+
onError?.(error);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
ready().then(() => {
|
|
74
|
+
state = "open";
|
|
75
|
+
for (const deliver of queue.splice(0)) deliverIsolated(deliver);
|
|
76
|
+
}, (error) => {
|
|
77
|
+
state = "failed";
|
|
78
|
+
queue.length = 0;
|
|
79
|
+
onError?.(error);
|
|
80
|
+
});
|
|
81
|
+
return { run(deliver) {
|
|
82
|
+
if (state === "open") deliverIsolated(deliver);
|
|
83
|
+
else if (state === "pending") queue.push(deliver);
|
|
84
|
+
} };
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
export { createCatalogSdkScales, createReadyGate, decimalInputToScaled, positiveDecimalInputToScaled, quantityInputToE18, scaledToDecimalOutput };
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=decimal-surface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimal-surface.js","names":[],"sources":["../../src/shared/decimal-surface.ts"],"sourcesContent":["/**\n * Internal scaled⇄decimal bridge for the SDK's public decimal-string surface.\n *\n * The wire protocol carries scaled integers (price ticks, per-asset scaled\n * quantities); the public SDK surface carries plain decimal strings. Output\n * schemas convert exactly (no rounding, trailing zeros trimmed); input schemas\n * convert strictly — excess precision is an error, never rounded away. Scaled\n * integers must not escape through any service input or output.\n */\nimport {\n scaledToDecimal,\n tryDecimalToScaled,\n type DecimalToScaledFailure,\n} from \"../catalogs/decimal.js\";\nimport {\n CatalogConversionError,\n type ClientCatalog,\n type PairCatalogKey,\n} from \"../catalogs/types.js\";\nimport { PRICE_SCALE } from \"../catalogs/readers.js\";\n\n/** On-chain unified-asset amounts (`amountE18`) are always 18-decimal scaled. */\nexport const E18_SCALE = 18;\n\n/**\n * Resolves wire scales for the SDK's internal decimal conversion. Backed by\n * the client catalog; `ready()` must be awaited before the synchronous lookups\n * are used so the catalog can answer them.\n */\nexport interface SdkScales {\n ready(): Promise<void>;\n price(): number;\n baseQty(pair: PairCatalogKey): number;\n quoteAmount(pair: PairCatalogKey): number;\n ledgerAmount(ledgerAssetId: number): number;\n zippedAssetAmount(zippedAssetId: number): number;\n}\n\n/**\n * Catalog-backed scale resolver. Takes a getter so it can be constructed\n * before the owning client has assigned its catalog.\n */\nexport function createCatalogSdkScales(getCatalog: () => ClientCatalog): SdkScales {\n return {\n ready: async () => {\n await getCatalog().ensureReady();\n },\n price: () => PRICE_SCALE,\n baseQty: (pair) => requirePair(getCatalog(), pair).baseAsset.quantityScale,\n quoteAmount: (pair) => requirePair(getCatalog(), pair).quoteAsset.quantityScale,\n ledgerAmount: (ledgerAssetId) =>\n getCatalog().ledger.requireAssetByLedgerId(ledgerAssetId).quantityScale,\n zippedAssetAmount: (zippedAssetId) =>\n getCatalog().zipper.requireAssetChainByZippedAssetId(zippedAssetId).asset.quantityScale,\n };\n}\n\nfunction requirePair(catalog: ClientCatalog, pair: PairCatalogKey) {\n return typeof pair === \"string\" || (typeof pair === \"object\" && \"symbol\" in pair)\n ? catalog.market.requirePairBySymbol(typeof pair === \"string\" ? pair : pair.symbol)\n : catalog.market.requirePairBySymbolId(typeof pair === \"number\" ? pair : pair.symbolId);\n}\n\n/** Output direction: exact scaled→decimal conversion (`1500000n`@6 → `\"1.5\"`). */\nexport function scaledToDecimalOutput(value: bigint, scale: number): string {\n return scaledToDecimal(value, scale);\n}\n\nfunction conversionFailureMessage(\n field: string,\n value: string,\n failure: DecimalToScaledFailure,\n): string {\n return failure.reason === \"precision\"\n ? `${field} supports at most ${failure.maxDecimals} decimal places: ${value}`\n : `${field} must be a non-negative decimal number: ${value}`;\n}\n\n/**\n * Input direction: strict decimal→scaled conversion. Throws\n * CatalogConversionError for non-decimal input or excess precision.\n */\nexport function decimalInputToScaled(field: string, value: string, scale: number): bigint {\n const result = tryDecimalToScaled(value.trim(), scale);\n if (!result.ok) {\n throw new CatalogConversionError(\n field,\n conversionFailureMessage(field, value, result.failure),\n );\n }\n return result.scaled;\n}\n\n/** Like decimalInputToScaled, but additionally requires a value greater than zero. */\nexport function positiveDecimalInputToScaled(field: string, value: string, scale: number): bigint {\n const scaled = decimalInputToScaled(field, value, scale);\n if (scaled <= 0n) {\n throw new CatalogConversionError(field, `${field} must be greater than 0: ${value}`);\n }\n return scaled;\n}\n\n/**\n * Decimal quantity → PolyesterChain E18 ledger units.\n * Input precision is capped at the asset's quantityScale; the wire value is\n * always upscaled to E18 (trading balances / amount_e18 convention).\n */\nexport function quantityInputToE18(params: {\n scales: SdkScales;\n assetId: number;\n quantity: string;\n field?: string;\n}): bigint {\n const field = params.field ?? \"quantity\";\n const assetScale = params.scales.ledgerAmount(params.assetId);\n if (assetScale > E18_SCALE) {\n throw new CatalogConversionError(\n field,\n `${field} asset quantityScale ${assetScale} exceeds E18 ledger scale`,\n );\n }\n return (\n positiveDecimalInputToScaled(field, params.quantity, assetScale) *\n 10n ** BigInt(E18_SCALE - assetScale)\n );\n}\n\nexport interface ReadyGate {\n run(deliver: () => void): void;\n}\n\n/**\n * Orders event delivery behind catalog readiness. Events arriving before the\n * catalog can resolve scales are queued and flushed in arrival order once it\n * is ready; delivery errors (including post-flush ones) route to `onError`\n * instead of escaping into the transport, mirroring the realtime client's\n * consumer-handler isolation. If readiness itself fails, queued events are\n * dropped after `onError` fires — the stream cannot be decoded without scales.\n */\nexport function createReadyGate(\n ready: () => Promise<void>,\n onError?: (error: unknown) => void,\n): ReadyGate {\n let state: \"pending\" | \"open\" | \"failed\" = \"pending\";\n const queue: Array<() => void> = [];\n\n const deliverIsolated = (deliver: () => void) => {\n try {\n deliver();\n } catch (error) {\n onError?.(error);\n }\n };\n\n ready().then(\n () => {\n state = \"open\";\n for (const deliver of queue.splice(0)) deliverIsolated(deliver);\n },\n (error) => {\n state = \"failed\";\n queue.length = 0;\n onError?.(error);\n },\n );\n\n return {\n run(deliver) {\n if (state === \"open\") deliverIsolated(deliver);\n else if (state === \"pending\") queue.push(deliver);\n },\n };\n}\n"],"mappings":";;;;;;AA0CA,SAAgB,uBAAuB,YAA4C;CAC/E,OAAO;EACH,OAAO,YAAY;GACf,MAAM,WAAW,CAAC,CAAC,YAAY;EACnC;EACA,aAAA;EACA,UAAU,SAAS,YAAY,WAAW,GAAG,IAAI,CAAC,CAAC,UAAU;EAC7D,cAAc,SAAS,YAAY,WAAW,GAAG,IAAI,CAAC,CAAC,WAAW;EAClE,eAAe,kBACX,WAAW,CAAC,CAAC,OAAO,uBAAuB,aAAa,CAAC,CAAC;EAC9D,oBAAoB,kBAChB,WAAW,CAAC,CAAC,OAAO,iCAAiC,aAAa,CAAC,CAAC,MAAM;CAClF;AACJ;AAEA,SAAS,YAAY,SAAwB,MAAsB;CAC/D,OAAO,OAAO,SAAS,YAAa,OAAO,SAAS,YAAY,YAAY,OACtE,QAAQ,OAAO,oBAAoB,OAAO,SAAS,WAAW,OAAO,KAAK,MAAM,IAChF,QAAQ,OAAO,sBAAsB,OAAO,SAAS,WAAW,OAAO,KAAK,QAAQ;AAC9F;;AAGA,SAAgB,sBAAsB,OAAe,OAAuB;CACxE,OAAO,gBAAgB,OAAO,KAAK;AACvC;AAEA,SAAS,yBACL,OACA,OACA,SACM;CACN,OAAO,QAAQ,WAAW,cACpB,GAAG,MAAM,oBAAoB,QAAQ,YAAY,mBAAmB,UACpE,GAAG,MAAM,0CAA0C;AAC7D;;;;;AAMA,SAAgB,qBAAqB,OAAe,OAAe,OAAuB;CACtF,MAAM,SAAS,mBAAmB,MAAM,KAAK,GAAG,KAAK;CACrD,IAAI,CAAC,OAAO,IACR,MAAM,IAAI,uBACN,OACA,yBAAyB,OAAO,OAAO,OAAO,OAAO,CACzD;CAEJ,OAAO,OAAO;AAClB;;AAGA,SAAgB,6BAA6B,OAAe,OAAe,OAAuB;CAC9F,MAAM,SAAS,qBAAqB,OAAO,OAAO,KAAK;CACvD,IAAI,UAAU,IACV,MAAM,IAAI,uBAAuB,OAAO,GAAG,MAAM,2BAA2B,OAAO;CAEvF,OAAO;AACX;;;;;;AAOA,SAAgB,mBAAmB,QAKxB;CACP,MAAM,QAAQ,OAAO,SAAS;CAC9B,MAAM,aAAa,OAAO,OAAO,aAAa,OAAO,OAAO;CAC5D,IAAI,aAAA,IACA,MAAM,IAAI,uBACN,OACA,GAAG,MAAM,uBAAuB,WAAW,0BAC/C;CAEJ,OACI,6BAA6B,OAAO,OAAO,UAAU,UAAU,IAC/D,OAAO,OAAA,KAAmB,UAAU;AAE5C;;;;;;;;;AAcA,SAAgB,gBACZ,OACA,SACS;CACT,IAAI,QAAuC;CAC3C,MAAM,QAA2B,CAAC;CAElC,MAAM,mBAAmB,YAAwB;EAC7C,IAAI;GACA,QAAQ;EACZ,SAAS,OAAO;GACZ,UAAU,KAAK;EACnB;CACJ;CAEA,MAAM,CAAC,CAAC,WACE;EACF,QAAQ;EACR,KAAK,MAAM,WAAW,MAAM,OAAO,CAAC,GAAG,gBAAgB,OAAO;CAClE,IACC,UAAU;EACP,QAAQ;EACR,MAAM,SAAS;EACf,UAAU,KAAK;CACnB,CACJ;CAEA,OAAO,EACH,IAAI,SAAS;EACT,IAAI,UAAU,QAAQ,gBAAgB,OAAO;OACxC,IAAI,UAAU,WAAW,MAAM,KAAK,OAAO;CACpD,EACJ;AACJ"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
//#region src/shared/errors.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Typed error hierarchy for the Polyester SDK.
|
|
4
|
+
*
|
|
5
|
+
* Every error raised by the SDK extends {@link PolyesterError}, which carries a
|
|
6
|
+
* stable machine-readable `code` and a `retryable` flag. The tree splits on
|
|
7
|
+
* retryability so callers can triage with a single `instanceof` check:
|
|
8
|
+
*
|
|
9
|
+
* ```
|
|
10
|
+
* PolyesterError code retryable
|
|
11
|
+
* ├── TransientError TRANSIENT_FAILURE true
|
|
12
|
+
* │ ├── NetworkError NETWORK_ERROR true
|
|
13
|
+
* │ ├── TimeoutError TIMEOUT true
|
|
14
|
+
* │ ├── RateLimitError RATE_LIMITED true
|
|
15
|
+
* │ └── ServiceUnavailableError SERVICE_UNAVAILABLE true
|
|
16
|
+
* ├── RequestError REQUEST_FAILED false
|
|
17
|
+
* │ ├── ValidationError VALIDATION_FAILED false
|
|
18
|
+
* │ ├── ResourceNotFoundError RESOURCE_NOT_FOUND false
|
|
19
|
+
* │ ├── AlreadyExistsError ALREADY_EXISTS false
|
|
20
|
+
* │ ├── PermissionError PERMISSION_DENIED false
|
|
21
|
+
* │ ├── AuthenticationError UNAUTHENTICATED false
|
|
22
|
+
* │ ├── PreconditionFailedError PRECONDITION_FAILED false
|
|
23
|
+
* │ │ ├── RevisionConflictError REVISION_CONFLICT
|
|
24
|
+
* │ │ ├── PolicyInUseError POLICY_IN_USE
|
|
25
|
+
* │ │ └── PolicyLockedError POLICY_LOCKED
|
|
26
|
+
* │ ├── PolicyScopeMismatchError POLICY_SCOPE_MISMATCH false
|
|
27
|
+
* │ ├── ConfigurationError INVALID_CONFIGURATION false
|
|
28
|
+
* │ ├── MfaRequiredError MFA_REQUIRED false
|
|
29
|
+
* │ │ ├── MfaEnrollmentRequiredError MFA_ENROLLMENT_REQUIRED
|
|
30
|
+
* │ │ ├── StepUpRequiredError STEP_UP_REQUIRED
|
|
31
|
+
* │ │ └── SessionElevationRequiredError SESSION_ELEVATION_REQUIRED
|
|
32
|
+
* │ ├── MfaLastFactorRequiredError MFA_LAST_FACTOR_REQUIRED false
|
|
33
|
+
* │ └── MfaVerificationError MFA_VERIFICATION_FAILED false
|
|
34
|
+
* └── InternalServerError INTERNAL_SERVER_ERROR false
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* Catalog errors (`CatalogLookupError`, `CatalogConversionError`, …) plug into
|
|
38
|
+
* the same tree under `RequestError`/`ValidationError`.
|
|
39
|
+
*
|
|
40
|
+
* Errors mapped from RPC failures keep the original `ConnectError` as `cause`.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```ts
|
|
44
|
+
* try {
|
|
45
|
+
* await client.orders.createSpotOrder(input);
|
|
46
|
+
* } catch (err) {
|
|
47
|
+
* if (err instanceof RateLimitError) await sleep(err.retryAfterMs ?? 1000);
|
|
48
|
+
* else if (err instanceof TransientError) retry();
|
|
49
|
+
* else if (err instanceof StepUpRequiredError) promptForMfa();
|
|
50
|
+
* else throw err;
|
|
51
|
+
* }
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
/** Stable machine-readable codes carried by built-in SDK errors. */
|
|
55
|
+
type PolyesterErrorCode = "TRANSIENT_FAILURE" | "NETWORK_ERROR" | "TIMEOUT" | "RATE_LIMITED" | "SERVICE_UNAVAILABLE" | "REQUEST_FAILED" | "VALIDATION_FAILED" | "STALE_QUOTE" | "RESOURCE_NOT_FOUND" | "ALREADY_EXISTS" | "PERMISSION_DENIED" | "UNAUTHENTICATED" | "PRECONDITION_FAILED" | "REVISION_CONFLICT" | "POLICY_IN_USE" | "POLICY_LOCKED" | "POLICY_SCOPE_MISMATCH" | "INVALID_CONFIGURATION" | "MFA_REQUIRED" | "MFA_ENROLLMENT_REQUIRED" | "STEP_UP_REQUIRED" | "SESSION_ELEVATION_REQUIRED" | "MFA_LAST_FACTOR_REQUIRED" | "MFA_VERIFICATION_FAILED" | "INTERNAL_SERVER_ERROR" | "CATALOG_LOOKUP_MISS" | "CATALOG_NOT_READY" | "CATALOG_CONVERSION_INVALID" | "CATALOG_VALIDATION_FAILED";
|
|
56
|
+
interface PolyesterErrorOptions {
|
|
57
|
+
/** Underlying error, typically the original `ConnectError` for RPC failures. */
|
|
58
|
+
cause?: unknown;
|
|
59
|
+
}
|
|
60
|
+
declare function normalizeErrorMessage(message: string): string;
|
|
61
|
+
/**
|
|
62
|
+
* Base class for every error raised by the Polyester SDK.
|
|
63
|
+
*
|
|
64
|
+
* Check `retryable` (or `instanceof TransientError`) to decide whether the
|
|
65
|
+
* same call can be safely retried, and switch on `code` for exhaustive,
|
|
66
|
+
* minification-safe handling.
|
|
67
|
+
*/
|
|
68
|
+
declare abstract class PolyesterError extends Error {
|
|
69
|
+
/** Stable machine-readable error code, e.g. `"RATE_LIMITED"`. */
|
|
70
|
+
abstract readonly code: string;
|
|
71
|
+
/** Whether retrying the same operation may succeed. */
|
|
72
|
+
abstract readonly retryable: boolean;
|
|
73
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* A transient failure — the request may never have reached the backend or the
|
|
77
|
+
* backend was temporarily unable to serve it. Safe to retry (use the same
|
|
78
|
+
* `requestId`/`clientOrderId` for mutations; the backend dedupes).
|
|
79
|
+
*/
|
|
80
|
+
declare class TransientError extends PolyesterError {
|
|
81
|
+
readonly code: string;
|
|
82
|
+
readonly retryable = true;
|
|
83
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
84
|
+
}
|
|
85
|
+
/** The request could not be sent or the connection failed mid-flight. */
|
|
86
|
+
declare class NetworkError extends TransientError {
|
|
87
|
+
readonly code: string;
|
|
88
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
89
|
+
}
|
|
90
|
+
/** The request timed out before the backend produced a response. */
|
|
91
|
+
declare class TimeoutError extends TransientError {
|
|
92
|
+
readonly code: string;
|
|
93
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
94
|
+
}
|
|
95
|
+
interface RateLimitErrorOptions extends PolyesterErrorOptions {
|
|
96
|
+
/** Suggested wait before retrying, when the backend provided one. */
|
|
97
|
+
retryAfterMs?: number;
|
|
98
|
+
}
|
|
99
|
+
/** The backend rejected the request due to rate limiting. */
|
|
100
|
+
declare class RateLimitError extends TransientError {
|
|
101
|
+
readonly code: string;
|
|
102
|
+
/** Suggested wait before retrying, in milliseconds, when known. */
|
|
103
|
+
readonly retryAfterMs?: number;
|
|
104
|
+
constructor(message: string, options?: RateLimitErrorOptions);
|
|
105
|
+
}
|
|
106
|
+
/** The backend is temporarily unavailable (e.g. overloaded or restarting). */
|
|
107
|
+
declare class ServiceUnavailableError extends TransientError {
|
|
108
|
+
readonly code: string;
|
|
109
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* The request itself was rejected — retrying the identical call will fail the
|
|
113
|
+
* same way. Fix the input, authentication, or permissions first.
|
|
114
|
+
*/
|
|
115
|
+
declare class RequestError extends PolyesterError {
|
|
116
|
+
readonly code: string;
|
|
117
|
+
readonly retryable = false;
|
|
118
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
119
|
+
}
|
|
120
|
+
/** The request input failed validation (client- or server-side). */
|
|
121
|
+
declare class ValidationError extends RequestError {
|
|
122
|
+
readonly code: string;
|
|
123
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
124
|
+
}
|
|
125
|
+
/** The submitted client reference quote exceeded the market's configured drift limit. */
|
|
126
|
+
declare class StaleQuoteError extends ValidationError {
|
|
127
|
+
readonly code: "STALE_QUOTE";
|
|
128
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
129
|
+
}
|
|
130
|
+
/** The requested resource does not exist (or is not visible to the caller). */
|
|
131
|
+
declare class ResourceNotFoundError extends RequestError {
|
|
132
|
+
readonly code: string;
|
|
133
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
134
|
+
}
|
|
135
|
+
/** The resource already exists (e.g. a duplicate `clientOrderId`). */
|
|
136
|
+
declare class AlreadyExistsError extends RequestError {
|
|
137
|
+
readonly code: string;
|
|
138
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
139
|
+
}
|
|
140
|
+
/** The caller is authenticated but not allowed to perform this operation. */
|
|
141
|
+
declare class PermissionError extends RequestError {
|
|
142
|
+
readonly code: string;
|
|
143
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
144
|
+
}
|
|
145
|
+
/** The caller is not authenticated (missing, expired, or invalid credentials). */
|
|
146
|
+
declare class AuthenticationError extends RequestError {
|
|
147
|
+
readonly code: string;
|
|
148
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
149
|
+
}
|
|
150
|
+
/** The system is not in a state that allows this operation (e.g. insufficient balance). */
|
|
151
|
+
declare class PreconditionFailedError extends RequestError {
|
|
152
|
+
readonly code: string;
|
|
153
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* The resource changed after it was read, so the submitted expected revision
|
|
157
|
+
* is stale. Refetch and let the caller reconcile; do not blindly retry.
|
|
158
|
+
*/
|
|
159
|
+
declare class RevisionConflictError extends PreconditionFailedError {
|
|
160
|
+
readonly code: string;
|
|
161
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
162
|
+
}
|
|
163
|
+
/** The policy cannot be removed while accounts or API keys still use it. */
|
|
164
|
+
declare class PolicyInUseError extends PreconditionFailedError {
|
|
165
|
+
readonly code: string;
|
|
166
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
167
|
+
}
|
|
168
|
+
/** The policy is locked against the requested mutation. */
|
|
169
|
+
declare class PolicyLockedError extends PreconditionFailedError {
|
|
170
|
+
readonly code: string;
|
|
171
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
172
|
+
}
|
|
173
|
+
/** The policy does not belong to the account scope targeted by the request. */
|
|
174
|
+
declare class PolicyScopeMismatchError extends ValidationError {
|
|
175
|
+
readonly code: string;
|
|
176
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
177
|
+
}
|
|
178
|
+
/** The SDK was configured incorrectly (bad environment, missing credentials, …). */
|
|
179
|
+
declare class ConfigurationError extends RequestError {
|
|
180
|
+
readonly code: string;
|
|
181
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* The operation requires additional multi-factor authentication. Catch this
|
|
185
|
+
* class to handle all MFA flows, or the subclasses to branch per flow.
|
|
186
|
+
*/
|
|
187
|
+
declare class MfaRequiredError extends RequestError {
|
|
188
|
+
readonly code: string;
|
|
189
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
190
|
+
}
|
|
191
|
+
/** The user must enroll in MFA before this operation can proceed. */
|
|
192
|
+
declare class MfaEnrollmentRequiredError extends MfaRequiredError {
|
|
193
|
+
readonly code: string;
|
|
194
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
195
|
+
}
|
|
196
|
+
/** The operation requires a fresh MFA step-up proof (retry with `X-Auth-Step-Up`). */
|
|
197
|
+
declare class StepUpRequiredError extends MfaRequiredError {
|
|
198
|
+
readonly code: string;
|
|
199
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
200
|
+
}
|
|
201
|
+
/** The operation requires a recent MFA-elevated session, not a one-use step-up proof. */
|
|
202
|
+
declare class SessionElevationRequiredError extends MfaRequiredError {
|
|
203
|
+
readonly code: string;
|
|
204
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
205
|
+
}
|
|
206
|
+
/** The requested deletion would leave the account without an active MFA factor. */
|
|
207
|
+
declare class MfaLastFactorRequiredError extends PreconditionFailedError {
|
|
208
|
+
readonly code: string;
|
|
209
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
210
|
+
}
|
|
211
|
+
/** The reason an MFA challenge could not be completed. */
|
|
212
|
+
type MfaVerificationFailureReason = "challenge-invalid" | "challenge-locked" | "otp-invalid" | "recovery-code-invalid" | "passkey-invalid";
|
|
213
|
+
/**
|
|
214
|
+
* An expected MFA verification rejection. Callers should select their own
|
|
215
|
+
* user-facing copy from `reason` instead of displaying the backend message.
|
|
216
|
+
*/
|
|
217
|
+
declare class MfaVerificationError extends RequestError {
|
|
218
|
+
readonly reason: MfaVerificationFailureReason;
|
|
219
|
+
readonly code: string;
|
|
220
|
+
constructor(message: string, reason: MfaVerificationFailureReason, options?: PolyesterErrorOptions);
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* The backend failed unexpectedly or returned a malformed response. Not
|
|
224
|
+
* automatically retryable — the failure may recur and mutations may have
|
|
225
|
+
* partially applied.
|
|
226
|
+
*/
|
|
227
|
+
declare class InternalServerError extends PolyesterError {
|
|
228
|
+
readonly code: string;
|
|
229
|
+
readonly retryable = false;
|
|
230
|
+
constructor(message: string, options?: PolyesterErrorOptions);
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Checks whether an error represents an aborted request (caller-initiated via
|
|
234
|
+
* `AbortSignal`). Aborts are intentionally NOT part of the {@link PolyesterError}
|
|
235
|
+
* tree and are never retryable.
|
|
236
|
+
*/
|
|
237
|
+
declare function isAbortError(err: unknown): boolean;
|
|
238
|
+
/** Maps a plain HTTP status code onto the SDK error tree. */
|
|
239
|
+
declare function errorFromHttpStatus(status: number, message: string, options?: PolyesterErrorOptions): PolyesterError;
|
|
240
|
+
//#endregion
|
|
241
|
+
export { AlreadyExistsError, AuthenticationError, ConfigurationError, InternalServerError, MfaEnrollmentRequiredError, MfaLastFactorRequiredError, MfaRequiredError, MfaVerificationError, MfaVerificationFailureReason, NetworkError, PermissionError, PolicyInUseError, PolicyLockedError, PolicyScopeMismatchError, PolyesterError, PolyesterErrorCode, PolyesterErrorOptions, PreconditionFailedError, RateLimitError, RateLimitErrorOptions, RequestError, ResourceNotFoundError, RevisionConflictError, ServiceUnavailableError, SessionElevationRequiredError, StaleQuoteError, StepUpRequiredError, TimeoutError, TransientError, ValidationError, errorFromHttpStatus, isAbortError, normalizeErrorMessage };
|
|
242
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","names":[],"sources":["../../src/shared/errors.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsDY;UA+BK;;EAEb;;iBAKY,sBAAsB;;;;;;;;uBAWhB,uBAAuB;;oBAEvB;;oBAEA;EAEN,YAAA,iBAAiB,UAAU;;;;;;;cAW9B,uBAAuB;WACvB;WACA;EAEG,YAAA,iBAAiB,UAAU;;;cAO9B,qBAAqB;WACZ;EAEN,YAAA,iBAAiB,UAAU;;;cAO9B,qBAAqB;WACZ;EAEN,YAAA,iBAAiB,UAAU;;UAM1B,8BAA8B;;EAE3C;;;cAIS,uBAAuB;WACd;;WAET;EAEG,YAAA,iBAAiB,UAAU;;;cAQ9B,gCAAgC;WACvB;EAEN,YAAA,iBAAiB,UAAU;;;;;;cAU9B,qBAAqB;WACrB;WACA;EAEG,YAAA,iBAAiB,UAAU;;;cAO9B,wBAAwB;WACf;EAEN,YAAA,iBAAiB,UAAU;;;cAO9B,wBAAwB;WACf;EAEN,YAAA,iBAAiB,UAAU;;;cAO9B,8BAA8B;WACrB;EAEN,YAAA,iBAAiB,UAAU;;;cAO9B,2BAA2B;WAClB;EAEN,YAAA,iBAAiB,UAAU;;;cAO9B,wBAAwB;WACf;EAEN,YAAA,iBAAiB,UAAU;;;cAO9B,4BAA4B;WACnB;EAEN,YAAA,iBAAiB,UAAU;;;cAO9B,gCAAgC;WACvB;EAEN,YAAA,iBAAiB,UAAU;;;;;;cAU9B,8BAA8B;WACrB;EAEN,YAAA,iBAAiB,UAAU;;;cAO9B,yBAAyB;WAChB;EAEN,YAAA,iBAAiB,UAAU;;;cAO9B,0BAA0B;WACjB;EAEN,YAAA,iBAAiB,UAAU;;;cAO9B,iCAAiC;WACxB;EAEN,YAAA,iBAAiB,UAAU;;;cAO9B,2BAA2B;WAClB;EAEN,YAAA,iBAAiB,UAAU;;;;;;cAU9B,yBAAyB;WAChB;EAEN,YAAA,iBAAiB,UAAU;;;cAO9B,mCAAmC;WAC1B;EAEN,YAAA,iBAAiB,UAAU;;;cAO9B,4BAA4B;WACnB;EAEN,YAAA,iBAAiB,UAAU;;;cAO9B,sCAAsC;WAC7B;EAEN,YAAA,iBAAiB,UAAU;;;cAO9B,mCAAmC;WAC1B;EAEN,YAAA,iBAAiB,UAAU;;;KAO/B;;;;;cAWC,6BAA6B;WAKzB,QAAQ;WAJH;EAGd,YAAA,iBACS,QAAQ,8BACjB,UAAU;;;;;;;cAYL,4BAA4B;WAC5B;WACA;EAEG,YAAA,iBAAiB,UAAU;;;;;;;iBAW3B,aAAa;;iBAKb,oBACZ,gBACA,iBACA,UAAU,wBACX"}
|