@polyester/sdk 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +44 -0
- package/README.md +63 -17
- package/dist/_virtual/_rolldown/runtime.js +15 -1
- package/dist/account-signer/types.d.ts.map +1 -1
- package/dist/account-signer/types.js +6 -3
- package/dist/account-signer/types.js.map +1 -1
- package/dist/browser-client.d.ts +4 -2
- package/dist/browser-client.d.ts.map +1 -1
- package/dist/browser-client.js +3 -4
- package/dist/browser-client.js.map +1 -1
- package/dist/catalogs/client-catalog.d.ts.map +1 -1
- package/dist/catalogs/client-catalog.js +11 -4
- package/dist/catalogs/client-catalog.js.map +1 -1
- package/dist/catalogs/index.js +1 -1
- package/dist/catalogs/readers.d.ts.map +1 -1
- package/dist/catalogs/readers.js +3 -1
- package/dist/catalogs/readers.js.map +1 -1
- package/dist/catalogs/snapshot-validation.js +132 -0
- package/dist/catalogs/snapshot-validation.js.map +1 -0
- package/dist/catalogs/snapshot.d.ts.map +1 -1
- package/dist/catalogs/snapshot.js +16 -7
- package/dist/catalogs/snapshot.js.map +1 -1
- package/dist/catalogs/zipper-supply.d.ts.map +1 -1
- package/dist/catalogs/zipper-supply.js +10 -7
- package/dist/catalogs/zipper-supply.js.map +1 -1
- package/dist/core-client.d.ts +24 -17
- package/dist/core-client.d.ts.map +1 -1
- package/dist/core-client.js +21 -3
- package/dist/core-client.js.map +1 -1
- package/dist/environment.d.ts.map +1 -1
- package/dist/environment.js +32 -1
- package/dist/environment.js.map +1 -1
- package/dist/gen/marketoverview/v1/marketoverview_pb.d.ts +7 -0
- package/dist/gen/marketoverview/v1/marketoverview_pb.d.ts.map +1 -1
- package/dist/gen/marketoverview/v1/marketoverview_pb.js +1 -1
- package/dist/gen/marketoverview/v1/marketoverview_pb.js.map +1 -1
- package/dist/index.js +3 -3
- package/dist/realtime/client.js +13 -2
- package/dist/realtime/client.js.map +1 -1
- package/dist/realtime/snapshot-then-stream.js +1 -1
- package/dist/realtime/snapshot-then-stream.js.map +1 -1
- package/dist/realtime/types.d.ts +2 -0
- package/dist/realtime/types.d.ts.map +1 -1
- package/dist/server-client.d.ts +17 -8
- package/dist/server-client.d.ts.map +1 -1
- package/dist/server-client.js +8 -11
- package/dist/server-client.js.map +1 -1
- package/dist/services/accounts/accounts.js +3 -3
- package/dist/services/accounts/accounts.js.map +1 -1
- package/dist/services/accounts/accounts.schemas.d.ts +13 -13
- package/dist/services/accounts/accounts.schemas.d.ts.map +1 -1
- package/dist/services/accounts/accounts.schemas.js +11 -11
- package/dist/services/accounts/accounts.schemas.js.map +1 -1
- package/dist/services/address-book/address-book.js +28 -28
- package/dist/services/address-book/address-book.js.map +1 -1
- package/dist/services/address-book/address-book.schemas.d.ts +751 -751
- package/dist/services/address-book/address-book.schemas.d.ts.map +1 -1
- package/dist/services/address-book/address-book.schemas.js +160 -160
- package/dist/services/address-book/address-book.schemas.js.map +1 -1
- package/dist/services/api-keys/api-keys.d.ts +6 -6
- package/dist/services/api-keys/api-keys.d.ts.map +1 -1
- package/dist/services/api-keys/api-keys.js +12 -12
- package/dist/services/api-keys/api-keys.js.map +1 -1
- package/dist/services/api-keys/api-keys.schemas.d.ts +62 -62
- package/dist/services/api-keys/api-keys.schemas.d.ts.map +1 -1
- package/dist/services/api-keys/api-keys.schemas.js +34 -34
- package/dist/services/api-keys/api-keys.schemas.js.map +1 -1
- package/dist/services/auth/auth.d.ts +46 -40
- package/dist/services/auth/auth.d.ts.map +1 -1
- package/dist/services/auth/auth.js +28 -25
- package/dist/services/auth/auth.js.map +1 -1
- package/dist/services/auth/profile/profile.d.ts +2 -2
- package/dist/services/auth/profile/profile.d.ts.map +1 -1
- package/dist/services/auth/profile/profile.js +7 -7
- package/dist/services/auth/profile/profile.js.map +1 -1
- package/dist/services/auth/profile/profile.schemas.d.ts +41 -41
- package/dist/services/auth/profile/profile.schemas.d.ts.map +1 -1
- package/dist/services/auth/profile/profile.schemas.js +27 -27
- package/dist/services/auth/profile/profile.schemas.js.map +1 -1
- package/dist/services/auth/session.d.ts +1 -1
- package/dist/services/auth/session.d.ts.map +1 -1
- package/dist/services/auth/session.js +6 -2
- package/dist/services/auth/session.js.map +1 -1
- package/dist/services/auth/session.schemas.js +17 -17
- package/dist/services/auth/session.schemas.js.map +1 -1
- package/dist/services/auth/session.types.d.ts +3 -2
- package/dist/services/auth/session.types.d.ts.map +1 -1
- package/dist/services/balances/balances.d.ts +1 -1
- package/dist/services/balances/balances.js +9 -9
- package/dist/services/balances/balances.js.map +1 -1
- package/dist/services/balances/balances.schemas.d.ts +95 -95
- package/dist/services/balances/balances.schemas.d.ts.map +1 -1
- package/dist/services/balances/balances.schemas.js +61 -61
- package/dist/services/balances/balances.schemas.js.map +1 -1
- package/dist/services/candles/candles.js +12 -12
- package/dist/services/candles/candles.js.map +1 -1
- package/dist/services/candles/candles.schemas.d.ts +64 -64
- package/dist/services/candles/candles.schemas.d.ts.map +1 -1
- package/dist/services/candles/candles.schemas.js +47 -48
- package/dist/services/candles/candles.schemas.js.map +1 -1
- package/dist/services/chain-analytics/chain-analytics.js +7 -7
- package/dist/services/chain-analytics/chain-analytics.js.map +1 -1
- package/dist/services/chain-analytics/chain-analytics.schemas.d.ts +68 -68
- package/dist/services/chain-analytics/chain-analytics.schemas.d.ts.map +1 -1
- package/dist/services/chain-analytics/chain-analytics.schemas.js +29 -29
- package/dist/services/chain-analytics/chain-analytics.schemas.js.map +1 -1
- package/dist/services/deposit/deposit.js +5 -5
- package/dist/services/deposit/deposit.js.map +1 -1
- package/dist/services/deposit/deposit.schemas.d.ts +17 -17
- package/dist/services/deposit/deposit.schemas.d.ts.map +1 -1
- package/dist/services/deposit/deposit.schemas.js +11 -11
- package/dist/services/deposit/deposit.schemas.js.map +1 -1
- package/dist/services/guard-signer/guard-signer.js +13 -13
- package/dist/services/guard-signer/guard-signer.js.map +1 -1
- package/dist/services/guard-signer/guard-signer.schemas.d.ts +75 -75
- package/dist/services/guard-signer/guard-signer.schemas.d.ts.map +1 -1
- package/dist/services/guard-signer/guard-signer.schemas.js +42 -42
- package/dist/services/guard-signer/guard-signer.schemas.js.map +1 -1
- package/dist/services/heatmap/heatmap.js +9 -9
- package/dist/services/heatmap/heatmap.js.map +1 -1
- package/dist/services/heatmap/heatmap.schemas.d.ts +141 -141
- package/dist/services/heatmap/heatmap.schemas.d.ts.map +1 -1
- package/dist/services/heatmap/heatmap.schemas.js +47 -47
- package/dist/services/heatmap/heatmap.schemas.js.map +1 -1
- package/dist/services/internal-transfers/internal-transfers.js +3 -3
- package/dist/services/internal-transfers/internal-transfers.js.map +1 -1
- package/dist/services/internal-transfers/internal-transfers.schemas.d.ts +53 -53
- package/dist/services/internal-transfers/internal-transfers.schemas.d.ts.map +1 -1
- package/dist/services/internal-transfers/internal-transfers.schemas.js +27 -27
- package/dist/services/internal-transfers/internal-transfers.schemas.js.map +1 -1
- package/dist/services/lifecycle/lifecycle.js +10 -10
- package/dist/services/lifecycle/lifecycle.js.map +1 -1
- package/dist/services/lifecycle/lifecycle.schemas.d.ts +614 -614
- package/dist/services/lifecycle/lifecycle.schemas.d.ts.map +1 -1
- package/dist/services/lifecycle/lifecycle.schemas.js +146 -146
- package/dist/services/lifecycle/lifecycle.schemas.js.map +1 -1
- package/dist/services/market-data/market-data.js +6 -6
- package/dist/services/market-data/market-data.js.map +1 -1
- package/dist/services/market-data/market-data.schemas.d.ts +20 -20
- package/dist/services/market-data/market-data.schemas.d.ts.map +1 -1
- package/dist/services/market-data/market-data.schemas.js +51 -55
- package/dist/services/market-data/market-data.schemas.js.map +1 -1
- package/dist/services/market-overview/market-overview.d.ts +1 -1
- package/dist/services/market-overview/market-overview.js +5 -5
- package/dist/services/market-overview/market-overview.js.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.d.ts +39 -36
- package/dist/services/market-overview/market-overview.schemas.d.ts.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.js +34 -32
- package/dist/services/market-overview/market-overview.schemas.js.map +1 -1
- package/dist/services/mfa/mfa.js +27 -27
- package/dist/services/mfa/mfa.js.map +1 -1
- package/dist/services/mfa/mfa.schemas.d.ts +206 -206
- package/dist/services/mfa/mfa.schemas.d.ts.map +1 -1
- package/dist/services/mfa/mfa.schemas.js +83 -83
- package/dist/services/mfa/mfa.schemas.js.map +1 -1
- package/dist/services/orderbook/orderbook.d.ts +2 -2
- package/dist/services/orderbook/orderbook.d.ts.map +1 -1
- package/dist/services/orderbook/orderbook.js +5 -5
- package/dist/services/orderbook/orderbook.js.map +1 -1
- package/dist/services/orderbook/orderbook.schemas.d.ts +23 -23
- package/dist/services/orderbook/orderbook.schemas.d.ts.map +1 -1
- package/dist/services/orderbook/orderbook.schemas.js +15 -15
- package/dist/services/orderbook/orderbook.schemas.js.map +1 -1
- package/dist/services/orders/order-errors.schemas.d.ts +18 -18
- package/dist/services/orders/order-errors.schemas.d.ts.map +1 -1
- package/dist/services/orders/order-errors.schemas.js +8 -8
- package/dist/services/orders/order-errors.schemas.js.map +1 -1
- package/dist/services/orders/orders-batch.schemas.d.ts +492 -492
- package/dist/services/orders/orders-batch.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-batch.schemas.js +118 -118
- package/dist/services/orders/orders-batch.schemas.js.map +1 -1
- package/dist/services/orders/orders-identifiers.schemas.js +5 -5
- package/dist/services/orders/orders-identifiers.schemas.js.map +1 -1
- package/dist/services/orders/orders-input.schemas.d.ts +657 -648
- package/dist/services/orders/orders-input.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-input.schemas.js +100 -96
- package/dist/services/orders/orders-input.schemas.js.map +1 -1
- package/dist/services/orders/orders-modify.schemas.d.ts +370 -351
- package/dist/services/orders/orders-modify.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-modify.schemas.js +48 -44
- package/dist/services/orders/orders-modify.schemas.js.map +1 -1
- package/dist/services/orders/orders-output.schemas.d.ts +179 -179
- package/dist/services/orders/orders-output.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-output.schemas.js +49 -49
- package/dist/services/orders/orders-output.schemas.js.map +1 -1
- package/dist/services/orders/orders-risk.schemas.d.ts +226 -226
- package/dist/services/orders/orders-risk.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-risk.schemas.js +69 -69
- package/dist/services/orders/orders-risk.schemas.js.map +1 -1
- package/dist/services/orders/orders.d.ts +8 -8
- package/dist/services/orders/orders.d.ts.map +1 -1
- package/dist/services/orders/orders.js +44 -32
- package/dist/services/orders/orders.js.map +1 -1
- package/dist/services/policies/api-key-policies/api-key-policies.d.ts +6 -6
- package/dist/services/policies/api-key-policies/api-key-policies.d.ts.map +1 -1
- package/dist/services/policies/api-key-policies/api-key-policies.js +11 -11
- package/dist/services/policies/api-key-policies/api-key-policies.js.map +1 -1
- package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts +105 -105
- package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts.map +1 -1
- package/dist/services/policies/api-key-policies/api-key-policies.schemas.js +49 -49
- package/dist/services/policies/api-key-policies/api-key-policies.schemas.js.map +1 -1
- package/dist/services/policies/shared.d.ts +5 -5
- package/dist/services/policies/shared.d.ts.map +1 -1
- package/dist/services/policies/shared.js +10 -10
- package/dist/services/policies/shared.js.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts +6 -6
- package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.js +13 -13
- package/dist/services/policies/subaccount-policies/subaccount-policies.js.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts +124 -124
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js +75 -75
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js.map +1 -1
- package/dist/services/shared.js +11 -11
- package/dist/services/shared.js.map +1 -1
- package/dist/services/social-verification/social-verification.d.ts +3 -3
- package/dist/services/social-verification/social-verification.d.ts.map +1 -1
- package/dist/services/social-verification/social-verification.js +7 -7
- package/dist/services/social-verification/social-verification.js.map +1 -1
- package/dist/services/social-verification/social-verification.schemas.d.ts +54 -54
- package/dist/services/social-verification/social-verification.schemas.d.ts.map +1 -1
- package/dist/services/social-verification/social-verification.schemas.js +28 -28
- package/dist/services/social-verification/social-verification.schemas.js.map +1 -1
- package/dist/services/subaccount-resolver.js +5 -3
- package/dist/services/subaccount-resolver.js.map +1 -1
- package/dist/services/subaccounts/subaccounts.d.ts +15 -15
- package/dist/services/subaccounts/subaccounts.d.ts.map +1 -1
- package/dist/services/subaccounts/subaccounts.js +35 -35
- package/dist/services/subaccounts/subaccounts.js.map +1 -1
- package/dist/services/subaccounts/subaccounts.schemas.d.ts +137 -137
- package/dist/services/subaccounts/subaccounts.schemas.d.ts.map +1 -1
- package/dist/services/subaccounts/subaccounts.schemas.js +72 -72
- package/dist/services/subaccounts/subaccounts.schemas.js.map +1 -1
- package/dist/services/trades/trades.d.ts +2 -2
- package/dist/services/trades/trades.d.ts.map +1 -1
- package/dist/services/trades/trades.js +5 -5
- package/dist/services/trades/trades.js.map +1 -1
- package/dist/services/trades/trades.schemas.d.ts +31 -31
- package/dist/services/trades/trades.schemas.d.ts.map +1 -1
- package/dist/services/trades/trades.schemas.js +24 -24
- package/dist/services/trades/trades.schemas.js.map +1 -1
- package/dist/services/trading-withdraws/trading-withdraws.js +8 -8
- package/dist/services/trading-withdraws/trading-withdraws.js.map +1 -1
- package/dist/services/trading-withdraws/trading-withdraws.schemas.d.ts +45 -45
- package/dist/services/trading-withdraws/trading-withdraws.schemas.d.ts.map +1 -1
- package/dist/services/trading-withdraws/trading-withdraws.schemas.js +36 -36
- package/dist/services/trading-withdraws/trading-withdraws.schemas.js.map +1 -1
- package/dist/services/transfers/transfers.d.ts +1 -1
- package/dist/services/transfers/transfers.d.ts.map +1 -1
- package/dist/services/transfers/transfers.js +5 -5
- package/dist/services/transfers/transfers.js.map +1 -1
- package/dist/services/transfers/transfers.schemas.d.ts +42 -42
- package/dist/services/transfers/transfers.schemas.d.ts.map +1 -1
- package/dist/services/transfers/transfers.schemas.js +30 -30
- package/dist/services/transfers/transfers.schemas.js.map +1 -1
- package/dist/services/triggers/trigger-child-order.schemas.js +23 -23
- package/dist/services/triggers/trigger-child-order.schemas.js.map +1 -1
- package/dist/services/triggers/trigger-input.schemas.d.ts +226 -226
- package/dist/services/triggers/trigger-input.schemas.d.ts.map +1 -1
- package/dist/services/triggers/trigger-input.schemas.js +53 -53
- package/dist/services/triggers/trigger-input.schemas.js.map +1 -1
- package/dist/services/triggers/triggers-output.schemas.d.ts +218 -218
- package/dist/services/triggers/triggers-output.schemas.d.ts.map +1 -1
- package/dist/services/triggers/triggers-output.schemas.js +152 -152
- package/dist/services/triggers/triggers-output.schemas.js.map +1 -1
- package/dist/services/triggers/triggers.js +21 -21
- package/dist/services/triggers/triggers.js.map +1 -1
- package/dist/services/whiteboard/whiteboard.js +15 -15
- package/dist/services/whiteboard/whiteboard.js.map +1 -1
- package/dist/services/whiteboard/whiteboard.schemas.d.ts +379 -379
- package/dist/services/whiteboard/whiteboard.schemas.d.ts.map +1 -1
- package/dist/services/whiteboard/whiteboard.schemas.js +71 -71
- package/dist/services/whiteboard/whiteboard.schemas.js.map +1 -1
- package/dist/services/zipper/zipper.js +3 -3
- package/dist/services/zipper/zipper.js.map +1 -1
- package/dist/services/zipper/zipper.schemas.d.ts +1 -1
- package/dist/services/zipper/zipper.schemas.js +54 -54
- package/dist/services/zipper/zipper.schemas.js.map +1 -1
- package/dist/shared/account-scope.d.ts +6 -6
- package/dist/shared/account-scope.d.ts.map +1 -1
- package/dist/shared/account-scope.js +3 -3
- package/dist/shared/account-scope.js.map +1 -1
- package/dist/shared/connect-error-mapping.d.ts +1 -1
- package/dist/shared/connect-error-mapping.js +29 -3
- package/dist/shared/connect-error-mapping.js.map +1 -1
- package/dist/shared/rate-limit.schemas.d.ts +12 -12
- package/dist/shared/rate-limit.schemas.d.ts.map +1 -1
- package/dist/shared/rate-limit.schemas.js +7 -7
- package/dist/shared/rate-limit.schemas.js.map +1 -1
- package/dist/shared/schemas.js +26 -26
- package/dist/shared/schemas.js.map +1 -1
- package/dist/shared/transports.js +7 -12
- package/dist/shared/transports.js.map +1 -1
- package/dist/shared/types.d.ts +12 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/validation.d.ts +14 -0
- package/dist/shared/validation.d.ts.map +1 -0
- package/dist/shared/validation.js +24 -0
- package/dist/shared/validation.js.map +1 -0
- package/dist/utils/connect-order-errors.js +2 -2
- package/dist/utils/connect-order-errors.js.map +1 -1
- package/dist/utils/cookies.d.ts +8 -3
- package/dist/utils/cookies.d.ts.map +1 -1
- package/dist/utils/cookies.js +7 -1
- package/dist/utils/cookies.js.map +1 -1
- package/dist/utils/event-emitter.d.ts +1 -1
- package/dist/utils/event-emitter.d.ts.map +1 -1
- package/dist/utils/event-emitter.js +4 -2
- package/dist/utils/event-emitter.js.map +1 -1
- package/dist/utils/evm.js +2 -2
- package/dist/utils/evm.js.map +1 -1
- package/dist/utils/jwt.d.ts +2 -2
- package/dist/utils/jwt.d.ts.map +1 -1
- package/dist/utils/jwt.js +2 -2
- package/dist/utils/jwt.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { parse } from "../../shared/validation.js";
|
|
1
2
|
import { toConnectCallOptions } from "../../shared/request-options.js";
|
|
2
3
|
import { removeUndefined } from "../../utils/remove-undefined.js";
|
|
3
4
|
import { resolveAccountScopedInput } from "../subaccount-resolver.js";
|
|
4
5
|
import { AddressBookService as AddressBookService$1, AddressBookViewInvalidatedSchema } from "../../gen/auth/v1/address_book_pb.js";
|
|
5
6
|
import { AddressBookEntriesSchema, AddressBookEntrySchema, AddressBookSchema, AddressBookTagSchema, AddressBookViewInvalidatedSchema as AddressBookViewInvalidatedSchema$1, AddressBookViewSchema, CopyAddressBookEntryInputSchema, CreateAddressBookEntryInputSchema, CreateAddressBookTagInputSchema, DeleteAddressBookEntryInputSchema, DeleteAddressBookTagInputSchema, GetAddressBookViewInputSchema, InternalTransferWhitelistEntriesSchema, ListAddressBookEntriesInputSchema, ListInternalTransferWhitelistEntriesInputSchema, ListTransferCounterpartiesInputSchema, ListTransferDestinationsInputSchema, SubaccountScopedInputSchema, TransferCounterpartiesSchema, TransferDestinationsSchema, UpdateAddressBookEntryInputSchema, UpdateAddressBookTagInputSchema, WithdrawWhitelistViewSchema } from "./address-book.schemas.js";
|
|
6
7
|
import { createClient } from "@connectrpc/connect";
|
|
7
|
-
import * as v from "valibot";
|
|
8
8
|
//#region src/services/address-book/address-book.ts
|
|
9
9
|
/**
|
|
10
10
|
* Manages saved transfer destinations, tags, whitelist views, and recent counterparties for root or subaccount-scoped address books.
|
|
@@ -22,16 +22,16 @@ var AddressBookService = class {
|
|
|
22
22
|
* Returns the root and subaccount address books visible to the caller, including caller role and display metadata.
|
|
23
23
|
*/
|
|
24
24
|
async listBooks(options) {
|
|
25
|
-
return (await this.#client.listAddressBooks({}, toConnectCallOptions(options))).books.map((book) =>
|
|
25
|
+
return (await this.#client.listAddressBooks({}, toConnectCallOptions(options))).books.map((book) => parse(AddressBookSchema, book));
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* Returns saved address-book entries for the resolved subaccount scope, optionally filtered by external-chain or internal-account destination kind.
|
|
29
29
|
*/
|
|
30
30
|
async listEntries(input = {}, options) {
|
|
31
|
-
const request =
|
|
31
|
+
const request = parse(ListAddressBookEntriesInputSchema, this.resolveInput(input));
|
|
32
32
|
const response = await this.#client.listAddressBookEntries(removeUndefined(request), toConnectCallOptions(options));
|
|
33
33
|
return {
|
|
34
|
-
entries:
|
|
34
|
+
entries: parse(AddressBookEntriesSchema, response.entries),
|
|
35
35
|
nextPageToken: response.nextPageToken
|
|
36
36
|
};
|
|
37
37
|
}
|
|
@@ -39,64 +39,64 @@ var AddressBookService = class {
|
|
|
39
39
|
* Creates a saved external withdrawal or internal transfer destination in the resolved address book, optionally attaching existing tags and creating new tags in the same request.
|
|
40
40
|
*/
|
|
41
41
|
async createEntry(input, options) {
|
|
42
|
-
const request =
|
|
42
|
+
const request = parse(CreateAddressBookEntryInputSchema, this.resolveInput(input));
|
|
43
43
|
const response = await this.#client.createAddressBookEntry(removeUndefined(request), toConnectCallOptions(options));
|
|
44
|
-
return response.entry ?
|
|
44
|
+
return response.entry ? parse(AddressBookEntrySchema, response.entry) : null;
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
47
|
* Updates selected saved-destination metadata using optimistic concurrency.
|
|
48
48
|
*/
|
|
49
49
|
async updateEntry(input, options) {
|
|
50
|
-
const request =
|
|
50
|
+
const request = parse(UpdateAddressBookEntryInputSchema, input);
|
|
51
51
|
const response = await this.#client.updateAddressBookEntry(removeUndefined(request), toConnectCallOptions(options));
|
|
52
|
-
return response.entry ?
|
|
52
|
+
return response.entry ? parse(AddressBookEntrySchema, response.entry) : null;
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
55
|
* Deletes one saved destination from the selected address book.
|
|
56
56
|
*/
|
|
57
57
|
async deleteEntry(input, options) {
|
|
58
|
-
const request =
|
|
58
|
+
const request = parse(DeleteAddressBookEntryInputSchema, input);
|
|
59
59
|
await this.#client.deleteAddressBookEntry(request, toConnectCallOptions(options));
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
62
|
* Copies a saved destination into another visible root or subaccount address book.
|
|
63
63
|
*/
|
|
64
64
|
async copyEntry(input, options) {
|
|
65
|
-
const request =
|
|
65
|
+
const request = parse(CopyAddressBookEntryInputSchema, input);
|
|
66
66
|
const response = await this.#client.copyAddressBookEntry(removeUndefined(request), toConnectCallOptions(options));
|
|
67
|
-
return response.entry ?
|
|
67
|
+
return response.entry ? parse(AddressBookEntrySchema, response.entry) : null;
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
70
|
* Creates a tag in the resolved address book scope for organizing saved destinations.
|
|
71
71
|
*/
|
|
72
72
|
async createTag(input, options) {
|
|
73
|
-
const request =
|
|
73
|
+
const request = parse(CreateAddressBookTagInputSchema, this.resolveInput(input));
|
|
74
74
|
const response = await this.#client.createAddressBookTag(removeUndefined(request), toConnectCallOptions(options));
|
|
75
|
-
return response.tag ?
|
|
75
|
+
return response.tag ? parse(AddressBookTagSchema, response.tag) : null;
|
|
76
76
|
}
|
|
77
77
|
/**
|
|
78
78
|
* Updates a tag's name and optional color token.
|
|
79
79
|
*/
|
|
80
80
|
async updateTag(input, options) {
|
|
81
|
-
const request =
|
|
81
|
+
const request = parse(UpdateAddressBookTagInputSchema, input);
|
|
82
82
|
const response = await this.#client.updateAddressBookTag(removeUndefined(request), toConnectCallOptions(options));
|
|
83
|
-
return response.tag ?
|
|
83
|
+
return response.tag ? parse(AddressBookTagSchema, response.tag) : null;
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
86
|
* Deletes a tag and detaches it from any address-book entries.
|
|
87
87
|
*/
|
|
88
88
|
async deleteTag(input, options) {
|
|
89
|
-
const request =
|
|
89
|
+
const request = parse(DeleteAddressBookTagInputSchema, input);
|
|
90
90
|
await this.#client.deleteAddressBookTag(request, toConnectCallOptions(options));
|
|
91
91
|
}
|
|
92
92
|
/**
|
|
93
93
|
* Returns recent transfer counterparties, including unsaved destinations, with direction, kind, use count, and first/last seen timestamps.
|
|
94
94
|
*/
|
|
95
95
|
async listTransferCounterparties(input = {}, options) {
|
|
96
|
-
const request =
|
|
96
|
+
const request = parse(ListTransferCounterpartiesInputSchema, this.resolveInput(input));
|
|
97
97
|
const response = await this.#client.listTransferCounterparties(removeUndefined(request), toConnectCallOptions(options));
|
|
98
98
|
return {
|
|
99
|
-
counterparties:
|
|
99
|
+
counterparties: parse(TransferCounterpartiesSchema, response.counterparties),
|
|
100
100
|
truncated: response.truncated
|
|
101
101
|
};
|
|
102
102
|
}
|
|
@@ -104,10 +104,10 @@ var AddressBookService = class {
|
|
|
104
104
|
* Returns saved and whitelisted destinations available for transfer flows in the resolved address book scope.
|
|
105
105
|
*/
|
|
106
106
|
async listTransferDestinations(input = {}, options) {
|
|
107
|
-
const request =
|
|
107
|
+
const request = parse(ListTransferDestinationsInputSchema, this.resolveInput(input));
|
|
108
108
|
const response = await this.#client.listTransferDestinations(removeUndefined(request), toConnectCallOptions(options));
|
|
109
109
|
return {
|
|
110
|
-
destinations:
|
|
110
|
+
destinations: parse(TransferDestinationsSchema, response.destinations),
|
|
111
111
|
nextPageToken: response.nextPageToken
|
|
112
112
|
};
|
|
113
113
|
}
|
|
@@ -115,10 +115,10 @@ var AddressBookService = class {
|
|
|
115
115
|
* Returns internal-transfer whitelist entries for the resolved scope, including target account metadata and resolution status.
|
|
116
116
|
*/
|
|
117
117
|
async listInternalTransferWhitelistEntries(input = {}, options) {
|
|
118
|
-
const request =
|
|
118
|
+
const request = parse(ListInternalTransferWhitelistEntriesInputSchema, this.resolveInput(input));
|
|
119
119
|
const response = await this.#client.listInternalTransferWhitelistEntries(removeUndefined(request), toConnectCallOptions(options));
|
|
120
120
|
return {
|
|
121
|
-
entries:
|
|
121
|
+
entries: parse(InternalTransferWhitelistEntriesSchema, response.entries),
|
|
122
122
|
nextPageToken: response.nextPageToken
|
|
123
123
|
};
|
|
124
124
|
}
|
|
@@ -126,17 +126,17 @@ var AddressBookService = class {
|
|
|
126
126
|
* Returns external and internal withdrawal whitelist requirements plus active mirrored external whitelist entries for the resolved scope.
|
|
127
127
|
*/
|
|
128
128
|
async getWithdrawWhitelistView(input = {}, options) {
|
|
129
|
-
const request =
|
|
129
|
+
const request = parse(SubaccountScopedInputSchema, this.resolveInput(input));
|
|
130
130
|
const response = await this.#client.getWithdrawWhitelistView(removeUndefined(request), toConnectCallOptions(options));
|
|
131
|
-
return response.view ?
|
|
131
|
+
return response.view ? parse(WithdrawWhitelistViewSchema, response.view) : null;
|
|
132
132
|
}
|
|
133
133
|
/**
|
|
134
134
|
* Fetches the combined address-book view used by dashboards: books, saved entries, recent destinations, tags, and withdrawal whitelist status.
|
|
135
135
|
*/
|
|
136
136
|
async getView(input = {}, options) {
|
|
137
|
-
const request =
|
|
137
|
+
const request = parse(GetAddressBookViewInputSchema, this.resolveInput(input));
|
|
138
138
|
const response = await this.#client.getAddressBookView(removeUndefined(request), toConnectCallOptions(options));
|
|
139
|
-
return
|
|
139
|
+
return parse(AddressBookViewSchema, response);
|
|
140
140
|
}
|
|
141
141
|
/**
|
|
142
142
|
* Subscribes to scoped address-book view invalidation signals for a root account.
|
|
@@ -149,11 +149,11 @@ var AddressBookService = class {
|
|
|
149
149
|
channel,
|
|
150
150
|
schema: AddressBookViewInvalidatedSchema,
|
|
151
151
|
onPublication: (data) => {
|
|
152
|
-
input.onEvent(
|
|
152
|
+
input.onEvent(parse(AddressBookViewInvalidatedSchema$1, data));
|
|
153
153
|
},
|
|
154
154
|
onConnected: () => input.onOpen?.(),
|
|
155
155
|
onDisconnected: () => input.onClose?.(),
|
|
156
|
-
onError:
|
|
156
|
+
onError: input.onError
|
|
157
157
|
});
|
|
158
158
|
}
|
|
159
159
|
resolveInput(input) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address-book.js","names":["#client","Proto.AddressBookService","#realtime","#resolver","Proto.AddressBookViewInvalidatedSchema","AddressBookViewInvalidatedSchema"],"sources":["../../../src/services/address-book/address-book.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as Proto from \"../../gen/auth/v1/address_book_pb.js\";\nimport type { PolyesterRealtime } from \"../../realtime/types.js\";\nimport { removeUndefined } from \"../../utils/remove-undefined.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport { type SubaccountResolver, resolveAccountScopedInput } from \"../subaccount-resolver.js\";\nimport type { AccountScopedInput } from \"../../shared/account-scope.js\";\nimport * as v from \"valibot\";\nimport {\n AddressBookEntriesSchema,\n AddressBookEntrySchema,\n AddressBookSchema,\n AddressBookTagSchema,\n AddressBookViewSchema,\n AddressBookViewInvalidatedSchema,\n CopyAddressBookEntryInputSchema,\n CreateAddressBookEntryInputSchema,\n CreateAddressBookTagInputSchema,\n DeleteAddressBookEntryInputSchema,\n DeleteAddressBookTagInputSchema,\n GetAddressBookViewInputSchema,\n InternalTransferWhitelistEntriesSchema,\n ListAddressBookEntriesInputSchema,\n ListInternalTransferWhitelistEntriesInputSchema,\n ListTransferCounterpartiesInputSchema,\n ListTransferDestinationsInputSchema,\n SubaccountScopedInputSchema,\n TransferCounterpartiesSchema,\n TransferDestinationsSchema,\n UpdateAddressBookEntryInputSchema,\n UpdateAddressBookTagInputSchema,\n WithdrawWhitelistViewSchema,\n type AddressBook,\n type AddressBookEntries,\n type AddressBookEntry,\n type AddressBookTag,\n type AddressBookView,\n type AddressBookViewInvalidated,\n type CopyAddressBookEntryInput,\n type CreateAddressBookEntryInput,\n type CreateAddressBookTagInput,\n type DeleteAddressBookEntryInput,\n type DeleteAddressBookTagInput,\n type GetAddressBookViewInput,\n type InternalTransferWhitelistEntries,\n type ListAddressBookEntriesInput,\n type ListInternalTransferWhitelistEntriesInput,\n type ListTransferCounterpartiesInput,\n type ListTransferDestinationsInput,\n type SubaccountScopedInput,\n type TransferCounterparties,\n type TransferDestinations,\n type UpdateAddressBookEntryInput,\n type UpdateAddressBookTagInput,\n type WithdrawWhitelistView,\n} from \"./address-book.schemas.js\";\n\ninterface SubscribeViewInvalidationsInput extends BaseSubscribeInput<AddressBookViewInvalidated> {\n rootAccountPublicId: string;\n}\n\n/**\n * Manages saved transfer destinations, tags, whitelist views, and recent counterparties for root or subaccount-scoped address books.\n */\nexport class AddressBookService {\n #client: Client<typeof Proto.AddressBookService>;\n #realtime: PolyesterRealtime;\n #resolver?: SubaccountResolver;\n\n constructor(transport: Transport, realtime: PolyesterRealtime, resolver?: SubaccountResolver) {\n this.#client = createClient(Proto.AddressBookService, transport);\n this.#realtime = realtime;\n this.#resolver = resolver;\n }\n\n /**\n * Returns the root and subaccount address books visible to the caller, including caller role and display metadata.\n */\n async listBooks(options?: PolyesterRequestOptions): Promise<AddressBook[]> {\n const response = await this.#client.listAddressBooks({}, toConnectCallOptions(options));\n return response.books.map((book) => v.parse(AddressBookSchema, book));\n }\n\n /**\n * Returns saved address-book entries for the resolved subaccount scope, optionally filtered by external-chain or internal-account destination kind.\n */\n async listEntries(\n input: ListAddressBookEntriesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ entries: AddressBookEntries; nextPageToken: string }> {\n const request = v.parse(ListAddressBookEntriesInputSchema, this.resolveInput(input));\n const response = await this.#client.listAddressBookEntries(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n entries: v.parse(AddressBookEntriesSchema, response.entries),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Creates a saved external withdrawal or internal transfer destination in the resolved address book, optionally attaching existing tags and creating new tags in the same request.\n */\n async createEntry(\n input: CreateAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = v.parse(CreateAddressBookEntryInputSchema, this.resolveInput(input));\n const response = await this.#client.createAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? v.parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Updates selected saved-destination metadata using optimistic concurrency.\n */\n async updateEntry(\n input: UpdateAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = v.parse(UpdateAddressBookEntryInputSchema, input);\n const response = await this.#client.updateAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? v.parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Deletes one saved destination from the selected address book.\n */\n async deleteEntry(\n input: DeleteAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const request = v.parse(DeleteAddressBookEntryInputSchema, input);\n await this.#client.deleteAddressBookEntry(request, toConnectCallOptions(options));\n }\n\n /**\n * Copies a saved destination into another visible root or subaccount address book.\n */\n async copyEntry(\n input: CopyAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = v.parse(CopyAddressBookEntryInputSchema, input);\n const response = await this.#client.copyAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? v.parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Creates a tag in the resolved address book scope for organizing saved destinations.\n */\n async createTag(\n input: CreateAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookTag | null> {\n const request = v.parse(CreateAddressBookTagInputSchema, this.resolveInput(input));\n const response = await this.#client.createAddressBookTag(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.tag ? v.parse(AddressBookTagSchema, response.tag) : null;\n }\n\n /**\n * Updates a tag's name and optional color token.\n */\n async updateTag(\n input: UpdateAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookTag | null> {\n const request = v.parse(UpdateAddressBookTagInputSchema, input);\n const response = await this.#client.updateAddressBookTag(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.tag ? v.parse(AddressBookTagSchema, response.tag) : null;\n }\n\n /**\n * Deletes a tag and detaches it from any address-book entries.\n */\n async deleteTag(\n input: DeleteAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const request = v.parse(DeleteAddressBookTagInputSchema, input);\n await this.#client.deleteAddressBookTag(request, toConnectCallOptions(options));\n }\n\n /**\n * Returns recent transfer counterparties, including unsaved destinations, with direction, kind, use count, and first/last seen timestamps.\n */\n async listTransferCounterparties(\n input: ListTransferCounterpartiesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ counterparties: TransferCounterparties; truncated: boolean }> {\n const request = v.parse(ListTransferCounterpartiesInputSchema, this.resolveInput(input));\n const response = await this.#client.listTransferCounterparties(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n counterparties: v.parse(TransferCounterpartiesSchema, response.counterparties),\n truncated: response.truncated,\n };\n }\n\n /**\n * Returns saved and whitelisted destinations available for transfer flows in the resolved address book scope.\n */\n async listTransferDestinations(\n input: ListTransferDestinationsInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ destinations: TransferDestinations; nextPageToken: string }> {\n const request = v.parse(ListTransferDestinationsInputSchema, this.resolveInput(input));\n const response = await this.#client.listTransferDestinations(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n destinations: v.parse(TransferDestinationsSchema, response.destinations),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Returns internal-transfer whitelist entries for the resolved scope, including target account metadata and resolution status.\n */\n async listInternalTransferWhitelistEntries(\n input: ListInternalTransferWhitelistEntriesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ entries: InternalTransferWhitelistEntries; nextPageToken: string }> {\n const request = v.parse(\n ListInternalTransferWhitelistEntriesInputSchema,\n this.resolveInput(input),\n );\n const response = await this.#client.listInternalTransferWhitelistEntries(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n entries: v.parse(InternalTransferWhitelistEntriesSchema, response.entries),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Returns external and internal withdrawal whitelist requirements plus active mirrored external whitelist entries for the resolved scope.\n */\n async getWithdrawWhitelistView(\n input: SubaccountScopedInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<WithdrawWhitelistView | null> {\n const request = v.parse(SubaccountScopedInputSchema, this.resolveInput(input));\n const response = await this.#client.getWithdrawWhitelistView(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.view ? v.parse(WithdrawWhitelistViewSchema, response.view) : null;\n }\n\n /**\n * Fetches the combined address-book view used by dashboards: books, saved entries, recent destinations, tags, and withdrawal whitelist status.\n */\n async getView(\n input: GetAddressBookViewInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<AddressBookView> {\n const request = v.parse(GetAddressBookViewInputSchema, this.resolveInput(input));\n const response = await this.#client.getAddressBookView(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(AddressBookViewSchema, response);\n }\n\n /**\n * Subscribes to scoped address-book view invalidation signals for a root account.\n *\n * Use `scope` and `invalidatedAt` for diagnostics and ordering, then refetch `getView` for the canonical aggregate (entries, tags, recent destinations, whitelist). Do not patch individual rows from these events.\n */\n subscribeViewInvalidations(input: SubscribeViewInvalidationsInput): () => void {\n const channel = `private:auth:address-books:${input.rootAccountPublicId}:proto`;\n\n return this.#realtime.connectProtoChannel({\n channel,\n schema: Proto.AddressBookViewInvalidatedSchema,\n onPublication: (data) => {\n input.onEvent(v.parse(AddressBookViewInvalidatedSchema, data));\n },\n onConnected: () => input.onOpen?.(),\n onDisconnected: () => input.onClose?.(),\n onError: (ctx) => input.onError?.(ctx),\n });\n }\n\n private resolveInput<TInput extends AccountScopedInput>(input: TInput): TInput {\n return resolveAccountScopedInput(input, this.#resolver);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"address-book.js","names":["#client","Proto.AddressBookService","#realtime","#resolver","v.parse","Proto.AddressBookViewInvalidatedSchema","AddressBookViewInvalidatedSchema"],"sources":["../../../src/services/address-book/address-book.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as Proto from \"../../gen/auth/v1/address_book_pb.js\";\nimport type { PolyesterRealtime } from \"../../realtime/types.js\";\nimport { removeUndefined } from \"../../utils/remove-undefined.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport { type SubaccountResolver, resolveAccountScopedInput } from \"../subaccount-resolver.js\";\nimport type { AccountScopedInput } from \"../../shared/account-scope.js\";\nimport * as v from \"../../shared/validation.js\";\nimport {\n AddressBookEntriesSchema,\n AddressBookEntrySchema,\n AddressBookSchema,\n AddressBookTagSchema,\n AddressBookViewSchema,\n AddressBookViewInvalidatedSchema,\n CopyAddressBookEntryInputSchema,\n CreateAddressBookEntryInputSchema,\n CreateAddressBookTagInputSchema,\n DeleteAddressBookEntryInputSchema,\n DeleteAddressBookTagInputSchema,\n GetAddressBookViewInputSchema,\n InternalTransferWhitelistEntriesSchema,\n ListAddressBookEntriesInputSchema,\n ListInternalTransferWhitelistEntriesInputSchema,\n ListTransferCounterpartiesInputSchema,\n ListTransferDestinationsInputSchema,\n SubaccountScopedInputSchema,\n TransferCounterpartiesSchema,\n TransferDestinationsSchema,\n UpdateAddressBookEntryInputSchema,\n UpdateAddressBookTagInputSchema,\n WithdrawWhitelistViewSchema,\n type AddressBook,\n type AddressBookEntries,\n type AddressBookEntry,\n type AddressBookTag,\n type AddressBookView,\n type AddressBookViewInvalidated,\n type CopyAddressBookEntryInput,\n type CreateAddressBookEntryInput,\n type CreateAddressBookTagInput,\n type DeleteAddressBookEntryInput,\n type DeleteAddressBookTagInput,\n type GetAddressBookViewInput,\n type InternalTransferWhitelistEntries,\n type ListAddressBookEntriesInput,\n type ListInternalTransferWhitelistEntriesInput,\n type ListTransferCounterpartiesInput,\n type ListTransferDestinationsInput,\n type SubaccountScopedInput,\n type TransferCounterparties,\n type TransferDestinations,\n type UpdateAddressBookEntryInput,\n type UpdateAddressBookTagInput,\n type WithdrawWhitelistView,\n} from \"./address-book.schemas.js\";\n\ninterface SubscribeViewInvalidationsInput extends BaseSubscribeInput<AddressBookViewInvalidated> {\n rootAccountPublicId: string;\n}\n\n/**\n * Manages saved transfer destinations, tags, whitelist views, and recent counterparties for root or subaccount-scoped address books.\n */\nexport class AddressBookService {\n #client: Client<typeof Proto.AddressBookService>;\n #realtime: PolyesterRealtime;\n #resolver?: SubaccountResolver;\n\n constructor(transport: Transport, realtime: PolyesterRealtime, resolver?: SubaccountResolver) {\n this.#client = createClient(Proto.AddressBookService, transport);\n this.#realtime = realtime;\n this.#resolver = resolver;\n }\n\n /**\n * Returns the root and subaccount address books visible to the caller, including caller role and display metadata.\n */\n async listBooks(options?: PolyesterRequestOptions): Promise<AddressBook[]> {\n const response = await this.#client.listAddressBooks({}, toConnectCallOptions(options));\n return response.books.map((book) => v.parse(AddressBookSchema, book));\n }\n\n /**\n * Returns saved address-book entries for the resolved subaccount scope, optionally filtered by external-chain or internal-account destination kind.\n */\n async listEntries(\n input: ListAddressBookEntriesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ entries: AddressBookEntries; nextPageToken: string }> {\n const request = v.parse(ListAddressBookEntriesInputSchema, this.resolveInput(input));\n const response = await this.#client.listAddressBookEntries(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n entries: v.parse(AddressBookEntriesSchema, response.entries),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Creates a saved external withdrawal or internal transfer destination in the resolved address book, optionally attaching existing tags and creating new tags in the same request.\n */\n async createEntry(\n input: CreateAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = v.parse(CreateAddressBookEntryInputSchema, this.resolveInput(input));\n const response = await this.#client.createAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? v.parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Updates selected saved-destination metadata using optimistic concurrency.\n */\n async updateEntry(\n input: UpdateAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = v.parse(UpdateAddressBookEntryInputSchema, input);\n const response = await this.#client.updateAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? v.parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Deletes one saved destination from the selected address book.\n */\n async deleteEntry(\n input: DeleteAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const request = v.parse(DeleteAddressBookEntryInputSchema, input);\n await this.#client.deleteAddressBookEntry(request, toConnectCallOptions(options));\n }\n\n /**\n * Copies a saved destination into another visible root or subaccount address book.\n */\n async copyEntry(\n input: CopyAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = v.parse(CopyAddressBookEntryInputSchema, input);\n const response = await this.#client.copyAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? v.parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Creates a tag in the resolved address book scope for organizing saved destinations.\n */\n async createTag(\n input: CreateAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookTag | null> {\n const request = v.parse(CreateAddressBookTagInputSchema, this.resolveInput(input));\n const response = await this.#client.createAddressBookTag(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.tag ? v.parse(AddressBookTagSchema, response.tag) : null;\n }\n\n /**\n * Updates a tag's name and optional color token.\n */\n async updateTag(\n input: UpdateAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookTag | null> {\n const request = v.parse(UpdateAddressBookTagInputSchema, input);\n const response = await this.#client.updateAddressBookTag(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.tag ? v.parse(AddressBookTagSchema, response.tag) : null;\n }\n\n /**\n * Deletes a tag and detaches it from any address-book entries.\n */\n async deleteTag(\n input: DeleteAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const request = v.parse(DeleteAddressBookTagInputSchema, input);\n await this.#client.deleteAddressBookTag(request, toConnectCallOptions(options));\n }\n\n /**\n * Returns recent transfer counterparties, including unsaved destinations, with direction, kind, use count, and first/last seen timestamps.\n */\n async listTransferCounterparties(\n input: ListTransferCounterpartiesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ counterparties: TransferCounterparties; truncated: boolean }> {\n const request = v.parse(ListTransferCounterpartiesInputSchema, this.resolveInput(input));\n const response = await this.#client.listTransferCounterparties(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n counterparties: v.parse(TransferCounterpartiesSchema, response.counterparties),\n truncated: response.truncated,\n };\n }\n\n /**\n * Returns saved and whitelisted destinations available for transfer flows in the resolved address book scope.\n */\n async listTransferDestinations(\n input: ListTransferDestinationsInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ destinations: TransferDestinations; nextPageToken: string }> {\n const request = v.parse(ListTransferDestinationsInputSchema, this.resolveInput(input));\n const response = await this.#client.listTransferDestinations(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n destinations: v.parse(TransferDestinationsSchema, response.destinations),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Returns internal-transfer whitelist entries for the resolved scope, including target account metadata and resolution status.\n */\n async listInternalTransferWhitelistEntries(\n input: ListInternalTransferWhitelistEntriesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ entries: InternalTransferWhitelistEntries; nextPageToken: string }> {\n const request = v.parse(\n ListInternalTransferWhitelistEntriesInputSchema,\n this.resolveInput(input),\n );\n const response = await this.#client.listInternalTransferWhitelistEntries(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n entries: v.parse(InternalTransferWhitelistEntriesSchema, response.entries),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Returns external and internal withdrawal whitelist requirements plus active mirrored external whitelist entries for the resolved scope.\n */\n async getWithdrawWhitelistView(\n input: SubaccountScopedInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<WithdrawWhitelistView | null> {\n const request = v.parse(SubaccountScopedInputSchema, this.resolveInput(input));\n const response = await this.#client.getWithdrawWhitelistView(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.view ? v.parse(WithdrawWhitelistViewSchema, response.view) : null;\n }\n\n /**\n * Fetches the combined address-book view used by dashboards: books, saved entries, recent destinations, tags, and withdrawal whitelist status.\n */\n async getView(\n input: GetAddressBookViewInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<AddressBookView> {\n const request = v.parse(GetAddressBookViewInputSchema, this.resolveInput(input));\n const response = await this.#client.getAddressBookView(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(AddressBookViewSchema, response);\n }\n\n /**\n * Subscribes to scoped address-book view invalidation signals for a root account.\n *\n * Use `scope` and `invalidatedAt` for diagnostics and ordering, then refetch `getView` for the canonical aggregate (entries, tags, recent destinations, whitelist). Do not patch individual rows from these events.\n */\n subscribeViewInvalidations(input: SubscribeViewInvalidationsInput): () => void {\n const channel = `private:auth:address-books:${input.rootAccountPublicId}:proto`;\n\n return this.#realtime.connectProtoChannel({\n channel,\n schema: Proto.AddressBookViewInvalidatedSchema,\n onPublication: (data) => {\n input.onEvent(v.parse(AddressBookViewInvalidatedSchema, data));\n },\n onConnected: () => input.onOpen?.(),\n onDisconnected: () => input.onClose?.(),\n onError: input.onError,\n });\n }\n\n private resolveInput<TInput extends AccountScopedInput>(input: TInput): TInput {\n return resolveAccountScopedInput(input, this.#resolver);\n }\n}\n"],"mappings":"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"}
|