@polyester/sdk 0.4.0 → 0.4.1
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 +6 -0
- package/dist/_virtual/_rolldown/runtime.js +1 -15
- package/dist/catalogs/snapshot-validation.js +63 -63
- package/dist/catalogs/snapshot-validation.js.map +1 -1
- package/dist/services/accounts/accounts.js +1 -1
- 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.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 -159
- 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.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 +39 -39
- package/dist/services/auth/auth.d.ts.map +1 -1
- package/dist/services/auth/auth.js +19 -18
- 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 +3 -2
- 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.schemas.js +17 -17
- package/dist/services/auth/session.schemas.js.map +1 -1
- package/dist/services/balances/balances.d.ts.map +1 -1
- package/dist/services/balances/balances.js +3 -2
- 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.d.ts.map +1 -1
- package/dist/services/candles/candles.js +5 -4
- 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 -47
- package/dist/services/candles/candles.schemas.js.map +1 -1
- 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.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.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.d.ts.map +1 -1
- package/dist/services/heatmap/heatmap.js +5 -4
- package/dist/services/heatmap/heatmap.js.map +1 -1
- package/dist/services/heatmap/heatmap.schemas.d.ts +138 -138
- 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.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.d.ts.map +1 -1
- package/dist/services/lifecycle/lifecycle.js +3 -2
- 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.d.ts.map +1 -1
- package/dist/services/market-data/market-data.js +4 -3
- package/dist/services/market-data/market-data.js.map +1 -1
- package/dist/services/market-data/market-data.schemas.d.ts +19 -19
- package/dist/services/market-data/market-data.schemas.d.ts.map +1 -1
- package/dist/services/market-data/market-data.schemas.js +50 -50
- package/dist/services/market-data/market-data.schemas.js.map +1 -1
- package/dist/services/market-overview/market-overview.d.ts.map +1 -1
- package/dist/services/market-overview/market-overview.js +3 -2
- package/dist/services/market-overview/market-overview.js.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.d.ts +37 -37
- package/dist/services/market-overview/market-overview.schemas.d.ts.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.js +33 -33
- package/dist/services/market-overview/market-overview.schemas.js.map +1 -1
- package/dist/services/mfa/mfa.js +1 -1
- 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 +3 -2
- 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 +504 -504
- package/dist/services/orders/orders-batch.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-batch.schemas.js +117 -117
- 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 +648 -648
- package/dist/services/orders/orders-input.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-input.schemas.js +95 -95
- package/dist/services/orders/orders-input.schemas.js.map +1 -1
- package/dist/services/orders/orders-modify.schemas.d.ts +351 -351
- package/dist/services/orders/orders-modify.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-modify.schemas.js +44 -44
- package/dist/services/orders/orders-modify.schemas.js.map +1 -1
- package/dist/services/orders/orders-output.schemas.d.ts +183 -183
- package/dist/services/orders/orders-output.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-output.schemas.js +49 -49
- package/dist/services/orders/orders-output.schemas.js.map +1 -1
- package/dist/services/orders/orders-risk.schemas.d.ts +226 -226
- package/dist/services/orders/orders-risk.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-risk.schemas.js +69 -69
- package/dist/services/orders/orders-risk.schemas.js.map +1 -1
- package/dist/services/orders/orders.d.ts +6 -6
- package/dist/services/orders/orders.d.ts.map +1 -1
- package/dist/services/orders/orders.js +4 -3
- 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.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 +3 -2
- 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.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/subaccounts/subaccounts.d.ts +14 -14
- package/dist/services/subaccounts/subaccounts.d.ts.map +1 -1
- package/dist/services/subaccounts/subaccounts.js +9 -8
- package/dist/services/subaccounts/subaccounts.js.map +1 -1
- package/dist/services/subaccounts/subaccounts.schemas.d.ts +135 -135
- package/dist/services/subaccounts/subaccounts.schemas.d.ts.map +1 -1
- package/dist/services/subaccounts/subaccounts.schemas.js +72 -72
- package/dist/services/subaccounts/subaccounts.schemas.js.map +1 -1
- package/dist/services/trades/trades.d.ts +2 -2
- package/dist/services/trades/trades.d.ts.map +1 -1
- package/dist/services/trades/trades.js +3 -2
- 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 +1 -1
- 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.map +1 -1
- package/dist/services/transfers/transfers.js +3 -2
- 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 +209 -209
- 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.d.ts.map +1 -1
- package/dist/services/triggers/triggers.js +4 -3
- package/dist/services/triggers/triggers.js.map +1 -1
- 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.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.js +2 -2
- 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/validation.js +1 -6
- package/dist/shared/validation.js.map +1 -1
- package/dist/utils/connect-order-errors.js +2 -2
- package/dist/utils/connect-order-errors.js.map +1 -1
- package/package.json +3 -3
- package/dist/shared/validation.d.ts +0 -14
- package/dist/shared/validation.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard-signer.js","names":["#client","Proto.GuardSignerService","#resolver"
|
|
1
|
+
{"version":3,"file":"guard-signer.js","names":["#client","Proto.GuardSignerService","#resolver"],"sources":["../../../src/services/guard-signer/guard-signer.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as Proto from \"../../gen/chain/guard/v1/guard_signer_pb.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 SubaccountResolver, resolveAccountScopedInput } from \"../subaccount-resolver.js\";\nimport type { AccountScopedInput } from \"../../shared/account-scope.js\";\nimport {\n BatchGuardApprovalsSchema,\n BatchSignProtectedActionInputSchema,\n CreateGuardSignerWalletResultSchema,\n ExportGuardSignerWalletResultSchema,\n GuardApprovalSchema,\n GuardSignerScopedInputSchema,\n GuardSignerStatusSchema,\n RotateGuardSignerWalletResultSchema,\n SignProtectedActionInputSchema,\n type BatchGuardApprovals,\n type BatchSignProtectedActionInput,\n type CreateGuardSignerWalletResult,\n type ExportGuardSignerWalletResult,\n type GuardApproval,\n type GuardSignerScopedInput,\n type GuardSignerStatus,\n type RotateGuardSignerWalletResult,\n type SignProtectedActionInput,\n} from \"./guard-signer.schemas.js\";\nimport { formatConnectError, isResourceNotFoundError } from \"../../utils/errors.js\";\nimport { parse } from \"../../shared/validation.js\";\n\nconst GUARD_SIGNER_WALLET_NOT_FOUND_MESSAGE = \"guard signer wallet not found\";\n\nfunction isGuardSignerWalletNotFoundError(err: unknown): boolean {\n return formatConnectError(err, \"\")\n .toLowerCase()\n .includes(GUARD_SIGNER_WALLET_NOT_FOUND_MESSAGE);\n}\n\n/**\n * Manages backend guard signer wallets and approval signatures for protected Polyester account actions.\n */\nexport class GuardSignerService {\n #client: Client<typeof Proto.GuardSignerService>;\n #resolver?: SubaccountResolver;\n\n constructor(transport: Transport, resolver?: SubaccountResolver) {\n this.#client = createClient(Proto.GuardSignerService, transport);\n this.#resolver = resolver;\n }\n\n /**\n * Creates a guard signer wallet for the resolved account target and returns the generated signer EVM address.\n */\n async createWallet(\n input: GuardSignerScopedInput = {},\n options?: PolyesterMutationOptions,\n ): Promise<CreateGuardSignerWalletResult> {\n const request = parse(GuardSignerScopedInputSchema, this.resolveInput(input));\n const response = await this.#client.createGuardSignerWallet(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return parse(CreateGuardSignerWalletResultSchema, response);\n }\n\n /**\n * Returns stored and live guard signer status for the resolved account target, including signer address, on-chain signer, initialization state, nonce, and nonce space. Returns null when the backend reports the wallet is not found.\n */\n async getStatus(\n input: GuardSignerScopedInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<GuardSignerStatus | null> {\n const request = parse(GuardSignerScopedInputSchema, this.resolveInput(input));\n try {\n const response = await this.#client.getGuardSignerStatus(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.status ? parse(GuardSignerStatusSchema, response.status) : null;\n } catch (err) {\n if (isResourceNotFoundError(err) || isGuardSignerWalletNotFoundError(err)) return null;\n throw err;\n }\n }\n\n /**\n * Creates one guard approval signature for a supported protected action, such as whitelist updates or whitelist requirement changes. Returns null if the backend response has no approval payload.\n */\n async signProtectedAction(\n input: SignProtectedActionInput,\n options?: PolyesterMutationOptions,\n ): Promise<GuardApproval | null> {\n const request = parse(SignProtectedActionInputSchema, this.resolveInput(input));\n const response = await this.#client.signProtectedAction(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.approval ? parse(GuardApprovalSchema, response.approval) : null;\n }\n\n /**\n * Creates ordered guard approval signatures for a batch of protected actions and verifies the backend returned one approval per requested action.\n */\n async batchSignProtectedActions(\n input: BatchSignProtectedActionInput,\n options?: PolyesterMutationOptions,\n ): Promise<BatchGuardApprovals> {\n const request = parse(BatchSignProtectedActionInputSchema, this.resolveInput(input));\n const response = await this.#client.batchSignProtectedActions(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n\n if (response.approvals.length !== input.actions.length) {\n throw new Error(\"Backend returned a mismatched number of GuardSigner approvals.\");\n }\n\n return parse(BatchGuardApprovalsSchema, response);\n }\n\n /**\n * Generates a backend-managed replacement guard signer for the resolved account target and returns the new signer address plus the rotation approval payload.\n */\n async rotateWallet(\n input: GuardSignerScopedInput = {},\n options?: PolyesterMutationOptions,\n ): Promise<RotateGuardSignerWalletResult> {\n const request = parse(GuardSignerScopedInputSchema, this.resolveInput(input));\n const response = await this.#client.rotateGuardSignerWallet(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return parse(RotateGuardSignerWalletResultSchema, response);\n }\n\n /**\n * Exports guard signer private key material for the resolved account target after owner authorization and fresh step-up, returning the backend export response.\n */\n async exportWallet(\n input: GuardSignerScopedInput = {},\n options?: PolyesterMutationOptions,\n ): Promise<ExportGuardSignerWalletResult> {\n const request = parse(GuardSignerScopedInputSchema, this.resolveInput(input));\n const response = await this.#client.exportGuardSignerWallet(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return parse(ExportGuardSignerWalletResultSchema, response);\n }\n\n private resolveInput<TInput extends AccountScopedInput>(input: TInput): TInput {\n return resolveAccountScopedInput(input, this.#resolver);\n }\n}\n"],"mappings":";;;;;;;;;AAiCA,MAAM,wCAAwC;AAE9C,SAAS,iCAAiC,KAAuB;CAC7D,OAAO,mBAAmB,KAAK,EAAE,CAAC,CAC7B,YAAY,CAAC,CACb,SAAS,qCAAqC;AACvD;;;;AAKA,IAAa,qBAAb,MAAgC;CAC5B;CACA;CAEA,YAAY,WAAsB,UAA+B;EAC7D,KAAKA,UAAU,aAAaC,sBAA0B,SAAS;EAC/D,KAAKC,YAAY;CACrB;;;;CAKA,MAAM,aACF,QAAgC,CAAC,GACjC,SACsC;EACtC,MAAM,UAAU,MAAM,8BAA8B,KAAK,aAAa,KAAK,CAAC;EAC5E,MAAM,WAAW,MAAM,KAAKF,QAAQ,wBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,MAAM,qCAAqC,QAAQ;CAC9D;;;;CAKA,MAAM,UACF,QAAgC,CAAC,GACjC,SACiC;EACjC,MAAM,UAAU,MAAM,8BAA8B,KAAK,aAAa,KAAK,CAAC;EAC5E,IAAI;GACA,MAAM,WAAW,MAAM,KAAKA,QAAQ,qBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;GACA,OAAO,SAAS,SAAS,MAAM,yBAAyB,SAAS,MAAM,IAAI;EAC/E,SAAS,KAAK;GACV,IAAI,wBAAwB,GAAG,KAAK,iCAAiC,GAAG,GAAG,OAAO;GAClF,MAAM;EACV;CACJ;;;;CAKA,MAAM,oBACF,OACA,SAC6B;EAC7B,MAAM,UAAU,MAAM,gCAAgC,KAAK,aAAa,KAAK,CAAC;EAC9E,MAAM,WAAW,MAAM,KAAKA,QAAQ,oBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,SAAS,WAAW,MAAM,qBAAqB,SAAS,QAAQ,IAAI;CAC/E;;;;CAKA,MAAM,0BACF,OACA,SAC4B;EAC5B,MAAM,UAAU,MAAM,qCAAqC,KAAK,aAAa,KAAK,CAAC;EACnF,MAAM,WAAW,MAAM,KAAKA,QAAQ,0BAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EAEA,IAAI,SAAS,UAAU,WAAW,MAAM,QAAQ,QAC5C,MAAM,IAAI,MAAM,gEAAgE;EAGpF,OAAO,MAAM,2BAA2B,QAAQ;CACpD;;;;CAKA,MAAM,aACF,QAAgC,CAAC,GACjC,SACsC;EACtC,MAAM,UAAU,MAAM,8BAA8B,KAAK,aAAa,KAAK,CAAC;EAC5E,MAAM,WAAW,MAAM,KAAKA,QAAQ,wBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,MAAM,qCAAqC,QAAQ;CAC9D;;;;CAKA,MAAM,aACF,QAAgC,CAAC,GACjC,SACsC;EACtC,MAAM,UAAU,MAAM,8BAA8B,KAAK,aAAa,KAAK,CAAC;EAC5E,MAAM,WAAW,MAAM,KAAKA,QAAQ,wBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,MAAM,qCAAqC,QAAQ;CAC9D;CAEA,aAAwD,OAAuB;EAC3E,OAAO,0BAA0B,OAAO,KAAKE,SAAS;CAC1D;AACJ"}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { validation_d_exports } from "../../shared/validation.js";
|
|
2
1
|
import { ProtectedAction } from "../../gen/chain/guard/v1/guard_signer_pb.js";
|
|
2
|
+
import * as v from "valibot";
|
|
3
3
|
//#region src/services/guard-signer/guard-signer.schemas.d.ts
|
|
4
|
-
declare const GuardSignerScopedInputSchema:
|
|
5
|
-
readonly account:
|
|
6
|
-
readonly subaccountId:
|
|
4
|
+
declare const GuardSignerScopedInputSchema: v.SchemaWithPipe<readonly [v.StrictObjectSchema<{
|
|
5
|
+
readonly account: v.OptionalSchema<v.UnionSchema<[v.PicklistSchema<["active", "main"], undefined>, v.StrictObjectSchema<{
|
|
6
|
+
readonly subaccountId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
|
|
7
7
|
}, undefined>], undefined>, undefined>;
|
|
8
|
-
}, undefined>,
|
|
8
|
+
}, undefined>, v.TransformAction<{
|
|
9
9
|
account?: "active" | "main" | {
|
|
10
10
|
subaccountId: string;
|
|
11
11
|
} | undefined;
|
|
12
12
|
}, {
|
|
13
13
|
subaccountId: bigint | undefined;
|
|
14
14
|
}>]>;
|
|
15
|
-
type GuardSignerScopedInput =
|
|
16
|
-
declare const SignProtectedActionInputSchema:
|
|
17
|
-
readonly action:
|
|
18
|
-
readonly args:
|
|
19
|
-
readonly case:
|
|
20
|
-
readonly polychainChainId:
|
|
21
|
-
readonly addresses:
|
|
22
|
-
}, undefined>,
|
|
23
|
-
readonly case:
|
|
24
|
-
readonly addresses:
|
|
25
|
-
}, undefined>,
|
|
26
|
-
readonly case:
|
|
27
|
-
readonly required:
|
|
15
|
+
type GuardSignerScopedInput = v.InferInput<typeof GuardSignerScopedInputSchema>;
|
|
16
|
+
declare const SignProtectedActionInputSchema: v.SchemaWithPipe<readonly [v.StrictObjectSchema<{
|
|
17
|
+
readonly action: v.PicklistSchema<readonly ["fundingSetExternalWhitelistRequired", "fundingAddExternalWhitelist", "fundingRemoveExternalWhitelist", "fundingAddInternalWhitelist", "fundingRemoveInternalWhitelist", "fundingSetInternalWhitelistRequired"], undefined>;
|
|
18
|
+
readonly args: v.OptionalSchema<v.VariantSchema<"case", [v.StrictObjectSchema<{
|
|
19
|
+
readonly case: v.LiteralSchema<"externalWhitelist", undefined>;
|
|
20
|
+
readonly polychainChainId: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.GtValueAction<number, 0, undefined>]>;
|
|
21
|
+
readonly addresses: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>, v.MinLengthAction<string[], 1, undefined>]>;
|
|
22
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
23
|
+
readonly case: v.LiteralSchema<"internalWhitelist", undefined>;
|
|
24
|
+
readonly addresses: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>, v.MinLengthAction<string[], 1, undefined>]>;
|
|
25
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
26
|
+
readonly case: v.LiteralSchema<"whitelistRequirement", undefined>;
|
|
27
|
+
readonly required: v.BooleanSchema<undefined>;
|
|
28
28
|
}, undefined>], undefined>, undefined>;
|
|
29
|
-
readonly account:
|
|
30
|
-
readonly subaccountId:
|
|
29
|
+
readonly account: v.OptionalSchema<v.UnionSchema<[v.PicklistSchema<["active", "main"], undefined>, v.StrictObjectSchema<{
|
|
30
|
+
readonly subaccountId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
|
|
31
31
|
}, undefined>], undefined>, undefined>;
|
|
32
|
-
}, undefined>,
|
|
32
|
+
}, undefined>, v.TransformAction<{
|
|
33
33
|
action: "fundingSetExternalWhitelistRequired" | "fundingAddExternalWhitelist" | "fundingRemoveExternalWhitelist" | "fundingAddInternalWhitelist" | "fundingRemoveInternalWhitelist" | "fundingSetInternalWhitelistRequired";
|
|
34
34
|
args?: {
|
|
35
35
|
case: "externalWhitelist";
|
|
@@ -77,22 +77,22 @@ declare const SignProtectedActionInputSchema: validation_d_exports.SchemaWithPip
|
|
|
77
77
|
};
|
|
78
78
|
} | undefined;
|
|
79
79
|
}>]>;
|
|
80
|
-
type SignProtectedActionInput =
|
|
81
|
-
declare const BatchSignProtectedActionInputSchema:
|
|
82
|
-
readonly actions:
|
|
83
|
-
readonly action:
|
|
84
|
-
readonly args:
|
|
85
|
-
readonly case:
|
|
86
|
-
readonly polychainChainId:
|
|
87
|
-
readonly addresses:
|
|
88
|
-
}, undefined>,
|
|
89
|
-
readonly case:
|
|
90
|
-
readonly addresses:
|
|
91
|
-
}, undefined>,
|
|
92
|
-
readonly case:
|
|
93
|
-
readonly required:
|
|
80
|
+
type SignProtectedActionInput = v.InferInput<typeof SignProtectedActionInputSchema>;
|
|
81
|
+
declare const BatchSignProtectedActionInputSchema: v.SchemaWithPipe<readonly [v.StrictObjectSchema<{
|
|
82
|
+
readonly actions: v.SchemaWithPipe<readonly [v.ArraySchema<v.StrictObjectSchema<{
|
|
83
|
+
readonly action: v.PicklistSchema<readonly ["fundingSetExternalWhitelistRequired", "fundingAddExternalWhitelist", "fundingRemoveExternalWhitelist", "fundingAddInternalWhitelist", "fundingRemoveInternalWhitelist", "fundingSetInternalWhitelistRequired"], undefined>;
|
|
84
|
+
readonly args: v.OptionalSchema<v.VariantSchema<"case", [v.StrictObjectSchema<{
|
|
85
|
+
readonly case: v.LiteralSchema<"externalWhitelist", undefined>;
|
|
86
|
+
readonly polychainChainId: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.GtValueAction<number, 0, undefined>]>;
|
|
87
|
+
readonly addresses: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>, v.MinLengthAction<string[], 1, undefined>]>;
|
|
88
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
89
|
+
readonly case: v.LiteralSchema<"internalWhitelist", undefined>;
|
|
90
|
+
readonly addresses: v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>, v.MinLengthAction<string[], 1, undefined>]>;
|
|
91
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
92
|
+
readonly case: v.LiteralSchema<"whitelistRequirement", undefined>;
|
|
93
|
+
readonly required: v.BooleanSchema<undefined>;
|
|
94
94
|
}, undefined>], undefined>, undefined>;
|
|
95
|
-
}, undefined>, undefined>,
|
|
95
|
+
}, undefined>, undefined>, v.MinLengthAction<{
|
|
96
96
|
action: "fundingSetExternalWhitelistRequired" | "fundingAddExternalWhitelist" | "fundingRemoveExternalWhitelist" | "fundingAddInternalWhitelist" | "fundingRemoveInternalWhitelist" | "fundingSetInternalWhitelistRequired";
|
|
97
97
|
args?: {
|
|
98
98
|
case: "externalWhitelist";
|
|
@@ -106,10 +106,10 @@ declare const BatchSignProtectedActionInputSchema: validation_d_exports.SchemaWi
|
|
|
106
106
|
required: boolean;
|
|
107
107
|
} | undefined;
|
|
108
108
|
}[], 1, "At least one protected action is required.">]>;
|
|
109
|
-
readonly account:
|
|
110
|
-
readonly subaccountId:
|
|
109
|
+
readonly account: v.OptionalSchema<v.UnionSchema<[v.PicklistSchema<["active", "main"], undefined>, v.StrictObjectSchema<{
|
|
110
|
+
readonly subaccountId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
|
|
111
111
|
}, undefined>], undefined>, undefined>;
|
|
112
|
-
}, undefined>,
|
|
112
|
+
}, undefined>, v.TransformAction<{
|
|
113
113
|
actions: {
|
|
114
114
|
action: "fundingSetExternalWhitelistRequired" | "fundingAddExternalWhitelist" | "fundingRemoveExternalWhitelist" | "fundingAddInternalWhitelist" | "fundingRemoveInternalWhitelist" | "fundingSetInternalWhitelistRequired";
|
|
115
115
|
args?: {
|
|
@@ -161,20 +161,20 @@ declare const BatchSignProtectedActionInputSchema: validation_d_exports.SchemaWi
|
|
|
161
161
|
} | undefined;
|
|
162
162
|
}[];
|
|
163
163
|
}>]>;
|
|
164
|
-
type BatchSignProtectedActionInput =
|
|
165
|
-
declare const GuardSignerStatusSchema:
|
|
166
|
-
readonly signerAddress:
|
|
167
|
-
readonly onchainSignerAddress:
|
|
168
|
-
readonly initialized:
|
|
169
|
-
readonly nonce:
|
|
170
|
-
readonly nonceSpace:
|
|
164
|
+
type BatchSignProtectedActionInput = v.InferInput<typeof BatchSignProtectedActionInputSchema>;
|
|
165
|
+
declare const GuardSignerStatusSchema: v.ObjectSchema<{
|
|
166
|
+
readonly signerAddress: v.StringSchema<undefined>;
|
|
167
|
+
readonly onchainSignerAddress: v.StringSchema<undefined>;
|
|
168
|
+
readonly initialized: v.BooleanSchema<undefined>;
|
|
169
|
+
readonly nonce: v.StringSchema<undefined>;
|
|
170
|
+
readonly nonceSpace: v.BigintSchema<undefined>;
|
|
171
171
|
}, undefined>;
|
|
172
|
-
type GuardSignerStatus =
|
|
173
|
-
declare const GuardApprovalSchema:
|
|
174
|
-
readonly nonceSpace:
|
|
175
|
-
readonly deadlineUnix:
|
|
176
|
-
readonly signature:
|
|
177
|
-
}, undefined>,
|
|
172
|
+
type GuardSignerStatus = v.InferOutput<typeof GuardSignerStatusSchema>;
|
|
173
|
+
declare const GuardApprovalSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
174
|
+
readonly nonceSpace: v.BigintSchema<undefined>;
|
|
175
|
+
readonly deadlineUnix: v.BigintSchema<undefined>;
|
|
176
|
+
readonly signature: v.InstanceSchema<Uint8ArrayConstructor, undefined>;
|
|
177
|
+
}, undefined>, v.TransformAction<{
|
|
178
178
|
nonceSpace: bigint;
|
|
179
179
|
deadlineUnix: bigint;
|
|
180
180
|
signature: Uint8Array<ArrayBuffer>;
|
|
@@ -188,13 +188,13 @@ declare const GuardApprovalSchema: validation_d_exports.SchemaWithPipe<readonly
|
|
|
188
188
|
signature: Uint8Array<ArrayBuffer>;
|
|
189
189
|
};
|
|
190
190
|
}>]>;
|
|
191
|
-
type GuardApproval =
|
|
192
|
-
declare const BatchGuardApprovalsSchema:
|
|
193
|
-
readonly approvals:
|
|
194
|
-
readonly nonceSpace:
|
|
195
|
-
readonly deadlineUnix:
|
|
196
|
-
readonly signature:
|
|
197
|
-
}, undefined>,
|
|
191
|
+
type GuardApproval = v.InferOutput<typeof GuardApprovalSchema>;
|
|
192
|
+
declare const BatchGuardApprovalsSchema: v.ObjectSchema<{
|
|
193
|
+
readonly approvals: v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
194
|
+
readonly nonceSpace: v.BigintSchema<undefined>;
|
|
195
|
+
readonly deadlineUnix: v.BigintSchema<undefined>;
|
|
196
|
+
readonly signature: v.InstanceSchema<Uint8ArrayConstructor, undefined>;
|
|
197
|
+
}, undefined>, v.TransformAction<{
|
|
198
198
|
nonceSpace: bigint;
|
|
199
199
|
deadlineUnix: bigint;
|
|
200
200
|
signature: Uint8Array<ArrayBuffer>;
|
|
@@ -209,18 +209,18 @@ declare const BatchGuardApprovalsSchema: validation_d_exports.ObjectSchema<{
|
|
|
209
209
|
};
|
|
210
210
|
}>]>, undefined>;
|
|
211
211
|
}, undefined>;
|
|
212
|
-
type BatchGuardApprovals =
|
|
213
|
-
declare const CreateGuardSignerWalletResultSchema:
|
|
214
|
-
readonly signerAddress:
|
|
212
|
+
type BatchGuardApprovals = v.InferOutput<typeof BatchGuardApprovalsSchema>;
|
|
213
|
+
declare const CreateGuardSignerWalletResultSchema: v.ObjectSchema<{
|
|
214
|
+
readonly signerAddress: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, undefined>]>;
|
|
215
215
|
}, undefined>;
|
|
216
|
-
type CreateGuardSignerWalletResult =
|
|
217
|
-
declare const RotateGuardSignerWalletResultSchema:
|
|
218
|
-
readonly newSignerAddress:
|
|
219
|
-
readonly approval:
|
|
220
|
-
readonly nonceSpace:
|
|
221
|
-
readonly deadlineUnix:
|
|
222
|
-
readonly signature:
|
|
223
|
-
}, undefined>,
|
|
216
|
+
type CreateGuardSignerWalletResult = v.InferOutput<typeof CreateGuardSignerWalletResultSchema>;
|
|
217
|
+
declare const RotateGuardSignerWalletResultSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
218
|
+
readonly newSignerAddress: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, undefined>]>;
|
|
219
|
+
readonly approval: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
220
|
+
readonly nonceSpace: v.BigintSchema<undefined>;
|
|
221
|
+
readonly deadlineUnix: v.BigintSchema<undefined>;
|
|
222
|
+
readonly signature: v.InstanceSchema<Uint8ArrayConstructor, undefined>;
|
|
223
|
+
}, undefined>, v.TransformAction<{
|
|
224
224
|
nonceSpace: bigint;
|
|
225
225
|
deadlineUnix: bigint;
|
|
226
226
|
signature: Uint8Array<ArrayBuffer>;
|
|
@@ -234,7 +234,7 @@ declare const RotateGuardSignerWalletResultSchema: validation_d_exports.SchemaWi
|
|
|
234
234
|
signature: Uint8Array<ArrayBuffer>;
|
|
235
235
|
};
|
|
236
236
|
}>]>, undefined>;
|
|
237
|
-
}, undefined>,
|
|
237
|
+
}, undefined>, v.TransformAction<{
|
|
238
238
|
newSignerAddress: string;
|
|
239
239
|
approval?: {
|
|
240
240
|
nonceSpace: string;
|
|
@@ -259,11 +259,11 @@ declare const RotateGuardSignerWalletResultSchema: validation_d_exports.SchemaWi
|
|
|
259
259
|
};
|
|
260
260
|
} | null;
|
|
261
261
|
}>]>;
|
|
262
|
-
type RotateGuardSignerWalletResult =
|
|
263
|
-
declare const ExportGuardSignerWalletResultSchema:
|
|
264
|
-
readonly privateKey:
|
|
262
|
+
type RotateGuardSignerWalletResult = v.InferOutput<typeof RotateGuardSignerWalletResultSchema>;
|
|
263
|
+
declare const ExportGuardSignerWalletResultSchema: v.ObjectSchema<{
|
|
264
|
+
readonly privateKey: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, undefined>]>;
|
|
265
265
|
}, undefined>;
|
|
266
|
-
type ExportGuardSignerWalletResult =
|
|
266
|
+
type ExportGuardSignerWalletResult = v.InferOutput<typeof ExportGuardSignerWalletResultSchema>;
|
|
267
267
|
//#endregion
|
|
268
268
|
export { BatchGuardApprovals, BatchGuardApprovalsSchema, BatchSignProtectedActionInput, BatchSignProtectedActionInputSchema, CreateGuardSignerWalletResult, CreateGuardSignerWalletResultSchema, ExportGuardSignerWalletResult, ExportGuardSignerWalletResultSchema, GuardApproval, GuardApprovalSchema, GuardSignerScopedInput, GuardSignerScopedInputSchema, GuardSignerStatus, GuardSignerStatusSchema, RotateGuardSignerWalletResult, RotateGuardSignerWalletResultSchema, SignProtectedActionInput, SignProtectedActionInputSchema };
|
|
269
269
|
//# sourceMappingURL=guard-signer.schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard-signer.schemas.d.ts","names":[],"sources":["../../../src/services/guard-signer/guard-signer.schemas.ts"],"mappings":";;;cAYa,8BAA4B,
|
|
1
|
+
{"version":3,"file":"guard-signer.schemas.d.ts","names":[],"sources":["../../../src/services/guard-signer/guard-signer.schemas.ts"],"mappings":";;;cAYa,8BAA4B,EAAA,yBAAA,EAAA;;;;;;;;;;;KAS7B,yBAAyB,EAAE,kBAAkB;cAoD5C,gCAA8B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAa/B,2BAA2B,EAAE,kBAAkB;cAE9C,qCAAmC,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsBpC,gCAAgC,EAAE,kBACnC;cAGE,yBAAuB,EAAA;;;;;;;KAQxB,oBAAoB,EAAE,mBAAmB;cAExC,qBAAmB,EAAA,yBAAA,EAAA;;;;;;;;;;;EAS4B;;;;;;;KAKhD,gBAAgB,EAAE,mBAAmB;cAEpC,2BAAyB,EAAA;;;;;;;;;;;;IAPsB;;;;;;;;KAWhD,sBAAsB,EAAE,mBAAmB;cAE1C,qCAAmC,EAAA;;;KAIpC,gCAAgC,EAAE,mBACnC;cAGE,qCAAmC,EAAA,yBAAA,EAAA;;;;;;;;;;;;;IArBY;;;;;;;;;;;;IAAA;;;;;;;;;;;;IAAA;;;;;;;;KAgChD,gCAAgC,EAAE,mBACnC;cAGE,qCAAmC,EAAA;;;KAIpC,gCAAgC,EAAE,mBACnC"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { validation_exports } from "../../shared/validation.js";
|
|
2
1
|
import { AccountScopeInputEntries, accountScopeToSubaccountId } from "../../shared/account-scope.js";
|
|
3
2
|
import { PROTECTED_ACTION_VALUES, ProtectedActionCodec } from "./guard-signer.codecs.js";
|
|
3
|
+
import * as v from "valibot";
|
|
4
4
|
import { bytesToHex } from "@noble/hashes/utils.js";
|
|
5
5
|
//#region src/services/guard-signer/guard-signer.schemas.ts
|
|
6
|
-
const HexAddressSchema =
|
|
7
|
-
const WhitelistAddressSchema =
|
|
8
|
-
const GuardSignerScopedInputSchema =
|
|
9
|
-
const ProtectedActionArgsInputSchema =
|
|
10
|
-
|
|
11
|
-
case:
|
|
12
|
-
polychainChainId:
|
|
13
|
-
addresses:
|
|
6
|
+
const HexAddressSchema = v.pipe(v.string(), v.trim(), v.regex(/^0x[0-9a-fA-F]{40}$/));
|
|
7
|
+
const WhitelistAddressSchema = v.pipe(v.string(), v.trim(), v.minLength(1));
|
|
8
|
+
const GuardSignerScopedInputSchema = v.pipe(v.strictObject({ ...AccountScopeInputEntries }), v.transform(({ account }) => ({ subaccountId: accountScopeToSubaccountId(account) })));
|
|
9
|
+
const ProtectedActionArgsInputSchema = v.variant("case", [
|
|
10
|
+
v.strictObject({
|
|
11
|
+
case: v.literal("externalWhitelist"),
|
|
12
|
+
polychainChainId: v.pipe(v.number(), v.integer(), v.gtValue(0)),
|
|
13
|
+
addresses: v.pipe(v.array(WhitelistAddressSchema), v.minLength(1))
|
|
14
14
|
}),
|
|
15
|
-
|
|
16
|
-
case:
|
|
17
|
-
addresses:
|
|
15
|
+
v.strictObject({
|
|
16
|
+
case: v.literal("internalWhitelist"),
|
|
17
|
+
addresses: v.pipe(v.array(WhitelistAddressSchema), v.minLength(1))
|
|
18
18
|
}),
|
|
19
|
-
|
|
20
|
-
case:
|
|
21
|
-
required:
|
|
19
|
+
v.strictObject({
|
|
20
|
+
case: v.literal("whitelistRequirement"),
|
|
21
|
+
required: v.boolean()
|
|
22
22
|
})
|
|
23
23
|
]);
|
|
24
24
|
function toProtectedActionArgs(args) {
|
|
@@ -38,55 +38,55 @@ function toProtectedActionArgs(args) {
|
|
|
38
38
|
value: { required: args.required }
|
|
39
39
|
} };
|
|
40
40
|
}
|
|
41
|
-
const SignProtectedActionInputSchema =
|
|
41
|
+
const SignProtectedActionInputSchema = v.pipe(v.strictObject({
|
|
42
42
|
...AccountScopeInputEntries,
|
|
43
|
-
action:
|
|
44
|
-
args:
|
|
45
|
-
}),
|
|
43
|
+
action: v.picklist(PROTECTED_ACTION_VALUES),
|
|
44
|
+
args: v.optional(ProtectedActionArgsInputSchema)
|
|
45
|
+
}), v.transform(({ account, action, args }) => ({
|
|
46
46
|
subaccountId: accountScopeToSubaccountId(account),
|
|
47
47
|
action: ProtectedActionCodec.inputToProto[action],
|
|
48
48
|
args: args ? toProtectedActionArgs(args) : void 0
|
|
49
49
|
})));
|
|
50
|
-
const BatchSignProtectedActionInputSchema =
|
|
50
|
+
const BatchSignProtectedActionInputSchema = v.pipe(v.strictObject({
|
|
51
51
|
...AccountScopeInputEntries,
|
|
52
|
-
actions:
|
|
53
|
-
action:
|
|
54
|
-
args:
|
|
55
|
-
})),
|
|
56
|
-
}),
|
|
52
|
+
actions: v.pipe(v.array(v.strictObject({
|
|
53
|
+
action: v.picklist(PROTECTED_ACTION_VALUES),
|
|
54
|
+
args: v.optional(ProtectedActionArgsInputSchema)
|
|
55
|
+
})), v.minLength(1, "At least one protected action is required."))
|
|
56
|
+
}), v.transform(({ account, actions }) => ({
|
|
57
57
|
subaccountId: accountScopeToSubaccountId(account),
|
|
58
58
|
actions: actions.map(({ action, args }) => ({
|
|
59
59
|
action: ProtectedActionCodec.inputToProto[action],
|
|
60
60
|
args: args ? toProtectedActionArgs(args) : void 0
|
|
61
61
|
}))
|
|
62
62
|
})));
|
|
63
|
-
const GuardSignerStatusSchema =
|
|
64
|
-
signerAddress:
|
|
65
|
-
onchainSignerAddress:
|
|
66
|
-
initialized:
|
|
67
|
-
nonce:
|
|
68
|
-
nonceSpace:
|
|
63
|
+
const GuardSignerStatusSchema = v.object({
|
|
64
|
+
signerAddress: v.string(),
|
|
65
|
+
onchainSignerAddress: v.string(),
|
|
66
|
+
initialized: v.boolean(),
|
|
67
|
+
nonce: v.string(),
|
|
68
|
+
nonceSpace: v.bigint()
|
|
69
69
|
});
|
|
70
|
-
const GuardApprovalSchema =
|
|
71
|
-
nonceSpace:
|
|
72
|
-
deadlineUnix:
|
|
73
|
-
signature:
|
|
74
|
-
}),
|
|
70
|
+
const GuardApprovalSchema = v.pipe(v.object({
|
|
71
|
+
nonceSpace: v.bigint(),
|
|
72
|
+
deadlineUnix: v.bigint(),
|
|
73
|
+
signature: v.instance(Uint8Array)
|
|
74
|
+
}), v.transform((approval) => ({
|
|
75
75
|
nonceSpace: approval.nonceSpace.toString(),
|
|
76
76
|
deadlineUnix: approval.deadlineUnix.toString(),
|
|
77
77
|
signature: `0x${bytesToHex(approval.signature)}`,
|
|
78
78
|
raw: approval
|
|
79
79
|
})));
|
|
80
|
-
const BatchGuardApprovalsSchema =
|
|
81
|
-
const CreateGuardSignerWalletResultSchema =
|
|
82
|
-
const RotateGuardSignerWalletResultSchema =
|
|
80
|
+
const BatchGuardApprovalsSchema = v.object({ approvals: v.array(GuardApprovalSchema) });
|
|
81
|
+
const CreateGuardSignerWalletResultSchema = v.object({ signerAddress: HexAddressSchema });
|
|
82
|
+
const RotateGuardSignerWalletResultSchema = v.pipe(v.object({
|
|
83
83
|
newSignerAddress: HexAddressSchema,
|
|
84
|
-
approval:
|
|
85
|
-
}),
|
|
84
|
+
approval: v.optional(GuardApprovalSchema)
|
|
85
|
+
}), v.transform((result) => ({
|
|
86
86
|
newSignerAddress: result.newSignerAddress,
|
|
87
87
|
approval: result.approval ?? null
|
|
88
88
|
})));
|
|
89
|
-
const ExportGuardSignerWalletResultSchema =
|
|
89
|
+
const ExportGuardSignerWalletResultSchema = v.object({ privateKey: v.pipe(v.string(), v.trim(), v.regex(/^0x[0-9a-fA-F]{64}$/)) });
|
|
90
90
|
//#endregion
|
|
91
91
|
export { BatchGuardApprovalsSchema, BatchSignProtectedActionInputSchema, CreateGuardSignerWalletResultSchema, ExportGuardSignerWalletResultSchema, GuardApprovalSchema, GuardSignerScopedInputSchema, GuardSignerStatusSchema, RotateGuardSignerWalletResultSchema, SignProtectedActionInputSchema };
|
|
92
92
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard-signer.schemas.js","names":[
|
|
1
|
+
{"version":3,"file":"guard-signer.schemas.js","names":[],"sources":["../../../src/services/guard-signer/guard-signer.schemas.ts"],"sourcesContent":["import { bytesToHex } from \"@noble/hashes/utils.js\";\nimport * as v from \"valibot\";\nimport { PROTECTED_ACTION_VALUES, ProtectedActionCodec } from \"./guard-signer.codecs.js\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../shared/account-scope.js\";\n\nconst HexAddressSchema = v.pipe(v.string(), v.trim(), v.regex(/^0x[0-9a-fA-F]{40}$/));\n\nconst WhitelistAddressSchema = v.pipe(v.string(), v.trim(), v.minLength(1));\n\nexport const GuardSignerScopedInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n }),\n v.transform(({ account }) => ({\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type GuardSignerScopedInput = v.InferInput<typeof GuardSignerScopedInputSchema>;\n\nconst ProtectedActionArgsInputSchema = v.variant(\"case\", [\n v.strictObject({\n case: v.literal(\"externalWhitelist\"),\n polychainChainId: v.pipe(v.number(), v.integer(), v.gtValue(0)),\n addresses: v.pipe(v.array(WhitelistAddressSchema), v.minLength(1)),\n }),\n v.strictObject({\n case: v.literal(\"internalWhitelist\"),\n addresses: v.pipe(v.array(WhitelistAddressSchema), v.minLength(1)),\n }),\n v.strictObject({\n case: v.literal(\"whitelistRequirement\"),\n required: v.boolean(),\n }),\n]);\n\nfunction toProtectedActionArgs(args: v.InferOutput<typeof ProtectedActionArgsInputSchema>) {\n if (args.case === \"externalWhitelist\") {\n return {\n args: {\n case: \"externalWhitelist\" as const,\n value: {\n polychainChainId: args.polychainChainId,\n addresses: args.addresses,\n },\n },\n };\n }\n\n if (args.case === \"internalWhitelist\") {\n return {\n args: {\n case: \"internalWhitelist\" as const,\n value: {\n addresses: args.addresses,\n },\n },\n };\n }\n\n return {\n args: {\n case: \"whitelistRequirement\" as const,\n value: {\n required: args.required,\n },\n },\n };\n}\n\nexport const SignProtectedActionInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n action: v.picklist(PROTECTED_ACTION_VALUES),\n args: v.optional(ProtectedActionArgsInputSchema),\n }),\n v.transform(({ account, action, args }) => ({\n subaccountId: accountScopeToSubaccountId(account),\n action: ProtectedActionCodec.inputToProto[action],\n args: args ? toProtectedActionArgs(args) : undefined,\n })),\n);\n\nexport type SignProtectedActionInput = v.InferInput<typeof SignProtectedActionInputSchema>;\n\nexport const BatchSignProtectedActionInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n actions: v.pipe(\n v.array(\n v.strictObject({\n action: v.picklist(PROTECTED_ACTION_VALUES),\n args: v.optional(ProtectedActionArgsInputSchema),\n }),\n ),\n v.minLength(1, \"At least one protected action is required.\"),\n ),\n }),\n v.transform(({ account, actions }) => ({\n subaccountId: accountScopeToSubaccountId(account),\n actions: actions.map(({ action, args }) => ({\n action: ProtectedActionCodec.inputToProto[action],\n args: args ? toProtectedActionArgs(args) : undefined,\n })),\n })),\n);\n\nexport type BatchSignProtectedActionInput = v.InferInput<\n typeof BatchSignProtectedActionInputSchema\n>;\n\nexport const GuardSignerStatusSchema = v.object({\n signerAddress: v.string(),\n onchainSignerAddress: v.string(),\n initialized: v.boolean(),\n nonce: v.string(),\n nonceSpace: v.bigint(),\n});\n\nexport type GuardSignerStatus = v.InferOutput<typeof GuardSignerStatusSchema>;\n\nexport const GuardApprovalSchema = v.pipe(\n v.object({\n nonceSpace: v.bigint(),\n deadlineUnix: v.bigint(),\n signature: v.instance(Uint8Array),\n }),\n v.transform((approval) => ({\n nonceSpace: approval.nonceSpace.toString(),\n deadlineUnix: approval.deadlineUnix.toString(),\n signature: `0x${bytesToHex(approval.signature)}` as `0x${string}`,\n raw: approval,\n })),\n);\n\nexport type GuardApproval = v.InferOutput<typeof GuardApprovalSchema>;\n\nexport const BatchGuardApprovalsSchema = v.object({\n approvals: v.array(GuardApprovalSchema),\n});\n\nexport type BatchGuardApprovals = v.InferOutput<typeof BatchGuardApprovalsSchema>;\n\nexport const CreateGuardSignerWalletResultSchema = v.object({\n signerAddress: HexAddressSchema,\n});\n\nexport type CreateGuardSignerWalletResult = v.InferOutput<\n typeof CreateGuardSignerWalletResultSchema\n>;\n\nexport const RotateGuardSignerWalletResultSchema = v.pipe(\n v.object({\n newSignerAddress: HexAddressSchema,\n approval: v.optional(GuardApprovalSchema),\n }),\n v.transform((result) => ({\n newSignerAddress: result.newSignerAddress,\n approval: result.approval ?? null,\n })),\n);\n\nexport type RotateGuardSignerWalletResult = v.InferOutput<\n typeof RotateGuardSignerWalletResultSchema\n>;\n\nexport const ExportGuardSignerWalletResultSchema = v.object({\n privateKey: v.pipe(v.string(), v.trim(), v.regex(/^0x[0-9a-fA-F]{64}$/)),\n});\n\nexport type ExportGuardSignerWalletResult = v.InferOutput<\n typeof ExportGuardSignerWalletResultSchema\n>;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heatmap.d.ts","names":[],"sources":["../../../src/services/heatmap/heatmap.ts"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"heatmap.d.ts","names":[],"sources":["../../../src/services/heatmap/heatmap.ts"],"mappings":";;;;;;;;UA2BiB;EACb,oBACI,OAAO,0BACP,UAAU,0BACX,QAAQ;;UAGL,kCAAkC,mBAAmB;EAC3D;EACA,UAAU;;;;;cAWD,0BAA0B;;EAOvB,YAAA,WAAW,WAAW,UAAU,mBAAmB,QAAQ;;;;EAWjE,oBACF,OAAO,0BACP,UAAU,0BACX,QAAQ;;;;EA4BX,cAAc,OAAO"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { parse
|
|
1
|
+
import { parse } from "../../shared/validation.js";
|
|
2
2
|
import { toConnectCallOptions } from "../../shared/request-options.js";
|
|
3
3
|
import { publicationHandlerErrorContext } from "../../shared/subscription-errors.js";
|
|
4
4
|
import { createReadyGate } from "../../shared/decimal-surface.js";
|
|
@@ -7,10 +7,11 @@ import { HEATMAP_INTERVAL_VALUES } from "./heatmap.codecs.js";
|
|
|
7
7
|
import { GetOrderbookHeatmapInputSchema, createOrderbookHeatmapLiveBucketSchema, createOrderbookHeatmapResponseSchema } from "./heatmap.schemas.js";
|
|
8
8
|
import { create } from "@bufbuild/protobuf";
|
|
9
9
|
import { createClient } from "@connectrpc/connect";
|
|
10
|
+
import * as v from "valibot";
|
|
10
11
|
//#region src/services/heatmap/heatmap.ts
|
|
11
|
-
const SubscribeHeatmapLiveParamsSchema =
|
|
12
|
-
symbolId:
|
|
13
|
-
interval:
|
|
12
|
+
const SubscribeHeatmapLiveParamsSchema = v.object({
|
|
13
|
+
symbolId: v.pipe(v.number(), v.integer(), v.gtValue(0)),
|
|
14
|
+
interval: v.picklist(HEATMAP_INTERVAL_VALUES)
|
|
14
15
|
});
|
|
15
16
|
/**
|
|
16
17
|
* Reads historical order book heatmap chains and streams live heatmap buckets.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heatmap.js","names":["
|
|
1
|
+
{"version":3,"file":"heatmap.js","names":["#client","HeatmapRpc","#realtime","#scales","#responseSchema","#liveBucketSchema","ProtoHeatmapLiveBucketSchema"],"sources":["../../../src/services/heatmap/heatmap.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport { create } from \"@bufbuild/protobuf\";\nimport { publicationHandlerErrorContext } from \"../../shared/subscription-errors.js\";\nimport {\n HeatmapService as HeatmapRpc,\n HeatmapLiveBucketSchema as ProtoHeatmapLiveBucketSchema,\n HeatmapTimeRangeSchema,\n} from \"../../gen/marketdata/v1/heatmap_pb.js\";\nimport type { PolyesterRealtime } from \"../../realtime/types.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport {\n toConnectCallOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport { createReadyGate, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport { HEATMAP_INTERVAL_VALUES, type HeatmapIntervalValue } from \"./heatmap.codecs.js\";\nimport * as v from \"valibot\";\nimport { parse } from \"../../shared/validation.js\";\nimport {\n GetOrderbookHeatmapInputSchema,\n createOrderbookHeatmapLiveBucketSchema,\n createOrderbookHeatmapResponseSchema,\n type GetOrderbookHeatmapInput,\n type OrderbookHeatmapLiveBucket,\n type OrderbookHeatmapResponse,\n} from \"./heatmap.schemas.js\";\n\nexport interface OrderbookHeatmapProvider {\n getOrderbookHeatmap(\n input: GetOrderbookHeatmapInput,\n options?: PolyesterRequestOptions,\n ): Promise<OrderbookHeatmapResponse>;\n}\n\ninterface SubscribeHeatmapLiveInput extends BaseSubscribeInput<OrderbookHeatmapLiveBucket> {\n symbolId: number;\n interval: HeatmapIntervalValue;\n}\n\nconst SubscribeHeatmapLiveParamsSchema = v.object({\n symbolId: v.pipe(v.number(), v.integer(), v.gtValue(0)),\n interval: v.picklist(HEATMAP_INTERVAL_VALUES),\n});\n\n/**\n * Reads historical order book heatmap chains and streams live heatmap buckets.\n */\nexport class HeatmapService implements OrderbookHeatmapProvider {\n #client: Client<typeof HeatmapRpc>;\n #realtime: PolyesterRealtime;\n #scales: SdkScales;\n #responseSchema: ReturnType<typeof createOrderbookHeatmapResponseSchema>;\n #liveBucketSchema: ReturnType<typeof createOrderbookHeatmapLiveBucketSchema>;\n\n constructor(transport: Transport, realtime: PolyesterRealtime, scales: SdkScales) {\n this.#client = createClient(HeatmapRpc, transport);\n this.#realtime = realtime;\n this.#scales = scales;\n this.#responseSchema = createOrderbookHeatmapResponseSchema(scales);\n this.#liveBucketSchema = createOrderbookHeatmapLiveBucketSchema(scales);\n }\n\n /**\n * Fetches order book heatmap data for a symbol, interval, depth, and quantity mode using either an absolute time range or cursor pagination. The response includes a keyframe anchor, delta buckets, pagination metadata, and live-anchor fields when available.\n */\n async getOrderbookHeatmap(\n input: GetOrderbookHeatmapInput,\n options?: PolyesterRequestOptions,\n ): Promise<OrderbookHeatmapResponse> {\n const parsed = parse(GetOrderbookHeatmapInputSchema, input);\n await this.#scales.ready();\n\n const res = await this.#client.getOrderbookHeatmap(\n {\n symbolId: parsed.symbolId,\n interval: parsed.interval,\n depth: parsed.depth,\n quantityMode: parsed.quantityMode,\n limit: parsed.limit,\n pageToken: parsed.pageToken,\n timeRange:\n parsed.timeRange != null\n ? create(HeatmapTimeRangeSchema, {\n startTime: parsed.timeRange.startTime,\n endTime: parsed.timeRange.endTime,\n })\n : undefined,\n },\n toConnectCallOptions(options),\n );\n return parse(this.#responseSchema, res);\n }\n\n /**\n * Subscribes to live heatmap buckets on public:spot:market:heatmap:{interval}:{symbolId}:proto and emits parsed bid/ask delta buckets for the selected interval.\n */\n subscribeLive(input: SubscribeHeatmapLiveInput): () => void {\n const params = parse(SubscribeHeatmapLiveParamsSchema, {\n symbolId: input.symbolId,\n interval: input.interval,\n });\n const channel = `public:spot:market:heatmap:${params.interval}:${params.symbolId}:proto`;\n const gate = createReadyGate(\n () => this.#scales.ready(),\n (error) => input.onError?.(publicationHandlerErrorContext(channel, error)),\n );\n return this.#realtime.connectProtoChannel({\n channel,\n schema: ProtoHeatmapLiveBucketSchema,\n onPublication: (data) => {\n gate.run(() => {\n const bucket = parse(this.#liveBucketSchema, data);\n input.onEvent(bucket);\n });\n },\n onConnected: input.onOpen,\n onDisconnected: input.onClose,\n onError: input.onError,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;AAuCA,MAAM,mCAAmC,EAAE,OAAO;CAC9C,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,QAAQ,CAAC,CAAC;CACtD,UAAU,EAAE,SAAS,uBAAuB;AAChD,CAAC;;;;AAKD,IAAa,iBAAb,MAAgE;CAC5D;CACA;CACA;CACA;CACA;CAEA,YAAY,WAAsB,UAA6B,QAAmB;EAC9E,KAAKA,UAAU,aAAaC,kBAAY,SAAS;EACjD,KAAKC,YAAY;EACjB,KAAKC,UAAU;EACf,KAAKC,kBAAkB,qCAAqC,MAAM;EAClE,KAAKC,oBAAoB,uCAAuC,MAAM;CAC1E;;;;CAKA,MAAM,oBACF,OACA,SACiC;EACjC,MAAM,SAAS,MAAM,gCAAgC,KAAK;EAC1D,MAAM,KAAKF,QAAQ,MAAM;EAEzB,MAAM,MAAM,MAAM,KAAKH,QAAQ,oBAC3B;GACI,UAAU,OAAO;GACjB,UAAU,OAAO;GACjB,OAAO,OAAO;GACd,cAAc,OAAO;GACrB,OAAO,OAAO;GACd,WAAW,OAAO;GAClB,WACI,OAAO,aAAa,OACd,OAAO,wBAAwB;IAC3B,WAAW,OAAO,UAAU;IAC5B,SAAS,OAAO,UAAU;GAC9B,CAAC,IACD,KAAA;EACd,GACA,qBAAqB,OAAO,CAChC;EACA,OAAO,MAAM,KAAKI,iBAAiB,GAAG;CAC1C;;;;CAKA,cAAc,OAA8C;EACxD,MAAM,SAAS,MAAM,kCAAkC;GACnD,UAAU,MAAM;GAChB,UAAU,MAAM;EACpB,CAAC;EACD,MAAM,UAAU,8BAA8B,OAAO,SAAS,GAAG,OAAO,SAAS;EACjF,MAAM,OAAO,sBACH,KAAKD,QAAQ,MAAM,IACxB,UAAU,MAAM,UAAU,+BAA+B,SAAS,KAAK,CAAC,CAC7E;EACA,OAAO,KAAKD,UAAU,oBAAoB;GACtC;GACA,QAAQI;GACR,gBAAgB,SAAS;IACrB,KAAK,UAAU;KACX,MAAM,SAAS,MAAM,KAAKD,mBAAmB,IAAI;KACjD,MAAM,QAAQ,MAAM;IACxB,CAAC;GACL;GACA,aAAa,MAAM;GACnB,gBAAgB,MAAM;GACtB,SAAS,MAAM;EACnB,CAAC;CACL;AACJ"}
|