@polyester/sdk 0.20.0 → 0.21.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 +24 -0
- package/README.md +9 -9
- package/dist/environment.d.ts +2 -2
- package/dist/environment.d.ts.map +1 -1
- package/dist/environment.js +4 -4
- package/dist/environment.js.map +1 -1
- package/dist/gen/auth/v1/api_keys_pb.d.ts +3 -1
- package/dist/gen/auth/v1/api_keys_pb.d.ts.map +1 -1
- package/dist/gen/auth/v1/api_keys_pb.js.map +1 -1
- package/dist/gen/auth/v1/auth_pb.d.ts +49 -5
- package/dist/gen/auth/v1/auth_pb.d.ts.map +1 -1
- package/dist/gen/auth/v1/auth_pb.js +21 -3
- package/dist/gen/auth/v1/auth_pb.js.map +1 -1
- package/dist/gen/auth/v1/profile_pb.d.ts +7 -0
- package/dist/gen/auth/v1/profile_pb.d.ts.map +1 -1
- package/dist/gen/auth/v1/profile_pb.js +1 -1
- package/dist/gen/auth/v1/profile_pb.js.map +1 -1
- package/dist/gen/auth/v1/social_verification_pb.d.ts +12 -9
- package/dist/gen/auth/v1/social_verification_pb.d.ts.map +1 -1
- package/dist/gen/auth/v1/social_verification_pb.js.map +1 -1
- package/dist/gen/auth/v1/subaccounts_pb.d.ts +3 -1
- package/dist/gen/auth/v1/subaccounts_pb.d.ts.map +1 -1
- package/dist/gen/auth/v1/subaccounts_pb.js.map +1 -1
- package/dist/gen/chain/deposit/v1/deposit_pb.d.ts +4 -1
- package/dist/gen/chain/deposit/v1/deposit_pb.d.ts.map +1 -1
- package/dist/gen/chain/deposit/v1/deposit_pb.js.map +1 -1
- package/dist/gen/marketdata/v1/marketdata_pb.d.ts +20 -1
- package/dist/gen/marketdata/v1/marketdata_pb.d.ts.map +1 -1
- package/dist/gen/marketdata/v1/marketdata_pb.js +1 -1
- package/dist/gen/marketdata/v1/marketdata_pb.js.map +1 -1
- package/dist/gen/marketoverview/v1/marketoverview_pb.d.ts +138 -13
- package/dist/gen/marketoverview/v1/marketoverview_pb.d.ts.map +1 -1
- package/dist/gen/marketoverview/v1/marketoverview_pb.js +23 -6
- package/dist/gen/marketoverview/v1/marketoverview_pb.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/services/auth/auth.d.ts +7 -0
- package/dist/services/auth/auth.d.ts.map +1 -1
- package/dist/services/auth/auth.js +9 -0
- package/dist/services/auth/auth.js.map +1 -1
- package/dist/services/auth/profile/profile.schemas.d.ts +1 -0
- package/dist/services/auth/profile/profile.schemas.d.ts.map +1 -1
- package/dist/services/auth/profile/profile.schemas.js +2 -1
- package/dist/services/auth/profile/profile.schemas.js.map +1 -1
- package/dist/services/candles/candles.schemas.d.ts +9 -0
- package/dist/services/candles/candles.schemas.d.ts.map +1 -1
- package/dist/services/candles/candles.schemas.js +6 -0
- package/dist/services/candles/candles.schemas.js.map +1 -1
- package/dist/services/deposit/deposit.schemas.d.ts +1 -1
- package/dist/services/deposit/deposit.schemas.js +1 -1
- package/dist/services/deposit/deposit.schemas.js.map +1 -1
- package/dist/services/fees/fees.schemas.d.ts +1 -1
- package/dist/services/fees/fees.schemas.js +1 -1
- package/dist/services/fees/fees.schemas.js.map +1 -1
- package/dist/services/heatmap/heatmap.schemas.d.ts +4 -4
- package/dist/services/internal-transfers/internal-transfers.schemas.d.ts +1 -1
- package/dist/services/internal-transfers/internal-transfers.schemas.js +1 -1
- package/dist/services/internal-transfers/internal-transfers.schemas.js.map +1 -1
- package/dist/services/market-overview/index.d.ts +2 -2
- package/dist/services/market-overview/market-overview.codecs.js +2 -2
- package/dist/services/market-overview/market-overview.codecs.js.map +1 -1
- package/dist/services/market-overview/market-overview.d.ts +7 -1
- package/dist/services/market-overview/market-overview.d.ts.map +1 -1
- package/dist/services/market-overview/market-overview.js +11 -1
- package/dist/services/market-overview/market-overview.js.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.d.ts +72 -12
- package/dist/services/market-overview/market-overview.schemas.d.ts.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.js +30 -7
- package/dist/services/market-overview/market-overview.schemas.js.map +1 -1
- package/dist/services/market-overview/market-overview.types.d.ts +2 -2
- package/dist/services/orderbook/orderbook.schemas.d.ts +1 -1
- package/dist/services/orders/orders-batch.schemas.d.ts +14 -14
- package/dist/services/orders/orders-input.schemas.d.ts +1 -1
- package/dist/services/orders/orders-output.schemas.d.ts +6 -6
- package/dist/services/social-verification/social-verification.d.ts +1 -1
- package/dist/services/social-verification/social-verification.js +1 -1
- package/dist/services/social-verification/social-verification.js.map +1 -1
- package/dist/services/social-verification/social-verification.schemas.d.ts +17 -11
- package/dist/services/social-verification/social-verification.schemas.d.ts.map +1 -1
- package/dist/services/social-verification/social-verification.schemas.js +12 -5
- package/dist/services/social-verification/social-verification.schemas.js.map +1 -1
- package/dist/services/subaccounts/subaccounts.schemas.d.ts +1 -1
- package/dist/services/triggers/triggers-output.schemas.d.ts +1 -1
- package/dist/services/triggers/triggers-output.schemas.d.ts.map +1 -1
- package/dist/services/triggers/triggers-output.schemas.js +1 -2
- package/dist/services/triggers/triggers-output.schemas.js.map +1 -1
- package/dist/shared/validation.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# @polyester/sdk
|
|
2
2
|
|
|
3
|
+
## 0.21.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- fix(social-verification)!: omit `handle` when starting Discord verification; the authenticated bot supplies the identity. Remove `handle` from Discord `start()` inputs. `method` is now provider-specific: Twitter accepts only `"profile"`, Discord accepts `"channel"` or `"dm"`. Omitted `method` uses the provider default: Twitter profile or Discord channel. ([#124](https://github.com/Fabric-Labs/polyester-sdk-typescript/pull/124))
|
|
8
|
+
|
|
9
|
+
- feat(market-overview)!: expose `volume24hUsd` and preserve unavailable volumes in list and subscription responses. `volume24hBase` and `volume24hQuote` can now be `undefined` when scaled amounts overflow; `volume24hUsd` is `undefined` when reliable valuation is unavailable. Handle missing values separately from zero (`"0"`). ([#124](https://github.com/Fabric-Labs/polyester-sdk-typescript/pull/124))
|
|
10
|
+
|
|
11
|
+
- feat(market-overview)!: replace `orderBy: "volume_24h_quote"` with `"volume_24h_usd"`. Market lists now default to descending canonical USD volume. ([#124](https://github.com/Fabric-Labs/polyester-sdk-typescript/pull/124))
|
|
12
|
+
|
|
13
|
+
- Rename `POLYESTER_TESTNET_ENVIRONMENT` to `POLYESTER_DEVNET_ENVIRONMENT`. The bundled preset already targeted Polyester devnet (`api-devnet.polyester.ai`); the export, environment `name`, and chain `name` now match. Import `POLYESTER_DEVNET_ENVIRONMENT` instead. ([#122](https://github.com/Fabric-Labs/polyester-sdk-typescript/pull/122))
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- feat(candles): expose exact decimal `quoteVolume` on candle rows and realtime updates, and aligned `quoteVolume` arrays on columnar responses. ([#124](https://github.com/Fabric-Labs/polyester-sdk-typescript/pull/124))
|
|
18
|
+
|
|
19
|
+
- feat(market-overview): add `getSpotVolumeHistory()` for pair and total trailing-24h USD volume series as decimal strings. Accept up to 2,000 distinct `symbolIds`; empty or omitted filters select all pairs. The 97 samples overlap at 15-minute intervals and must not be summed as period volume. ([#124](https://github.com/Fabric-Labs/polyester-sdk-typescript/pull/124))
|
|
20
|
+
|
|
21
|
+
## 0.20.1
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- Expose `auth.acceptTerms()` for explicit consent through an interactive JWT session and `Profile.currentTermsAccepted` on profile responses. Preserve the typed `AUTH_TERMS_NOT_ACCEPTED` error detail when provisioning requires consent. Login does not accept terms automatically; creating subaccounts, API keys, and deposit addresses requires current acceptance. ([#120](https://github.com/Fabric-Labs/polyester-sdk-typescript/pull/120))
|
|
26
|
+
|
|
3
27
|
## 0.20.0
|
|
4
28
|
|
|
5
29
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -17,16 +17,16 @@ Polyester accounts are smart accounts, so you bring an owner wallet and the SDK
|
|
|
17
17
|
derives the account signer. Nothing gets deployed just to log in.
|
|
18
18
|
|
|
19
19
|
```ts
|
|
20
|
-
import { PolyesterBrowserClient,
|
|
20
|
+
import { PolyesterBrowserClient, POLYESTER_DEVNET_ENVIRONMENT } from "@polyester/sdk";
|
|
21
21
|
import { createPolyesterAccountSigner } from "@polyester/sdk/account-signer";
|
|
22
22
|
|
|
23
23
|
const accountSigner = createPolyesterAccountSigner({
|
|
24
|
-
environment:
|
|
24
|
+
environment: POLYESTER_DEVNET_ENVIRONMENT,
|
|
25
25
|
owner,
|
|
26
26
|
});
|
|
27
27
|
|
|
28
28
|
const client = new PolyesterBrowserClient({
|
|
29
|
-
environment:
|
|
29
|
+
environment: POLYESTER_DEVNET_ENVIRONMENT,
|
|
30
30
|
accountSigner,
|
|
31
31
|
});
|
|
32
32
|
|
|
@@ -46,12 +46,12 @@ incoming request. Useful for SSR loaders and route handlers.
|
|
|
46
46
|
```ts
|
|
47
47
|
import {
|
|
48
48
|
createPolyesterServerClientFromRequest,
|
|
49
|
-
|
|
49
|
+
POLYESTER_DEVNET_ENVIRONMENT,
|
|
50
50
|
} from "@polyester/sdk";
|
|
51
51
|
|
|
52
52
|
const client = createPolyesterServerClientFromRequest({
|
|
53
53
|
request,
|
|
54
|
-
environment:
|
|
54
|
+
environment: POLYESTER_DEVNET_ENVIRONMENT,
|
|
55
55
|
});
|
|
56
56
|
|
|
57
57
|
if (client.hasUsableBearerToken) {
|
|
@@ -66,12 +66,12 @@ passing the store. For example, with current Next.js versions:
|
|
|
66
66
|
import { cookies } from "next/headers";
|
|
67
67
|
import {
|
|
68
68
|
createPolyesterServerClientFromCookies,
|
|
69
|
-
|
|
69
|
+
POLYESTER_DEVNET_ENVIRONMENT,
|
|
70
70
|
} from "@polyester/sdk";
|
|
71
71
|
|
|
72
72
|
const client = createPolyesterServerClientFromCookies({
|
|
73
73
|
cookies: await cookies(),
|
|
74
|
-
environment:
|
|
74
|
+
environment: POLYESTER_DEVNET_ENVIRONMENT,
|
|
75
75
|
});
|
|
76
76
|
```
|
|
77
77
|
|
|
@@ -88,10 +88,10 @@ For machine clients, pass an Ed25519 API key provider instead of a cookie
|
|
|
88
88
|
session:
|
|
89
89
|
|
|
90
90
|
```ts
|
|
91
|
-
import { PolyesterClient,
|
|
91
|
+
import { PolyesterClient, POLYESTER_DEVNET_ENVIRONMENT } from "@polyester/sdk";
|
|
92
92
|
|
|
93
93
|
const client = new PolyesterClient({
|
|
94
|
-
environment:
|
|
94
|
+
environment: POLYESTER_DEVNET_ENVIRONMENT,
|
|
95
95
|
auth: {
|
|
96
96
|
kind: "api-key-ed25519",
|
|
97
97
|
getKeyId: () => process.env.POLYESTER_API_KEY_ID ?? null,
|
package/dist/environment.d.ts
CHANGED
|
@@ -51,7 +51,7 @@ interface CreatePolyesterEnvironmentParams {
|
|
|
51
51
|
* Creates a complete SDK environment configuration from entrypoint and contract settings.
|
|
52
52
|
*/
|
|
53
53
|
declare function createPolyesterEnvironment(params: CreatePolyesterEnvironmentParams): PolyesterEnvironment;
|
|
54
|
-
declare const
|
|
54
|
+
declare const POLYESTER_DEVNET_ENVIRONMENT: PolyesterEnvironment;
|
|
55
55
|
//#endregion
|
|
56
|
-
export { CreatePolyesterEnvironmentParams,
|
|
56
|
+
export { CreatePolyesterEnvironmentParams, POLYESTER_DEVNET_ENVIRONMENT, PolyesterAccountAbstractionEnvironment, PolyesterContractsEnvironment, PolyesterEntryPointConfig, PolyesterEnvironment, PolyesterSafeDeploymentConfig, createPolyesterEnvironment };
|
|
57
57
|
//# sourceMappingURL=environment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.d.ts","names":[],"sources":["../src/environment.ts"],"mappings":";;;UAKiB;WACJ,SAAS;WACT;;UAGI;WACJ,SAAS;WACT,wBAAwB;WACxB,uBAAuB;WACvB,yBAAyB;WACzB,sBAAsB;WACtB,kBAAkB;WAClB,2BAA2B;;UAGvB;WACJ;WACA;WACA,YAAY;WACZ,MAAM;;UAGF;WACJ,uBAAuB;;UAGnB;WACJ;WACA;WACA;WACA;WACA;WACA,OAAO;WACP,oBAAoB;WACpB,WAAW;;UAGP;WACJ;WACA;WACA;WACA;WACA,OAAO;WACP;aACI;aACA;aACA,YAAY;aACZ,MAAM;;WAEV,WAAW;;;;;iBA4KR,2BACZ,QAAQ,mCACT;cAkEU
|
|
1
|
+
{"version":3,"file":"environment.d.ts","names":[],"sources":["../src/environment.ts"],"mappings":";;;UAKiB;WACJ,SAAS;WACT;;UAGI;WACJ,SAAS;WACT,wBAAwB;WACxB,uBAAuB;WACvB,yBAAyB;WACzB,sBAAsB;WACtB,kBAAkB;WAClB,2BAA2B;;UAGvB;WACJ;WACA;WACA,YAAY;WACZ,MAAM;;UAGF;WACJ,uBAAuB;;UAGnB;WACJ;WACA;WACA;WACA;WACA;WACA,OAAO;WACP,oBAAoB;WACpB,WAAW;;UAGP;WACJ;WACA;WACA;WACA;WACA,OAAO;WACP;aACI;aACA;aACA,YAAY;aACZ,MAAM;;WAEV,WAAW;;;;;iBA4KR,2BACZ,QAAQ,mCACT;cAkEU,8BAA4B"}
|
package/dist/environment.js
CHANGED
|
@@ -141,14 +141,14 @@ function parsePolyesterEnvironment(environment) {
|
|
|
141
141
|
if (environment.fingerprint !== parsed.fingerprint) throw new ConfigurationError("environment.fingerprint must match the environment configuration.");
|
|
142
142
|
return parsed;
|
|
143
143
|
}
|
|
144
|
-
const
|
|
145
|
-
name: "polyester-
|
|
144
|
+
const POLYESTER_DEVNET_ENVIRONMENT = createPolyesterEnvironment({
|
|
145
|
+
name: "polyester-devnet",
|
|
146
146
|
apiUrl: "https://api-devnet.polyester.ai",
|
|
147
147
|
websocketUrl: "wss://api-devnet.polyester.ai",
|
|
148
148
|
rpcUrl: "https://rpc.polyester.tech",
|
|
149
149
|
chain: {
|
|
150
150
|
id: 888168,
|
|
151
|
-
name: "Polyester Chain
|
|
151
|
+
name: "Polyester Chain Devnet",
|
|
152
152
|
nativeCurrency: {
|
|
153
153
|
decimals: 18,
|
|
154
154
|
name: "POL",
|
|
@@ -184,6 +184,6 @@ const POLYESTER_TESTNET_ENVIRONMENT = createPolyesterEnvironment({
|
|
|
184
184
|
contracts: { tradingGatewayAddress: "0xD3fecf5D39131e23b6B0f872cA0a21c8A5a30932" }
|
|
185
185
|
});
|
|
186
186
|
//#endregion
|
|
187
|
-
export {
|
|
187
|
+
export { POLYESTER_DEVNET_ENVIRONMENT, createPolyesterEnvironment, parsePolyesterEnvironment };
|
|
188
188
|
|
|
189
189
|
//# sourceMappingURL=environment.js.map
|
package/dist/environment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.js","names":[],"sources":["../src/environment.ts"],"sourcesContent":["import type { SafeVersion } from \"permissionless/accounts\";\nimport { ConfigurationError } from \"./shared/errors.js\";\nimport type { Address, Chain } from \"viem\";\nimport { checksumEvmAddress, evmUtf8ToBytes, isEvmAddress, keccak256Hex } from \"./utils/evm.js\";\n\nexport interface PolyesterEntryPointConfig {\n readonly address: Address;\n readonly version: \"0.7\";\n}\n\nexport interface PolyesterSafeDeploymentConfig {\n readonly version: SafeVersion;\n readonly safeModuleSetupAddress: Address;\n readonly safe4337ModuleAddress: Address;\n readonly safeProxyFactoryAddress: Address;\n readonly safeSingletonAddress: Address;\n readonly multiSendAddress: Address;\n readonly multiSendCallOnlyAddress?: Address;\n}\n\nexport interface PolyesterAccountAbstractionEnvironment {\n readonly bundlerUrl: string;\n readonly paymasterUrl: string;\n readonly entryPoint: PolyesterEntryPointConfig;\n readonly safe: PolyesterSafeDeploymentConfig;\n}\n\nexport interface PolyesterContractsEnvironment {\n readonly tradingGatewayAddress: Address;\n}\n\nexport interface PolyesterEnvironment {\n readonly name: string;\n readonly fingerprint: string;\n readonly apiUrl: string;\n readonly websocketUrl: string;\n readonly rpcUrl: string;\n readonly chain: Chain;\n readonly accountAbstraction: PolyesterAccountAbstractionEnvironment;\n readonly contracts: PolyesterContractsEnvironment;\n}\n\nexport interface CreatePolyesterEnvironmentParams {\n readonly name: string;\n readonly apiUrl: string;\n readonly websocketUrl: string;\n readonly rpcUrl: string;\n readonly chain: Chain;\n readonly accountAbstraction: {\n readonly bundlerUrl: string;\n readonly paymasterUrl: string;\n readonly entryPoint: PolyesterEntryPointConfig;\n readonly safe: PolyesterSafeDeploymentConfig;\n };\n readonly contracts: PolyesterContractsEnvironment;\n}\n\nconst LOCAL_HOSTS = new Set([\"localhost\", \"127.0.0.1\", \"::1\", \"[::1]\"]);\n\nfunction requireObject(value: unknown, label: string): asserts value is Record<string, unknown> {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n throw new ConfigurationError(`${label} must be an object.`);\n }\n}\n\nfunction requireNonEmptyString(value: unknown, label: string): asserts value is string {\n if (typeof value !== \"string\" || value.trim().length === 0) {\n throw new ConfigurationError(`${label} must be a non-empty string.`);\n }\n}\n\nfunction isLocalHost(hostname: string): boolean {\n return LOCAL_HOSTS.has(hostname);\n}\n\nfunction normalizeUrl(\n value: string,\n label: string,\n allowedProtocols: readonly string[],\n options?: { allowSearch?: boolean },\n): string {\n let url: URL;\n try {\n url = new URL(value);\n } catch {\n throw new ConfigurationError(`${label} must be a valid URL.`);\n }\n\n if (!allowedProtocols.includes(url.protocol)) {\n throw new ConfigurationError(`${label} must use ${allowedProtocols.join(\" or \")}.`);\n }\n\n const insecureRemote =\n (url.protocol === \"http:\" || url.protocol === \"ws:\") && !isLocalHost(url.hostname);\n if (insecureRemote) {\n throw new ConfigurationError(`${label} must use a secure protocol for remote hosts.`);\n }\n\n if (options?.allowSearch === false && url.search) {\n throw new ConfigurationError(`${label} must not include query parameters.`);\n }\n\n url.hash = \"\";\n return url.toString().replace(/\\/+$/u, \"\");\n}\n\nfunction normalizeAddress(value: Address, label: string): Address {\n if (!isEvmAddress(value)) {\n throw new ConfigurationError(`${label} must be a valid address.`);\n }\n return checksumEvmAddress(value);\n}\n\nfunction normalizeEntryPoint(entryPoint: PolyesterEntryPointConfig): PolyesterEntryPointConfig {\n requireObject(entryPoint, \"accountAbstraction.entryPoint\");\n if (entryPoint.version !== \"0.7\") {\n throw new ConfigurationError(\"accountAbstraction.entryPoint.version must be 0.7.\");\n }\n return Object.freeze({\n address: normalizeAddress(entryPoint.address, \"accountAbstraction.entryPoint.address\"),\n version: entryPoint.version,\n });\n}\n\nfunction normalizeSafeConfig(safe: PolyesterSafeDeploymentConfig): PolyesterSafeDeploymentConfig {\n requireObject(safe, \"accountAbstraction.safe\");\n if (safe.version !== \"1.4.1\" && safe.version !== \"1.5.0\") {\n throw new ConfigurationError(\n 'accountAbstraction.safe.version must be either \"1.4.1\" or \"1.5.0\".',\n );\n }\n return Object.freeze({\n version: safe.version,\n safeModuleSetupAddress: normalizeAddress(\n safe.safeModuleSetupAddress,\n \"accountAbstraction.safe.safeModuleSetupAddress\",\n ),\n safe4337ModuleAddress: normalizeAddress(\n safe.safe4337ModuleAddress,\n \"accountAbstraction.safe.safe4337ModuleAddress\",\n ),\n safeProxyFactoryAddress: normalizeAddress(\n safe.safeProxyFactoryAddress,\n \"accountAbstraction.safe.safeProxyFactoryAddress\",\n ),\n safeSingletonAddress: normalizeAddress(\n safe.safeSingletonAddress,\n \"accountAbstraction.safe.safeSingletonAddress\",\n ),\n multiSendAddress: normalizeAddress(\n safe.multiSendAddress,\n \"accountAbstraction.safe.multiSendAddress\",\n ),\n multiSendCallOnlyAddress: safe.multiSendCallOnlyAddress\n ? normalizeAddress(\n safe.multiSendCallOnlyAddress,\n \"accountAbstraction.safe.multiSendCallOnlyAddress\",\n )\n : undefined,\n });\n}\n\nfunction normalizeChain(chain: Chain, rpcUrl: string): Chain {\n requireObject(chain, \"chain\");\n if (!Number.isInteger(chain.id) || chain.id <= 0) {\n throw new ConfigurationError(\"chain.id must be a positive integer.\");\n }\n requireNonEmptyString(chain.name, \"chain.name\");\n requireObject(chain.nativeCurrency, \"chain.nativeCurrency\");\n if (!Number.isInteger(chain.nativeCurrency.decimals) || chain.nativeCurrency.decimals < 0) {\n throw new ConfigurationError(\n \"chain.nativeCurrency.decimals must be a non-negative integer.\",\n );\n }\n requireNonEmptyString(chain.nativeCurrency.name, \"chain.nativeCurrency.name\");\n requireNonEmptyString(chain.nativeCurrency.symbol, \"chain.nativeCurrency.symbol\");\n requireObject(chain.rpcUrls, \"chain.rpcUrls\");\n requireObject(chain.rpcUrls.default, \"chain.rpcUrls.default\");\n if (!Array.isArray(chain.rpcUrls.default.http)) {\n throw new ConfigurationError(\"chain.rpcUrls.default.http must be an array.\");\n }\n\n // Shape parity with viem's defineChain: spread over undefined defaults.\n return Object.freeze({\n formatters: undefined,\n fees: undefined,\n serializers: undefined,\n ...chain,\n rpcUrls: {\n ...chain.rpcUrls,\n default: {\n ...chain.rpcUrls.default,\n http: [rpcUrl],\n },\n },\n });\n}\n\nfunction environmentFingerprint(input: {\n apiUrl: string;\n websocketUrl: string;\n rpcUrl: string;\n chainId: number;\n accountAbstraction: PolyesterAccountAbstractionEnvironment;\n contracts: PolyesterContractsEnvironment;\n}): string {\n return keccak256Hex(\n evmUtf8ToBytes(\n JSON.stringify({\n apiUrl: input.apiUrl,\n websocketUrl: input.websocketUrl,\n rpcUrl: input.rpcUrl,\n chainId: input.chainId,\n bundlerUrl: input.accountAbstraction.bundlerUrl,\n paymasterUrl: input.accountAbstraction.paymasterUrl,\n entryPoint: input.accountAbstraction.entryPoint,\n safe: input.accountAbstraction.safe,\n contracts: input.contracts,\n }),\n ),\n );\n}\n\n/**\n * Creates a complete SDK environment configuration from entrypoint and contract settings.\n */\nexport function createPolyesterEnvironment(\n params: CreatePolyesterEnvironmentParams,\n): PolyesterEnvironment {\n requireObject(params, \"Environment configuration\");\n requireNonEmptyString(params.name, \"name\");\n requireObject(params.accountAbstraction, \"accountAbstraction\");\n requireObject(params.contracts, \"contracts\");\n const apiUrl = normalizeUrl(params.apiUrl, \"apiUrl\", [\"https:\", \"http:\"], {\n allowSearch: false,\n });\n const websocketUrl = normalizeUrl(params.websocketUrl, \"websocketUrl\", [\"wss:\", \"ws:\"]);\n const rpcUrl = normalizeUrl(params.rpcUrl, \"rpcUrl\", [\"https:\", \"http:\"]);\n const bundlerUrl = normalizeUrl(params.accountAbstraction.bundlerUrl, \"bundlerUrl\", [\n \"https:\",\n \"http:\",\n ]);\n const paymasterUrl = normalizeUrl(params.accountAbstraction.paymasterUrl, \"paymasterUrl\", [\n \"https:\",\n \"http:\",\n ]);\n const chain = normalizeChain(params.chain, rpcUrl);\n const accountAbstraction = Object.freeze({\n bundlerUrl,\n paymasterUrl,\n entryPoint: normalizeEntryPoint(params.accountAbstraction.entryPoint),\n safe: normalizeSafeConfig(params.accountAbstraction.safe),\n });\n const contracts = Object.freeze({\n tradingGatewayAddress: normalizeAddress(\n params.contracts.tradingGatewayAddress,\n \"contracts.tradingGatewayAddress\",\n ),\n });\n const fingerprint = environmentFingerprint({\n apiUrl,\n websocketUrl,\n rpcUrl,\n chainId: chain.id,\n accountAbstraction,\n contracts,\n });\n\n return Object.freeze({\n name: params.name,\n fingerprint,\n apiUrl,\n websocketUrl,\n rpcUrl,\n chain,\n accountAbstraction,\n contracts,\n });\n}\n\n/**\n * Parses a complete environment supplied to a public SDK client constructor.\n */\nexport function parsePolyesterEnvironment(environment: PolyesterEnvironment): PolyesterEnvironment {\n requireObject(environment, \"environment\");\n const parsed = createPolyesterEnvironment(environment);\n if (environment.fingerprint !== parsed.fingerprint) {\n throw new ConfigurationError(\n \"environment.fingerprint must match the environment configuration.\",\n );\n }\n return parsed;\n}\n\nexport const POLYESTER_TESTNET_ENVIRONMENT = createPolyesterEnvironment({\n name: \"polyester-testnet\",\n apiUrl: \"https://api-devnet.polyester.ai\",\n websocketUrl: \"wss://api-devnet.polyester.ai\",\n rpcUrl: \"https://rpc.polyester.tech\",\n chain: {\n id: 888168,\n name: \"Polyester Chain Testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"POL\",\n symbol: \"POL\",\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.polyester.tech\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Polyester Scan\",\n url: \"https://polyesterscan.com\",\n },\n },\n contracts: {\n multicall3: {\n address: \"0xF35A6AE5408fa1356064849D0BC3855f801aa6aC\",\n blockCreated: 563457,\n },\n },\n },\n accountAbstraction: {\n bundlerUrl: \"https://bundler.polyester.tech\",\n paymasterUrl: \"https://paymaster.polyester.tech\",\n entryPoint: {\n address: \"0x59a4B77766509c4507D79eFF8089474eC3daC174\",\n version: \"0.7\",\n },\n safe: {\n version: \"1.4.1\",\n safeModuleSetupAddress: \"0x80791683D9C079A37Debc67EaDdbFcBC6f0FF2bB\",\n safe4337ModuleAddress: \"0x0713FF3d4c1b4f177833a372b1e3cb977540EA11\",\n safeProxyFactoryAddress: \"0xF8F0F649Dd3bFa9095206691E9fb2356c26216dE\",\n safeSingletonAddress: \"0x92abEa238FEA8908c397cE65366ea9278f0AeC7A\",\n multiSendAddress: \"0x70C8a8CcB45a8E2589B0f019374fc923dA34E4c7\",\n multiSendCallOnlyAddress: \"0x375C86a08DA98d1944D7B3c736307A72186CcAf1\",\n },\n },\n contracts: {\n tradingGatewayAddress: \"0xD3fecf5D39131e23b6B0f872cA0a21c8A5a30932\",\n },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"environment.js","names":[],"sources":["../src/environment.ts"],"sourcesContent":["import type { SafeVersion } from \"permissionless/accounts\";\nimport { ConfigurationError } from \"./shared/errors.js\";\nimport type { Address, Chain } from \"viem\";\nimport { checksumEvmAddress, evmUtf8ToBytes, isEvmAddress, keccak256Hex } from \"./utils/evm.js\";\n\nexport interface PolyesterEntryPointConfig {\n readonly address: Address;\n readonly version: \"0.7\";\n}\n\nexport interface PolyesterSafeDeploymentConfig {\n readonly version: SafeVersion;\n readonly safeModuleSetupAddress: Address;\n readonly safe4337ModuleAddress: Address;\n readonly safeProxyFactoryAddress: Address;\n readonly safeSingletonAddress: Address;\n readonly multiSendAddress: Address;\n readonly multiSendCallOnlyAddress?: Address;\n}\n\nexport interface PolyesterAccountAbstractionEnvironment {\n readonly bundlerUrl: string;\n readonly paymasterUrl: string;\n readonly entryPoint: PolyesterEntryPointConfig;\n readonly safe: PolyesterSafeDeploymentConfig;\n}\n\nexport interface PolyesterContractsEnvironment {\n readonly tradingGatewayAddress: Address;\n}\n\nexport interface PolyesterEnvironment {\n readonly name: string;\n readonly fingerprint: string;\n readonly apiUrl: string;\n readonly websocketUrl: string;\n readonly rpcUrl: string;\n readonly chain: Chain;\n readonly accountAbstraction: PolyesterAccountAbstractionEnvironment;\n readonly contracts: PolyesterContractsEnvironment;\n}\n\nexport interface CreatePolyesterEnvironmentParams {\n readonly name: string;\n readonly apiUrl: string;\n readonly websocketUrl: string;\n readonly rpcUrl: string;\n readonly chain: Chain;\n readonly accountAbstraction: {\n readonly bundlerUrl: string;\n readonly paymasterUrl: string;\n readonly entryPoint: PolyesterEntryPointConfig;\n readonly safe: PolyesterSafeDeploymentConfig;\n };\n readonly contracts: PolyesterContractsEnvironment;\n}\n\nconst LOCAL_HOSTS = new Set([\"localhost\", \"127.0.0.1\", \"::1\", \"[::1]\"]);\n\nfunction requireObject(value: unknown, label: string): asserts value is Record<string, unknown> {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n throw new ConfigurationError(`${label} must be an object.`);\n }\n}\n\nfunction requireNonEmptyString(value: unknown, label: string): asserts value is string {\n if (typeof value !== \"string\" || value.trim().length === 0) {\n throw new ConfigurationError(`${label} must be a non-empty string.`);\n }\n}\n\nfunction isLocalHost(hostname: string): boolean {\n return LOCAL_HOSTS.has(hostname);\n}\n\nfunction normalizeUrl(\n value: string,\n label: string,\n allowedProtocols: readonly string[],\n options?: { allowSearch?: boolean },\n): string {\n let url: URL;\n try {\n url = new URL(value);\n } catch {\n throw new ConfigurationError(`${label} must be a valid URL.`);\n }\n\n if (!allowedProtocols.includes(url.protocol)) {\n throw new ConfigurationError(`${label} must use ${allowedProtocols.join(\" or \")}.`);\n }\n\n const insecureRemote =\n (url.protocol === \"http:\" || url.protocol === \"ws:\") && !isLocalHost(url.hostname);\n if (insecureRemote) {\n throw new ConfigurationError(`${label} must use a secure protocol for remote hosts.`);\n }\n\n if (options?.allowSearch === false && url.search) {\n throw new ConfigurationError(`${label} must not include query parameters.`);\n }\n\n url.hash = \"\";\n return url.toString().replace(/\\/+$/u, \"\");\n}\n\nfunction normalizeAddress(value: Address, label: string): Address {\n if (!isEvmAddress(value)) {\n throw new ConfigurationError(`${label} must be a valid address.`);\n }\n return checksumEvmAddress(value);\n}\n\nfunction normalizeEntryPoint(entryPoint: PolyesterEntryPointConfig): PolyesterEntryPointConfig {\n requireObject(entryPoint, \"accountAbstraction.entryPoint\");\n if (entryPoint.version !== \"0.7\") {\n throw new ConfigurationError(\"accountAbstraction.entryPoint.version must be 0.7.\");\n }\n return Object.freeze({\n address: normalizeAddress(entryPoint.address, \"accountAbstraction.entryPoint.address\"),\n version: entryPoint.version,\n });\n}\n\nfunction normalizeSafeConfig(safe: PolyesterSafeDeploymentConfig): PolyesterSafeDeploymentConfig {\n requireObject(safe, \"accountAbstraction.safe\");\n if (safe.version !== \"1.4.1\" && safe.version !== \"1.5.0\") {\n throw new ConfigurationError(\n 'accountAbstraction.safe.version must be either \"1.4.1\" or \"1.5.0\".',\n );\n }\n return Object.freeze({\n version: safe.version,\n safeModuleSetupAddress: normalizeAddress(\n safe.safeModuleSetupAddress,\n \"accountAbstraction.safe.safeModuleSetupAddress\",\n ),\n safe4337ModuleAddress: normalizeAddress(\n safe.safe4337ModuleAddress,\n \"accountAbstraction.safe.safe4337ModuleAddress\",\n ),\n safeProxyFactoryAddress: normalizeAddress(\n safe.safeProxyFactoryAddress,\n \"accountAbstraction.safe.safeProxyFactoryAddress\",\n ),\n safeSingletonAddress: normalizeAddress(\n safe.safeSingletonAddress,\n \"accountAbstraction.safe.safeSingletonAddress\",\n ),\n multiSendAddress: normalizeAddress(\n safe.multiSendAddress,\n \"accountAbstraction.safe.multiSendAddress\",\n ),\n multiSendCallOnlyAddress: safe.multiSendCallOnlyAddress\n ? normalizeAddress(\n safe.multiSendCallOnlyAddress,\n \"accountAbstraction.safe.multiSendCallOnlyAddress\",\n )\n : undefined,\n });\n}\n\nfunction normalizeChain(chain: Chain, rpcUrl: string): Chain {\n requireObject(chain, \"chain\");\n if (!Number.isInteger(chain.id) || chain.id <= 0) {\n throw new ConfigurationError(\"chain.id must be a positive integer.\");\n }\n requireNonEmptyString(chain.name, \"chain.name\");\n requireObject(chain.nativeCurrency, \"chain.nativeCurrency\");\n if (!Number.isInteger(chain.nativeCurrency.decimals) || chain.nativeCurrency.decimals < 0) {\n throw new ConfigurationError(\n \"chain.nativeCurrency.decimals must be a non-negative integer.\",\n );\n }\n requireNonEmptyString(chain.nativeCurrency.name, \"chain.nativeCurrency.name\");\n requireNonEmptyString(chain.nativeCurrency.symbol, \"chain.nativeCurrency.symbol\");\n requireObject(chain.rpcUrls, \"chain.rpcUrls\");\n requireObject(chain.rpcUrls.default, \"chain.rpcUrls.default\");\n if (!Array.isArray(chain.rpcUrls.default.http)) {\n throw new ConfigurationError(\"chain.rpcUrls.default.http must be an array.\");\n }\n\n // Shape parity with viem's defineChain: spread over undefined defaults.\n return Object.freeze({\n formatters: undefined,\n fees: undefined,\n serializers: undefined,\n ...chain,\n rpcUrls: {\n ...chain.rpcUrls,\n default: {\n ...chain.rpcUrls.default,\n http: [rpcUrl],\n },\n },\n });\n}\n\nfunction environmentFingerprint(input: {\n apiUrl: string;\n websocketUrl: string;\n rpcUrl: string;\n chainId: number;\n accountAbstraction: PolyesterAccountAbstractionEnvironment;\n contracts: PolyesterContractsEnvironment;\n}): string {\n return keccak256Hex(\n evmUtf8ToBytes(\n JSON.stringify({\n apiUrl: input.apiUrl,\n websocketUrl: input.websocketUrl,\n rpcUrl: input.rpcUrl,\n chainId: input.chainId,\n bundlerUrl: input.accountAbstraction.bundlerUrl,\n paymasterUrl: input.accountAbstraction.paymasterUrl,\n entryPoint: input.accountAbstraction.entryPoint,\n safe: input.accountAbstraction.safe,\n contracts: input.contracts,\n }),\n ),\n );\n}\n\n/**\n * Creates a complete SDK environment configuration from entrypoint and contract settings.\n */\nexport function createPolyesterEnvironment(\n params: CreatePolyesterEnvironmentParams,\n): PolyesterEnvironment {\n requireObject(params, \"Environment configuration\");\n requireNonEmptyString(params.name, \"name\");\n requireObject(params.accountAbstraction, \"accountAbstraction\");\n requireObject(params.contracts, \"contracts\");\n const apiUrl = normalizeUrl(params.apiUrl, \"apiUrl\", [\"https:\", \"http:\"], {\n allowSearch: false,\n });\n const websocketUrl = normalizeUrl(params.websocketUrl, \"websocketUrl\", [\"wss:\", \"ws:\"]);\n const rpcUrl = normalizeUrl(params.rpcUrl, \"rpcUrl\", [\"https:\", \"http:\"]);\n const bundlerUrl = normalizeUrl(params.accountAbstraction.bundlerUrl, \"bundlerUrl\", [\n \"https:\",\n \"http:\",\n ]);\n const paymasterUrl = normalizeUrl(params.accountAbstraction.paymasterUrl, \"paymasterUrl\", [\n \"https:\",\n \"http:\",\n ]);\n const chain = normalizeChain(params.chain, rpcUrl);\n const accountAbstraction = Object.freeze({\n bundlerUrl,\n paymasterUrl,\n entryPoint: normalizeEntryPoint(params.accountAbstraction.entryPoint),\n safe: normalizeSafeConfig(params.accountAbstraction.safe),\n });\n const contracts = Object.freeze({\n tradingGatewayAddress: normalizeAddress(\n params.contracts.tradingGatewayAddress,\n \"contracts.tradingGatewayAddress\",\n ),\n });\n const fingerprint = environmentFingerprint({\n apiUrl,\n websocketUrl,\n rpcUrl,\n chainId: chain.id,\n accountAbstraction,\n contracts,\n });\n\n return Object.freeze({\n name: params.name,\n fingerprint,\n apiUrl,\n websocketUrl,\n rpcUrl,\n chain,\n accountAbstraction,\n contracts,\n });\n}\n\n/**\n * Parses a complete environment supplied to a public SDK client constructor.\n */\nexport function parsePolyesterEnvironment(environment: PolyesterEnvironment): PolyesterEnvironment {\n requireObject(environment, \"environment\");\n const parsed = createPolyesterEnvironment(environment);\n if (environment.fingerprint !== parsed.fingerprint) {\n throw new ConfigurationError(\n \"environment.fingerprint must match the environment configuration.\",\n );\n }\n return parsed;\n}\n\nexport const POLYESTER_DEVNET_ENVIRONMENT = createPolyesterEnvironment({\n name: \"polyester-devnet\",\n apiUrl: \"https://api-devnet.polyester.ai\",\n websocketUrl: \"wss://api-devnet.polyester.ai\",\n rpcUrl: \"https://rpc.polyester.tech\",\n chain: {\n id: 888168,\n name: \"Polyester Chain Devnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"POL\",\n symbol: \"POL\",\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.polyester.tech\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Polyester Scan\",\n url: \"https://polyesterscan.com\",\n },\n },\n contracts: {\n multicall3: {\n address: \"0xF35A6AE5408fa1356064849D0BC3855f801aa6aC\",\n blockCreated: 563457,\n },\n },\n },\n accountAbstraction: {\n bundlerUrl: \"https://bundler.polyester.tech\",\n paymasterUrl: \"https://paymaster.polyester.tech\",\n entryPoint: {\n address: \"0x59a4B77766509c4507D79eFF8089474eC3daC174\",\n version: \"0.7\",\n },\n safe: {\n version: \"1.4.1\",\n safeModuleSetupAddress: \"0x80791683D9C079A37Debc67EaDdbFcBC6f0FF2bB\",\n safe4337ModuleAddress: \"0x0713FF3d4c1b4f177833a372b1e3cb977540EA11\",\n safeProxyFactoryAddress: \"0xF8F0F649Dd3bFa9095206691E9fb2356c26216dE\",\n safeSingletonAddress: \"0x92abEa238FEA8908c397cE65366ea9278f0AeC7A\",\n multiSendAddress: \"0x70C8a8CcB45a8E2589B0f019374fc923dA34E4c7\",\n multiSendCallOnlyAddress: \"0x375C86a08DA98d1944D7B3c736307A72186CcAf1\",\n },\n },\n contracts: {\n tradingGatewayAddress: \"0xD3fecf5D39131e23b6B0f872cA0a21c8A5a30932\",\n },\n});\n"],"mappings":"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"}
|
|
@@ -441,7 +441,9 @@ declare const ApiKeyStatusSchema: GenEnum<ApiKeyStatus>;
|
|
|
441
441
|
declare const ApiKeyService: GenService<{
|
|
442
442
|
/**
|
|
443
443
|
* Create a new API key for the caller. Account security settings may require
|
|
444
|
-
* MFA enrollment or a fresh step-up proof.
|
|
444
|
+
* MFA enrollment or a fresh step-up proof. The acting caller's root account
|
|
445
|
+
* must have accepted the current terms, including when targeting a shared
|
|
446
|
+
* subaccount; otherwise FailedPrecondition with AUTH_TERMS_NOT_ACCEPTED is returned.
|
|
445
447
|
*
|
|
446
448
|
* @generated from rpc auth.v1.ApiKeyService.CreateApiKey
|
|
447
449
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api_keys_pb.d.ts","names":[],"sources":["../../../../src/gen/auth/v1/api_keys_pb.ts"],"mappings":";;;;;;;;;cAca,uBAAuB;;;;;;KAQxB,SAAS;;;;;;;EAOnB;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;;EAQA;;;;;;EAOA,QAAQ;;;;;;EAOR;;;;;;;EAQA;;;;;;EAOA,YAAY;;;;;;;EAQZ,aAAa;;;;;;;EAQb,kBAAkB;;;;;;;EAQlB,YAAY;;;;;;;EAQZ;;;;;;;;;EAUA,YAAY;;;;;;EAOZ;;;;;;cAOW,cAAc,WAAW;;;;;;;KAS1B,sBAAsB;;;;;;EAMhC;;;;;;;EAQA;;;;;;EAOA;;;;;;EAOA;;;;;;;EAQA;;;;;;;EAQA,kBAAkB;;;;;;cAOP,2BAA2B,WAAW;;;;;;KAQvC,uBAAuB;;;;;;EAMjC,SAAS;;;;;;cAOE,4BAA4B,WAAW;;;;;;KAQxC,qBAAqB;;;;;;;;EAQ/B;;;;;;cAOW,0BAA0B,WAAW;;;;;;KAQtC,sBAAsB;;;;;;EAMhC,SAAS;;;;;;cAOE,2BAA2B,WAAW;;;;;;KAQvC,sBAAsB;;;;;;;EAOhC;;;;;;cAOW,2BAA2B,WAAW;;;;;;KAQvC,uBAAuB;;;;;cAOtB,4BAA4B,WAAW;;;;;;KAQxC,mBAAmB;;;;;;;EAO7B;;;;;;cAOW,wBAAwB,WAAW;;;;;;KAQpC,oBAAoB;;;;;;EAM9B,SAAS;;;;;;cAOE,yBAAyB,WAAW;;;;;;KAQrC,mBAAmB;;;;;;EAM7B;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA,QAAQ;;;;;;EAOR;;;;;;EAOA,YAAY;;;;;;cAOD,wBAAwB,WAAW;;;;;;KAQpC,sBAAsB;;;;;;EAMhC;;;;;;EAOA,SAAS;;;;;;;EAQT,aAAa;;;;;;EAOb;;;;;;cAOW,2BAA2B,WAAW;;;;;;KAQvC,uBAAuB;;;;;;EAMjC,SAAS;;;;;;cAOE,4BAA4B,WAAW;;;;;;aAQxC;;;;;;EAMV;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;cAMW,oBAAoB,QAAQ;;;;;;cAQ5B,eAAe
|
|
1
|
+
{"version":3,"file":"api_keys_pb.d.ts","names":[],"sources":["../../../../src/gen/auth/v1/api_keys_pb.ts"],"mappings":";;;;;;;;;cAca,uBAAuB;;;;;;KAQxB,SAAS;;;;;;;EAOnB;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;;EAQA;;;;;;EAOA,QAAQ;;;;;;EAOR;;;;;;;EAQA;;;;;;EAOA,YAAY;;;;;;;EAQZ,aAAa;;;;;;;EAQb,kBAAkB;;;;;;;EAQlB,YAAY;;;;;;;EAQZ;;;;;;;;;EAUA,YAAY;;;;;;EAOZ;;;;;;cAOW,cAAc,WAAW;;;;;;;KAS1B,sBAAsB;;;;;;EAMhC;;;;;;;EAQA;;;;;;EAOA;;;;;;EAOA;;;;;;;EAQA;;;;;;;EAQA,kBAAkB;;;;;;cAOP,2BAA2B,WAAW;;;;;;KAQvC,uBAAuB;;;;;;EAMjC,SAAS;;;;;;cAOE,4BAA4B,WAAW;;;;;;KAQxC,qBAAqB;;;;;;;;EAQ/B;;;;;;cAOW,0BAA0B,WAAW;;;;;;KAQtC,sBAAsB;;;;;;EAMhC,SAAS;;;;;;cAOE,2BAA2B,WAAW;;;;;;KAQvC,sBAAsB;;;;;;;EAOhC;;;;;;cAOW,2BAA2B,WAAW;;;;;;KAQvC,uBAAuB;;;;;cAOtB,4BAA4B,WAAW;;;;;;KAQxC,mBAAmB;;;;;;;EAO7B;;;;;;cAOW,wBAAwB,WAAW;;;;;;KAQpC,oBAAoB;;;;;;EAM9B,SAAS;;;;;;cAOE,yBAAyB,WAAW;;;;;;KAQrC,mBAAmB;;;;;;EAM7B;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA,QAAQ;;;;;;EAOR;;;;;;EAOA,YAAY;;;;;;cAOD,wBAAwB,WAAW;;;;;;KAQpC,sBAAsB;;;;;;EAMhC;;;;;;EAOA,SAAS;;;;;;;EAQT,aAAa;;;;;;EAOb;;;;;;cAOW,2BAA2B,WAAW;;;;;;KAQvC,uBAAuB;;;;;;EAMjC,SAAS;;;;;;cAOE,4BAA4B,WAAW;;;;;;aAQxC;;;;;;EAMV;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;cAMW,oBAAoB,QAAQ;;;;;;cAQ5B,eAAe;;;;;;;;;EAS1B;IACE;IACA,cAAc;IACd,eAAe;;;;;;;EAOjB;IACE;IACA,cAAc;IACd,eAAe;;;;;;;EAOjB;IACE;IACA,cAAc;IACd,eAAe;;;;;;;EAOjB;IACE;IACA,cAAc;IACd,eAAe;;;;;;;;EAQjB;IACE;IACA,cAAc;IACd,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api_keys_pb.js","names":[],"sources":["../../../../src/gen/auth/v1/api_keys_pb.ts"],"sourcesContent":["// @generated by protoc-gen-es v2.13.0 with parameter \"target=ts,import_extension=js\"\n// @generated from file auth/v1/api_keys.proto (package auth.v1, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile, GenMessage, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { FieldMask, Timestamp } from \"@bufbuild/protobuf/wkt\";\nimport { file_google_protobuf_field_mask, file_google_protobuf_timestamp } from \"@bufbuild/protobuf/wkt\";\nimport { file_polyester_api_options } from \"../../polyester/api/options_pb.js\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/v1/api_keys.proto.\n */\nexport const file_auth_v1_api_keys: GenFile = /*@__PURE__*/\n fileDesc(\"ChZhdXRoL3YxL2FwaV9rZXlzLnByb3RvEgdhdXRoLnYxIucDCgZBcGlLZXkSEAoGa2V5X2lkGAIgASgJQgASDQoFbGFiZWwYAyABKAkSDgoEaWNvbhgJIAEoCUIAEg8KBWNvbG9yGAogASgJQgASFgoMaXBfd2hpdGVsaXN0GAQgAygJQgASJQoGc3RhdHVzGAYgASgOMhUuYXV0aC52MS5BcGlLZXlTdGF0dXMSGgoNc3ViYWNjb3VudF9pZBgHIAEoBkgAiAEBEhYKCXBvbGljeV9pZBgIIAEoBkgBiAEBEi4KCmNyZWF0ZWRfYXQYFCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGxhc3RfdXNlZF9hdBgVIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGgoScHVibGljX2tleV9lZDI1NTE5GBYgASgMEi4KCmV4cGlyZXNfYXQYFyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhgKEGNyZWF0ZWRfYnlfYWN0b3IYGCABKAkSLgoKdXBkYXRlZF9hdBgZIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEAoIcmV2aXNpb24YGiABKARCEAoOX3N1YmFjY291bnRfaWRCDAoKX3BvbGljeV9pZCKrAQoTQ3JlYXRlQXBpS2V5UmVxdWVzdBIPCgVsYWJlbBgBIAEoCUIAEhoKDXN1YmFjY291bnRfaWQYAyABKAZIAIgBARIOCgRpY29uGAYgASgJQgASDwoFY29sb3IYByABKAlCABIWCgxpcF93aGl0ZWxpc3QYBCADKAlCABIcChJwdWJsaWNfa2V5X2VkMjU1MTkYBSABKAxCAEIQCg5fc3ViYWNjb3VudF9pZCI4ChRDcmVhdGVBcGlLZXlSZXNwb25zZRIgCgdhcGlfa2V5GAEgASgLMg8uYXV0aC52MS5BcGlLZXkiQgoSTGlzdEFwaUtleXNSZXF1ZXN0EhoKDXN1YmFjY291bnRfaWQYASABKAZIAIgBAUIQCg5fc3ViYWNjb3VudF9pZCI4ChNMaXN0QXBpS2V5c1Jlc3BvbnNlEiEKCGFwaV9rZXlzGAEgAygLMg8uYXV0aC52MS5BcGlLZXkiJwoTRGVsZXRlQXBpS2V5UmVxdWVzdBIQCgZrZXlfaWQYASABKAlCACIWChREZWxldGVBcGlLZXlSZXNwb25zZSIkChBHZXRBcGlLZXlSZXF1ZXN0EhAKBmtleV9pZBgBIAEoCUIAIjUKEUdldEFwaUtleVJlc3BvbnNlEiAKB2FwaV9rZXkYASABKAsyDy5hdXRoLnYxLkFwaUtleSK3AQoQQXBpS2V5VXBkYXRlU3BlYxIPCgVsYWJlbBgBIAEoCUIAEg4KBGljb24YAiABKAlCABIPCgVjb2xvchgDIAEoCUIAEicKBnN0YXR1cxgEIAEoDjIVLmF1dGgudjEuQXBpS2V5U3RhdHVzQgASFgoMaXBfd2hpdGVsaXN0GAUgAygJQgASLgoKZXhwaXJlc19hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXA6ACKlAQoTVXBkYXRlQXBpS2V5UmVxdWVzdBIQCgZrZXlfaWQYASABKAlCABIsCgdhcGlfa2V5GAIgASgLMhkuYXV0aC52MS5BcGlLZXlVcGRhdGVTcGVjQgASMQoLdXBkYXRlX21hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgASGwoRZXhwZWN0ZWRfcmV2aXNpb24YBCABKARCACI4ChRVcGRhdGVBcGlLZXlSZXNwb25zZRIgCgdhcGlfa2V5GAEgASgLMg8uYXV0aC52MS5BcGlLZXkqVQoMQXBpS2V5U3RhdHVzEh4KGkFQSV9LRVlfU1RBVFVTX1VOU1BFQ0lGSUVEEAASCgoGQUNUSVZFEAESCwoHUkVWT0tFRBACEgwKCERJU0FCTEVEEAMyjgMKDUFwaUtleVNlcnZpY2USTQoMQ3JlYXRlQXBpS2V5EhwuYXV0aC52MS5DcmVhdGVBcGlLZXlSZXF1ZXN0Gh0uYXV0aC52MS5DcmVhdGVBcGlLZXlSZXNwb25zZSIAEkoKC0xpc3RBcGlLZXlzEhsuYXV0aC52MS5MaXN0QXBpS2V5c1JlcXVlc3QaHC5hdXRoLnYxLkxpc3RBcGlLZXlzUmVzcG9uc2UiABJECglHZXRBcGlLZXkSGS5hdXRoLnYxLkdldEFwaUtleVJlcXVlc3QaGi5hdXRoLnYxLkdldEFwaUtleVJlc3BvbnNlIgASTQoMRGVsZXRlQXBpS2V5EhwuYXV0aC52MS5EZWxldGVBcGlLZXlSZXF1ZXN0Gh0uYXV0aC52MS5EZWxldGVBcGlLZXlSZXNwb25zZSIAEk0KDFVwZGF0ZUFwaUtleRIcLmF1dGgudjEuVXBkYXRlQXBpS2V5UmVxdWVzdBodLmF1dGgudjEuVXBkYXRlQXBpS2V5UmVzcG9uc2UiAEI8WjpnaXRodWIuY29tL0ZhYnJpYy1MYWJzL3BvbHllc3Rlci1zZGstZ28vZ2VuL2F1dGgvdjE7YXV0aHYxYgZwcm90bzM=\", [file_google_protobuf_field_mask, file_google_protobuf_timestamp, file_polyester_api_options]);\n\n/**\n * ApiKey is public API key metadata. It never includes the private key or seed.\n *\n * @generated from message auth.v1.ApiKey\n */\nexport type ApiKey = Message<\"auth.v1.ApiKey\"> & {\n /**\n * Stable opaque identifier used to refer to this key, formatted as \"ak_\"\n * followed by 32 lowercase hex characters.\n *\n * @generated from field: string key_id = 2;\n */\n keyId: string;\n\n /**\n * Human-readable label for the key. Maximum length is 64 characters.\n *\n * @generated from field: string label = 3;\n */\n label: string;\n\n /**\n * Optional user-chosen icon/emoji for UI display.\n *\n * @generated from field: string icon = 9;\n */\n icon: string;\n\n /**\n * Optional user-chosen color token for UI display.\n *\n * @generated from field: string color = 10;\n */\n color: string;\n\n /**\n * Optional CIDR whitelist. Empty means no IP restriction. Maximum 32 unique\n * entries.\n *\n * @generated from field: repeated string ip_whitelist = 4;\n */\n ipWhitelist: string[];\n\n /**\n * Current key status.\n *\n * @generated from field: auth.v1.ApiKeyStatus status = 6;\n */\n status: ApiKeyStatus;\n\n /**\n * Optional sub-account this key is scoped to (opaque ID; empty = root-level).\n *\n * @generated from field: optional fixed64 subaccount_id = 7;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Optional API policy attached to this key (opaque ID).\n * Empty means no policy is attached and the key has no permissions.\n *\n * @generated from field: optional fixed64 policy_id = 8;\n */\n policyId?: bigint | undefined;\n\n /**\n * Time in UTC when this key was created.\n *\n * @generated from field: google.protobuf.Timestamp created_at = 20;\n */\n createdAt?: Timestamp | undefined;\n\n /**\n * Last time in UTC when this key authenticated a request. Omitted when the\n * key has not been used.\n *\n * @generated from field: google.protobuf.Timestamp last_used_at = 21;\n */\n lastUsedAt?: Timestamp | undefined;\n\n /**\n * Ed25519 public key bytes associated with this API key. The private key or\n * seed is never returned by the API.\n *\n * @generated from field: bytes public_key_ed25519 = 22;\n */\n publicKeyEd25519: Uint8Array;\n\n /**\n * Optional expiry time in UTC. When set, the key cannot authenticate requests\n * after this time, regardless of status.\n *\n * @generated from field: google.protobuf.Timestamp expires_at = 23;\n */\n expiresAt?: Timestamp | undefined;\n\n /**\n * Read-only actor label describing who created this key, such as a username\n * or account label.\n *\n * @generated from field: string created_by_actor = 24;\n */\n createdByActor: string;\n\n /**\n * Time in UTC when this key's configuration was last changed. For the same\n * key, later is fresher, equal is an idempotent replay, and earlier is stale.\n * Equal timestamps with different configuration indicate an invariant failure.\n * This is independent of last_used_at, which tracks authentication activity.\n *\n * @generated from field: google.protobuf.Timestamp updated_at = 25;\n */\n updatedAt?: Timestamp | undefined;\n\n /**\n * Monotonic resource revision used for conditional updates.\n *\n * @generated from field: uint64 revision = 26;\n */\n revision: bigint;\n};\n\n/**\n * Describes the message auth.v1.ApiKey.\n * Use `create(ApiKeySchema)` to create a new message.\n */\nexport const ApiKeySchema: GenMessage<ApiKey> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 0);\n\n/**\n * CreateApiKeyRequest creates a new API key. Clients generate the Ed25519 key\n * pair locally and submit only the public key.\n *\n * @generated from message auth.v1.CreateApiKeyRequest\n */\nexport type CreateApiKeyRequest = Message<\"auth.v1.CreateApiKeyRequest\"> & {\n /**\n * Human-readable label for the key. Required; 1 to 64 characters.\n *\n * @generated from field: string label = 1;\n */\n label: string;\n\n /**\n * Optional sub-account to scope this key to (opaque ID). If unset, the key is\n * root-level.\n *\n * @generated from field: optional fixed64 subaccount_id = 3;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Optional user-chosen icon/emoji for UI display.\n *\n * @generated from field: string icon = 6;\n */\n icon: string;\n\n /**\n * Optional user-chosen color token for UI display.\n *\n * @generated from field: string color = 7;\n */\n color: string;\n\n /**\n * Optional CIDR whitelist. Empty means no IP restriction. Maximum 32 unique\n * entries.\n *\n * @generated from field: repeated string ip_whitelist = 4;\n */\n ipWhitelist: string[];\n\n /**\n * Ed25519 public key bytes. Must be exactly 32 bytes. The private key or seed\n * must never be sent to the API.\n *\n * @generated from field: bytes public_key_ed25519 = 5;\n */\n publicKeyEd25519: Uint8Array;\n};\n\n/**\n * Describes the message auth.v1.CreateApiKeyRequest.\n * Use `create(CreateApiKeyRequestSchema)` to create a new message.\n */\nexport const CreateApiKeyRequestSchema: GenMessage<CreateApiKeyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 1);\n\n/**\n * CreateApiKeyResponse returns the created API key metadata.\n *\n * @generated from message auth.v1.CreateApiKeyResponse\n */\nexport type CreateApiKeyResponse = Message<\"auth.v1.CreateApiKeyResponse\"> & {\n /**\n * Created API key metadata. The private key or seed is never returned.\n *\n * @generated from field: auth.v1.ApiKey api_key = 1;\n */\n apiKey?: ApiKey | undefined;\n};\n\n/**\n * Describes the message auth.v1.CreateApiKeyResponse.\n * Use `create(CreateApiKeyResponseSchema)` to create a new message.\n */\nexport const CreateApiKeyResponseSchema: GenMessage<CreateApiKeyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 2);\n\n/**\n * ListApiKeysRequest lists non-revoked API keys visible to the caller.\n *\n * @generated from message auth.v1.ListApiKeysRequest\n */\nexport type ListApiKeysRequest = Message<\"auth.v1.ListApiKeysRequest\"> & {\n /**\n * Optional filter: only keys scoped to this sub-account (opaque ID). The\n * caller must own or administer the sub-account. If unset, only non-revoked\n * keys owned by the caller are returned.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n};\n\n/**\n * Describes the message auth.v1.ListApiKeysRequest.\n * Use `create(ListApiKeysRequestSchema)` to create a new message.\n */\nexport const ListApiKeysRequestSchema: GenMessage<ListApiKeysRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 3);\n\n/**\n * ListApiKeysResponse contains matching API keys, newest first by creation time.\n *\n * @generated from message auth.v1.ListApiKeysResponse\n */\nexport type ListApiKeysResponse = Message<\"auth.v1.ListApiKeysResponse\"> & {\n /**\n * Matching API keys, newest first. Revoked keys are excluded.\n *\n * @generated from field: repeated auth.v1.ApiKey api_keys = 1;\n */\n apiKeys: ApiKey[];\n};\n\n/**\n * Describes the message auth.v1.ListApiKeysResponse.\n * Use `create(ListApiKeysResponseSchema)` to create a new message.\n */\nexport const ListApiKeysResponseSchema: GenMessage<ListApiKeysResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 4);\n\n/**\n * DeleteApiKeyRequest permanently revokes an API key.\n *\n * @generated from message auth.v1.DeleteApiKeyRequest\n */\nexport type DeleteApiKeyRequest = Message<\"auth.v1.DeleteApiKeyRequest\"> & {\n /**\n * Opaque API key identifier (e.g. \"ak_<hex>\"). This is the stable public\n * handle for a key.\n *\n * @generated from field: string key_id = 1;\n */\n keyId: string;\n};\n\n/**\n * Describes the message auth.v1.DeleteApiKeyRequest.\n * Use `create(DeleteApiKeyRequestSchema)` to create a new message.\n */\nexport const DeleteApiKeyRequestSchema: GenMessage<DeleteApiKeyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 5);\n\n/**\n * DeleteApiKeyResponse is empty when revocation succeeds.\n *\n * @generated from message auth.v1.DeleteApiKeyResponse\n */\nexport type DeleteApiKeyResponse = Message<\"auth.v1.DeleteApiKeyResponse\"> & {\n};\n\n/**\n * Describes the message auth.v1.DeleteApiKeyResponse.\n * Use `create(DeleteApiKeyResponseSchema)` to create a new message.\n */\nexport const DeleteApiKeyResponseSchema: GenMessage<DeleteApiKeyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 6);\n\n/**\n * GetApiKeyRequest returns one API key visible to its owner or a sub-account admin.\n *\n * @generated from message auth.v1.GetApiKeyRequest\n */\nexport type GetApiKeyRequest = Message<\"auth.v1.GetApiKeyRequest\"> & {\n /**\n * Opaque API key identifier, formatted as \"ak_\" followed by 32 lowercase hex\n * characters.\n *\n * @generated from field: string key_id = 1;\n */\n keyId: string;\n};\n\n/**\n * Describes the message auth.v1.GetApiKeyRequest.\n * Use `create(GetApiKeyRequestSchema)` to create a new message.\n */\nexport const GetApiKeyRequestSchema: GenMessage<GetApiKeyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 7);\n\n/**\n * GetApiKeyResponse returns one API key visible to the caller.\n *\n * @generated from message auth.v1.GetApiKeyResponse\n */\nexport type GetApiKeyResponse = Message<\"auth.v1.GetApiKeyResponse\"> & {\n /**\n * Matching API key metadata.\n *\n * @generated from field: auth.v1.ApiKey api_key = 1;\n */\n apiKey?: ApiKey | undefined;\n};\n\n/**\n * Describes the message auth.v1.GetApiKeyResponse.\n * Use `create(GetApiKeyResponseSchema)` to create a new message.\n */\nexport const GetApiKeyResponseSchema: GenMessage<GetApiKeyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 8);\n\n/**\n * ApiKeyUpdateSpec contains mutable API key configuration.\n *\n * @generated from message auth.v1.ApiKeyUpdateSpec\n */\nexport type ApiKeyUpdateSpec = Message<\"auth.v1.ApiKeyUpdateSpec\"> & {\n /**\n * Human-friendly label for the key. Empty clears the label when selected.\n *\n * @generated from field: string label = 1;\n */\n label: string;\n\n /**\n * User-chosen icon/emoji for UI display. Empty clears the icon when selected.\n *\n * @generated from field: string icon = 2;\n */\n icon: string;\n\n /**\n * User-chosen color token for UI display. Empty clears the color when selected.\n *\n * @generated from field: string color = 3;\n */\n color: string;\n\n /**\n * New status. ACTIVE and DISABLED are allowed; revocation uses DeleteApiKey.\n *\n * @generated from field: auth.v1.ApiKeyStatus status = 4;\n */\n status: ApiKeyStatus;\n\n /**\n * Complete replacement IP whitelist. Empty clears the restriction when selected.\n *\n * @generated from field: repeated string ip_whitelist = 5;\n */\n ipWhitelist: string[];\n\n /**\n * Expiry time in UTC. When selected, omission or the epoch clears expiry.\n *\n * @generated from field: google.protobuf.Timestamp expires_at = 6;\n */\n expiresAt?: Timestamp | undefined;\n};\n\n/**\n * Describes the message auth.v1.ApiKeyUpdateSpec.\n * Use `create(ApiKeyUpdateSpecSchema)` to create a new message.\n */\nexport const ApiKeyUpdateSpecSchema: GenMessage<ApiKeyUpdateSpec> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 9);\n\n/**\n * UpdateApiKeyRequest changes selected mutable fields on an existing API key.\n *\n * @generated from message auth.v1.UpdateApiKeyRequest\n */\nexport type UpdateApiKeyRequest = Message<\"auth.v1.UpdateApiKeyRequest\"> & {\n /**\n * Opaque API key identifier to update.\n *\n * @generated from field: string key_id = 1;\n */\n keyId: string;\n\n /**\n * Candidate values for fields selected by update_mask.\n *\n * @generated from field: auth.v1.ApiKeyUpdateSpec api_key = 2;\n */\n apiKey?: ApiKeyUpdateSpec | undefined;\n\n /**\n * Mutable fields to apply. Paths are relative to api_key. The mask is required,\n * must be non-empty, and cannot contain \"*\".\n *\n * @generated from field: google.protobuf.FieldMask update_mask = 3;\n */\n updateMask?: FieldMask | undefined;\n\n /**\n * Revision returned by the latest successful read.\n *\n * @generated from field: uint64 expected_revision = 4;\n */\n expectedRevision: bigint;\n};\n\n/**\n * Describes the message auth.v1.UpdateApiKeyRequest.\n * Use `create(UpdateApiKeyRequestSchema)` to create a new message.\n */\nexport const UpdateApiKeyRequestSchema: GenMessage<UpdateApiKeyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 10);\n\n/**\n * UpdateApiKeyResponse returns the API key after applying the update.\n *\n * @generated from message auth.v1.UpdateApiKeyResponse\n */\nexport type UpdateApiKeyResponse = Message<\"auth.v1.UpdateApiKeyResponse\"> & {\n /**\n * Updated API key metadata.\n *\n * @generated from field: auth.v1.ApiKey api_key = 1;\n */\n apiKey?: ApiKey | undefined;\n};\n\n/**\n * Describes the message auth.v1.UpdateApiKeyResponse.\n * Use `create(UpdateApiKeyResponseSchema)` to create a new message.\n */\nexport const UpdateApiKeyResponseSchema: GenMessage<UpdateApiKeyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 11);\n\n/**\n * Status of an API key.\n *\n * @generated from enum auth.v1.ApiKeyStatus\n */\nexport enum ApiKeyStatus {\n /**\n * No API key status specified.\n *\n * @generated from enum value: API_KEY_STATUS_UNSPECIFIED = 0;\n */\n API_KEY_STATUS_UNSPECIFIED = 0,\n\n /**\n * Key can authenticate requests.\n *\n * @generated from enum value: ACTIVE = 1;\n */\n ACTIVE = 1,\n\n /**\n * Key has been permanently revoked and cannot be used again.\n *\n * @generated from enum value: REVOKED = 2;\n */\n REVOKED = 2,\n\n /**\n * Key is temporarily disabled and cannot authenticate requests until re-enabled.\n *\n * @generated from enum value: DISABLED = 3;\n */\n DISABLED = 3,\n}\n\n/**\n * Describes the enum auth.v1.ApiKeyStatus.\n */\nexport const ApiKeyStatusSchema: GenEnum<ApiKeyStatus> = /*@__PURE__*/\n enumDesc(file_auth_v1_api_keys, 0);\n\n/**\n * ApiKeyService manages API keys for authenticated callers.\n *\n * @generated from service auth.v1.ApiKeyService\n */\nexport const ApiKeyService: GenService<{\n /**\n * Create a new API key for the caller. Account security settings may require\n * MFA enrollment or a fresh step-up proof.\n *\n * @generated from rpc auth.v1.ApiKeyService.CreateApiKey\n */\n createApiKey: {\n methodKind: \"unary\";\n input: typeof CreateApiKeyRequestSchema;\n output: typeof CreateApiKeyResponseSchema;\n },\n /**\n * List non-revoked API keys visible to the caller, newest first.\n *\n * @generated from rpc auth.v1.ApiKeyService.ListApiKeys\n */\n listApiKeys: {\n methodKind: \"unary\";\n input: typeof ListApiKeysRequestSchema;\n output: typeof ListApiKeysResponseSchema;\n },\n /**\n * Get a single API key owned by the caller or scoped to a sub-account the caller administers.\n *\n * @generated from rpc auth.v1.ApiKeyService.GetApiKey\n */\n getApiKey: {\n methodKind: \"unary\";\n input: typeof GetApiKeyRequestSchema;\n output: typeof GetApiKeyResponseSchema;\n },\n /**\n * Revoke an API key permanently.\n *\n * @generated from rpc auth.v1.ApiKeyService.DeleteApiKey\n */\n deleteApiKey: {\n methodKind: \"unary\";\n input: typeof DeleteApiKeyRequestSchema;\n output: typeof DeleteApiKeyResponseSchema;\n },\n /**\n * Update API key metadata and allowed status transitions. Revocation must use\n * DeleteApiKey.\n *\n * @generated from rpc auth.v1.ApiKeyService.UpdateApiKey\n */\n updateApiKey: {\n methodKind: \"unary\";\n input: typeof UpdateApiKeyRequestSchema;\n output: typeof UpdateApiKeyResponseSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_auth_v1_api_keys, 0);\n\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAa,wBACX,uBAAS,4nFAA4nF;CAAC;CAAiC;CAAgC;AAA0B,CAAC;;;;;AAgIpuF,MAAa,eACX,0BAAY,uBAAuB,CAAC;;;;;AA2DtC,MAAa,4BACX,0BAAY,uBAAuB,CAAC;;;;;AAoBtC,MAAa,6BACX,0BAAY,uBAAuB,CAAC;;;;;AAsBtC,MAAa,2BACX,0BAAY,uBAAuB,CAAC;;;;;AAoBtC,MAAa,4BACX,0BAAY,uBAAuB,CAAC;;;;;AAqBtC,MAAa,4BACX,0BAAY,uBAAuB,CAAC;;;;;AActC,MAAa,6BACX,0BAAY,uBAAuB,CAAC;;;;;AAqBtC,MAAa,yBACX,0BAAY,uBAAuB,CAAC;;;;;AAoBtC,MAAa,0BACX,0BAAY,uBAAuB,CAAC;;;;;AAuDtC,MAAa,yBACX,0BAAY,uBAAuB,CAAC;;;;;AA0CtC,MAAa,4BACX,0BAAY,uBAAuB,EAAE;;;;;AAoBvC,MAAa,6BACX,0BAAY,uBAAuB,EAAE;;;;;;AAOvC,IAAY,eAAL,yBAAA,cAAA;;;;;;CAML,aAAA,aAAA,gCAAA,KAAA;;;;;;CAOA,aAAA,aAAA,YAAA,KAAA;;;;;;CAOA,aAAA,aAAA,aAAA,KAAA;;;;;;CAOA,aAAA,aAAA,cAAA,KAAA;;AACF,EAAA,CAAA,CAAA;;;;AAKA,MAAa,qBACX,uBAAS,uBAAuB,CAAC;;;;;;AAOnC,MAAa,gBAsDX,0BAAY,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"api_keys_pb.js","names":[],"sources":["../../../../src/gen/auth/v1/api_keys_pb.ts"],"sourcesContent":["// @generated by protoc-gen-es v2.13.0 with parameter \"target=ts,import_extension=js\"\n// @generated from file auth/v1/api_keys.proto (package auth.v1, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile, GenMessage, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { FieldMask, Timestamp } from \"@bufbuild/protobuf/wkt\";\nimport { file_google_protobuf_field_mask, file_google_protobuf_timestamp } from \"@bufbuild/protobuf/wkt\";\nimport { file_polyester_api_options } from \"../../polyester/api/options_pb.js\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/v1/api_keys.proto.\n */\nexport const file_auth_v1_api_keys: GenFile = /*@__PURE__*/\n fileDesc(\"ChZhdXRoL3YxL2FwaV9rZXlzLnByb3RvEgdhdXRoLnYxIucDCgZBcGlLZXkSEAoGa2V5X2lkGAIgASgJQgASDQoFbGFiZWwYAyABKAkSDgoEaWNvbhgJIAEoCUIAEg8KBWNvbG9yGAogASgJQgASFgoMaXBfd2hpdGVsaXN0GAQgAygJQgASJQoGc3RhdHVzGAYgASgOMhUuYXV0aC52MS5BcGlLZXlTdGF0dXMSGgoNc3ViYWNjb3VudF9pZBgHIAEoBkgAiAEBEhYKCXBvbGljeV9pZBgIIAEoBkgBiAEBEi4KCmNyZWF0ZWRfYXQYFCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGxhc3RfdXNlZF9hdBgVIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGgoScHVibGljX2tleV9lZDI1NTE5GBYgASgMEi4KCmV4cGlyZXNfYXQYFyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhgKEGNyZWF0ZWRfYnlfYWN0b3IYGCABKAkSLgoKdXBkYXRlZF9hdBgZIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEAoIcmV2aXNpb24YGiABKARCEAoOX3N1YmFjY291bnRfaWRCDAoKX3BvbGljeV9pZCKrAQoTQ3JlYXRlQXBpS2V5UmVxdWVzdBIPCgVsYWJlbBgBIAEoCUIAEhoKDXN1YmFjY291bnRfaWQYAyABKAZIAIgBARIOCgRpY29uGAYgASgJQgASDwoFY29sb3IYByABKAlCABIWCgxpcF93aGl0ZWxpc3QYBCADKAlCABIcChJwdWJsaWNfa2V5X2VkMjU1MTkYBSABKAxCAEIQCg5fc3ViYWNjb3VudF9pZCI4ChRDcmVhdGVBcGlLZXlSZXNwb25zZRIgCgdhcGlfa2V5GAEgASgLMg8uYXV0aC52MS5BcGlLZXkiQgoSTGlzdEFwaUtleXNSZXF1ZXN0EhoKDXN1YmFjY291bnRfaWQYASABKAZIAIgBAUIQCg5fc3ViYWNjb3VudF9pZCI4ChNMaXN0QXBpS2V5c1Jlc3BvbnNlEiEKCGFwaV9rZXlzGAEgAygLMg8uYXV0aC52MS5BcGlLZXkiJwoTRGVsZXRlQXBpS2V5UmVxdWVzdBIQCgZrZXlfaWQYASABKAlCACIWChREZWxldGVBcGlLZXlSZXNwb25zZSIkChBHZXRBcGlLZXlSZXF1ZXN0EhAKBmtleV9pZBgBIAEoCUIAIjUKEUdldEFwaUtleVJlc3BvbnNlEiAKB2FwaV9rZXkYASABKAsyDy5hdXRoLnYxLkFwaUtleSK3AQoQQXBpS2V5VXBkYXRlU3BlYxIPCgVsYWJlbBgBIAEoCUIAEg4KBGljb24YAiABKAlCABIPCgVjb2xvchgDIAEoCUIAEicKBnN0YXR1cxgEIAEoDjIVLmF1dGgudjEuQXBpS2V5U3RhdHVzQgASFgoMaXBfd2hpdGVsaXN0GAUgAygJQgASLgoKZXhwaXJlc19hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXA6ACKlAQoTVXBkYXRlQXBpS2V5UmVxdWVzdBIQCgZrZXlfaWQYASABKAlCABIsCgdhcGlfa2V5GAIgASgLMhkuYXV0aC52MS5BcGlLZXlVcGRhdGVTcGVjQgASMQoLdXBkYXRlX21hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgASGwoRZXhwZWN0ZWRfcmV2aXNpb24YBCABKARCACI4ChRVcGRhdGVBcGlLZXlSZXNwb25zZRIgCgdhcGlfa2V5GAEgASgLMg8uYXV0aC52MS5BcGlLZXkqVQoMQXBpS2V5U3RhdHVzEh4KGkFQSV9LRVlfU1RBVFVTX1VOU1BFQ0lGSUVEEAASCgoGQUNUSVZFEAESCwoHUkVWT0tFRBACEgwKCERJU0FCTEVEEAMyjgMKDUFwaUtleVNlcnZpY2USTQoMQ3JlYXRlQXBpS2V5EhwuYXV0aC52MS5DcmVhdGVBcGlLZXlSZXF1ZXN0Gh0uYXV0aC52MS5DcmVhdGVBcGlLZXlSZXNwb25zZSIAEkoKC0xpc3RBcGlLZXlzEhsuYXV0aC52MS5MaXN0QXBpS2V5c1JlcXVlc3QaHC5hdXRoLnYxLkxpc3RBcGlLZXlzUmVzcG9uc2UiABJECglHZXRBcGlLZXkSGS5hdXRoLnYxLkdldEFwaUtleVJlcXVlc3QaGi5hdXRoLnYxLkdldEFwaUtleVJlc3BvbnNlIgASTQoMRGVsZXRlQXBpS2V5EhwuYXV0aC52MS5EZWxldGVBcGlLZXlSZXF1ZXN0Gh0uYXV0aC52MS5EZWxldGVBcGlLZXlSZXNwb25zZSIAEk0KDFVwZGF0ZUFwaUtleRIcLmF1dGgudjEuVXBkYXRlQXBpS2V5UmVxdWVzdBodLmF1dGgudjEuVXBkYXRlQXBpS2V5UmVzcG9uc2UiAEI8WjpnaXRodWIuY29tL0ZhYnJpYy1MYWJzL3BvbHllc3Rlci1zZGstZ28vZ2VuL2F1dGgvdjE7YXV0aHYxYgZwcm90bzM=\", [file_google_protobuf_field_mask, file_google_protobuf_timestamp, file_polyester_api_options]);\n\n/**\n * ApiKey is public API key metadata. It never includes the private key or seed.\n *\n * @generated from message auth.v1.ApiKey\n */\nexport type ApiKey = Message<\"auth.v1.ApiKey\"> & {\n /**\n * Stable opaque identifier used to refer to this key, formatted as \"ak_\"\n * followed by 32 lowercase hex characters.\n *\n * @generated from field: string key_id = 2;\n */\n keyId: string;\n\n /**\n * Human-readable label for the key. Maximum length is 64 characters.\n *\n * @generated from field: string label = 3;\n */\n label: string;\n\n /**\n * Optional user-chosen icon/emoji for UI display.\n *\n * @generated from field: string icon = 9;\n */\n icon: string;\n\n /**\n * Optional user-chosen color token for UI display.\n *\n * @generated from field: string color = 10;\n */\n color: string;\n\n /**\n * Optional CIDR whitelist. Empty means no IP restriction. Maximum 32 unique\n * entries.\n *\n * @generated from field: repeated string ip_whitelist = 4;\n */\n ipWhitelist: string[];\n\n /**\n * Current key status.\n *\n * @generated from field: auth.v1.ApiKeyStatus status = 6;\n */\n status: ApiKeyStatus;\n\n /**\n * Optional sub-account this key is scoped to (opaque ID; empty = root-level).\n *\n * @generated from field: optional fixed64 subaccount_id = 7;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Optional API policy attached to this key (opaque ID).\n * Empty means no policy is attached and the key has no permissions.\n *\n * @generated from field: optional fixed64 policy_id = 8;\n */\n policyId?: bigint | undefined;\n\n /**\n * Time in UTC when this key was created.\n *\n * @generated from field: google.protobuf.Timestamp created_at = 20;\n */\n createdAt?: Timestamp | undefined;\n\n /**\n * Last time in UTC when this key authenticated a request. Omitted when the\n * key has not been used.\n *\n * @generated from field: google.protobuf.Timestamp last_used_at = 21;\n */\n lastUsedAt?: Timestamp | undefined;\n\n /**\n * Ed25519 public key bytes associated with this API key. The private key or\n * seed is never returned by the API.\n *\n * @generated from field: bytes public_key_ed25519 = 22;\n */\n publicKeyEd25519: Uint8Array;\n\n /**\n * Optional expiry time in UTC. When set, the key cannot authenticate requests\n * after this time, regardless of status.\n *\n * @generated from field: google.protobuf.Timestamp expires_at = 23;\n */\n expiresAt?: Timestamp | undefined;\n\n /**\n * Read-only actor label describing who created this key, such as a username\n * or account label.\n *\n * @generated from field: string created_by_actor = 24;\n */\n createdByActor: string;\n\n /**\n * Time in UTC when this key's configuration was last changed. For the same\n * key, later is fresher, equal is an idempotent replay, and earlier is stale.\n * Equal timestamps with different configuration indicate an invariant failure.\n * This is independent of last_used_at, which tracks authentication activity.\n *\n * @generated from field: google.protobuf.Timestamp updated_at = 25;\n */\n updatedAt?: Timestamp | undefined;\n\n /**\n * Monotonic resource revision used for conditional updates.\n *\n * @generated from field: uint64 revision = 26;\n */\n revision: bigint;\n};\n\n/**\n * Describes the message auth.v1.ApiKey.\n * Use `create(ApiKeySchema)` to create a new message.\n */\nexport const ApiKeySchema: GenMessage<ApiKey> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 0);\n\n/**\n * CreateApiKeyRequest creates a new API key. Clients generate the Ed25519 key\n * pair locally and submit only the public key.\n *\n * @generated from message auth.v1.CreateApiKeyRequest\n */\nexport type CreateApiKeyRequest = Message<\"auth.v1.CreateApiKeyRequest\"> & {\n /**\n * Human-readable label for the key. Required; 1 to 64 characters.\n *\n * @generated from field: string label = 1;\n */\n label: string;\n\n /**\n * Optional sub-account to scope this key to (opaque ID). If unset, the key is\n * root-level.\n *\n * @generated from field: optional fixed64 subaccount_id = 3;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Optional user-chosen icon/emoji for UI display.\n *\n * @generated from field: string icon = 6;\n */\n icon: string;\n\n /**\n * Optional user-chosen color token for UI display.\n *\n * @generated from field: string color = 7;\n */\n color: string;\n\n /**\n * Optional CIDR whitelist. Empty means no IP restriction. Maximum 32 unique\n * entries.\n *\n * @generated from field: repeated string ip_whitelist = 4;\n */\n ipWhitelist: string[];\n\n /**\n * Ed25519 public key bytes. Must be exactly 32 bytes. The private key or seed\n * must never be sent to the API.\n *\n * @generated from field: bytes public_key_ed25519 = 5;\n */\n publicKeyEd25519: Uint8Array;\n};\n\n/**\n * Describes the message auth.v1.CreateApiKeyRequest.\n * Use `create(CreateApiKeyRequestSchema)` to create a new message.\n */\nexport const CreateApiKeyRequestSchema: GenMessage<CreateApiKeyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 1);\n\n/**\n * CreateApiKeyResponse returns the created API key metadata.\n *\n * @generated from message auth.v1.CreateApiKeyResponse\n */\nexport type CreateApiKeyResponse = Message<\"auth.v1.CreateApiKeyResponse\"> & {\n /**\n * Created API key metadata. The private key or seed is never returned.\n *\n * @generated from field: auth.v1.ApiKey api_key = 1;\n */\n apiKey?: ApiKey | undefined;\n};\n\n/**\n * Describes the message auth.v1.CreateApiKeyResponse.\n * Use `create(CreateApiKeyResponseSchema)` to create a new message.\n */\nexport const CreateApiKeyResponseSchema: GenMessage<CreateApiKeyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 2);\n\n/**\n * ListApiKeysRequest lists non-revoked API keys visible to the caller.\n *\n * @generated from message auth.v1.ListApiKeysRequest\n */\nexport type ListApiKeysRequest = Message<\"auth.v1.ListApiKeysRequest\"> & {\n /**\n * Optional filter: only keys scoped to this sub-account (opaque ID). The\n * caller must own or administer the sub-account. If unset, only non-revoked\n * keys owned by the caller are returned.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n};\n\n/**\n * Describes the message auth.v1.ListApiKeysRequest.\n * Use `create(ListApiKeysRequestSchema)` to create a new message.\n */\nexport const ListApiKeysRequestSchema: GenMessage<ListApiKeysRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 3);\n\n/**\n * ListApiKeysResponse contains matching API keys, newest first by creation time.\n *\n * @generated from message auth.v1.ListApiKeysResponse\n */\nexport type ListApiKeysResponse = Message<\"auth.v1.ListApiKeysResponse\"> & {\n /**\n * Matching API keys, newest first. Revoked keys are excluded.\n *\n * @generated from field: repeated auth.v1.ApiKey api_keys = 1;\n */\n apiKeys: ApiKey[];\n};\n\n/**\n * Describes the message auth.v1.ListApiKeysResponse.\n * Use `create(ListApiKeysResponseSchema)` to create a new message.\n */\nexport const ListApiKeysResponseSchema: GenMessage<ListApiKeysResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 4);\n\n/**\n * DeleteApiKeyRequest permanently revokes an API key.\n *\n * @generated from message auth.v1.DeleteApiKeyRequest\n */\nexport type DeleteApiKeyRequest = Message<\"auth.v1.DeleteApiKeyRequest\"> & {\n /**\n * Opaque API key identifier (e.g. \"ak_<hex>\"). This is the stable public\n * handle for a key.\n *\n * @generated from field: string key_id = 1;\n */\n keyId: string;\n};\n\n/**\n * Describes the message auth.v1.DeleteApiKeyRequest.\n * Use `create(DeleteApiKeyRequestSchema)` to create a new message.\n */\nexport const DeleteApiKeyRequestSchema: GenMessage<DeleteApiKeyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 5);\n\n/**\n * DeleteApiKeyResponse is empty when revocation succeeds.\n *\n * @generated from message auth.v1.DeleteApiKeyResponse\n */\nexport type DeleteApiKeyResponse = Message<\"auth.v1.DeleteApiKeyResponse\"> & {\n};\n\n/**\n * Describes the message auth.v1.DeleteApiKeyResponse.\n * Use `create(DeleteApiKeyResponseSchema)` to create a new message.\n */\nexport const DeleteApiKeyResponseSchema: GenMessage<DeleteApiKeyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 6);\n\n/**\n * GetApiKeyRequest returns one API key visible to its owner or a sub-account admin.\n *\n * @generated from message auth.v1.GetApiKeyRequest\n */\nexport type GetApiKeyRequest = Message<\"auth.v1.GetApiKeyRequest\"> & {\n /**\n * Opaque API key identifier, formatted as \"ak_\" followed by 32 lowercase hex\n * characters.\n *\n * @generated from field: string key_id = 1;\n */\n keyId: string;\n};\n\n/**\n * Describes the message auth.v1.GetApiKeyRequest.\n * Use `create(GetApiKeyRequestSchema)` to create a new message.\n */\nexport const GetApiKeyRequestSchema: GenMessage<GetApiKeyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 7);\n\n/**\n * GetApiKeyResponse returns one API key visible to the caller.\n *\n * @generated from message auth.v1.GetApiKeyResponse\n */\nexport type GetApiKeyResponse = Message<\"auth.v1.GetApiKeyResponse\"> & {\n /**\n * Matching API key metadata.\n *\n * @generated from field: auth.v1.ApiKey api_key = 1;\n */\n apiKey?: ApiKey | undefined;\n};\n\n/**\n * Describes the message auth.v1.GetApiKeyResponse.\n * Use `create(GetApiKeyResponseSchema)` to create a new message.\n */\nexport const GetApiKeyResponseSchema: GenMessage<GetApiKeyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 8);\n\n/**\n * ApiKeyUpdateSpec contains mutable API key configuration.\n *\n * @generated from message auth.v1.ApiKeyUpdateSpec\n */\nexport type ApiKeyUpdateSpec = Message<\"auth.v1.ApiKeyUpdateSpec\"> & {\n /**\n * Human-friendly label for the key. Empty clears the label when selected.\n *\n * @generated from field: string label = 1;\n */\n label: string;\n\n /**\n * User-chosen icon/emoji for UI display. Empty clears the icon when selected.\n *\n * @generated from field: string icon = 2;\n */\n icon: string;\n\n /**\n * User-chosen color token for UI display. Empty clears the color when selected.\n *\n * @generated from field: string color = 3;\n */\n color: string;\n\n /**\n * New status. ACTIVE and DISABLED are allowed; revocation uses DeleteApiKey.\n *\n * @generated from field: auth.v1.ApiKeyStatus status = 4;\n */\n status: ApiKeyStatus;\n\n /**\n * Complete replacement IP whitelist. Empty clears the restriction when selected.\n *\n * @generated from field: repeated string ip_whitelist = 5;\n */\n ipWhitelist: string[];\n\n /**\n * Expiry time in UTC. When selected, omission or the epoch clears expiry.\n *\n * @generated from field: google.protobuf.Timestamp expires_at = 6;\n */\n expiresAt?: Timestamp | undefined;\n};\n\n/**\n * Describes the message auth.v1.ApiKeyUpdateSpec.\n * Use `create(ApiKeyUpdateSpecSchema)` to create a new message.\n */\nexport const ApiKeyUpdateSpecSchema: GenMessage<ApiKeyUpdateSpec> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 9);\n\n/**\n * UpdateApiKeyRequest changes selected mutable fields on an existing API key.\n *\n * @generated from message auth.v1.UpdateApiKeyRequest\n */\nexport type UpdateApiKeyRequest = Message<\"auth.v1.UpdateApiKeyRequest\"> & {\n /**\n * Opaque API key identifier to update.\n *\n * @generated from field: string key_id = 1;\n */\n keyId: string;\n\n /**\n * Candidate values for fields selected by update_mask.\n *\n * @generated from field: auth.v1.ApiKeyUpdateSpec api_key = 2;\n */\n apiKey?: ApiKeyUpdateSpec | undefined;\n\n /**\n * Mutable fields to apply. Paths are relative to api_key. The mask is required,\n * must be non-empty, and cannot contain \"*\".\n *\n * @generated from field: google.protobuf.FieldMask update_mask = 3;\n */\n updateMask?: FieldMask | undefined;\n\n /**\n * Revision returned by the latest successful read.\n *\n * @generated from field: uint64 expected_revision = 4;\n */\n expectedRevision: bigint;\n};\n\n/**\n * Describes the message auth.v1.UpdateApiKeyRequest.\n * Use `create(UpdateApiKeyRequestSchema)` to create a new message.\n */\nexport const UpdateApiKeyRequestSchema: GenMessage<UpdateApiKeyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 10);\n\n/**\n * UpdateApiKeyResponse returns the API key after applying the update.\n *\n * @generated from message auth.v1.UpdateApiKeyResponse\n */\nexport type UpdateApiKeyResponse = Message<\"auth.v1.UpdateApiKeyResponse\"> & {\n /**\n * Updated API key metadata.\n *\n * @generated from field: auth.v1.ApiKey api_key = 1;\n */\n apiKey?: ApiKey | undefined;\n};\n\n/**\n * Describes the message auth.v1.UpdateApiKeyResponse.\n * Use `create(UpdateApiKeyResponseSchema)` to create a new message.\n */\nexport const UpdateApiKeyResponseSchema: GenMessage<UpdateApiKeyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_api_keys, 11);\n\n/**\n * Status of an API key.\n *\n * @generated from enum auth.v1.ApiKeyStatus\n */\nexport enum ApiKeyStatus {\n /**\n * No API key status specified.\n *\n * @generated from enum value: API_KEY_STATUS_UNSPECIFIED = 0;\n */\n API_KEY_STATUS_UNSPECIFIED = 0,\n\n /**\n * Key can authenticate requests.\n *\n * @generated from enum value: ACTIVE = 1;\n */\n ACTIVE = 1,\n\n /**\n * Key has been permanently revoked and cannot be used again.\n *\n * @generated from enum value: REVOKED = 2;\n */\n REVOKED = 2,\n\n /**\n * Key is temporarily disabled and cannot authenticate requests until re-enabled.\n *\n * @generated from enum value: DISABLED = 3;\n */\n DISABLED = 3,\n}\n\n/**\n * Describes the enum auth.v1.ApiKeyStatus.\n */\nexport const ApiKeyStatusSchema: GenEnum<ApiKeyStatus> = /*@__PURE__*/\n enumDesc(file_auth_v1_api_keys, 0);\n\n/**\n * ApiKeyService manages API keys for authenticated callers.\n *\n * @generated from service auth.v1.ApiKeyService\n */\nexport const ApiKeyService: GenService<{\n /**\n * Create a new API key for the caller. Account security settings may require\n * MFA enrollment or a fresh step-up proof. The acting caller's root account\n * must have accepted the current terms, including when targeting a shared\n * subaccount; otherwise FailedPrecondition with AUTH_TERMS_NOT_ACCEPTED is returned.\n *\n * @generated from rpc auth.v1.ApiKeyService.CreateApiKey\n */\n createApiKey: {\n methodKind: \"unary\";\n input: typeof CreateApiKeyRequestSchema;\n output: typeof CreateApiKeyResponseSchema;\n },\n /**\n * List non-revoked API keys visible to the caller, newest first.\n *\n * @generated from rpc auth.v1.ApiKeyService.ListApiKeys\n */\n listApiKeys: {\n methodKind: \"unary\";\n input: typeof ListApiKeysRequestSchema;\n output: typeof ListApiKeysResponseSchema;\n },\n /**\n * Get a single API key owned by the caller or scoped to a sub-account the caller administers.\n *\n * @generated from rpc auth.v1.ApiKeyService.GetApiKey\n */\n getApiKey: {\n methodKind: \"unary\";\n input: typeof GetApiKeyRequestSchema;\n output: typeof GetApiKeyResponseSchema;\n },\n /**\n * Revoke an API key permanently.\n *\n * @generated from rpc auth.v1.ApiKeyService.DeleteApiKey\n */\n deleteApiKey: {\n methodKind: \"unary\";\n input: typeof DeleteApiKeyRequestSchema;\n output: typeof DeleteApiKeyResponseSchema;\n },\n /**\n * Update API key metadata and allowed status transitions. Revocation must use\n * DeleteApiKey.\n *\n * @generated from rpc auth.v1.ApiKeyService.UpdateApiKey\n */\n updateApiKey: {\n methodKind: \"unary\";\n input: typeof UpdateApiKeyRequestSchema;\n output: typeof UpdateApiKeyResponseSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_auth_v1_api_keys, 0);\n\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAa,wBACX,uBAAS,4nFAA4nF;CAAC;CAAiC;CAAgC;AAA0B,CAAC;;;;;AAgIpuF,MAAa,eACX,0BAAY,uBAAuB,CAAC;;;;;AA2DtC,MAAa,4BACX,0BAAY,uBAAuB,CAAC;;;;;AAoBtC,MAAa,6BACX,0BAAY,uBAAuB,CAAC;;;;;AAsBtC,MAAa,2BACX,0BAAY,uBAAuB,CAAC;;;;;AAoBtC,MAAa,4BACX,0BAAY,uBAAuB,CAAC;;;;;AAqBtC,MAAa,4BACX,0BAAY,uBAAuB,CAAC;;;;;AActC,MAAa,6BACX,0BAAY,uBAAuB,CAAC;;;;;AAqBtC,MAAa,yBACX,0BAAY,uBAAuB,CAAC;;;;;AAoBtC,MAAa,0BACX,0BAAY,uBAAuB,CAAC;;;;;AAuDtC,MAAa,yBACX,0BAAY,uBAAuB,CAAC;;;;;AA0CtC,MAAa,4BACX,0BAAY,uBAAuB,EAAE;;;;;AAoBvC,MAAa,6BACX,0BAAY,uBAAuB,EAAE;;;;;;AAOvC,IAAY,eAAL,yBAAA,cAAA;;;;;;CAML,aAAA,aAAA,gCAAA,KAAA;;;;;;CAOA,aAAA,aAAA,YAAA,KAAA;;;;;;CAOA,aAAA,aAAA,aAAA,KAAA;;;;;;CAOA,aAAA,aAAA,cAAA,KAAA;;AACF,EAAA,CAAA,CAAA;;;;AAKA,MAAa,qBACX,uBAAS,uBAAuB,CAAC;;;;;;AAOnC,MAAa,gBAwDX,0BAAY,uBAAuB,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { Message } from "@bufbuild/protobuf";
|
|
|
3
3
|
import { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
|
|
4
4
|
import { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
5
5
|
declare namespace auth_pb_d_exports {
|
|
6
|
-
export { AuthErrorCode, AuthErrorCodeSchema, AuthErrorDetail, AuthErrorDetailSchema, AuthService, GetNonceRequest, GetNonceRequestSchema, GetNonceResponse, GetNonceResponseSchema, LoginWithWalletRequest, LoginWithWalletRequestSchema, LoginWithWalletResponse, LoginWithWalletResponseSchema, MeRequest, MeRequestSchema, MeResponse, MeResponseSchema, file_auth_v1_auth };
|
|
6
|
+
export { AcceptTermsRequest, AcceptTermsRequestSchema, AcceptTermsResponse, AcceptTermsResponseSchema, AuthErrorCode, AuthErrorCodeSchema, AuthErrorDetail, AuthErrorDetailSchema, AuthService, GetNonceRequest, GetNonceRequestSchema, GetNonceResponse, GetNonceResponseSchema, LoginWithWalletRequest, LoginWithWalletRequestSchema, LoginWithWalletResponse, LoginWithWalletResponseSchema, MeRequest, MeRequestSchema, MeResponse, MeResponseSchema, file_auth_v1_auth };
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
9
|
* Describes the file auth/v1/auth.proto.
|
|
@@ -238,6 +238,29 @@ type AuthErrorDetail = Message<"auth.v1.AuthErrorDetail"> & {
|
|
|
238
238
|
* Use `create(AuthErrorDetailSchema)` to create a new message.
|
|
239
239
|
*/
|
|
240
240
|
declare const AuthErrorDetailSchema: GenMessage<AuthErrorDetail>;
|
|
241
|
+
/**
|
|
242
|
+
* AcceptTermsRequest records explicit consent to the currently required terms.
|
|
243
|
+
*
|
|
244
|
+
* @generated from message auth.v1.AcceptTermsRequest
|
|
245
|
+
*/
|
|
246
|
+
type AcceptTermsRequest = Message<"auth.v1.AcceptTermsRequest"> & {};
|
|
247
|
+
/**
|
|
248
|
+
* Describes the message auth.v1.AcceptTermsRequest.
|
|
249
|
+
* Use `create(AcceptTermsRequestSchema)` to create a new message.
|
|
250
|
+
*/
|
|
251
|
+
declare const AcceptTermsRequestSchema: GenMessage<AcceptTermsRequest>;
|
|
252
|
+
/**
|
|
253
|
+
* AcceptTermsResponse confirms acceptance. Repeated acceptance of the current
|
|
254
|
+
* version succeeds and preserves the first acceptance time.
|
|
255
|
+
*
|
|
256
|
+
* @generated from message auth.v1.AcceptTermsResponse
|
|
257
|
+
*/
|
|
258
|
+
type AcceptTermsResponse = Message<"auth.v1.AcceptTermsResponse"> & {};
|
|
259
|
+
/**
|
|
260
|
+
* Describes the message auth.v1.AcceptTermsResponse.
|
|
261
|
+
* Use `create(AcceptTermsResponseSchema)` to create a new message.
|
|
262
|
+
*/
|
|
263
|
+
declare const AcceptTermsResponseSchema: GenMessage<AcceptTermsResponse>;
|
|
241
264
|
/**
|
|
242
265
|
* High-level error codes for authentication and account-domain failures.
|
|
243
266
|
*
|
|
@@ -483,14 +506,20 @@ declare enum AuthErrorCode {
|
|
|
483
506
|
*
|
|
484
507
|
* @generated from enum value: AUTH_INTERNAL_ERROR = 40;
|
|
485
508
|
*/
|
|
486
|
-
AUTH_INTERNAL_ERROR = 40
|
|
509
|
+
AUTH_INTERNAL_ERROR = 40,
|
|
510
|
+
/**
|
|
511
|
+
* The caller has not explicitly accepted the currently required terms.
|
|
512
|
+
*
|
|
513
|
+
* @generated from enum value: AUTH_TERMS_NOT_ACCEPTED = 41;
|
|
514
|
+
*/
|
|
515
|
+
AUTH_TERMS_NOT_ACCEPTED = 41
|
|
487
516
|
}
|
|
488
517
|
/**
|
|
489
518
|
* Describes the enum auth.v1.AuthErrorCode.
|
|
490
519
|
*/
|
|
491
520
|
declare const AuthErrorCodeSchema: GenEnum<AuthErrorCode>;
|
|
492
521
|
/**
|
|
493
|
-
* AuthService manages wallet login and caller authentication context.
|
|
522
|
+
* AuthService manages wallet login, explicit terms consent, and caller authentication context.
|
|
494
523
|
*
|
|
495
524
|
* @generated from service auth.v1.AuthService
|
|
496
525
|
*/
|
|
@@ -506,7 +535,8 @@ declare const AuthService: GenService<{
|
|
|
506
535
|
output: typeof GetNonceResponseSchema;
|
|
507
536
|
};
|
|
508
537
|
/**
|
|
509
|
-
* Verify a signed nonce and issue an access token.
|
|
538
|
+
* Verify a signed nonce and issue an access token. Login and account creation
|
|
539
|
+
* do not accept terms; explicit consent is recorded only by AcceptTerms.
|
|
510
540
|
*
|
|
511
541
|
* @generated from rpc auth.v1.AuthService.LoginWithWallet
|
|
512
542
|
*/
|
|
@@ -515,6 +545,20 @@ declare const AuthService: GenService<{
|
|
|
515
545
|
input: typeof LoginWithWalletRequestSchema;
|
|
516
546
|
output: typeof LoginWithWalletResponseSchema;
|
|
517
547
|
};
|
|
548
|
+
/**
|
|
549
|
+
* Explicitly accept the currently required terms for the caller's root account.
|
|
550
|
+
* Requires an interactive JWT session; API keys are not allowed. No MFA is
|
|
551
|
+
* required. Login, trading, reads, and use of existing resources remain available
|
|
552
|
+
* without acceptance. Only CreateSubaccount, CreateApiKey, and
|
|
553
|
+
* CreateDepositAddress require acceptance of the current version.
|
|
554
|
+
*
|
|
555
|
+
* @generated from rpc auth.v1.AuthService.AcceptTerms
|
|
556
|
+
*/
|
|
557
|
+
acceptTerms: {
|
|
558
|
+
methodKind: "unary";
|
|
559
|
+
input: typeof AcceptTermsRequestSchema;
|
|
560
|
+
output: typeof AcceptTermsResponseSchema;
|
|
561
|
+
};
|
|
518
562
|
/**
|
|
519
563
|
* Return the caller's current auth context.
|
|
520
564
|
*
|
|
@@ -527,5 +571,5 @@ declare const AuthService: GenService<{
|
|
|
527
571
|
};
|
|
528
572
|
}>;
|
|
529
573
|
//#endregion
|
|
530
|
-
export { AuthErrorCode, AuthErrorCodeSchema, AuthErrorDetail, AuthErrorDetailSchema, AuthService, GetNonceRequest, GetNonceRequestSchema, GetNonceResponse, GetNonceResponseSchema, LoginWithWalletRequest, LoginWithWalletRequestSchema, LoginWithWalletResponse, LoginWithWalletResponseSchema, MeRequest, MeRequestSchema, MeResponse, MeResponseSchema, auth_pb_d_exports, file_auth_v1_auth };
|
|
574
|
+
export { AcceptTermsRequest, AcceptTermsRequestSchema, AcceptTermsResponse, AcceptTermsResponseSchema, AuthErrorCode, AuthErrorCodeSchema, AuthErrorDetail, AuthErrorDetailSchema, AuthService, GetNonceRequest, GetNonceRequestSchema, GetNonceResponse, GetNonceResponseSchema, LoginWithWalletRequest, LoginWithWalletRequestSchema, LoginWithWalletResponse, LoginWithWalletResponseSchema, MeRequest, MeRequestSchema, MeResponse, MeResponseSchema, auth_pb_d_exports, file_auth_v1_auth };
|
|
531
575
|
//# sourceMappingURL=auth_pb.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth_pb.d.ts","names":[],"sources":["../../../../src/gen/auth/v1/auth_pb.ts"],"mappings":";;;;;;;;;;cAea,mBAAmB;;;;;;;KASpB,kBAAkB;;;;;;EAM5B;;;;;;cAOW,uBAAuB,WAAW;;;;;;KAQnC,mBAAmB;;;;;;;EAO7B;;;;;;EAOA,YAAY;;;;;;cAOD,wBAAwB,WAAW;;;;;;;KASpC,yBAAyB;;;;;;;EAOnC;;;;;;EAOA;;;;;;;EAQA;;;;;;;EAQA;;;;;;;EAQA;;;;;;;;EASA;;;;;;EAOA;;;;;;cAOW,8BAA8B,WAAW;;;;;;;KAS1C,0BAA0B;;;;;;EAMpC;;;;;;EAOA,YAAY;;;;;;EAOZ;;;;;;EAOA;;;;;;EAOA,UAAU;;;;;;cAOC,+BAA+B,WAAW;;;;;;;KAS3C,YAAY;;;;;cAOX,iBAAiB,WAAW;;;;;;KAQ7B,aAAa;;;;;;EAMvB;;;;;;;;EASA;;;;;;EAOA;;;;;;;EAQA;;;;;;EAOA,UAAU;;;;;;cAOC,kBAAkB,WAAW;;;;;;KAQ9B,kBAAkB;;;;;;EAM5B,MAAM;;;;;;EAON;;;;;;cAOW,uBAAuB,WAAW;;;;;;
|
|
1
|
+
{"version":3,"file":"auth_pb.d.ts","names":[],"sources":["../../../../src/gen/auth/v1/auth_pb.ts"],"mappings":";;;;;;;;;;cAea,mBAAmB;;;;;;;KASpB,kBAAkB;;;;;;EAM5B;;;;;;cAOW,uBAAuB,WAAW;;;;;;KAQnC,mBAAmB;;;;;;;EAO7B;;;;;;EAOA,YAAY;;;;;;cAOD,wBAAwB,WAAW;;;;;;;KASpC,yBAAyB;;;;;;;EAOnC;;;;;;EAOA;;;;;;;EAQA;;;;;;;EAQA;;;;;;;EAQA;;;;;;;;EASA;;;;;;EAOA;;;;;;cAOW,8BAA8B,WAAW;;;;;;;KAS1C,0BAA0B;;;;;;EAMpC;;;;;;EAOA,YAAY;;;;;;EAOZ;;;;;;EAOA;;;;;;EAOA,UAAU;;;;;;cAOC,+BAA+B,WAAW;;;;;;;KAS3C,YAAY;;;;;cAOX,iBAAiB,WAAW;;;;;;KAQ7B,aAAa;;;;;;EAMvB;;;;;;;;EASA;;;;;;EAOA;;;;;;;EAQA;;;;;;EAOA,UAAU;;;;;;cAOC,kBAAkB,WAAW;;;;;;KAQ9B,kBAAkB;;;;;;EAM5B,MAAM;;;;;;EAON;;;;;;cAOW,uBAAuB,WAAW;;;;;;KAQnC,qBAAqB;;;;;cAOpB,0BAA0B,WAAW;;;;;;;KAStC,sBAAsB;;;;;cAOrB,2BAA2B,WAAW;;;;;;aAQvC;;;;;;EAMV;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;;EAOA;;;;;cAMW,qBAAqB,QAAQ;;;;;;cAQ7B,aAAa;;;;;;EAMxB;IACE;IACA,cAAc;IACd,eAAe;;;;;;;;EAQjB;IACE;IACA,cAAc;IACd,eAAe;;;;;;;;;;;EAWjB;IACE;IACA,cAAc;IACd,eAAe;;;;;;;EAOjB;IACE;IACA,cAAc;IACd,eAAe"}
|
|
@@ -4,6 +4,8 @@ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf
|
|
|
4
4
|
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
5
5
|
//#region src/gen/auth/v1/auth_pb.ts
|
|
6
6
|
var auth_pb_exports = /* @__PURE__ */ __exportAll({
|
|
7
|
+
AcceptTermsRequestSchema: () => AcceptTermsRequestSchema,
|
|
8
|
+
AcceptTermsResponseSchema: () => AcceptTermsResponseSchema,
|
|
7
9
|
AuthErrorCode: () => AuthErrorCode,
|
|
8
10
|
AuthErrorCodeSchema: () => AuthErrorCodeSchema,
|
|
9
11
|
AuthErrorDetailSchema: () => AuthErrorDetailSchema,
|
|
@@ -19,7 +21,7 @@ var auth_pb_exports = /* @__PURE__ */ __exportAll({
|
|
|
19
21
|
/**
|
|
20
22
|
* Describes the file auth/v1/auth.proto.
|
|
21
23
|
*/
|
|
22
|
-
const file_auth_v1_auth = /*@__PURE__*/ fileDesc("
|
|
24
|
+
const file_auth_v1_auth = /*@__PURE__*/ fileDesc("ChJhdXRoL3YxL2F1dGgucHJvdG8SB2F1dGgudjEiMgoPR2V0Tm9uY2VSZXF1ZXN0Eh8KFXNtYXJ0X2FjY291bnRfYWRkcmVzcxgBIAEoCUIAIlEKEEdldE5vbmNlUmVzcG9uc2USDQoFbm9uY2UYASABKAkSLgoKZXhwaXJlc19hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiwAEKFkxvZ2luV2l0aFdhbGxldFJlcXVlc3QSHwoVc21hcnRfYWNjb3VudF9hZGRyZXNzGAEgASgJQgASDwoFbm9uY2UYAiABKAlCABITCglzaWduYXR1cmUYAyABKAlCABIUCgp1c2VyX2FnZW50GAQgASgJQgASDAoCaXAYBSABKAlCABIgChZwcmltYXJ5X3dhbGxldF9hZGRyZXNzGAYgASgJQgASGQoPd2FsbGV0X3Byb3ZpZGVyGAcgASgJQgAirAEKF0xvZ2luV2l0aFdhbGxldFJlc3BvbnNlEhQKDGFjY2Vzc190b2tlbhgBIAEoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBISCgphY2NvdW50X2lkGAogASgGEhAKCHVzZXJuYW1lGA0gASgJEiUKB3Nlc3Npb24YFCABKAsyFC5hdXRoLnYxLlNlc3Npb25JbmZvIgsKCU1lUmVxdWVzdCKnAQoKTWVSZXNwb25zZRISCgphY2NvdW50X2lkGAEgASgGEhkKCmFwaV9rZXlfaWQYCiABKAlCAEgAiAEBEhAKCHVzZXJuYW1lGAsgASgJEiIKGnJvb3Rfc21hcnRfYWNjb3VudF9hZGRyZXNzGAwgASgJEiUKB3Nlc3Npb24YFCABKAsyFC5hdXRoLnYxLlNlc3Npb25JbmZvQg0KC19hcGlfa2V5X2lkIkgKD0F1dGhFcnJvckRldGFpbBIkCgRjb2RlGAEgASgOMhYuYXV0aC52MS5BdXRoRXJyb3JDb2RlEg8KB21lc3NhZ2UYAiABKAkiFAoSQWNjZXB0VGVybXNSZXF1ZXN0IhUKE0FjY2VwdFRlcm1zUmVzcG9uc2UqhQoKDUF1dGhFcnJvckNvZGUSFAoQQVVUSF9VTlNQRUNJRklFRBAAEhkKFUFVVEhfVVNFUk5BTUVfSU5WQUxJRBABEhcKE0FVVEhfVVNFUk5BTUVfVEFLRU4QAhIaChZBVVRIX1VTRVJOQU1FX0NPT0xET1dOEAMSIAocQVVUSF9VU0VSTkFNRV9GRUFUVVJFX0xPQ0tFRBAEEhoKFkFVVEhfVVNFUk5BTUVfUkVTRVJWRUQQBRIYChRBVVRIX0lOVkFMSURfUkVRVUVTVBAGEiAKHEFVVEhfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQQBxIhCh1BVVRIX1NFU1NJT05fS0lORF9OT1RfQUxMT1dFRBAIEhwKGEFVVEhfV0FMTEVUX0xPR0lOX0ZBSUxFRBAJEhsKF0FVVEhfUkVTT1VSQ0VfTk9UX0ZPVU5EEAoSIQodQVVUSF9TVUJBQ0NPVU5UX0FDQ0VTU19ERU5JRUQQCxIeChpBVVRIX0FQSV9LRVlfQUNDRVNTX0RFTklFRBAMEioKJkFVVEhfQVBJX0tFWV9JTlZBTElEX1NUQVRVU19UUkFOU0lUSU9OEA4SFwoTQVVUSF9QT0xJQ1lfSU5WQUxJRBAPEiUKIUFVVEhfU01BUlRfQUNDT1VOVF9BTFJFQURZX0xJTktFRBAQEh0KGUFVVEhfSU5WSVRFX0FDQ0VTU19ERU5JRUQQERIdChlBVVRIX0lOVklURV9JTlZBTElEX1NUQVRFEBISFQoRQVVUSF9NRkFfRElTQUJMRUQQExIZChVBVVRIX01GQV9OT1RfRU5ST0xMRUQQFBIcChhBVVRIX01GQV9TRVNTSU9OX0lOVkFMSUQQFRIgChxBVVRIX01GQV9DSEFMTEVOR0VfTk9UX0ZPVU5EEBYSHgoaQVVUSF9NRkFfQ0hBTExFTkdFX0lOVkFMSUQQFxIdChlBVVRIX01GQV9DSEFMTEVOR0VfTE9DS0VEEBgSGAoUQVVUSF9NRkFfT1RQX0lOVkFMSUQQGRIdChlBVVRIX01GQV9SRUNPVkVSWV9JTlZBTElEEBoSIgoeQVVUSF9NRkFfUEFTU0tFWV9OT1RfQVZBSUxBQkxFEBsSJwojQVVUSF9NRkFfUEFTU0tFWV9DUkVERU5USUFMX0lOVkFMSUQQHBIiCh5BVVRIX01GQV9QQVNTS0VZX1ZFUklGWV9GQUlMRUQQHRInCiNBVVRIX01GQV9FTlJPTExNRU5UX0JJTkRJTkdfSU5WQUxJRBAeEhkKFUFVVEhfU1RFUF9VUF9SRVFVSVJFRBAfEiIKHkFVVEhfU1RFUF9VUF9QUk9PRl9VTkFWQUlMQUJMRRAgEiAKHEFVVEhfU1RFUF9VUF9BTFJFQURZX0NMQUlNRUQQIRIWChJBVVRIX1BPTElDWV9JTl9VU0UQIhIWChJBVVRIX1BPTElDWV9MT0NLRUQQIxIeChpBVVRIX1BPTElDWV9TQ09QRV9NSVNNQVRDSBAkEhoKFkFVVEhfUkVWSVNJT05fQ09ORkxJQ1QQJRIfChtBVVRIX01GQV9FTEVWQVRJT05fUkVRVUlSRUQQJhIhCh1BVVRIX01GQV9MQVNUX0ZBQ1RPUl9SRVFVSVJFRBAnEhcKE0FVVEhfSU5URVJOQUxfRVJST1IQKBIbChdBVVRIX1RFUk1TX05PVF9BQ0NFUFRFRBApMqgCCgtBdXRoU2VydmljZRJBCghHZXROb25jZRIYLmF1dGgudjEuR2V0Tm9uY2VSZXF1ZXN0GhkuYXV0aC52MS5HZXROb25jZVJlc3BvbnNlIgASVgoPTG9naW5XaXRoV2FsbGV0Eh8uYXV0aC52MS5Mb2dpbldpdGhXYWxsZXRSZXF1ZXN0GiAuYXV0aC52MS5Mb2dpbldpdGhXYWxsZXRSZXNwb25zZSIAEk0KC0FjY2VwdFRlcm1zEhsuYXV0aC52MS5BY2NlcHRUZXJtc1JlcXVlc3QaHC5hdXRoLnYxLkFjY2VwdFRlcm1zUmVzcG9uc2UiA5ACAhIvCgJNZRISLmF1dGgudjEuTWVSZXF1ZXN0GhMuYXV0aC52MS5NZVJlc3BvbnNlIgBCPFo6Z2l0aHViLmNvbS9GYWJyaWMtTGFicy9wb2x5ZXN0ZXItc2RrLWdvL2dlbi9hdXRoL3YxO2F1dGh2MWIGcHJvdG8z", [file_auth_v1_mfa, file_google_protobuf_timestamp]);
|
|
23
25
|
/**
|
|
24
26
|
* Describes the message auth.v1.GetNonceRequest.
|
|
25
27
|
* Use `create(GetNonceRequestSchema)` to create a new message.
|
|
@@ -56,6 +58,16 @@ const MeResponseSchema = /*@__PURE__*/ messageDesc(file_auth_v1_auth, 5);
|
|
|
56
58
|
*/
|
|
57
59
|
const AuthErrorDetailSchema = /*@__PURE__*/ messageDesc(file_auth_v1_auth, 6);
|
|
58
60
|
/**
|
|
61
|
+
* Describes the message auth.v1.AcceptTermsRequest.
|
|
62
|
+
* Use `create(AcceptTermsRequestSchema)` to create a new message.
|
|
63
|
+
*/
|
|
64
|
+
const AcceptTermsRequestSchema = /*@__PURE__*/ messageDesc(file_auth_v1_auth, 7);
|
|
65
|
+
/**
|
|
66
|
+
* Describes the message auth.v1.AcceptTermsResponse.
|
|
67
|
+
* Use `create(AcceptTermsResponseSchema)` to create a new message.
|
|
68
|
+
*/
|
|
69
|
+
const AcceptTermsResponseSchema = /*@__PURE__*/ messageDesc(file_auth_v1_auth, 8);
|
|
70
|
+
/**
|
|
59
71
|
* High-level error codes for authentication and account-domain failures.
|
|
60
72
|
*
|
|
61
73
|
* @generated from enum auth.v1.AuthErrorCode
|
|
@@ -301,6 +313,12 @@ let AuthErrorCode = /* @__PURE__ */ function(AuthErrorCode) {
|
|
|
301
313
|
* @generated from enum value: AUTH_INTERNAL_ERROR = 40;
|
|
302
314
|
*/
|
|
303
315
|
AuthErrorCode[AuthErrorCode["AUTH_INTERNAL_ERROR"] = 40] = "AUTH_INTERNAL_ERROR";
|
|
316
|
+
/**
|
|
317
|
+
* The caller has not explicitly accepted the currently required terms.
|
|
318
|
+
*
|
|
319
|
+
* @generated from enum value: AUTH_TERMS_NOT_ACCEPTED = 41;
|
|
320
|
+
*/
|
|
321
|
+
AuthErrorCode[AuthErrorCode["AUTH_TERMS_NOT_ACCEPTED"] = 41] = "AUTH_TERMS_NOT_ACCEPTED";
|
|
304
322
|
return AuthErrorCode;
|
|
305
323
|
}({});
|
|
306
324
|
/**
|
|
@@ -308,12 +326,12 @@ let AuthErrorCode = /* @__PURE__ */ function(AuthErrorCode) {
|
|
|
308
326
|
*/
|
|
309
327
|
const AuthErrorCodeSchema = /*@__PURE__*/ enumDesc(file_auth_v1_auth, 0);
|
|
310
328
|
/**
|
|
311
|
-
* AuthService manages wallet login and caller authentication context.
|
|
329
|
+
* AuthService manages wallet login, explicit terms consent, and caller authentication context.
|
|
312
330
|
*
|
|
313
331
|
* @generated from service auth.v1.AuthService
|
|
314
332
|
*/
|
|
315
333
|
const AuthService = /*@__PURE__*/ serviceDesc(file_auth_v1_auth, 0);
|
|
316
334
|
//#endregion
|
|
317
|
-
export { AuthErrorCode, AuthErrorCodeSchema, AuthErrorDetailSchema, AuthService, GetNonceRequestSchema, GetNonceResponseSchema, LoginWithWalletRequestSchema, LoginWithWalletResponseSchema, MeRequestSchema, MeResponseSchema, auth_pb_exports, file_auth_v1_auth };
|
|
335
|
+
export { AcceptTermsRequestSchema, AcceptTermsResponseSchema, AuthErrorCode, AuthErrorCodeSchema, AuthErrorDetailSchema, AuthService, GetNonceRequestSchema, GetNonceResponseSchema, LoginWithWalletRequestSchema, LoginWithWalletResponseSchema, MeRequestSchema, MeResponseSchema, auth_pb_exports, file_auth_v1_auth };
|
|
318
336
|
|
|
319
337
|
//# sourceMappingURL=auth_pb.js.map
|