@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
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# @polyester/sdk
|
package/LICENSE
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Copyright (c) Fabric Blockchain Labs Inc.
|
|
2
|
+
|
|
3
|
+
All rights reserved.
|
|
4
|
+
|
|
5
|
+
This repository contains generated and handwritten SDK code for the Polyester
|
|
6
|
+
API. No license is granted to copy, modify, distribute, sublicense, or use this
|
|
7
|
+
work except under a separate written agreement with Fabric Blockchain Labs Inc.
|
package/README.md
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Polyester TypeScript SDK
|
|
2
|
+
|
|
3
|
+
TypeScript SDK for the Polyester public API.
|
|
4
|
+
|
|
5
|
+
Generated protobuf types and ConnectRPC service descriptors live in `src/gen/`.
|
|
6
|
+
The package root contains SDK entry points and helper APIs.
|
|
7
|
+
|
|
8
|
+
This SDK is maintained by Fabric Labs and updated as the public API evolves.
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install @polyester/sdk
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
While the SDK is pre-1.0, compatible changes increment the patch version and
|
|
17
|
+
breaking changes increment the minor version. A consumer range such as
|
|
18
|
+
`^0.1.0` can update through `0.1.x` without crossing into breaking `0.2.x`
|
|
19
|
+
releases.
|
|
20
|
+
|
|
21
|
+
## Development
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
bun install --frozen-lockfile
|
|
25
|
+
bun run lint
|
|
26
|
+
bun run format:check
|
|
27
|
+
bun run check
|
|
28
|
+
bun run test
|
|
29
|
+
bun run build
|
|
30
|
+
bun run verify:package
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Use `bun run dev` for rebuilds while editing.
|
|
34
|
+
|
|
35
|
+
Run `bun run changeset` when a change should be included in the next package
|
|
36
|
+
release. Generated protobuf updates must also run
|
|
37
|
+
`bun scripts/strip-descriptor-options.ts`; CI rejects a generated tree that is
|
|
38
|
+
not already stripped.
|
|
39
|
+
|
|
40
|
+
## Publishing
|
|
41
|
+
|
|
42
|
+
The `publish-polyester-sdk.yml` workflow maintains a Changesets release pull
|
|
43
|
+
request for changes merged into `main`. Merging that release pull request
|
|
44
|
+
publishes the stable version to npm's `latest` tag and creates the corresponding
|
|
45
|
+
GitHub release.
|
|
46
|
+
|
|
47
|
+
Package exports permanently target the built `dist` tree. `prepack` performs a
|
|
48
|
+
clean build, and CI verifies that every declared export exists before release.
|
|
49
|
+
|
|
50
|
+
Repository administrators must configure npm trusted publishing for the
|
|
51
|
+
`Fabric-Labs/polyester-sdk-typescript` repository and the
|
|
52
|
+
`publish-polyester-sdk.yml` workflow. Save a granular, package-scoped read-only
|
|
53
|
+
npm token as the GitHub Actions secret `NPM_READ_TOKEN`; publishing itself uses
|
|
54
|
+
OIDC rather than a write token. Grant the intended npm teams access to the
|
|
55
|
+
private package separately.
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
If you believe you have found a security issue in the Polyester TypeScript SDK,
|
|
4
|
+
do not open a public issue.
|
|
5
|
+
|
|
6
|
+
Email security reports to `security@polyester.com` with:
|
|
7
|
+
|
|
8
|
+
- affected package version or commit
|
|
9
|
+
- impacted API, generated type, or helper
|
|
10
|
+
- reproduction steps or proof of concept
|
|
11
|
+
- potential impact
|
|
12
|
+
|
|
13
|
+
We will acknowledge valid reports and coordinate remediation before public
|
|
14
|
+
disclosure.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __exportAll = (all, no_symbols) => {
|
|
4
|
+
let target = {};
|
|
5
|
+
for (var name in all) __defProp(target, name, {
|
|
6
|
+
get: all[name],
|
|
7
|
+
enumerable: true
|
|
8
|
+
});
|
|
9
|
+
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
10
|
+
return target;
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { __exportAll };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AccountSigner } from "./types.js";
|
|
2
|
+
import { PolyesterEnvironment } from "../environment.js";
|
|
3
|
+
import { LocalAccount } from "viem";
|
|
4
|
+
//#region src/account-signer/create-polyester-account-signer.d.ts
|
|
5
|
+
interface CreatePolyesterAccountSignerParams {
|
|
6
|
+
/** The environment this signer should authenticate against */
|
|
7
|
+
environment: PolyesterEnvironment;
|
|
8
|
+
/** The owner account (EOA) that will sign messages */
|
|
9
|
+
owner: LocalAccount;
|
|
10
|
+
/** Salt nonce for deriving different Safe addresses from the same owner (default: 0n) */
|
|
11
|
+
saltNonce?: bigint;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Creates an AccountSigner for Polyester authentication without any RPC calls.
|
|
15
|
+
*
|
|
16
|
+
* This computes the Safe smart account address deterministically and produces
|
|
17
|
+
* ERC-6492 wrapped signatures for counterfactual verification. The signature
|
|
18
|
+
* matches what toSafeSmartAccount.signMessage() would produce for an undeployed Safe.
|
|
19
|
+
*
|
|
20
|
+
* For actual chain interactions (UserOperations), use createPolyesterSmartAccount instead.
|
|
21
|
+
*
|
|
22
|
+
* @param params - Owner account and optional salt nonce
|
|
23
|
+
* @returns An AccountSigner that can be used for authentication
|
|
24
|
+
*/
|
|
25
|
+
declare function createPolyesterAccountSigner(params: CreatePolyesterAccountSignerParams): AccountSigner;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { CreatePolyesterAccountSignerParams, createPolyesterAccountSigner };
|
|
28
|
+
//# sourceMappingURL=create-polyester-account-signer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-polyester-account-signer.d.ts","names":[],"sources":["../../src/account-signer/create-polyester-account-signer.ts"],"mappings":";;;;UAaiB;;EAEb,aAAa;;EAEb,OAAO;;EAEP;;;;;;;;;;;;;;iBAqDY,6BACZ,QAAQ,qCACT"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { predictSafeAddressWithData } from "./predict-safe-address.js";
|
|
2
|
+
import { concat, encodeAbiParameters, hashMessage, hashTypedData, toBytes } from "viem";
|
|
3
|
+
//#region src/account-signer/create-polyester-account-signer.ts
|
|
4
|
+
/** ERC-6492 magic suffix for counterfactual signature verification */
|
|
5
|
+
const ERC6492_MAGIC_SUFFIX = "0x6492649264926492649264926492649264926492649264926492649264926492";
|
|
6
|
+
/**
|
|
7
|
+
* Adjusts the V value in a signature for Safe's eth_sign verification.
|
|
8
|
+
* Safe expects V to be 31+ for eth_sign signatures (27 base + 4 for eth_sign marker).
|
|
9
|
+
*/
|
|
10
|
+
function adjustVInSignature(signature) {
|
|
11
|
+
const ETHEREUM_V_VALUES = [
|
|
12
|
+
0,
|
|
13
|
+
1,
|
|
14
|
+
27,
|
|
15
|
+
28
|
|
16
|
+
];
|
|
17
|
+
const MIN_VALID_V_VALUE_FOR_SAFE_ECDSA = 27;
|
|
18
|
+
let signatureV = Number.parseInt(signature.slice(-2), 16);
|
|
19
|
+
if (!ETHEREUM_V_VALUES.includes(signatureV)) throw new Error("Invalid signature V value");
|
|
20
|
+
if (signatureV < MIN_VALID_V_VALUE_FOR_SAFE_ECDSA) signatureV += MIN_VALID_V_VALUE_FOR_SAFE_ECDSA;
|
|
21
|
+
signatureV += 4;
|
|
22
|
+
return signature.slice(0, -2) + signatureV.toString(16).padStart(2, "0");
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Wraps a signature in ERC-6492 format for counterfactual verification.
|
|
26
|
+
* This allows signature verification before the Safe is deployed.
|
|
27
|
+
*/
|
|
28
|
+
function wrapErc6492Signature(factoryAddress, factoryCalldata, signature) {
|
|
29
|
+
const encoded = encodeAbiParameters([
|
|
30
|
+
{
|
|
31
|
+
name: "factory",
|
|
32
|
+
type: "address"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: "factoryCalldata",
|
|
36
|
+
type: "bytes"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: "signature",
|
|
40
|
+
type: "bytes"
|
|
41
|
+
}
|
|
42
|
+
], [
|
|
43
|
+
factoryAddress,
|
|
44
|
+
factoryCalldata,
|
|
45
|
+
signature
|
|
46
|
+
]);
|
|
47
|
+
return concat([encoded, ERC6492_MAGIC_SUFFIX]);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Creates an AccountSigner for Polyester authentication without any RPC calls.
|
|
51
|
+
*
|
|
52
|
+
* This computes the Safe smart account address deterministically and produces
|
|
53
|
+
* ERC-6492 wrapped signatures for counterfactual verification. The signature
|
|
54
|
+
* matches what toSafeSmartAccount.signMessage() would produce for an undeployed Safe.
|
|
55
|
+
*
|
|
56
|
+
* For actual chain interactions (UserOperations), use createPolyesterSmartAccount instead.
|
|
57
|
+
*
|
|
58
|
+
* @param params - Owner account and optional salt nonce
|
|
59
|
+
* @returns An AccountSigner that can be used for authentication
|
|
60
|
+
*/
|
|
61
|
+
function createPolyesterAccountSigner(params) {
|
|
62
|
+
const { environment, owner, saltNonce = 0n } = params;
|
|
63
|
+
const { safeProxyFactoryAddress, safeSingletonAddress, safeModuleSetupAddress, safe4337ModuleAddress, multiSendAddress } = environment.accountAbstraction.safe;
|
|
64
|
+
const chainId = environment.chain.id;
|
|
65
|
+
const predictParams = {
|
|
66
|
+
owners: [owner.address],
|
|
67
|
+
saltNonce,
|
|
68
|
+
safeProxyFactoryAddress,
|
|
69
|
+
safeSingletonAddress,
|
|
70
|
+
safeModuleSetupAddress,
|
|
71
|
+
safe4337ModuleAddress,
|
|
72
|
+
multiSendAddress
|
|
73
|
+
};
|
|
74
|
+
const { address, factoryCalldata } = predictSafeAddressWithData(predictParams);
|
|
75
|
+
return {
|
|
76
|
+
environmentFingerprint: environment.fingerprint,
|
|
77
|
+
accountAddress: address,
|
|
78
|
+
ownerAddress: owner.address,
|
|
79
|
+
signMessage: async (message) => {
|
|
80
|
+
const messageHash = hashMessage(message);
|
|
81
|
+
const safeMessageHash = hashTypedData({
|
|
82
|
+
domain: {
|
|
83
|
+
chainId,
|
|
84
|
+
verifyingContract: address
|
|
85
|
+
},
|
|
86
|
+
types: { SafeMessage: [{
|
|
87
|
+
name: "message",
|
|
88
|
+
type: "bytes"
|
|
89
|
+
}] },
|
|
90
|
+
primaryType: "SafeMessage",
|
|
91
|
+
message: { message: messageHash }
|
|
92
|
+
});
|
|
93
|
+
const innerSignature = adjustVInSignature(await owner.signMessage({ message: { raw: toBytes(safeMessageHash) } }));
|
|
94
|
+
return wrapErc6492Signature(safeProxyFactoryAddress, factoryCalldata, innerSignature);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
//#endregion
|
|
99
|
+
export { createPolyesterAccountSigner };
|
|
100
|
+
|
|
101
|
+
//# sourceMappingURL=create-polyester-account-signer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-polyester-account-signer.js","names":[],"sources":["../../src/account-signer/create-polyester-account-signer.ts"],"sourcesContent":["import type { Address, Hex, LocalAccount } from \"viem\";\nimport { concat, encodeAbiParameters, hashMessage, hashTypedData, toBytes } from \"viem\";\nimport {\n predictSafeAddressWithData,\n type PredictSafeAddressParams,\n} from \"./predict-safe-address.js\";\nimport type { AccountSigner, HexAddress } from \"./types.js\";\nimport type { PolyesterEnvironment } from \"../environment.js\";\n\n/** ERC-6492 magic suffix for counterfactual signature verification */\nconst ERC6492_MAGIC_SUFFIX: Hex =\n \"0x6492649264926492649264926492649264926492649264926492649264926492\";\n\nexport interface CreatePolyesterAccountSignerParams {\n /** The environment this signer should authenticate against */\n environment: PolyesterEnvironment;\n /** The owner account (EOA) that will sign messages */\n owner: LocalAccount;\n /** Salt nonce for deriving different Safe addresses from the same owner (default: 0n) */\n saltNonce?: bigint;\n}\n\n/**\n * Adjusts the V value in a signature for Safe's eth_sign verification.\n * Safe expects V to be 31+ for eth_sign signatures (27 base + 4 for eth_sign marker).\n */\nfunction adjustVInSignature(signature: Hex): Hex {\n const ETHEREUM_V_VALUES = [0, 1, 27, 28];\n const MIN_VALID_V_VALUE_FOR_SAFE_ECDSA = 27;\n\n let signatureV = Number.parseInt(signature.slice(-2), 16);\n if (!ETHEREUM_V_VALUES.includes(signatureV)) {\n throw new Error(\"Invalid signature V value\");\n }\n\n // for eth_sign: add 27 if V < 27, then add 4\n if (signatureV < MIN_VALID_V_VALUE_FOR_SAFE_ECDSA) {\n signatureV += MIN_VALID_V_VALUE_FOR_SAFE_ECDSA;\n }\n signatureV += 4;\n\n return (signature.slice(0, -2) + signatureV.toString(16).padStart(2, \"0\")) as Hex;\n}\n\n/**\n * Wraps a signature in ERC-6492 format for counterfactual verification.\n * This allows signature verification before the Safe is deployed.\n */\nfunction wrapErc6492Signature(factoryAddress: Address, factoryCalldata: Hex, signature: Hex): Hex {\n const encoded = encodeAbiParameters(\n [\n { name: \"factory\", type: \"address\" },\n { name: \"factoryCalldata\", type: \"bytes\" },\n { name: \"signature\", type: \"bytes\" },\n ],\n [factoryAddress, factoryCalldata, signature],\n );\n return concat([encoded, ERC6492_MAGIC_SUFFIX]);\n}\n\n/**\n * Creates an AccountSigner for Polyester authentication without any RPC calls.\n *\n * This computes the Safe smart account address deterministically and produces\n * ERC-6492 wrapped signatures for counterfactual verification. The signature\n * matches what toSafeSmartAccount.signMessage() would produce for an undeployed Safe.\n *\n * For actual chain interactions (UserOperations), use createPolyesterSmartAccount instead.\n *\n * @param params - Owner account and optional salt nonce\n * @returns An AccountSigner that can be used for authentication\n */\nexport function createPolyesterAccountSigner(\n params: CreatePolyesterAccountSignerParams,\n): AccountSigner {\n const { environment, owner, saltNonce = 0n } = params;\n const {\n safeProxyFactoryAddress,\n safeSingletonAddress,\n safeModuleSetupAddress,\n safe4337ModuleAddress,\n multiSendAddress,\n } = environment.accountAbstraction.safe;\n const chainId = environment.chain.id;\n\n const predictParams: PredictSafeAddressParams = {\n owners: [owner.address],\n saltNonce,\n safeProxyFactoryAddress,\n safeSingletonAddress,\n safeModuleSetupAddress,\n safe4337ModuleAddress,\n multiSendAddress,\n };\n\n const { address, factoryCalldata } = predictSafeAddressWithData(predictParams);\n\n return {\n environmentFingerprint: environment.fingerprint,\n accountAddress: address as HexAddress,\n ownerAddress: owner.address as HexAddress,\n signMessage: async (message: string): Promise<Hex> => {\n // 1. hash the original message (what Safe calls generateSafeMessageMessage for strings)\n const messageHash = hashMessage(message);\n\n // 2. create EIP-712 typed data hash matching Safe's signMessage\n const safeMessageHash = hashTypedData({\n domain: {\n chainId,\n verifyingContract: address,\n },\n types: {\n SafeMessage: [{ name: \"message\", type: \"bytes\" }],\n },\n primaryType: \"SafeMessage\",\n message: {\n message: messageHash,\n },\n });\n\n // 3. sign the Safe message hash with raw bytes\n const ownerSignature = await owner.signMessage({\n message: { raw: toBytes(safeMessageHash) },\n });\n\n // 4. adjust V value for Safe's eth_sign verification\n const innerSignature = adjustVInSignature(ownerSignature as Hex);\n\n // 5. wrap in ERC-6492 format for counterfactual verification\n return wrapErc6492Signature(safeProxyFactoryAddress, factoryCalldata, innerSignature);\n },\n };\n}\n"],"mappings":";;;;AAUA,MAAM,uBACF;;;;;AAeJ,SAAS,mBAAmB,WAAqB;CAC7C,MAAM,oBAAoB;EAAC;EAAG;EAAG;EAAI;CAAE;CACvC,MAAM,mCAAmC;CAEzC,IAAI,aAAa,OAAO,SAAS,UAAU,MAAM,EAAE,GAAG,EAAE;CACxD,IAAI,CAAC,kBAAkB,SAAS,UAAU,GACtC,MAAM,IAAI,MAAM,2BAA2B;CAI/C,IAAI,aAAa,kCACb,cAAc;CAElB,cAAc;CAEd,OAAQ,UAAU,MAAM,GAAG,EAAE,IAAI,WAAW,SAAS,EAAE,CAAC,CAAC,SAAS,GAAG,GAAG;AAC5E;;;;;AAMA,SAAS,qBAAqB,gBAAyB,iBAAsB,WAAqB;CAC9F,MAAM,UAAU,oBACZ;EACI;GAAE,MAAM;GAAW,MAAM;EAAU;EACnC;GAAE,MAAM;GAAmB,MAAM;EAAQ;EACzC;GAAE,MAAM;GAAa,MAAM;EAAQ;CACvC,GACA;EAAC;EAAgB;EAAiB;CAAS,CAC/C;CACA,OAAO,OAAO,CAAC,SAAS,oBAAoB,CAAC;AACjD;;;;;;;;;;;;;AAcA,SAAgB,6BACZ,QACa;CACb,MAAM,EAAE,aAAa,OAAO,YAAY,OAAO;CAC/C,MAAM,EACF,yBACA,sBACA,wBACA,uBACA,qBACA,YAAY,mBAAmB;CACnC,MAAM,UAAU,YAAY,MAAM;CAElC,MAAM,gBAA0C;EAC5C,QAAQ,CAAC,MAAM,OAAO;EACtB;EACA;EACA;EACA;EACA;EACA;CACJ;CAEA,MAAM,EAAE,SAAS,oBAAoB,2BAA2B,aAAa;CAE7E,OAAO;EACH,wBAAwB,YAAY;EACpC,gBAAgB;EAChB,cAAc,MAAM;EACpB,aAAa,OAAO,YAAkC;GAElD,MAAM,cAAc,YAAY,OAAO;GAGvC,MAAM,kBAAkB,cAAc;IAClC,QAAQ;KACJ;KACA,mBAAmB;IACvB;IACA,OAAO,EACH,aAAa,CAAC;KAAE,MAAM;KAAW,MAAM;IAAQ,CAAC,EACpD;IACA,aAAa;IACb,SAAS,EACL,SAAS,YACb;GACJ,CAAC;GAQD,MAAM,iBAAiB,mBAAmB,MALb,MAAM,YAAY,EAC3C,SAAS,EAAE,KAAK,QAAQ,eAAe,EAAE,EAC7C,CAAC,CAG8D;GAG/D,OAAO,qBAAqB,yBAAyB,iBAAiB,cAAc;EACxF;CACJ;AACJ"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AccountSigner, AccountSignerConfig, AccountSignerFactory, HexAddress, isAccountSignerFactory, resolveAccountSigner } from "./types.js";
|
|
2
|
+
import { CreatePolyesterAccountSignerParams, createPolyesterAccountSigner } from "./create-polyester-account-signer.js";
|
|
3
|
+
export { type AccountSigner, type AccountSignerConfig, type AccountSignerFactory, type CreatePolyesterAccountSignerParams, type HexAddress, createPolyesterAccountSigner, isAccountSignerFactory, resolveAccountSigner };
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { encodeFunctionData, encodePacked, getAddress, getContractAddress, hexToBigInt, keccak256, zeroAddress } from "viem";
|
|
2
|
+
//#region src/account-signer/predict-safe-address.ts
|
|
3
|
+
/**
|
|
4
|
+
* SafeProxy creation bytecode from @safe-global/safe-contracts v1.4.1
|
|
5
|
+
*
|
|
6
|
+
* This must match the proxyCreationCode() return value from the SafeProxyFactory
|
|
7
|
+
* deployed at the environment's safeProxyFactoryAddress.
|
|
8
|
+
*
|
|
9
|
+
* The verification script at scripts/verify-safe-prediction.ts validates this.
|
|
10
|
+
*/
|
|
11
|
+
const SAFE_PROXY_CREATION_CODE = "0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea264697066735822122003d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f31441364736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564";
|
|
12
|
+
const multiSendAbi = [{
|
|
13
|
+
inputs: [{
|
|
14
|
+
internalType: "bytes",
|
|
15
|
+
name: "transactions",
|
|
16
|
+
type: "bytes"
|
|
17
|
+
}],
|
|
18
|
+
name: "multiSend",
|
|
19
|
+
outputs: [],
|
|
20
|
+
stateMutability: "payable",
|
|
21
|
+
type: "function"
|
|
22
|
+
}];
|
|
23
|
+
const enableModulesAbi = [{
|
|
24
|
+
inputs: [{
|
|
25
|
+
internalType: "address[]",
|
|
26
|
+
name: "modules",
|
|
27
|
+
type: "address[]"
|
|
28
|
+
}],
|
|
29
|
+
name: "enableModules",
|
|
30
|
+
outputs: [],
|
|
31
|
+
stateMutability: "nonpayable",
|
|
32
|
+
type: "function"
|
|
33
|
+
}];
|
|
34
|
+
const setupAbi = [{
|
|
35
|
+
inputs: [
|
|
36
|
+
{
|
|
37
|
+
internalType: "address[]",
|
|
38
|
+
name: "_owners",
|
|
39
|
+
type: "address[]"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
internalType: "uint256",
|
|
43
|
+
name: "_threshold",
|
|
44
|
+
type: "uint256"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
internalType: "address",
|
|
48
|
+
name: "to",
|
|
49
|
+
type: "address"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
internalType: "bytes",
|
|
53
|
+
name: "data",
|
|
54
|
+
type: "bytes"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
internalType: "address",
|
|
58
|
+
name: "fallbackHandler",
|
|
59
|
+
type: "address"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
internalType: "address",
|
|
63
|
+
name: "paymentToken",
|
|
64
|
+
type: "address"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
internalType: "uint256",
|
|
68
|
+
name: "payment",
|
|
69
|
+
type: "uint256"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
internalType: "address payable",
|
|
73
|
+
name: "paymentReceiver",
|
|
74
|
+
type: "address"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
name: "setup",
|
|
78
|
+
outputs: [],
|
|
79
|
+
stateMutability: "nonpayable",
|
|
80
|
+
type: "function"
|
|
81
|
+
}];
|
|
82
|
+
/**
|
|
83
|
+
* Encodes a single transaction for MultiSend.
|
|
84
|
+
* Matches permissionless encodeInternalTransaction exactly.
|
|
85
|
+
*/
|
|
86
|
+
function encodeInternalTransaction(tx) {
|
|
87
|
+
return encodePacked([
|
|
88
|
+
"uint8",
|
|
89
|
+
"address",
|
|
90
|
+
"uint256",
|
|
91
|
+
"uint256",
|
|
92
|
+
"bytes"
|
|
93
|
+
], [
|
|
94
|
+
tx.operation,
|
|
95
|
+
tx.to,
|
|
96
|
+
tx.value,
|
|
97
|
+
BigInt((tx.data.length - 2) / 2),
|
|
98
|
+
tx.data
|
|
99
|
+
]).slice(2);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Encodes multiple transactions into MultiSend calldata.
|
|
103
|
+
* Matches permissionless encodeMultiSend exactly.
|
|
104
|
+
*/
|
|
105
|
+
function encodeMultiSend(txs) {
|
|
106
|
+
const data = `0x${txs.map((tx) => encodeInternalTransaction(tx)).join("")}`;
|
|
107
|
+
return encodeFunctionData({
|
|
108
|
+
abi: multiSendAbi,
|
|
109
|
+
functionName: "multiSend",
|
|
110
|
+
args: [data]
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Builds the Safe setup initializer for non-ERC7579 path.
|
|
115
|
+
* Matches permissionless getInitializerCode (non-7579 branch) exactly.
|
|
116
|
+
*/
|
|
117
|
+
function getInitializerNon7579(params) {
|
|
118
|
+
const { owners, threshold, safeModuleSetupAddress, safe4337ModuleAddress, multiSendAddress, paymentToken = zeroAddress, payment = 0n, paymentReceiver = zeroAddress, safeModules = [], setupTransactions = [] } = params;
|
|
119
|
+
const multiSendCallData = encodeMultiSend([{
|
|
120
|
+
to: safeModuleSetupAddress,
|
|
121
|
+
data: encodeFunctionData({
|
|
122
|
+
abi: enableModulesAbi,
|
|
123
|
+
functionName: "enableModules",
|
|
124
|
+
args: [[safe4337ModuleAddress, ...safeModules]]
|
|
125
|
+
}),
|
|
126
|
+
value: 0n,
|
|
127
|
+
operation: 1
|
|
128
|
+
}, ...setupTransactions.map((tx) => ({
|
|
129
|
+
...tx,
|
|
130
|
+
operation: 0
|
|
131
|
+
}))]);
|
|
132
|
+
return encodeFunctionData({
|
|
133
|
+
abi: setupAbi,
|
|
134
|
+
functionName: "setup",
|
|
135
|
+
args: [
|
|
136
|
+
owners,
|
|
137
|
+
threshold,
|
|
138
|
+
multiSendAddress,
|
|
139
|
+
multiSendCallData,
|
|
140
|
+
safe4337ModuleAddress,
|
|
141
|
+
paymentToken,
|
|
142
|
+
payment,
|
|
143
|
+
paymentReceiver
|
|
144
|
+
]
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
const createProxyWithNonceAbi = [{
|
|
148
|
+
inputs: [
|
|
149
|
+
{
|
|
150
|
+
internalType: "address",
|
|
151
|
+
name: "_singleton",
|
|
152
|
+
type: "address"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
internalType: "bytes",
|
|
156
|
+
name: "initializer",
|
|
157
|
+
type: "bytes"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
internalType: "uint256",
|
|
161
|
+
name: "saltNonce",
|
|
162
|
+
type: "uint256"
|
|
163
|
+
}
|
|
164
|
+
],
|
|
165
|
+
name: "createProxyWithNonce",
|
|
166
|
+
outputs: [{
|
|
167
|
+
internalType: "contract SafeProxy",
|
|
168
|
+
name: "proxy",
|
|
169
|
+
type: "address"
|
|
170
|
+
}],
|
|
171
|
+
stateMutability: "nonpayable",
|
|
172
|
+
type: "function"
|
|
173
|
+
}];
|
|
174
|
+
/**
|
|
175
|
+
* Computes the deterministic Safe smart account address without any RPC calls.
|
|
176
|
+
*
|
|
177
|
+
* This uses the same CREATE2 address derivation algorithm as permissionless@0.2.31:
|
|
178
|
+
* 1. Build Safe setup initializer
|
|
179
|
+
* 2. Compute deploymentCode = proxyCreationCode + singleton address
|
|
180
|
+
* 3. Compute salt = keccak256(keccak256(initializer) + saltNonce)
|
|
181
|
+
* 4. Compute CREATE2 address
|
|
182
|
+
*
|
|
183
|
+
* @param params - Safe account configuration
|
|
184
|
+
* @returns The predicted Safe smart account address
|
|
185
|
+
*/
|
|
186
|
+
function predictSafeAddress(params) {
|
|
187
|
+
return predictSafeAddressWithData(params).address;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Computes the deterministic Safe smart account address and returns data
|
|
191
|
+
* needed for ERC-6492 counterfactual signature verification.
|
|
192
|
+
*
|
|
193
|
+
* @param params - Safe account configuration
|
|
194
|
+
* @returns Address, initializer, and factory calldata
|
|
195
|
+
*/
|
|
196
|
+
function predictSafeAddressWithData(params) {
|
|
197
|
+
const { owners, threshold = BigInt(owners.length), saltNonce = 0n, safeProxyFactoryAddress, safeSingletonAddress, safeModuleSetupAddress, safe4337ModuleAddress, multiSendAddress } = params;
|
|
198
|
+
const initializer = getInitializerNon7579({
|
|
199
|
+
owners,
|
|
200
|
+
threshold,
|
|
201
|
+
safeModuleSetupAddress,
|
|
202
|
+
safe4337ModuleAddress,
|
|
203
|
+
multiSendAddress
|
|
204
|
+
});
|
|
205
|
+
const factoryCalldata = encodeFunctionData({
|
|
206
|
+
abi: createProxyWithNonceAbi,
|
|
207
|
+
functionName: "createProxyWithNonce",
|
|
208
|
+
args: [
|
|
209
|
+
safeSingletonAddress,
|
|
210
|
+
initializer,
|
|
211
|
+
saltNonce
|
|
212
|
+
]
|
|
213
|
+
});
|
|
214
|
+
const deploymentCode = encodePacked(["bytes", "uint256"], [SAFE_PROXY_CREATION_CODE, hexToBigInt(safeSingletonAddress)]);
|
|
215
|
+
const salt = keccak256(encodePacked(["bytes32", "uint256"], [keccak256(encodePacked(["bytes"], [initializer])), saltNonce]));
|
|
216
|
+
return {
|
|
217
|
+
address: getAddress(getContractAddress({
|
|
218
|
+
from: safeProxyFactoryAddress,
|
|
219
|
+
salt,
|
|
220
|
+
bytecode: deploymentCode,
|
|
221
|
+
opcode: "CREATE2"
|
|
222
|
+
})),
|
|
223
|
+
initializer,
|
|
224
|
+
factoryCalldata
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
//#endregion
|
|
228
|
+
export { SAFE_PROXY_CREATION_CODE, predictSafeAddress, predictSafeAddressWithData };
|
|
229
|
+
|
|
230
|
+
//# sourceMappingURL=predict-safe-address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"predict-safe-address.js","names":[],"sources":["../../src/account-signer/predict-safe-address.ts"],"sourcesContent":["import {\n type Address,\n type Hex,\n encodeFunctionData,\n encodePacked,\n getAddress,\n getContractAddress,\n hexToBigInt,\n keccak256,\n zeroAddress,\n} from \"viem\";\n\n/**\n * SafeProxy creation bytecode from @safe-global/safe-contracts v1.4.1\n *\n * This must match the proxyCreationCode() return value from the SafeProxyFactory\n * deployed at the environment's safeProxyFactoryAddress.\n *\n * The verification script at scripts/verify-safe-prediction.ts validates this.\n */\nconst SAFE_PROXY_CREATION_CODE: Hex =\n \"0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea264697066735822122003d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f31441364736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564\";\n\n// ABIs copied from permissionless to ensure exact encoding match\n\nconst multiSendAbi = [\n {\n inputs: [{ internalType: \"bytes\", name: \"transactions\", type: \"bytes\" }],\n name: \"multiSend\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n] as const;\n\nconst enableModulesAbi = [\n {\n inputs: [{ internalType: \"address[]\", name: \"modules\", type: \"address[]\" }],\n name: \"enableModules\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n] as const;\n\nconst setupAbi = [\n {\n inputs: [\n { internalType: \"address[]\", name: \"_owners\", type: \"address[]\" },\n { internalType: \"uint256\", name: \"_threshold\", type: \"uint256\" },\n { internalType: \"address\", name: \"to\", type: \"address\" },\n { internalType: \"bytes\", name: \"data\", type: \"bytes\" },\n { internalType: \"address\", name: \"fallbackHandler\", type: \"address\" },\n { internalType: \"address\", name: \"paymentToken\", type: \"address\" },\n { internalType: \"uint256\", name: \"payment\", type: \"uint256\" },\n { internalType: \"address payable\", name: \"paymentReceiver\", type: \"address\" },\n ],\n name: \"setup\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n] as const;\n\ninterface InternalTransaction {\n to: Address;\n data: Hex;\n value: bigint;\n operation: 0 | 1;\n}\n\n/**\n * Encodes a single transaction for MultiSend.\n * Matches permissionless encodeInternalTransaction exactly.\n */\nfunction encodeInternalTransaction(tx: InternalTransaction): string {\n const encoded = encodePacked(\n [\"uint8\", \"address\", \"uint256\", \"uint256\", \"bytes\"],\n [tx.operation, tx.to, tx.value, BigInt((tx.data.length - 2) / 2), tx.data],\n );\n return encoded.slice(2);\n}\n\n/**\n * Encodes multiple transactions into MultiSend calldata.\n * Matches permissionless encodeMultiSend exactly.\n */\nfunction encodeMultiSend(txs: InternalTransaction[]): Hex {\n const data: Hex = `0x${txs.map((tx) => encodeInternalTransaction(tx)).join(\"\")}`;\n return encodeFunctionData({\n abi: multiSendAbi,\n functionName: \"multiSend\",\n args: [data],\n });\n}\n\nexport interface GetInitializerParams {\n owners: Address[];\n threshold: bigint;\n safeModuleSetupAddress: Address;\n safe4337ModuleAddress: Address;\n multiSendAddress: Address;\n paymentToken?: Address;\n payment?: bigint;\n paymentReceiver?: Address;\n safeModules?: Address[];\n setupTransactions?: { to: Address; data: Hex; value: bigint }[];\n}\n\n/**\n * Builds the Safe setup initializer for non-ERC7579 path.\n * Matches permissionless getInitializerCode (non-7579 branch) exactly.\n */\nfunction getInitializerNon7579(params: GetInitializerParams): Hex {\n const {\n owners,\n threshold,\n safeModuleSetupAddress,\n safe4337ModuleAddress,\n multiSendAddress,\n paymentToken = zeroAddress,\n payment = 0n,\n paymentReceiver = zeroAddress,\n safeModules = [],\n setupTransactions = [],\n } = params;\n\n const multiCalls: InternalTransaction[] = [\n {\n to: safeModuleSetupAddress,\n data: encodeFunctionData({\n abi: enableModulesAbi,\n functionName: \"enableModules\",\n args: [[safe4337ModuleAddress, ...safeModules]],\n }),\n value: 0n,\n operation: 1,\n },\n ...setupTransactions.map((tx) => ({ ...tx, operation: 0 as const })),\n ];\n\n const multiSendCallData = encodeMultiSend(multiCalls);\n\n return encodeFunctionData({\n abi: setupAbi,\n functionName: \"setup\",\n args: [\n owners,\n threshold,\n multiSendAddress,\n multiSendCallData,\n safe4337ModuleAddress,\n paymentToken,\n payment,\n paymentReceiver,\n ],\n });\n}\n\nconst createProxyWithNonceAbi = [\n {\n inputs: [\n { internalType: \"address\", name: \"_singleton\", type: \"address\" },\n { internalType: \"bytes\", name: \"initializer\", type: \"bytes\" },\n { internalType: \"uint256\", name: \"saltNonce\", type: \"uint256\" },\n ],\n name: \"createProxyWithNonce\",\n outputs: [{ internalType: \"contract SafeProxy\", name: \"proxy\", type: \"address\" }],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n] as const;\n\nexport interface PredictSafeAddressParams {\n owners: Address[];\n threshold?: bigint;\n saltNonce?: bigint;\n safeProxyFactoryAddress: Address;\n safeSingletonAddress: Address;\n safeModuleSetupAddress: Address;\n safe4337ModuleAddress: Address;\n multiSendAddress: Address;\n}\n\nexport interface PredictSafeAddressResult {\n address: Address;\n initializer: Hex;\n factoryCalldata: Hex;\n}\n\n/**\n * Computes the deterministic Safe smart account address without any RPC calls.\n *\n * This uses the same CREATE2 address derivation algorithm as permissionless@0.2.31:\n * 1. Build Safe setup initializer\n * 2. Compute deploymentCode = proxyCreationCode + singleton address\n * 3. Compute salt = keccak256(keccak256(initializer) + saltNonce)\n * 4. Compute CREATE2 address\n *\n * @param params - Safe account configuration\n * @returns The predicted Safe smart account address\n */\nexport function predictSafeAddress(params: PredictSafeAddressParams): Address {\n return predictSafeAddressWithData(params).address;\n}\n\n/**\n * Computes the deterministic Safe smart account address and returns data\n * needed for ERC-6492 counterfactual signature verification.\n *\n * @param params - Safe account configuration\n * @returns Address, initializer, and factory calldata\n */\nexport function predictSafeAddressWithData(\n params: PredictSafeAddressParams,\n): PredictSafeAddressResult {\n const {\n owners,\n threshold = BigInt(owners.length),\n saltNonce = 0n,\n safeProxyFactoryAddress,\n safeSingletonAddress,\n safeModuleSetupAddress,\n safe4337ModuleAddress,\n multiSendAddress,\n } = params;\n\n const initializer = getInitializerNon7579({\n owners,\n threshold,\n safeModuleSetupAddress,\n safe4337ModuleAddress,\n multiSendAddress,\n });\n\n const factoryCalldata = encodeFunctionData({\n abi: createProxyWithNonceAbi,\n functionName: \"createProxyWithNonce\",\n args: [safeSingletonAddress, initializer, saltNonce],\n });\n\n const deploymentCode = encodePacked(\n [\"bytes\", \"uint256\"],\n [SAFE_PROXY_CREATION_CODE, hexToBigInt(safeSingletonAddress)],\n );\n\n const salt = keccak256(\n encodePacked(\n [\"bytes32\", \"uint256\"],\n [keccak256(encodePacked([\"bytes\"], [initializer])), saltNonce],\n ),\n );\n\n const address = getAddress(\n getContractAddress({\n from: safeProxyFactoryAddress,\n salt,\n bytecode: deploymentCode,\n opcode: \"CREATE2\",\n }),\n );\n\n return { address, initializer, factoryCalldata };\n}\n\nexport { SAFE_PROXY_CREATION_CODE };\n"],"mappings":";;;;;;;;;;AAoBA,MAAM,2BACF;AAIJ,MAAM,eAAe,CACjB;CACI,QAAQ,CAAC;EAAE,cAAc;EAAS,MAAM;EAAgB,MAAM;CAAQ,CAAC;CACvE,MAAM;CACN,SAAS,CAAC;CACV,iBAAiB;CACjB,MAAM;AACV,CACJ;AAEA,MAAM,mBAAmB,CACrB;CACI,QAAQ,CAAC;EAAE,cAAc;EAAa,MAAM;EAAW,MAAM;CAAY,CAAC;CAC1E,MAAM;CACN,SAAS,CAAC;CACV,iBAAiB;CACjB,MAAM;AACV,CACJ;AAEA,MAAM,WAAW,CACb;CACI,QAAQ;EACJ;GAAE,cAAc;GAAa,MAAM;GAAW,MAAM;EAAY;EAChE;GAAE,cAAc;GAAW,MAAM;GAAc,MAAM;EAAU;EAC/D;GAAE,cAAc;GAAW,MAAM;GAAM,MAAM;EAAU;EACvD;GAAE,cAAc;GAAS,MAAM;GAAQ,MAAM;EAAQ;EACrD;GAAE,cAAc;GAAW,MAAM;GAAmB,MAAM;EAAU;EACpE;GAAE,cAAc;GAAW,MAAM;GAAgB,MAAM;EAAU;EACjE;GAAE,cAAc;GAAW,MAAM;GAAW,MAAM;EAAU;EAC5D;GAAE,cAAc;GAAmB,MAAM;GAAmB,MAAM;EAAU;CAChF;CACA,MAAM;CACN,SAAS,CAAC;CACV,iBAAiB;CACjB,MAAM;AACV,CACJ;;;;;AAaA,SAAS,0BAA0B,IAAiC;CAKhE,OAJgB,aACZ;EAAC;EAAS;EAAW;EAAW;EAAW;CAAO,GAClD;EAAC,GAAG;EAAW,GAAG;EAAI,GAAG;EAAO,QAAQ,GAAG,KAAK,SAAS,KAAK,CAAC;EAAG,GAAG;CAAI,CAEhE,CAAC,CAAC,MAAM,CAAC;AAC1B;;;;;AAMA,SAAS,gBAAgB,KAAiC;CACtD,MAAM,OAAY,KAAK,IAAI,KAAK,OAAO,0BAA0B,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE;CAC7E,OAAO,mBAAmB;EACtB,KAAK;EACL,cAAc;EACd,MAAM,CAAC,IAAI;CACf,CAAC;AACL;;;;;AAmBA,SAAS,sBAAsB,QAAmC;CAC9D,MAAM,EACF,QACA,WACA,wBACA,uBACA,kBACA,eAAe,aACf,UAAU,IACV,kBAAkB,aAClB,cAAc,CAAC,GACf,oBAAoB,CAAC,MACrB;CAgBJ,MAAM,oBAAoB,gBAAgB,CAbtC;EACI,IAAI;EACJ,MAAM,mBAAmB;GACrB,KAAK;GACL,cAAc;GACd,MAAM,CAAC,CAAC,uBAAuB,GAAG,WAAW,CAAC;EAClD,CAAC;EACD,OAAO;EACP,WAAW;CACf,GACA,GAAG,kBAAkB,KAAK,QAAQ;EAAE,GAAG;EAAI,WAAW;CAAW,EAAE,CAGpB,CAAC;CAEpD,OAAO,mBAAmB;EACtB,KAAK;EACL,cAAc;EACd,MAAM;GACF;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACJ;CACJ,CAAC;AACL;AAEA,MAAM,0BAA0B,CAC5B;CACI,QAAQ;EACJ;GAAE,cAAc;GAAW,MAAM;GAAc,MAAM;EAAU;EAC/D;GAAE,cAAc;GAAS,MAAM;GAAe,MAAM;EAAQ;EAC5D;GAAE,cAAc;GAAW,MAAM;GAAa,MAAM;EAAU;CAClE;CACA,MAAM;CACN,SAAS,CAAC;EAAE,cAAc;EAAsB,MAAM;EAAS,MAAM;CAAU,CAAC;CAChF,iBAAiB;CACjB,MAAM;AACV,CACJ;;;;;;;;;;;;;AA+BA,SAAgB,mBAAmB,QAA2C;CAC1E,OAAO,2BAA2B,MAAM,CAAC,CAAC;AAC9C;;;;;;;;AASA,SAAgB,2BACZ,QACwB;CACxB,MAAM,EACF,QACA,YAAY,OAAO,OAAO,MAAM,GAChC,YAAY,IACZ,yBACA,sBACA,wBACA,uBACA,qBACA;CAEJ,MAAM,cAAc,sBAAsB;EACtC;EACA;EACA;EACA;EACA;CACJ,CAAC;CAED,MAAM,kBAAkB,mBAAmB;EACvC,KAAK;EACL,cAAc;EACd,MAAM;GAAC;GAAsB;GAAa;EAAS;CACvD,CAAC;CAED,MAAM,iBAAiB,aACnB,CAAC,SAAS,SAAS,GACnB,CAAC,0BAA0B,YAAY,oBAAoB,CAAC,CAChE;CAEA,MAAM,OAAO,UACT,aACI,CAAC,WAAW,SAAS,GACrB,CAAC,UAAU,aAAa,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,SAAS,CACjE,CACJ;CAWA,OAAO;EAAE,SATO,WACZ,mBAAmB;GACf,MAAM;GACN;GACA,UAAU;GACV,QAAQ;EACZ,CAAC,CAGU;EAAG;EAAa;CAAgB;AACnD"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Hex } from "viem";
|
|
2
|
+
//#region src/account-signer/types.d.ts
|
|
3
|
+
type HexAddress = `0x${string}`;
|
|
4
|
+
/**
|
|
5
|
+
* Minimal account signer interface for SDK operations.
|
|
6
|
+
*
|
|
7
|
+
* The SDK authenticates the Polyester smart account address. The owner address
|
|
8
|
+
* is optional metadata about the EOA or custody provider that controls it.
|
|
9
|
+
*/
|
|
10
|
+
interface AccountSigner {
|
|
11
|
+
/** Fingerprint of the PolyesterEnvironment this signer was created for */
|
|
12
|
+
readonly environmentFingerprint: string;
|
|
13
|
+
/** The smart account address (used for authentication and trading) */
|
|
14
|
+
readonly accountAddress: HexAddress;
|
|
15
|
+
/** The owner/EOA address (optional metadata about the controlling signer) */
|
|
16
|
+
readonly ownerAddress?: HexAddress;
|
|
17
|
+
/** Sign a message and return the signature */
|
|
18
|
+
signMessage(message: string): Promise<Hex>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Factory function type for lazy account signer initialization.
|
|
22
|
+
* Useful when the signer might not be available at client creation time.
|
|
23
|
+
*/
|
|
24
|
+
type AccountSignerFactory = () => AccountSigner | null | Promise<AccountSigner | null>;
|
|
25
|
+
/**
|
|
26
|
+
* Account signer configuration for the client.
|
|
27
|
+
* Can be a signer instance or a factory for lazy initialization.
|
|
28
|
+
*/
|
|
29
|
+
type AccountSignerConfig = AccountSigner | AccountSignerFactory;
|
|
30
|
+
/**
|
|
31
|
+
* Helper to check if an account signer config is a factory function.
|
|
32
|
+
*/
|
|
33
|
+
declare function isAccountSignerFactory(config: AccountSignerConfig): config is AccountSignerFactory;
|
|
34
|
+
/**
|
|
35
|
+
* Helper to resolve an account signer from config.
|
|
36
|
+
*/
|
|
37
|
+
declare function resolveAccountSigner(config: AccountSignerConfig | undefined): Promise<AccountSigner | null>;
|
|
38
|
+
//#endregion
|
|
39
|
+
export { AccountSigner, AccountSignerConfig, AccountSignerFactory, HexAddress, isAccountSignerFactory, resolveAccountSigner };
|
|
40
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../src/account-signer/types.ts"],"mappings":";;KAGY;;;;;;;UAQK;;WAEJ;;WAGA,gBAAgB;;WAGhB,eAAe;;EAGxB,YAAY,kBAAkB,QAAQ;;;;;;KAO9B,6BAA6B,uBAAuB,QAAQ;;;;;KAM5D,sBAAsB,gBAAgB;;;;iBAKlC,uBACZ,QAAQ,sBACT,UAAU;;;;iBAsBS,qBAClB,QAAQ,kCACT,QAAQ"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { isEvmAddress } from "../utils/evm.js";
|
|
2
|
+
//#region src/account-signer/types.ts
|
|
3
|
+
/**
|
|
4
|
+
* Helper to check if an account signer config is a factory function.
|
|
5
|
+
*/
|
|
6
|
+
function isAccountSignerFactory(config) {
|
|
7
|
+
return typeof config === "function";
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Asserts that a value implements the account signer contract.
|
|
11
|
+
*/
|
|
12
|
+
function assertAccountSigner(value) {
|
|
13
|
+
if (!value.environmentFingerprint) throw new Error("Account signer must include an environmentFingerprint.");
|
|
14
|
+
if (!isEvmAddress(value.accountAddress)) throw new Error("Account signer must include a valid accountAddress.");
|
|
15
|
+
if (value.ownerAddress && !isEvmAddress(value.ownerAddress)) throw new Error("Account signer ownerAddress must be a valid address.");
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Helper to resolve an account signer from config.
|
|
19
|
+
*/
|
|
20
|
+
async function resolveAccountSigner(config) {
|
|
21
|
+
if (!config) return null;
|
|
22
|
+
const accountSigner = isAccountSignerFactory(config) ? await config() : config;
|
|
23
|
+
if (accountSigner) assertAccountSigner(accountSigner);
|
|
24
|
+
return accountSigner;
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { assertAccountSigner, isAccountSignerFactory, resolveAccountSigner };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../src/account-signer/types.ts"],"sourcesContent":["import type { Hex } from \"viem\";\nimport { isEvmAddress } from \"../utils/evm.js\";\n\nexport type HexAddress = `0x${string}`;\n\n/**\n * Minimal account signer interface for SDK operations.\n *\n * The SDK authenticates the Polyester smart account address. The owner address\n * is optional metadata about the EOA or custody provider that controls it.\n */\nexport interface AccountSigner {\n /** Fingerprint of the PolyesterEnvironment this signer was created for */\n readonly environmentFingerprint: string;\n\n /** The smart account address (used for authentication and trading) */\n readonly accountAddress: HexAddress;\n\n /** The owner/EOA address (optional metadata about the controlling signer) */\n readonly ownerAddress?: HexAddress;\n\n /** Sign a message and return the signature */\n signMessage(message: string): Promise<Hex>;\n}\n\n/**\n * Factory function type for lazy account signer initialization.\n * Useful when the signer might not be available at client creation time.\n */\nexport type AccountSignerFactory = () => AccountSigner | null | Promise<AccountSigner | null>;\n\n/**\n * Account signer configuration for the client.\n * Can be a signer instance or a factory for lazy initialization.\n */\nexport type AccountSignerConfig = AccountSigner | AccountSignerFactory;\n\n/**\n * Helper to check if an account signer config is a factory function.\n */\nexport function isAccountSignerFactory(\n config: AccountSignerConfig,\n): config is AccountSignerFactory {\n return typeof config === \"function\";\n}\n\n/**\n * Asserts that a value implements the account signer contract.\n */\nexport function assertAccountSigner(value: AccountSigner): void {\n if (!value.environmentFingerprint) {\n throw new Error(\"Account signer must include an environmentFingerprint.\");\n }\n if (!isEvmAddress(value.accountAddress)) {\n throw new Error(\"Account signer must include a valid accountAddress.\");\n }\n if (value.ownerAddress && !isEvmAddress(value.ownerAddress)) {\n throw new Error(\"Account signer ownerAddress must be a valid address.\");\n }\n}\n\n/**\n * Helper to resolve an account signer from config.\n */\nexport async function resolveAccountSigner(\n config: AccountSignerConfig | undefined,\n): Promise<AccountSigner | null> {\n if (!config) return null;\n const accountSigner = isAccountSignerFactory(config) ? await config() : config;\n if (accountSigner) assertAccountSigner(accountSigner);\n return accountSigner;\n}\n"],"mappings":";;;;;AAwCA,SAAgB,uBACZ,QAC8B;CAC9B,OAAO,OAAO,WAAW;AAC7B;;;;AAKA,SAAgB,oBAAoB,OAA4B;CAC5D,IAAI,CAAC,MAAM,wBACP,MAAM,IAAI,MAAM,wDAAwD;CAE5E,IAAI,CAAC,aAAa,MAAM,cAAc,GAClC,MAAM,IAAI,MAAM,qDAAqD;CAEzE,IAAI,MAAM,gBAAgB,CAAC,aAAa,MAAM,YAAY,GACtD,MAAM,IAAI,MAAM,sDAAsD;AAE9E;;;;AAKA,eAAsB,qBAClB,QAC6B;CAC7B,IAAI,CAAC,QAAQ,OAAO;CACpB,MAAM,gBAAgB,uBAAuB,MAAM,IAAI,MAAM,OAAO,IAAI;CACxE,IAAI,eAAe,oBAAoB,aAAa;CACpD,OAAO;AACX"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { AccountSigner, AccountSignerConfig } from "./account-signer/types.js";
|
|
2
|
+
import { SubaccountResolver } from "./services/subaccount-resolver.js";
|
|
3
|
+
import { PolyesterClient, PolyesterClientBaseConfig } from "./core-client.js";
|
|
4
|
+
import { AuthTokenStorage } from "./services/auth/token-storage.js";
|
|
5
|
+
import { AccountSignerAuthService } from "./services/auth/account-signer-auth.js";
|
|
6
|
+
//#region src/browser-client.d.ts
|
|
7
|
+
interface PolyesterBrowserClientConfig extends Omit<PolyesterClientBaseConfig, "auth"> {
|
|
8
|
+
/**
|
|
9
|
+
* Account signer interface for authentication.
|
|
10
|
+
* Pass a signer object or a factory function for lazy initialization.
|
|
11
|
+
*/
|
|
12
|
+
accountSigner?: AccountSignerConfig;
|
|
13
|
+
/**
|
|
14
|
+
* Storage for browser bearer tokens. Defaults to per-client memory storage.
|
|
15
|
+
* Use createCookieAuthTokenStorage() to opt into reload/SSR persistence.
|
|
16
|
+
*/
|
|
17
|
+
tokenStorage?: AuthTokenStorage;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A client for interacting with the Polyester DEX in the browser.
|
|
21
|
+
*/
|
|
22
|
+
declare class PolyesterBrowserClient extends PolyesterClient {
|
|
23
|
+
get auth(): AccountSignerAuthService;
|
|
24
|
+
constructor(config: PolyesterBrowserClientConfig);
|
|
25
|
+
/**
|
|
26
|
+
* Creates a resolver that defaults subaccountId to the active subaccount.
|
|
27
|
+
* The getter is called lazily when service methods are invoked.
|
|
28
|
+
*/
|
|
29
|
+
protected createSubaccountResolver(): SubaccountResolver;
|
|
30
|
+
/**
|
|
31
|
+
* Sets the account signer used for authenticated browser requests.
|
|
32
|
+
*/
|
|
33
|
+
setAccountSigner(accountSigner: AccountSigner | null): void;
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { PolyesterBrowserClient, PolyesterBrowserClientConfig };
|
|
37
|
+
//# sourceMappingURL=browser-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-client.d.ts","names":[],"sources":["../src/browser-client.ts"],"mappings":";;;;;;UAUiB,qCAAqC,KAAK;;;;;EAKvD,gBAAgB;;;;;EAKhB,eAAe;;;;;cAMN,+BAA+B;MAI3B,QAAQ;EAIT,YAAA,QAAQ;;;;;YA0CD,4BAA4B;;;;EAiB/C,iBAAiB,eAAe"}
|