@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,337 @@
|
|
|
1
|
+
import { AuthenticationError, ConfigurationError } from "../../shared/errors.js";
|
|
2
|
+
import { AuthService } from "./auth.js";
|
|
3
|
+
import { AuthSessionStore } from "./session.js";
|
|
4
|
+
import { assertAccountSigner, resolveAccountSigner } from "../../account-signer/types.js";
|
|
5
|
+
import { EventEmitter } from "../../utils/event-emitter.js";
|
|
6
|
+
import { getJwtTimeToExpiry, isJwtValid } from "../../utils/jwt.js";
|
|
7
|
+
import { createAuthTokenStorageSetOptions } from "./token-storage.js";
|
|
8
|
+
//#region src/services/auth/account-signer-auth.ts
|
|
9
|
+
/**
|
|
10
|
+
* Coordinates wallet/account-signer authentication, session storage, subaccount selection, and session refresh.
|
|
11
|
+
*/
|
|
12
|
+
var AccountSignerAuthService = class extends AuthService {
|
|
13
|
+
events = new EventEmitter();
|
|
14
|
+
#accountSignerConfig;
|
|
15
|
+
#accountSigner = null;
|
|
16
|
+
#accountIdentity = null;
|
|
17
|
+
#isAuthenticated = false;
|
|
18
|
+
#mainAccountId = null;
|
|
19
|
+
#activeAccountId = null;
|
|
20
|
+
#subaccounts;
|
|
21
|
+
#walletProvider = void 0;
|
|
22
|
+
#loginMethod = null;
|
|
23
|
+
#environmentFingerprint;
|
|
24
|
+
#tokenStorage;
|
|
25
|
+
#sessionStore;
|
|
26
|
+
#realtime;
|
|
27
|
+
constructor({ transports, accountSignerConfig, environment, subaccounts, realtime, tokenStorage, sessionStore }) {
|
|
28
|
+
super(transports, realtime);
|
|
29
|
+
this.#accountSignerConfig = accountSignerConfig;
|
|
30
|
+
this.#environmentFingerprint = environment.fingerprint;
|
|
31
|
+
this.#subaccounts = subaccounts;
|
|
32
|
+
this.#tokenStorage = tokenStorage;
|
|
33
|
+
this.#realtime = realtime;
|
|
34
|
+
this.#sessionStore = sessionStore ?? new AuthSessionStore({ environmentFingerprint: environment.fingerprint });
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Attaches the subaccounts service used when creating a subaccount during authenticated flows.
|
|
38
|
+
*/
|
|
39
|
+
setSubaccountsService(subaccounts) {
|
|
40
|
+
this.#subaccounts = subaccounts;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Sets the account signer used to sign login and account-switch challenges.
|
|
44
|
+
*/
|
|
45
|
+
setAccountSigner(accountSigner) {
|
|
46
|
+
if (accountSigner) this.#assertAccountSignerEnvironment(accountSigner);
|
|
47
|
+
this.#accountSigner = accountSigner;
|
|
48
|
+
this.#accountIdentity = accountSigner ? this.#identityFromSigner(accountSigner) : null;
|
|
49
|
+
this.#notifyStateChange();
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Returns the active account signer, throwing if one has not been configured.
|
|
53
|
+
*/
|
|
54
|
+
getAccountSigner() {
|
|
55
|
+
return this.#accountSigner;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Signs a short-lived login nonce with the configured account signer, exchanges it for a session token, and stores the hydrated account/subaccount session state.
|
|
59
|
+
*/
|
|
60
|
+
async login(options) {
|
|
61
|
+
return this.#login(options);
|
|
62
|
+
}
|
|
63
|
+
async #login(options, previousActiveAccount) {
|
|
64
|
+
const { provider, loginMethod } = options;
|
|
65
|
+
const accountSigner = await this.#resolveAccountSigner();
|
|
66
|
+
if (!accountSigner) throw new ConfigurationError("No account signer configured. Call setAccountSigner() or pass accountSigner in config.");
|
|
67
|
+
const smartAccountAddress = accountSigner.accountAddress;
|
|
68
|
+
const ownerAddress = accountSigner.ownerAddress ?? accountSigner.accountAddress;
|
|
69
|
+
const { nonce } = await this.requestLoginNonce(smartAccountAddress);
|
|
70
|
+
const message = `Polyester Login\n\nNonce: ${nonce}`;
|
|
71
|
+
const signature = await accountSigner.signMessage(message);
|
|
72
|
+
const response = await this.loginWithWallet({
|
|
73
|
+
smartAccountAddress,
|
|
74
|
+
nonce,
|
|
75
|
+
signature,
|
|
76
|
+
primaryWalletAddress: ownerAddress,
|
|
77
|
+
walletProvider: provider
|
|
78
|
+
});
|
|
79
|
+
const environmentSession = this.#getEnvironmentSession();
|
|
80
|
+
const resolvedLoginMethod = loginMethod ?? this.#loginMethod ?? environmentSession?.loginMethod ?? (provider === "metamask" ? "metamask" : null);
|
|
81
|
+
const tokenOptions = createAuthTokenStorageSetOptions(response.accessToken);
|
|
82
|
+
const activeAccount = previousActiveAccount?.mainAccountId === response.accountId ? previousActiveAccount : void 0;
|
|
83
|
+
this.#sessionStore.commitLogin({
|
|
84
|
+
accessToken: response.accessToken,
|
|
85
|
+
tokenOptions,
|
|
86
|
+
provider,
|
|
87
|
+
loginMethod: resolvedLoginMethod,
|
|
88
|
+
primaryWallet: ownerAddress,
|
|
89
|
+
smartAccount: smartAccountAddress,
|
|
90
|
+
accountId: response.accountId,
|
|
91
|
+
activeAccount,
|
|
92
|
+
username: response.username ?? void 0
|
|
93
|
+
}, this.#tokenStorage);
|
|
94
|
+
this.#isAuthenticated = true;
|
|
95
|
+
this.#mainAccountId = response.accountId;
|
|
96
|
+
this.#activeAccountId = activeAccount?.accountId ?? response.accountId;
|
|
97
|
+
this.#walletProvider = provider;
|
|
98
|
+
this.#loginMethod = resolvedLoginMethod;
|
|
99
|
+
this.#accountIdentity = this.#identityFromSigner(accountSigner);
|
|
100
|
+
this.#notifyStateChange();
|
|
101
|
+
this.events.emit("authenticated", {
|
|
102
|
+
accountId: response.accountId,
|
|
103
|
+
username: response.username
|
|
104
|
+
});
|
|
105
|
+
const expiresAt = response.expiresAt ? /* @__PURE__ */ new Date(Number(response.expiresAt.seconds) * 1e3 + (response.expiresAt.nanos ?? 0) / 1e6) : /* @__PURE__ */ new Date();
|
|
106
|
+
return {
|
|
107
|
+
accountId: response.accountId,
|
|
108
|
+
username: response.username,
|
|
109
|
+
expiresAt
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Builds auth state from a session token and optional active account override.
|
|
114
|
+
*/
|
|
115
|
+
hydrateAuthState(state) {
|
|
116
|
+
const existingToken = this.#getEnvironmentBoundToken();
|
|
117
|
+
if (!existingToken || !isJwtValid(existingToken)) return;
|
|
118
|
+
const existingSession = this.#getEnvironmentSession();
|
|
119
|
+
this.#walletProvider = existingSession?.provider ?? this.#walletProvider;
|
|
120
|
+
this.#loginMethod = existingSession?.loginMethod ?? this.#loginMethod;
|
|
121
|
+
this.#isAuthenticated = true;
|
|
122
|
+
this.#mainAccountId = state.mainAccountId;
|
|
123
|
+
this.#activeAccountId = state.activeAccountId ?? state.mainAccountId;
|
|
124
|
+
this.#accountIdentity = state.smartAccountAddress ? {
|
|
125
|
+
accountAddress: state.smartAccountAddress,
|
|
126
|
+
ownerAddress: state.ownerAddress
|
|
127
|
+
} : null;
|
|
128
|
+
this.#notifyStateChange();
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Loads the stored token, validates that it still belongs to this environment, and restores auth state when possible.
|
|
132
|
+
*/
|
|
133
|
+
async restoreSession() {
|
|
134
|
+
const existingToken = this.#getEnvironmentBoundToken();
|
|
135
|
+
if (!existingToken || !isJwtValid(existingToken)) {
|
|
136
|
+
this.#clearExpiredSessionState();
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
try {
|
|
140
|
+
const me = await this.me();
|
|
141
|
+
this.#isAuthenticated = true;
|
|
142
|
+
this.#mainAccountId = me.accountId;
|
|
143
|
+
const existingSession = this.#getEnvironmentSession();
|
|
144
|
+
this.#walletProvider = existingSession?.provider ?? this.#walletProvider;
|
|
145
|
+
this.#loginMethod = existingSession?.loginMethod ?? this.#loginMethod;
|
|
146
|
+
if (!this.#activeAccountId) this.#activeAccountId = existingSession?.activeAccount?.accountId ?? me.accountId;
|
|
147
|
+
if (!this.#accountSigner) {
|
|
148
|
+
this.#accountSigner = await resolveAccountSigner(this.#accountSignerConfig);
|
|
149
|
+
if (this.#accountSigner) {
|
|
150
|
+
this.#assertAccountSignerEnvironment(this.#accountSigner);
|
|
151
|
+
this.#accountIdentity = this.#identityFromSigner(this.#accountSigner);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (this.#accountSigner?.accountAddress) {
|
|
155
|
+
const session = this.#sessionStore.ensureSession({
|
|
156
|
+
provider: this.#walletProvider ? this.#walletProvider : "other",
|
|
157
|
+
loginMethod: this.#loginMethod ?? (this.#walletProvider === "metamask" ? "metamask" : null),
|
|
158
|
+
primaryWallet: this.#accountSigner.ownerAddress ?? this.#accountSigner.accountAddress,
|
|
159
|
+
smartAccount: this.#accountSigner.accountAddress,
|
|
160
|
+
accountId: me.accountId,
|
|
161
|
+
username: me.username ?? void 0
|
|
162
|
+
}, { maxAgeSeconds: this.#getCurrentTokenStorageOptions().maxAgeSeconds });
|
|
163
|
+
this.#walletProvider = session.provider;
|
|
164
|
+
this.#loginMethod = session.loginMethod ?? this.#loginMethod;
|
|
165
|
+
}
|
|
166
|
+
this.#notifyStateChange();
|
|
167
|
+
return {
|
|
168
|
+
accountId: me.accountId,
|
|
169
|
+
username: me.username
|
|
170
|
+
};
|
|
171
|
+
} catch {
|
|
172
|
+
this.#clearExpiredSessionState();
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Clears stored auth state and removes the persisted auth token.
|
|
178
|
+
*/
|
|
179
|
+
async logout() {
|
|
180
|
+
this.#realtime.disconnectPrivate();
|
|
181
|
+
this.#tokenStorage.clear();
|
|
182
|
+
this.#isAuthenticated = false;
|
|
183
|
+
this.#mainAccountId = null;
|
|
184
|
+
this.#activeAccountId = null;
|
|
185
|
+
this.#loginMethod = null;
|
|
186
|
+
this.#accountIdentity = null;
|
|
187
|
+
this.#sessionStore.clear();
|
|
188
|
+
this.#notifyStateChange();
|
|
189
|
+
this.events.emit("loggedOut", void 0);
|
|
190
|
+
}
|
|
191
|
+
#clearExpiredSessionState() {
|
|
192
|
+
const shouldEmitLoggedOut = this.#isAuthenticated;
|
|
193
|
+
this.#realtime.disconnectPrivate();
|
|
194
|
+
this.#tokenStorage.clear();
|
|
195
|
+
this.#sessionStore.clear();
|
|
196
|
+
this.#isAuthenticated = false;
|
|
197
|
+
this.#mainAccountId = null;
|
|
198
|
+
this.#activeAccountId = null;
|
|
199
|
+
this.#loginMethod = null;
|
|
200
|
+
this.#accountIdentity = null;
|
|
201
|
+
this.#notifyStateChange();
|
|
202
|
+
if (shouldEmitLoggedOut) this.events.emit("loggedOut", void 0);
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Returns the remaining lifetime of the stored session token in milliseconds.
|
|
206
|
+
*/
|
|
207
|
+
getSessionTimeToExpiry() {
|
|
208
|
+
const token = this.#getEnvironmentBoundToken();
|
|
209
|
+
if (!token) return 0;
|
|
210
|
+
return getJwtTimeToExpiry(token);
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Refreshes the active account-signer session and updates persisted auth state.
|
|
214
|
+
*/
|
|
215
|
+
async refreshSession(params) {
|
|
216
|
+
if (!this.#isAuthenticated) throw new AuthenticationError("Must be authenticated to refresh session");
|
|
217
|
+
const currentSession = this.#getEnvironmentSession();
|
|
218
|
+
return this.#login({
|
|
219
|
+
provider: this.#resolveRefreshProvider(params?.provider),
|
|
220
|
+
loginMethod: params?.loginMethod ?? this.#loginMethod
|
|
221
|
+
}, currentSession?.activeAccount);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Switches the active account/subaccount by signing the required account switch flow.
|
|
225
|
+
*/
|
|
226
|
+
switchAccount(accountId, options) {
|
|
227
|
+
if (!this.#isAuthenticated || !this.#mainAccountId) throw new AuthenticationError("Must be authenticated to switch accounts");
|
|
228
|
+
this.#activeAccountId = accountId;
|
|
229
|
+
const isMain = accountId === this.#mainAccountId;
|
|
230
|
+
this.#sessionStore.setActiveAccount({
|
|
231
|
+
accountId,
|
|
232
|
+
isMain,
|
|
233
|
+
smartAccountAddress: options?.smartAccountAddress,
|
|
234
|
+
label: options?.label
|
|
235
|
+
}, { maxAgeSeconds: this.#getCurrentTokenStorageOptions().maxAgeSeconds });
|
|
236
|
+
this.#notifyStateChange();
|
|
237
|
+
return {
|
|
238
|
+
accountId,
|
|
239
|
+
isMain
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
/** Keeps the display-session identity current for the next server render. */
|
|
243
|
+
syncSessionUsername(username) {
|
|
244
|
+
this.#sessionStore.setUsername(username, { maxAgeSeconds: this.#getCurrentTokenStorageOptions().maxAgeSeconds });
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Creates a subaccount for the authenticated account and makes it available to the session state.
|
|
248
|
+
*/
|
|
249
|
+
async createSubaccount(params) {
|
|
250
|
+
if (!this.#isAuthenticated) throw new AuthenticationError("Must be authenticated to create subaccounts");
|
|
251
|
+
if (!this.#subaccounts) throw new ConfigurationError("SubaccountsService not configured. Pass it to constructor or call setSubaccountsService().");
|
|
252
|
+
const { accountSigner, label = "", walletProvider = "wallet" } = params;
|
|
253
|
+
this.#assertAccountSignerEnvironment(accountSigner);
|
|
254
|
+
const { nonce } = await this.requestLoginNonce(accountSigner.accountAddress);
|
|
255
|
+
const message = `Polyester Login\n\nNonce: ${nonce}`;
|
|
256
|
+
const signature = await accountSigner.signMessage(message);
|
|
257
|
+
const primaryWalletAddress = this.#accountSigner?.ownerAddress ?? accountSigner.ownerAddress ?? this.#accountSigner?.accountAddress ?? "";
|
|
258
|
+
const response = await this.#subaccounts.create({
|
|
259
|
+
label,
|
|
260
|
+
smartAccountAddress: accountSigner.accountAddress,
|
|
261
|
+
nonce,
|
|
262
|
+
signature,
|
|
263
|
+
primaryWalletAddress,
|
|
264
|
+
walletProvider
|
|
265
|
+
});
|
|
266
|
+
return {
|
|
267
|
+
subaccountId: response.subaccountId,
|
|
268
|
+
smartAccountSaltNonce: response.smartAccountSaltNonce,
|
|
269
|
+
revision: response.revision
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Returns the current account-signer auth state snapshot.
|
|
274
|
+
*/
|
|
275
|
+
getState() {
|
|
276
|
+
const accountIdentity = this.#accountSigner ?? this.#accountIdentity;
|
|
277
|
+
return {
|
|
278
|
+
isAuthenticated: this.#isAuthenticated,
|
|
279
|
+
accountAddress: accountIdentity?.accountAddress ?? null,
|
|
280
|
+
ownerAddress: accountIdentity?.ownerAddress ?? null,
|
|
281
|
+
mainAccountId: this.#mainAccountId,
|
|
282
|
+
activeAccount: this.#activeAccountId && this.#mainAccountId ? {
|
|
283
|
+
accountId: this.#activeAccountId,
|
|
284
|
+
isMain: this.#activeAccountId === this.#mainAccountId,
|
|
285
|
+
mainAccountId: this.#mainAccountId,
|
|
286
|
+
smartAccountAddress: accountIdentity?.accountAddress
|
|
287
|
+
} : null
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
async #resolveAccountSigner() {
|
|
291
|
+
if (this.#accountSigner) {
|
|
292
|
+
this.#assertAccountSignerEnvironment(this.#accountSigner);
|
|
293
|
+
return this.#accountSigner;
|
|
294
|
+
}
|
|
295
|
+
const resolved = await resolveAccountSigner(this.#accountSignerConfig);
|
|
296
|
+
if (resolved) {
|
|
297
|
+
this.#assertAccountSignerEnvironment(resolved);
|
|
298
|
+
this.#accountSigner = resolved;
|
|
299
|
+
this.#accountIdentity = this.#identityFromSigner(resolved);
|
|
300
|
+
}
|
|
301
|
+
return this.#accountSigner;
|
|
302
|
+
}
|
|
303
|
+
#notifyStateChange() {
|
|
304
|
+
this.events.emit("stateChange", this.getState());
|
|
305
|
+
}
|
|
306
|
+
#getEnvironmentBoundToken() {
|
|
307
|
+
return this.#sessionStore.getEnvironmentBoundToken(this.#tokenStorage);
|
|
308
|
+
}
|
|
309
|
+
#getCurrentTokenStorageOptions() {
|
|
310
|
+
const token = this.#tokenStorage.get();
|
|
311
|
+
if (!token) return {
|
|
312
|
+
expiresAt: null,
|
|
313
|
+
maxAgeSeconds: null
|
|
314
|
+
};
|
|
315
|
+
return createAuthTokenStorageSetOptions(token);
|
|
316
|
+
}
|
|
317
|
+
#resolveRefreshProvider(provider) {
|
|
318
|
+
return provider ?? this.#walletProvider ?? this.#getEnvironmentSession()?.provider ?? "other";
|
|
319
|
+
}
|
|
320
|
+
#assertAccountSignerEnvironment(accountSigner) {
|
|
321
|
+
assertAccountSigner(accountSigner);
|
|
322
|
+
if (accountSigner.environmentFingerprint !== this.#environmentFingerprint) throw new ConfigurationError("Account signer environment does not match client environment.");
|
|
323
|
+
}
|
|
324
|
+
#identityFromSigner(accountSigner) {
|
|
325
|
+
return {
|
|
326
|
+
accountAddress: accountSigner.accountAddress,
|
|
327
|
+
ownerAddress: accountSigner.ownerAddress
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
#getEnvironmentSession() {
|
|
331
|
+
return this.#sessionStore.get();
|
|
332
|
+
}
|
|
333
|
+
};
|
|
334
|
+
//#endregion
|
|
335
|
+
export { AccountSignerAuthService };
|
|
336
|
+
|
|
337
|
+
//# sourceMappingURL=account-signer-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-signer-auth.js","names":["#accountSignerConfig","#environmentFingerprint","#subaccounts","#tokenStorage","#realtime","#sessionStore","#assertAccountSignerEnvironment","#accountSigner","#accountIdentity","#identityFromSigner","#notifyStateChange","#login","#resolveAccountSigner","#getEnvironmentSession","#loginMethod","#isAuthenticated","#mainAccountId","#activeAccountId","#walletProvider","#getEnvironmentBoundToken","#clearExpiredSessionState","#getCurrentTokenStorageOptions","#resolveRefreshProvider"],"sources":["../../../src/services/auth/account-signer-auth.ts"],"sourcesContent":["import { AuthService, type AuthServiceTransports } from \"./auth.js\";\nimport { AuthenticationError, ConfigurationError } from \"../../shared/errors.js\";\nimport { AuthSessionStore } from \"./session.js\";\nimport type { AccountSigner, AccountSignerConfig, HexAddress } from \"../../account-signer/types.js\";\nimport { assertAccountSigner, resolveAccountSigner } from \"../../account-signer/types.js\";\nimport { EventEmitter } from \"../../utils/event-emitter.js\";\nimport { isJwtValid, getJwtTimeToExpiry } from \"../../utils/jwt.js\";\nimport type { SubaccountsService } from \"../subaccounts/index.js\";\nimport type {\n AuthState,\n AuthHydrationData,\n AuthLoginMethod,\n SessionData,\n ActiveAccountInfo,\n} from \"./session.types.js\";\nimport type { PolyesterRealtime } from \"../../realtime/index.js\";\nimport type { PolyesterEnvironment } from \"../../environment.js\";\nimport {\n createAuthTokenStorageSetOptions,\n type AuthTokenStorage,\n type AuthTokenStorageSetOptions,\n} from \"./token-storage.js\";\n\nexport interface AccountSignerAuthEvents {\n authenticated: { accountId: string; username: string };\n loggedOut: void;\n error: { code: string; message: string };\n servicesReady: void;\n stateChange: AuthState;\n}\n\nexport interface LoginResult {\n accountId: string;\n username: string;\n expiresAt: Date;\n}\n\nexport interface LoginOptions {\n /**\n * The wallet provider to use for login.\n */\n provider: \"metamask\" | \"turnkey\" | \"other\";\n loginMethod?: AuthLoginMethod | null;\n}\n\nexport interface CreateSubaccountParams {\n /** The account signer for the new subaccount (caller derives this, e.g. via Turnkey saltNonce) */\n accountSigner: AccountSigner;\n /** Optional human-readable label for this subaccount */\n label?: string;\n /** Wallet provider hint (e.g. \"turnkey\", \"metamask\"). Defaults to \"wallet\" */\n walletProvider?: string;\n}\n\nexport interface CreateSubaccountResult {\n subaccountId: string;\n smartAccountSaltNonce: number;\n revision: string;\n}\n\ninterface AccountIdentity {\n accountAddress: HexAddress;\n ownerAddress?: HexAddress;\n}\n\n/**\n * Coordinates wallet/account-signer authentication, session storage, subaccount selection, and session refresh.\n */\nexport class AccountSignerAuthService extends AuthService {\n readonly events = new EventEmitter<AccountSignerAuthEvents>();\n\n #accountSignerConfig: AccountSignerConfig | undefined;\n #accountSigner: AccountSigner | null = null;\n #accountIdentity: AccountIdentity | null = null;\n #isAuthenticated = false;\n #mainAccountId: string | null = null;\n #activeAccountId: string | null = null;\n #subaccounts: SubaccountsService;\n #walletProvider: \"metamask\" | \"turnkey\" | \"other\" | undefined = undefined;\n #loginMethod: AuthLoginMethod | null = null;\n #environmentFingerprint: string;\n #tokenStorage: AuthTokenStorage;\n #sessionStore: AuthSessionStore;\n #realtime: PolyesterRealtime;\n\n constructor({\n transports,\n accountSignerConfig,\n environment,\n subaccounts,\n realtime,\n tokenStorage,\n sessionStore,\n }: {\n transports: AuthServiceTransports;\n accountSignerConfig?: AccountSignerConfig;\n environment: PolyesterEnvironment;\n subaccounts: SubaccountsService;\n realtime: PolyesterRealtime;\n tokenStorage: AuthTokenStorage;\n sessionStore?: AuthSessionStore;\n }) {\n super(transports, realtime);\n\n this.#accountSignerConfig = accountSignerConfig;\n this.#environmentFingerprint = environment.fingerprint;\n this.#subaccounts = subaccounts;\n this.#tokenStorage = tokenStorage;\n this.#realtime = realtime;\n this.#sessionStore =\n sessionStore ??\n new AuthSessionStore({\n environmentFingerprint: environment.fingerprint,\n });\n }\n\n /**\n * Attaches the subaccounts service used when creating a subaccount during authenticated flows.\n */\n setSubaccountsService(subaccounts: SubaccountsService): void {\n this.#subaccounts = subaccounts;\n }\n\n /**\n * Sets the account signer used to sign login and account-switch challenges.\n */\n setAccountSigner(accountSigner: AccountSigner | null): void {\n if (accountSigner) this.#assertAccountSignerEnvironment(accountSigner);\n this.#accountSigner = accountSigner;\n this.#accountIdentity = accountSigner ? this.#identityFromSigner(accountSigner) : null;\n this.#notifyStateChange();\n }\n\n /**\n * Returns the active account signer, throwing if one has not been configured.\n */\n getAccountSigner(): AccountSigner | null {\n return this.#accountSigner;\n }\n\n /**\n * Signs a short-lived login nonce with the configured account signer, exchanges it for a session token, and stores the hydrated account/subaccount session state.\n */\n async login(options: LoginOptions): Promise<LoginResult> {\n return this.#login(options);\n }\n\n async #login(\n options: LoginOptions,\n previousActiveAccount?: ActiveAccountInfo,\n ): Promise<LoginResult> {\n const { provider, loginMethod } = options;\n\n const accountSigner = await this.#resolveAccountSigner();\n\n if (!accountSigner) {\n throw new ConfigurationError(\n \"No account signer configured. Call setAccountSigner() or pass accountSigner in config.\",\n );\n }\n\n const smartAccountAddress = accountSigner.accountAddress;\n const ownerAddress = accountSigner.ownerAddress ?? accountSigner.accountAddress;\n\n const { nonce } = await this.requestLoginNonce(smartAccountAddress);\n\n const message = `Polyester Login\\n\\nNonce: ${nonce}`;\n const signature = await accountSigner.signMessage(message);\n\n const response = await this.loginWithWallet({\n smartAccountAddress,\n nonce,\n signature,\n primaryWalletAddress: ownerAddress,\n walletProvider: provider,\n });\n\n const environmentSession = this.#getEnvironmentSession();\n const resolvedLoginMethod =\n loginMethod ??\n this.#loginMethod ??\n environmentSession?.loginMethod ??\n (provider === \"metamask\" ? \"metamask\" : null);\n\n const tokenOptions = createAuthTokenStorageSetOptions(response.accessToken);\n const activeAccount =\n previousActiveAccount?.mainAccountId === response.accountId\n ? previousActiveAccount\n : undefined;\n this.#sessionStore.commitLogin(\n {\n accessToken: response.accessToken,\n tokenOptions,\n provider,\n loginMethod: resolvedLoginMethod,\n primaryWallet: ownerAddress,\n smartAccount: smartAccountAddress,\n accountId: response.accountId,\n activeAccount,\n username: response.username ?? undefined,\n },\n this.#tokenStorage,\n );\n this.#isAuthenticated = true;\n this.#mainAccountId = response.accountId;\n this.#activeAccountId = activeAccount?.accountId ?? response.accountId;\n this.#walletProvider = provider;\n this.#loginMethod = resolvedLoginMethod;\n this.#accountIdentity = this.#identityFromSigner(accountSigner);\n\n this.#notifyStateChange();\n\n this.events.emit(\"authenticated\", {\n accountId: response.accountId,\n username: response.username,\n });\n\n const expiresAt = response.expiresAt\n ? new Date(\n Number(response.expiresAt.seconds) * 1000 +\n (response.expiresAt.nanos ?? 0) / 1_000_000,\n )\n : new Date();\n\n return {\n accountId: response.accountId,\n username: response.username,\n expiresAt,\n };\n }\n\n /**\n * Builds auth state from a session token and optional active account override.\n */\n hydrateAuthState(state: AuthHydrationData): void {\n const existingToken = this.#getEnvironmentBoundToken();\n if (!existingToken || !isJwtValid(existingToken)) return;\n\n const existingSession = this.#getEnvironmentSession();\n this.#walletProvider = existingSession?.provider ?? this.#walletProvider;\n this.#loginMethod = existingSession?.loginMethod ?? this.#loginMethod;\n\n this.#isAuthenticated = true;\n this.#mainAccountId = state.mainAccountId;\n this.#activeAccountId = state.activeAccountId ?? state.mainAccountId;\n this.#accountIdentity = state.smartAccountAddress\n ? {\n accountAddress: state.smartAccountAddress,\n ownerAddress: state.ownerAddress,\n }\n : null;\n\n this.#notifyStateChange();\n }\n\n /**\n * Loads the stored token, validates that it still belongs to this environment, and restores auth state when possible.\n */\n async restoreSession(): Promise<{ accountId: string; username: string } | null> {\n const existingToken = this.#getEnvironmentBoundToken();\n\n if (!existingToken || !isJwtValid(existingToken)) {\n this.#clearExpiredSessionState();\n return null;\n }\n\n try {\n const me = await this.me();\n this.#isAuthenticated = true;\n this.#mainAccountId = me.accountId;\n\n // preserve active account if already set (e.g. via hydration), otherwise use main\n const existingSession = this.#getEnvironmentSession();\n this.#walletProvider = existingSession?.provider ?? this.#walletProvider;\n this.#loginMethod = existingSession?.loginMethod ?? this.#loginMethod;\n if (!this.#activeAccountId) {\n this.#activeAccountId = existingSession?.activeAccount?.accountId ?? me.accountId;\n }\n\n // use existing account signer if set, otherwise try to resolve from config\n if (!this.#accountSigner) {\n this.#accountSigner = await resolveAccountSigner(this.#accountSignerConfig);\n if (this.#accountSigner) {\n this.#assertAccountSignerEnvironment(this.#accountSigner);\n this.#accountIdentity = this.#identityFromSigner(this.#accountSigner);\n }\n }\n\n // keep the display session available for SSR hydration\n if (this.#accountSigner?.accountAddress) {\n const session = this.#sessionStore.ensureSession(\n {\n provider: this.#walletProvider ? this.#walletProvider : \"other\",\n loginMethod:\n this.#loginMethod ??\n (this.#walletProvider === \"metamask\" ? \"metamask\" : null),\n primaryWallet:\n this.#accountSigner.ownerAddress ?? this.#accountSigner.accountAddress,\n smartAccount: this.#accountSigner.accountAddress,\n accountId: me.accountId,\n username: me.username ?? undefined,\n },\n { maxAgeSeconds: this.#getCurrentTokenStorageOptions().maxAgeSeconds },\n );\n this.#walletProvider = session.provider;\n this.#loginMethod = session.loginMethod ?? this.#loginMethod;\n }\n\n this.#notifyStateChange();\n return { accountId: me.accountId, username: me.username };\n } catch {\n this.#clearExpiredSessionState();\n return null;\n }\n }\n\n /**\n * Clears stored auth state and removes the persisted auth token.\n */\n async logout(): Promise<void> {\n this.#realtime.disconnectPrivate();\n this.#tokenStorage.clear();\n this.#isAuthenticated = false;\n this.#mainAccountId = null;\n this.#activeAccountId = null;\n this.#loginMethod = null;\n this.#accountIdentity = null;\n\n this.#sessionStore.clear();\n\n this.#notifyStateChange();\n this.events.emit(\"loggedOut\", undefined);\n }\n\n #clearExpiredSessionState(): void {\n const shouldEmitLoggedOut = this.#isAuthenticated;\n this.#realtime.disconnectPrivate();\n this.#tokenStorage.clear();\n this.#sessionStore.clear();\n this.#isAuthenticated = false;\n this.#mainAccountId = null;\n this.#activeAccountId = null;\n this.#loginMethod = null;\n this.#accountIdentity = null;\n this.#notifyStateChange();\n if (shouldEmitLoggedOut) {\n this.events.emit(\"loggedOut\", undefined);\n }\n }\n\n /**\n * Returns the remaining lifetime of the stored session token in milliseconds.\n */\n getSessionTimeToExpiry(): number {\n const token = this.#getEnvironmentBoundToken();\n if (!token) return 0;\n return getJwtTimeToExpiry(token);\n }\n\n /**\n * Refreshes the active account-signer session and updates persisted auth state.\n */\n async refreshSession(params?: {\n provider?: \"metamask\" | \"turnkey\" | \"other\";\n loginMethod?: AuthLoginMethod | null;\n }): Promise<LoginResult> {\n if (!this.#isAuthenticated) {\n throw new AuthenticationError(\"Must be authenticated to refresh session\");\n }\n\n const currentSession = this.#getEnvironmentSession();\n return this.#login(\n {\n provider: this.#resolveRefreshProvider(params?.provider),\n loginMethod: params?.loginMethod ?? this.#loginMethod,\n },\n currentSession?.activeAccount,\n );\n }\n\n /**\n * Switches the active account/subaccount by signing the required account switch flow.\n */\n switchAccount(\n accountId: string,\n options?: { smartAccountAddress?: string; label?: string },\n ): { accountId: string; isMain: boolean } {\n if (!this.#isAuthenticated || !this.#mainAccountId) {\n throw new AuthenticationError(\"Must be authenticated to switch accounts\");\n }\n\n this.#activeAccountId = accountId;\n const isMain = accountId === this.#mainAccountId;\n\n this.#sessionStore.setActiveAccount(\n {\n accountId,\n isMain,\n smartAccountAddress: options?.smartAccountAddress,\n label: options?.label,\n },\n { maxAgeSeconds: this.#getCurrentTokenStorageOptions().maxAgeSeconds },\n );\n this.#notifyStateChange();\n\n return { accountId, isMain };\n }\n\n /** Keeps the display-session identity current for the next server render. */\n syncSessionUsername(username: string | null): void {\n this.#sessionStore.setUsername(username, {\n maxAgeSeconds: this.#getCurrentTokenStorageOptions().maxAgeSeconds,\n });\n }\n\n /**\n * Creates a subaccount for the authenticated account and makes it available to the session state.\n */\n async createSubaccount(params: CreateSubaccountParams): Promise<CreateSubaccountResult> {\n if (!this.#isAuthenticated) {\n throw new AuthenticationError(\"Must be authenticated to create subaccounts\");\n }\n\n if (!this.#subaccounts) {\n throw new ConfigurationError(\n \"SubaccountsService not configured. Pass it to constructor or call setSubaccountsService().\",\n );\n }\n\n const { accountSigner, label = \"\", walletProvider = \"wallet\" } = params;\n this.#assertAccountSignerEnvironment(accountSigner);\n\n // request nonce for the subaccount's smart account address\n const { nonce } = await this.requestLoginNonce(accountSigner.accountAddress);\n\n // sign canonical login message with the subaccount account signer\n const message = `Polyester Login\\n\\nNonce: ${nonce}`;\n const signature = await accountSigner.signMessage(message);\n\n // use main account signer's owner address for primary wallet reference\n const primaryWalletAddress =\n this.#accountSigner?.ownerAddress ??\n accountSigner.ownerAddress ??\n this.#accountSigner?.accountAddress ??\n \"\";\n\n const response = await this.#subaccounts.create({\n label,\n smartAccountAddress: accountSigner.accountAddress,\n nonce,\n signature,\n primaryWalletAddress,\n walletProvider,\n });\n\n return {\n subaccountId: response.subaccountId,\n smartAccountSaltNonce: response.smartAccountSaltNonce,\n revision: response.revision,\n };\n }\n\n /**\n * Returns the current account-signer auth state snapshot.\n */\n getState(): AuthState {\n const accountIdentity = this.#accountSigner ?? this.#accountIdentity;\n\n return {\n isAuthenticated: this.#isAuthenticated,\n accountAddress: accountIdentity?.accountAddress ?? null,\n ownerAddress: accountIdentity?.ownerAddress ?? null,\n mainAccountId: this.#mainAccountId,\n activeAccount:\n this.#activeAccountId && this.#mainAccountId\n ? {\n accountId: this.#activeAccountId,\n isMain: this.#activeAccountId === this.#mainAccountId,\n mainAccountId: this.#mainAccountId,\n smartAccountAddress: accountIdentity?.accountAddress,\n }\n : null,\n };\n }\n\n async #resolveAccountSigner(): Promise<AccountSigner | null> {\n if (this.#accountSigner) {\n this.#assertAccountSignerEnvironment(this.#accountSigner);\n return this.#accountSigner;\n }\n\n const resolved = await resolveAccountSigner(this.#accountSignerConfig);\n if (resolved) {\n this.#assertAccountSignerEnvironment(resolved);\n this.#accountSigner = resolved;\n this.#accountIdentity = this.#identityFromSigner(resolved);\n }\n return this.#accountSigner;\n }\n\n #notifyStateChange(): void {\n this.events.emit(\"stateChange\", this.getState());\n }\n\n #getEnvironmentBoundToken(): string | null {\n return this.#sessionStore.getEnvironmentBoundToken(this.#tokenStorage);\n }\n\n #getCurrentTokenStorageOptions(): AuthTokenStorageSetOptions {\n const token = this.#tokenStorage.get();\n if (!token) return { expiresAt: null, maxAgeSeconds: null };\n return createAuthTokenStorageSetOptions(token);\n }\n\n #resolveRefreshProvider(\n provider?: \"metamask\" | \"turnkey\" | \"other\",\n ): \"metamask\" | \"turnkey\" | \"other\" {\n return (\n provider ?? this.#walletProvider ?? this.#getEnvironmentSession()?.provider ?? \"other\"\n );\n }\n\n #assertAccountSignerEnvironment(accountSigner: AccountSigner): void {\n assertAccountSigner(accountSigner);\n if (accountSigner.environmentFingerprint !== this.#environmentFingerprint) {\n throw new ConfigurationError(\n \"Account signer environment does not match client environment.\",\n );\n }\n }\n\n #identityFromSigner(accountSigner: AccountSigner): AccountIdentity {\n return {\n accountAddress: accountSigner.accountAddress,\n ownerAddress: accountSigner.ownerAddress,\n };\n }\n\n #getEnvironmentSession(): SessionData | null {\n return this.#sessionStore.get();\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { SessionLevel } from "../../gen/auth/v1/mfa_pb.js";
|
|
2
|
+
import { PolyesterMutationOptions, PolyesterRequestOptions } from "../../shared/request-options.js";
|
|
3
|
+
import { PolyesterRealtime } from "../../realtime/types.js";
|
|
4
|
+
import "../../realtime/index.js";
|
|
5
|
+
import { ProfileService } from "./profile/profile.js";
|
|
6
|
+
import { Transport } from "@connectrpc/connect";
|
|
7
|
+
import * as v from "valibot";
|
|
8
|
+
//#region src/services/auth/auth.d.ts
|
|
9
|
+
declare const LoginWithWalletInputSchema: v.StrictObjectSchema<{
|
|
10
|
+
readonly smartAccountAddress: v.StringSchema<undefined>;
|
|
11
|
+
readonly nonce: v.StringSchema<undefined>;
|
|
12
|
+
readonly signature: v.StringSchema<undefined>;
|
|
13
|
+
readonly userAgent: v.OptionalSchema<v.StringSchema<undefined>, "">;
|
|
14
|
+
readonly ip: v.OptionalSchema<v.StringSchema<undefined>, "">;
|
|
15
|
+
readonly primaryWalletAddress: v.OptionalSchema<v.StringSchema<undefined>, "">;
|
|
16
|
+
readonly walletProvider: v.OptionalSchema<v.StringSchema<undefined>, "">;
|
|
17
|
+
}, undefined>;
|
|
18
|
+
type LoginWithWalletInput = v.InferInput<typeof LoginWithWalletInputSchema>;
|
|
19
|
+
interface AuthServiceTransports {
|
|
20
|
+
publicApi: Transport;
|
|
21
|
+
authApi: Transport;
|
|
22
|
+
}
|
|
23
|
+
declare const MeSchema: v.ObjectSchema<{
|
|
24
|
+
readonly accountId: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
|
|
25
|
+
readonly apiKeyId: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, string | undefined>]>;
|
|
26
|
+
readonly username: v.StringSchema<undefined>;
|
|
27
|
+
readonly session: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
28
|
+
readonly sessionId: v.StringSchema<undefined>;
|
|
29
|
+
readonly sessionLevel: v.SchemaWithPipe<readonly [v.EnumSchema<typeof SessionLevel, undefined>, v.TransformAction<SessionLevel, "unspecified" | "primaryAuthenticated" | "mfaElevated" | "freshStepUp">]>;
|
|
30
|
+
readonly authenticationMethods: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
|
|
31
|
+
readonly authTime: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
|
|
32
|
+
readonly seconds: v.BigintSchema<undefined>;
|
|
33
|
+
readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
34
|
+
}, undefined>, undefined>, v.TransformAction<{
|
|
35
|
+
seconds: bigint;
|
|
36
|
+
nanos: number;
|
|
37
|
+
} | undefined, number | undefined>]>;
|
|
38
|
+
}, undefined>, v.TransformAction<{
|
|
39
|
+
sessionId: string;
|
|
40
|
+
sessionLevel: "unspecified" | "primaryAuthenticated" | "mfaElevated" | "freshStepUp";
|
|
41
|
+
authenticationMethods: string[];
|
|
42
|
+
authTime?: number | undefined;
|
|
43
|
+
}, {
|
|
44
|
+
sessionId: string;
|
|
45
|
+
sessionLevel: "unspecified" | "primaryAuthenticated" | "mfaElevated" | "freshStepUp";
|
|
46
|
+
authenticationMethods: string[];
|
|
47
|
+
authTimeMs: number | undefined;
|
|
48
|
+
}>]>, undefined>;
|
|
49
|
+
}, undefined>;
|
|
50
|
+
type Me = v.InferOutput<typeof MeSchema>;
|
|
51
|
+
declare const LoginWithWalletResponseSchema: v.ObjectSchema<{
|
|
52
|
+
readonly accessToken: v.StringSchema<undefined>;
|
|
53
|
+
readonly expiresAt: v.OptionalSchema<v.ObjectSchema<{
|
|
54
|
+
readonly seconds: v.BigintSchema<undefined>;
|
|
55
|
+
readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
56
|
+
}, undefined>, undefined>;
|
|
57
|
+
readonly accountId: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
|
|
58
|
+
readonly username: v.StringSchema<undefined>;
|
|
59
|
+
}, undefined>;
|
|
60
|
+
type LoginWithWalletResponse = v.InferOutput<typeof LoginWithWalletResponseSchema>;
|
|
61
|
+
declare const NonceSchema: v.ObjectSchema<{
|
|
62
|
+
readonly nonce: v.StringSchema<undefined>;
|
|
63
|
+
readonly expiresAt: v.OptionalSchema<v.ObjectSchema<{
|
|
64
|
+
readonly seconds: v.BigintSchema<undefined>;
|
|
65
|
+
readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
66
|
+
}, undefined>, undefined>;
|
|
67
|
+
}, undefined>;
|
|
68
|
+
type Nonce = v.InferOutput<typeof NonceSchema>;
|
|
69
|
+
/**
|
|
70
|
+
* Handles wallet-based authentication, caller introspection, and authenticated profile operations.
|
|
71
|
+
*/
|
|
72
|
+
declare class AuthService {
|
|
73
|
+
#private;
|
|
74
|
+
profile: ProfileService;
|
|
75
|
+
constructor(transports: AuthServiceTransports, realtime: PolyesterRealtime);
|
|
76
|
+
/**
|
|
77
|
+
* Returns the authenticated caller's account context, including account ID, optional API key ID, username, and session assurance details from the presented token or API key.
|
|
78
|
+
*/
|
|
79
|
+
me(options?: PolyesterRequestOptions): Promise<Me>;
|
|
80
|
+
/**
|
|
81
|
+
* Requests a short-lived nonce for the given smart-account EVM address; the nonce is single-purpose, replaced by subsequent requests, and expires after about five minutes.
|
|
82
|
+
*/
|
|
83
|
+
requestLoginNonce(smartAccountAddress: string, options?: PolyesterRequestOptions): Promise<Nonce>;
|
|
84
|
+
/**
|
|
85
|
+
* Exchanges a signed login nonce for an authenticated session token and account identity returned by the auth API.
|
|
86
|
+
*/
|
|
87
|
+
protected loginWithWallet(input: LoginWithWalletInput, options?: PolyesterMutationOptions): Promise<LoginWithWalletResponse>;
|
|
88
|
+
}
|
|
89
|
+
//#endregion
|
|
90
|
+
export { AuthService, AuthServiceTransports, LoginWithWalletInput, LoginWithWalletInputSchema, LoginWithWalletResponse, Me, Nonce };
|
|
91
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","names":[],"sources":["../../../src/services/auth/auth.ts"],"mappings":";;;;;;;;cAaa,4BAA0B,EAAA;;;;;;;;;KAU3B,uBAAuB,EAAE,kBAAkB;UAEtC;EACb,WAAW;EACX,SAAS;;cAGP,UAAQ,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KAOF,KAAK,EAAE,mBAAmB;cAEhC,+BAA6B,EAAA;;;;;;;;;KAOvB,0BAA0B,EAAE,mBAAmB;cAErD,aAAW,EAAA;;;;;;;KAKL,QAAQ,EAAE,mBAAmB;;;;cAK5B;;EAGT,SAAS;EAEG,YAAA,YAAY,uBAAuB,UAAU;;;;EASnD,GAAG,UAAU,0BAA0B,QAAQ;;;;EAQ/C,kBACF,6BACA,UAAU,0BACX,QAAQ;;;;YAaK,gBACZ,OAAO,sBACP,UAAU,2BACX,QAAQ"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { AuthService as AuthService$1 } from "../../gen/auth/v1/auth_pb.js";
|
|
2
|
+
import { toConnectCallOptions } from "../../shared/request-options.js";
|
|
3
|
+
import { OptionalPublicIdSchema, PublicIdSchema, TimestampSchema } from "../../shared/schemas.js";
|
|
4
|
+
import { ProfileService } from "./profile/profile.js";
|
|
5
|
+
import { MfaSessionInfoSchema } from "../mfa/mfa.schemas.js";
|
|
6
|
+
import { createClient } from "@connectrpc/connect";
|
|
7
|
+
import * as v from "valibot";
|
|
8
|
+
//#region src/services/auth/auth.ts
|
|
9
|
+
const LoginWithWalletInputSchema = v.strictObject({
|
|
10
|
+
smartAccountAddress: v.string(),
|
|
11
|
+
nonce: v.string(),
|
|
12
|
+
signature: v.string(),
|
|
13
|
+
userAgent: v.optional(v.string(), ""),
|
|
14
|
+
ip: v.optional(v.string(), ""),
|
|
15
|
+
primaryWalletAddress: v.optional(v.string(), ""),
|
|
16
|
+
walletProvider: v.optional(v.string(), "")
|
|
17
|
+
});
|
|
18
|
+
const MeSchema = v.object({
|
|
19
|
+
accountId: PublicIdSchema,
|
|
20
|
+
apiKeyId: OptionalPublicIdSchema,
|
|
21
|
+
username: v.string(),
|
|
22
|
+
session: v.optional(MfaSessionInfoSchema)
|
|
23
|
+
});
|
|
24
|
+
const LoginWithWalletResponseSchema = v.object({
|
|
25
|
+
accessToken: v.string(),
|
|
26
|
+
expiresAt: v.optional(TimestampSchema),
|
|
27
|
+
accountId: PublicIdSchema,
|
|
28
|
+
username: v.string()
|
|
29
|
+
});
|
|
30
|
+
const NonceSchema = v.object({
|
|
31
|
+
nonce: v.string(),
|
|
32
|
+
expiresAt: v.optional(TimestampSchema)
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* Handles wallet-based authentication, caller introspection, and authenticated profile operations.
|
|
36
|
+
*/
|
|
37
|
+
var AuthService = class {
|
|
38
|
+
#publicClient;
|
|
39
|
+
#authClient;
|
|
40
|
+
profile;
|
|
41
|
+
constructor(transports, realtime) {
|
|
42
|
+
this.#publicClient = createClient(AuthService$1, transports.publicApi);
|
|
43
|
+
this.#authClient = createClient(AuthService$1, transports.authApi);
|
|
44
|
+
this.profile = new ProfileService(transports.authApi, realtime);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Returns the authenticated caller's account context, including account ID, optional API key ID, username, and session assurance details from the presented token or API key.
|
|
48
|
+
*/
|
|
49
|
+
async me(options) {
|
|
50
|
+
const res = await this.#authClient.me({}, toConnectCallOptions(options));
|
|
51
|
+
return v.parse(MeSchema, res);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Requests a short-lived nonce for the given smart-account EVM address; the nonce is single-purpose, replaced by subsequent requests, and expires after about five minutes.
|
|
55
|
+
*/
|
|
56
|
+
async requestLoginNonce(smartAccountAddress, options) {
|
|
57
|
+
return v.parse(NonceSchema, await this.#publicClient.getNonce({ smartAccountAddress }, toConnectCallOptions(options)));
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Exchanges a signed login nonce for an authenticated session token and account identity returned by the auth API.
|
|
61
|
+
*/
|
|
62
|
+
async loginWithWallet(input, options) {
|
|
63
|
+
const validatedInput = v.parse(LoginWithWalletInputSchema, input);
|
|
64
|
+
const res = await this.#publicClient.loginWithWallet(validatedInput, toConnectCallOptions(options));
|
|
65
|
+
return v.parse(LoginWithWalletResponseSchema, res);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
//#endregion
|
|
69
|
+
export { AuthService, LoginWithWalletInputSchema };
|
|
70
|
+
|
|
71
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","names":["#publicClient","Proto.AuthService","#authClient"],"sources":["../../../src/services/auth/auth.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as Proto from \"../../gen/auth/v1/auth_pb.js\";\nimport * as v from \"valibot\";\nimport { ProfileService } from \"./profile/profile.js\";\nimport { OptionalPublicIdSchema, PublicIdSchema, TimestampSchema } from \"../../shared/schemas.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport { MfaSessionInfoSchema } from \"../mfa/mfa.schemas.js\";\nimport type { PolyesterRealtime } from \"../../realtime/index.js\";\n\nexport const LoginWithWalletInputSchema = v.strictObject({\n smartAccountAddress: v.string(),\n nonce: v.string(),\n signature: v.string(),\n userAgent: v.optional(v.string(), \"\"),\n ip: v.optional(v.string(), \"\"),\n primaryWalletAddress: v.optional(v.string(), \"\"),\n walletProvider: v.optional(v.string(), \"\"),\n});\n\nexport type LoginWithWalletInput = v.InferInput<typeof LoginWithWalletInputSchema>;\n\nexport interface AuthServiceTransports {\n publicApi: Transport;\n authApi: Transport;\n}\n\nconst MeSchema = v.object({\n accountId: PublicIdSchema,\n apiKeyId: OptionalPublicIdSchema,\n username: v.string(),\n session: v.optional(MfaSessionInfoSchema),\n});\n\nexport type Me = v.InferOutput<typeof MeSchema>;\n\nconst LoginWithWalletResponseSchema = v.object({\n accessToken: v.string(),\n expiresAt: v.optional(TimestampSchema),\n accountId: PublicIdSchema,\n username: v.string(),\n});\n\nexport type LoginWithWalletResponse = v.InferOutput<typeof LoginWithWalletResponseSchema>;\n\nconst NonceSchema = v.object({\n nonce: v.string(),\n expiresAt: v.optional(TimestampSchema),\n});\n\nexport type Nonce = v.InferOutput<typeof NonceSchema>;\n\n/**\n * Handles wallet-based authentication, caller introspection, and authenticated profile operations.\n */\nexport class AuthService {\n #publicClient: Client<typeof Proto.AuthService>;\n #authClient: Client<typeof Proto.AuthService>;\n profile: ProfileService;\n\n constructor(transports: AuthServiceTransports, realtime: PolyesterRealtime) {\n this.#publicClient = createClient(Proto.AuthService, transports.publicApi);\n this.#authClient = createClient(Proto.AuthService, transports.authApi);\n this.profile = new ProfileService(transports.authApi, realtime);\n }\n\n /**\n * Returns the authenticated caller's account context, including account ID, optional API key ID, username, and session assurance details from the presented token or API key.\n */\n async me(options?: PolyesterRequestOptions): Promise<Me> {\n const res = await this.#authClient.me({}, toConnectCallOptions(options));\n return v.parse(MeSchema, res);\n }\n\n /**\n * Requests a short-lived nonce for the given smart-account EVM address; the nonce is single-purpose, replaced by subsequent requests, and expires after about five minutes.\n */\n async requestLoginNonce(\n smartAccountAddress: string,\n options?: PolyesterRequestOptions,\n ): Promise<Nonce> {\n return v.parse(\n NonceSchema,\n await this.#publicClient.getNonce(\n { smartAccountAddress },\n toConnectCallOptions(options),\n ),\n );\n }\n\n /**\n * Exchanges a signed login nonce for an authenticated session token and account identity returned by the auth API.\n */\n protected async loginWithWallet(\n input: LoginWithWalletInput,\n options?: PolyesterMutationOptions,\n ): Promise<LoginWithWalletResponse> {\n const validatedInput = v.parse(LoginWithWalletInputSchema, input);\n const res = await this.#publicClient.loginWithWallet(\n validatedInput,\n toConnectCallOptions(options),\n );\n return v.parse(LoginWithWalletResponseSchema, res);\n }\n}\n"],"mappings":";;;;;;;;AAaA,MAAa,6BAA6B,EAAE,aAAa;CACrD,qBAAqB,EAAE,OAAO;CAC9B,OAAO,EAAE,OAAO;CAChB,WAAW,EAAE,OAAO;CACpB,WAAW,EAAE,SAAS,EAAE,OAAO,GAAG,EAAE;CACpC,IAAI,EAAE,SAAS,EAAE,OAAO,GAAG,EAAE;CAC7B,sBAAsB,EAAE,SAAS,EAAE,OAAO,GAAG,EAAE;CAC/C,gBAAgB,EAAE,SAAS,EAAE,OAAO,GAAG,EAAE;AAC7C,CAAC;AASD,MAAM,WAAW,EAAE,OAAO;CACtB,WAAW;CACX,UAAU;CACV,UAAU,EAAE,OAAO;CACnB,SAAS,EAAE,SAAS,oBAAoB;AAC5C,CAAC;AAID,MAAM,gCAAgC,EAAE,OAAO;CAC3C,aAAa,EAAE,OAAO;CACtB,WAAW,EAAE,SAAS,eAAe;CACrC,WAAW;CACX,UAAU,EAAE,OAAO;AACvB,CAAC;AAID,MAAM,cAAc,EAAE,OAAO;CACzB,OAAO,EAAE,OAAO;CAChB,WAAW,EAAE,SAAS,eAAe;AACzC,CAAC;;;;AAOD,IAAa,cAAb,MAAyB;CACrB;CACA;CACA;CAEA,YAAY,YAAmC,UAA6B;EACxE,KAAKA,gBAAgB,aAAaC,eAAmB,WAAW,SAAS;EACzE,KAAKC,cAAc,aAAaD,eAAmB,WAAW,OAAO;EACrE,KAAK,UAAU,IAAI,eAAe,WAAW,SAAS,QAAQ;CAClE;;;;CAKA,MAAM,GAAG,SAAgD;EACrD,MAAM,MAAM,MAAM,KAAKC,YAAY,GAAG,CAAC,GAAG,qBAAqB,OAAO,CAAC;EACvE,OAAO,EAAE,MAAM,UAAU,GAAG;CAChC;;;;CAKA,MAAM,kBACF,qBACA,SACc;EACd,OAAO,EAAE,MACL,aACA,MAAM,KAAKF,cAAc,SACrB,EAAE,oBAAoB,GACtB,qBAAqB,OAAO,CAChC,CACJ;CACJ;;;;CAKA,MAAgB,gBACZ,OACA,SACgC;EAChC,MAAM,iBAAiB,EAAE,MAAM,4BAA4B,KAAK;EAChE,MAAM,MAAM,MAAM,KAAKA,cAAc,gBACjC,gBACA,qBAAqB,OAAO,CAChC;EACA,OAAO,EAAE,MAAM,+BAA+B,GAAG;CACrD;AACJ"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { LoginWithWalletInput, LoginWithWalletResponse, Me, Nonce } from "./auth.js";
|
|
2
|
+
import { AccountSignerAuthEvents, CreateSubaccountParams, CreateSubaccountResult, LoginOptions, LoginResult } from "./account-signer-auth.js";
|
|
3
|
+
export type { AccountSignerAuthEvents, CreateSubaccountResult as AccountSignerCreateSubaccountResult, CreateSubaccountParams, LoginOptions, LoginResult, LoginWithWalletInput, LoginWithWalletResponse, Me, Nonce };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/services/auth/cookie-constants.d.ts
|
|
2
|
+
declare const POLYESTER_SESSION_COOKIE_NAME = "polyester_session_3";
|
|
3
|
+
declare const POLYESTER_AUTH_TOKEN_COOKIE_NAME = "polyester_auth_token";
|
|
4
|
+
//#endregion
|
|
5
|
+
export { POLYESTER_AUTH_TOKEN_COOKIE_NAME, POLYESTER_SESSION_COOKIE_NAME };
|
|
6
|
+
//# sourceMappingURL=cookie-constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cookie-constants.d.ts","names":[],"sources":["../../../src/services/auth/cookie-constants.ts"],"mappings":";cAGa;cAEA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/services/auth/cookie-constants.ts
|
|
2
|
+
const POLYESTER_SESSION_COOKIE_NAME = "polyester_session_3";
|
|
3
|
+
const POLYESTER_LOGIN_COOKIE_MAX_AGE = 604800;
|
|
4
|
+
const POLYESTER_AUTH_TOKEN_COOKIE_NAME = "polyester_auth_token";
|
|
5
|
+
//#endregion
|
|
6
|
+
export { POLYESTER_AUTH_TOKEN_COOKIE_NAME, POLYESTER_LOGIN_COOKIE_MAX_AGE, POLYESTER_SESSION_COOKIE_NAME };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=cookie-constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cookie-constants.js","names":[],"sources":["../../../src/services/auth/cookie-constants.ts"],"sourcesContent":["// v3: session payload schema added a required environmentFingerprint; bumping\n// the cookie name makes the migration an explicit new cookie instead of a\n// failed parse of the old one (old sessions are simply ignored).\nexport const POLYESTER_SESSION_COOKIE_NAME = \"polyester_session_3\";\nexport const POLYESTER_LOGIN_COOKIE_MAX_AGE = 60 * 60 * 24 * 7; // 7 days\nexport const POLYESTER_AUTH_TOKEN_COOKIE_NAME = \"polyester_auth_token\";\n"],"mappings":";AAGA,MAAa,gCAAgC;AAC7C,MAAa,iCAAiC;AAC9C,MAAa,mCAAmC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { PolyesterMutationOptions, PolyesterRequestOptions } from "../../../shared/request-options.js";
|
|
2
|
+
import { PolyesterRealtime } from "../../../realtime/types.js";
|
|
3
|
+
import "../../../realtime/index.js";
|
|
4
|
+
import { BaseSubscribeInput } from "../../../shared/types.js";
|
|
5
|
+
import { AccountIdentity, Profile, UpdateProfileInputSchema, UsernameHistoryEntry } from "./profile.schemas.js";
|
|
6
|
+
import { Transport } from "@connectrpc/connect";
|
|
7
|
+
import * as v from "valibot";
|
|
8
|
+
//#region src/services/auth/profile/profile.d.ts
|
|
9
|
+
interface SubscribeIdentityInput extends BaseSubscribeInput<AccountIdentity> {}
|
|
10
|
+
/**
|
|
11
|
+
* Manages the authenticated account's public profile and realtime identity updates.
|
|
12
|
+
*/
|
|
13
|
+
declare class ProfileService {
|
|
14
|
+
#private;
|
|
15
|
+
constructor(transport: Transport, realtime: PolyesterRealtime);
|
|
16
|
+
/**
|
|
17
|
+
* Fetches the caller's public profile, including username eligibility/cooldown, verified social handles, avatar, VIP tier, and account creation timestamp.
|
|
18
|
+
*/
|
|
19
|
+
get(options?: PolyesterRequestOptions): Promise<Profile>;
|
|
20
|
+
/**
|
|
21
|
+
* Updates only the provided mutable profile fields; omitted fields are unchanged, while present empty strings clear optional text fields such as bio, website, Twitter, and avatar URL.
|
|
22
|
+
*/
|
|
23
|
+
update(input: v.InferInput<typeof UpdateProfileInputSchema>, options?: PolyesterMutationOptions): Promise<Profile>;
|
|
24
|
+
/**
|
|
25
|
+
* Returns the caller's recent username changes, newest first, capped at 20 entries.
|
|
26
|
+
*/
|
|
27
|
+
getUsernameHistory(options?: PolyesterRequestOptions): Promise<UsernameHistoryEntry[]>;
|
|
28
|
+
/**
|
|
29
|
+
* Subscribes to public identity updates and emits normalized account identity records with base58 account IDs, username, avatar URL, and root smart-account address.
|
|
30
|
+
*/
|
|
31
|
+
subscribeIdentity(input: SubscribeIdentityInput): () => void;
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { ProfileService };
|
|
35
|
+
//# sourceMappingURL=profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.d.ts","names":[],"sources":["../../../../src/services/auth/profile/profile.ts"],"mappings":";;;;;;;;UAqBU,+BAA+B,mBAAmB;;;;cAK/C;;EAIG,YAAA,WAAW,WAAW,UAAU;;;;EAQtC,IAAI,UAAU,0BAA0B,QAAQ;;;;EAShD,OACF,OAAO,EAAE,kBAAkB,2BAC3B,UAAU,2BACX,QAAQ;;;;EAYL,mBAAmB,UAAU,0BAA0B,QAAQ;;;;EAQrE,kBAAkB,OAAO"}
|