@tixprotocol/tdp-sdk 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/dist/{chunk-RLIW34CX.js → chunk-7IWD2KHF.js} +15 -3
- package/dist/chunk-7IWD2KHF.js.map +1 -0
- package/dist/{chunk-QXWVXLHK.js → chunk-DKU7DEI5.js} +7 -10
- package/dist/chunk-DKU7DEI5.js.map +1 -0
- package/dist/errors.d.ts +14 -3
- package/dist/errors.js +5 -1
- package/dist/index.d.ts +42 -95
- package/dist/index.js +37 -28
- package/dist/index.js.map +1 -1
- package/dist/schemas.d.ts +3 -3
- package/dist/schemas.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-QXWVXLHK.js.map +0 -1
- package/dist/chunk-RLIW34CX.js.map +0 -1
package/README.md
CHANGED
|
@@ -26,6 +26,15 @@ console.log(events.items);
|
|
|
26
26
|
|
|
27
27
|
TDP API keys are private credentials. Do not expose them publicly.
|
|
28
28
|
|
|
29
|
+
## Upgrade from 0.3.x
|
|
30
|
+
|
|
31
|
+
- Pass `{ eventId }` to `indexer.listActiveListings`, including on subsequent pages for that event.
|
|
32
|
+
- Pass a numeric `limit` to `indexer.listActiveListings` and `indexer.listUpcomingEvents`.
|
|
33
|
+
- Keep each `claimWallets.acceptOffers` request within the six-offer limit.
|
|
34
|
+
- Remove calls to `transactions.signUser` and imports of `SignUserTransactionInput`; they are no longer part of the public SDK.
|
|
35
|
+
- Import `TdpApiError` and `TdpResponseValidationError` from `@tixprotocol/tdp-sdk/errors`. API errors expose optional `code` and `requestId` fields. `WalletCustodyApiError` remains a deprecated alias, but the error names have changed.
|
|
36
|
+
- Omit `subject` in `wallets.getIntegratorAddress` or `transactions.signIntegrator` to use the primary integrator wallet.
|
|
37
|
+
|
|
29
38
|
## License
|
|
30
39
|
|
|
31
40
|
Apache-2.0.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/wallet-custody/http-error.ts
|
|
2
|
-
var
|
|
2
|
+
var TdpApiError = class extends Error {
|
|
3
3
|
kind;
|
|
4
4
|
route;
|
|
5
5
|
method;
|
|
@@ -7,6 +7,8 @@ var WalletCustodyApiError = class extends Error {
|
|
|
7
7
|
status;
|
|
8
8
|
statusText;
|
|
9
9
|
payload;
|
|
10
|
+
code;
|
|
11
|
+
requestId;
|
|
10
12
|
validationError;
|
|
11
13
|
constructor({
|
|
12
14
|
kind,
|
|
@@ -16,13 +18,15 @@ var WalletCustodyApiError = class extends Error {
|
|
|
16
18
|
status,
|
|
17
19
|
statusText,
|
|
18
20
|
payload,
|
|
21
|
+
code,
|
|
22
|
+
requestId,
|
|
19
23
|
validationError
|
|
20
24
|
}) {
|
|
21
25
|
super(
|
|
22
26
|
kind === "response-validation" ? `Wallet Custody API response failed validation: ${method} ${route} ${path} ${status} ${statusText}` : `Wallet Custody API request failed: ${method} ${route} ${path} ${status} ${statusText}`,
|
|
23
27
|
{ cause: validationError }
|
|
24
28
|
);
|
|
25
|
-
this.name = "
|
|
29
|
+
this.name = "TdpApiError";
|
|
26
30
|
this.kind = kind;
|
|
27
31
|
this.route = route;
|
|
28
32
|
this.method = method;
|
|
@@ -30,11 +34,19 @@ var WalletCustodyApiError = class extends Error {
|
|
|
30
34
|
this.status = status;
|
|
31
35
|
this.statusText = statusText;
|
|
32
36
|
this.payload = payload;
|
|
37
|
+
this.code = code;
|
|
38
|
+
this.requestId = requestId;
|
|
33
39
|
this.validationError = validationError;
|
|
34
40
|
}
|
|
35
41
|
};
|
|
42
|
+
var TdpResponseValidationError = class extends TdpApiError {
|
|
43
|
+
name = "TdpResponseValidationError";
|
|
44
|
+
};
|
|
45
|
+
var WalletCustodyApiError = TdpApiError;
|
|
36
46
|
|
|
37
47
|
export {
|
|
48
|
+
TdpApiError,
|
|
49
|
+
TdpResponseValidationError,
|
|
38
50
|
WalletCustodyApiError
|
|
39
51
|
};
|
|
40
|
-
//# sourceMappingURL=chunk-
|
|
52
|
+
//# sourceMappingURL=chunk-7IWD2KHF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/wallet-custody/http-error.ts"],"sourcesContent":["import type { z } from \"zod\";\n\nexport type WalletCustodyApiErrorKind = \"http-status\" | \"response-validation\";\n\nexport class TdpApiError extends Error {\n readonly kind: WalletCustodyApiErrorKind;\n readonly route: string;\n readonly method: string;\n readonly path: string;\n readonly status: number;\n readonly statusText: string;\n readonly payload: unknown;\n readonly code?: string;\n readonly requestId?: string;\n readonly validationError?: z.ZodError;\n\n constructor({\n kind,\n route,\n method,\n path,\n status,\n statusText,\n payload,\n code,\n requestId,\n validationError,\n }: {\n kind: WalletCustodyApiErrorKind;\n route: string;\n method: string;\n path: string;\n status: number;\n statusText: string;\n payload: unknown;\n code?: string;\n requestId?: string;\n validationError?: z.ZodError;\n }) {\n super(\n kind === \"response-validation\"\n ? `Wallet Custody API response failed validation: ${method} ${route} ${path} ${status} ${statusText}`\n : `Wallet Custody API request failed: ${method} ${route} ${path} ${status} ${statusText}`,\n { cause: validationError },\n );\n\n this.name = \"TdpApiError\";\n this.kind = kind;\n this.route = route;\n this.method = method;\n this.path = path;\n this.status = status;\n this.statusText = statusText;\n this.payload = payload;\n this.code = code;\n this.requestId = requestId;\n this.validationError = validationError;\n }\n}\n\nexport class TdpResponseValidationError extends TdpApiError {\n override name = \"TdpResponseValidationError\";\n}\n\n/** @deprecated Renamed to TdpApiError in 0.4.0. */\nexport const WalletCustodyApiError = TdpApiError;\n/** @deprecated Renamed to TdpApiError in 0.4.0. */\nexport type WalletCustodyApiError = TdpApiError;\n"],"mappings":";AAIO,IAAM,cAAN,cAA0B,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAWG;AACD;AAAA,MACE,SAAS,wBACL,kDAAkD,MAAM,IAAI,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,UAAU,KACjG,sCAAsC,MAAM,IAAI,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,UAAU;AAAA,MACzF,EAAE,OAAO,gBAAgB;AAAA,IAC3B;AAEA,SAAK,OAAO;AACZ,SAAK,OAAO;AACZ,SAAK,QAAQ;AACb,SAAK,SAAS;AACd,SAAK,OAAO;AACZ,SAAK,SAAS;AACd,SAAK,aAAa;AAClB,SAAK,UAAU;AACf,SAAK,OAAO;AACZ,SAAK,YAAY;AACjB,SAAK,kBAAkB;AAAA,EACzB;AACF;AAEO,IAAM,6BAAN,cAAyC,YAAY;AAAA,EACjD,OAAO;AAClB;AAGO,IAAM,wBAAwB;","names":[]}
|
|
@@ -260,6 +260,9 @@ var TixIndexerEventFoundSchema = z8.object({
|
|
|
260
260
|
start_at: NullableStringSchema,
|
|
261
261
|
on_sale_at: NullableStringSchema,
|
|
262
262
|
image_url: NullableStringSchema,
|
|
263
|
+
timezone: NullableStringSchema,
|
|
264
|
+
address: NullableStringSchema,
|
|
265
|
+
venue: NullableStringSchema,
|
|
263
266
|
active_listing_count: z8.number().nonnegative(),
|
|
264
267
|
tickets_issued_count: z8.number().nonnegative(),
|
|
265
268
|
integrator_identity: NullableStringSchema,
|
|
@@ -268,13 +271,7 @@ var TixIndexerEventFoundSchema = z8.object({
|
|
|
268
271
|
genres: z8.array(z8.string()).nullable()
|
|
269
272
|
}).strict();
|
|
270
273
|
var TixIndexerUpcomingEventsResultSchema = z8.object({
|
|
271
|
-
items: z8.array(
|
|
272
|
-
TixIndexerEventFoundSchema.extend({
|
|
273
|
-
timezone: NullableStringSchema,
|
|
274
|
-
address: NullableStringSchema,
|
|
275
|
-
venue: NullableStringSchema
|
|
276
|
-
})
|
|
277
|
-
),
|
|
274
|
+
items: z8.array(TixIndexerEventFoundSchema),
|
|
278
275
|
next_cursor: NullableStringSchema
|
|
279
276
|
}).strict();
|
|
280
277
|
var TixIndexerActiveListingsResultSchema = z8.object({
|
|
@@ -304,7 +301,7 @@ var LimitCursorQuerySchema = z9.object({
|
|
|
304
301
|
cursor: z9.string().min(1).optional()
|
|
305
302
|
});
|
|
306
303
|
var ActiveListingsQuerySchema = LimitCursorQuerySchema.extend({
|
|
307
|
-
eventId: WireU64
|
|
304
|
+
eventId: WireU64
|
|
308
305
|
});
|
|
309
306
|
var tixIndexerReadApiClientRoutes = {
|
|
310
307
|
"get-active-listings": defineClientRoute({
|
|
@@ -435,7 +432,7 @@ var Sha256BaseUrlSchema = z13.hash("sha256", { enc: "base64url" }).transform((v)
|
|
|
435
432
|
var HmacSha256BaseUrlSchema = z13.hash("sha256", { enc: "base64url" }).transform((v) => v);
|
|
436
433
|
|
|
437
434
|
// ../tdp-schemas/src/wallet-custody/const.ts
|
|
438
|
-
var MAX_PERMITS_PER_CLAIM_WALLET =
|
|
435
|
+
var MAX_PERMITS_PER_CLAIM_WALLET = 6;
|
|
439
436
|
|
|
440
437
|
// ../tdp-schemas/src/wallet-custody/claim-offers.ts
|
|
441
438
|
var AcceptClaimOffersSchema = AcceptOfferV2ParamsSchema.omit({
|
|
@@ -572,4 +569,4 @@ export {
|
|
|
572
569
|
AdditionalSignaturesSchema,
|
|
573
570
|
SubmitTenantTransactionRequestBodySchema
|
|
574
571
|
};
|
|
575
|
-
//# sourceMappingURL=chunk-
|
|
572
|
+
//# sourceMappingURL=chunk-DKU7DEI5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../tix-wire-schema/src/primitives.ts","../../tdp-schemas/src/solana/accounts.ts","../../tdp-schemas/src/tix-api/path-params.ts","../../tdp-schemas/src/solana-data-api/routes.ts","../../tdp-schemas/src/primitives/integrator-status-name.ts","../../tdp-schemas/src/routes/define-client-route.ts","../../tdp-schemas/src/routes/request-schemas.ts","../../tdp-schemas/src/tix-indexer-api/metadata.ts","../../tdp-schemas/src/tix-indexer-api/read-responses.ts","../../tdp-schemas/src/tix-indexer-api/read-routes.ts","../../tdp-schemas/src/wallet-custody/addresses.ts","../../tix-wire-schema/src/instructions.ts","../../tix-wire-schema/src/unique-permit-keys.ts","../../tdp-schemas/src/primitives/transaction-submission-status.ts","../../tdp-schemas/src/wallet-custody/claim-offers.ts","../../tdp-schemas/src/primitives/hashes.ts","../../tdp-schemas/src/wallet-custody/const.ts","../../tdp-schemas/src/wallet-custody/submission-responses.ts","../../tdp-schemas/src/wallet-custody/purchase-status.ts","../../tix-wire-schema/src/transactions.ts","../../tdp-schemas/src/wallet-custody/signing-responses.ts","../../tdp-schemas/src/wallet-custody/transaction-inputs.ts"],"sourcesContent":["import {\n address as parseAddress,\n blockhash as parseBlockhash,\n signature as parseSignature,\n} from \"@solana/kit\";\nimport { z } from \"zod\";\n\nexport const U64_MAX = 18_446_744_073_709_551_615n;\nexport const I64_MAX = 9_223_372_036_854_775_807n;\nexport const I64_MIN = -9_223_372_036_854_775_808n;\nexport const U16_MAX = 65_535;\nexport const U32_MAX = 4_294_967_295;\n\nexport const BigIntU64 = z.bigint().nonnegative().max(U64_MAX);\n\nexport const BigIntI64 = z.bigint().min(I64_MIN).max(I64_MAX);\n\nexport const WireU64 = z\n .union([z.string().regex(/^\\d+$/), z.number().int(), z.bigint()])\n .transform(BigInt)\n .pipe(BigIntU64)\n .transform(String);\n\nexport const WireI64 = z\n .union([z.string().regex(/^-?\\d+$/), z.number().int(), z.bigint()])\n .transform(BigInt)\n .pipe(BigIntI64)\n .transform(String);\n\n// u16/u32 fit within JavaScript's safe-integer range and use JSON numbers.\nexport const WireU16 = z.number().int().min(0).max(U16_MAX);\n\nexport const WireU32 = z.number().int().min(0).max(U32_MAX);\n\n/** A base58 Solana address. */\nexport const Base58Address = z.string().transform((value, ctx) => {\n try {\n return parseAddress(value);\n } catch {\n ctx.addIssue({\n code: \"custom\",\n message: \"must be a base58-encoded Solana address\",\n });\n return z.NEVER;\n }\n});\n\n/** A base58 Solana blockhash. */\nexport const Blockhash = z.string().transform((value, ctx) => {\n try {\n return parseBlockhash(value);\n } catch {\n ctx.addIssue({\n code: \"custom\",\n message: \"must be a base58-encoded 32-byte Solana blockhash\",\n });\n return z.NEVER;\n }\n});\n\n/** A base58 Solana signature. */\nexport const Signature = z.string().transform((value, ctx) => {\n try {\n return parseSignature(value);\n } catch {\n ctx.addIssue({\n code: \"custom\",\n message: \"must be a base58-encoded 64-byte Solana signature\",\n });\n return z.NEVER;\n }\n});\n","import {\n Base58Address,\n WireI64,\n WireU64,\n} from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { z } from \"zod\";\n\n/** Outbound integers: the decoded bigint becomes a JSON-safe decimal string. */\nconst U64String = WireU64.transform(String);\nconst I64String = WireI64.transform(String);\nconst Address = Base58Address;\n\n/** Decoded on-chain accounts, keyed by their address, with `discriminator` and padding dropped. */\nexport const ListingV1ResponseSchema = z.object({\n address: Address,\n event_id: U64String,\n ticket_id: U64String,\n seller: Address,\n ask_price_minor: U64String,\n buyer_allow: Address,\n payout_ata: Address,\n expires_at: I64String,\n listed_at: I64String,\n permit_version: U64String,\n active: z.boolean(),\n});\n\nexport const EventV1ResponseSchema = z.object({\n address: Address,\n integrator: Address,\n integrator_authority: Address,\n royalty_bps: z.number().int(),\n min_royalty_floor: U64String,\n royalty_recipients_count: z.number().int(),\n royalty_recipients: z.array(\n z.object({ destination: Address, bps: z.number().int() }),\n ),\n total_supply: U64String,\n minted: U64String,\n flags: z.number().int(),\n});\n\nexport const PermitV1ResponseSchema = z.object({\n owner: Address,\n status: z.number().int(),\n ticket_type_id: z.number().int(),\n ticket_type_config: Address,\n version: U64String,\n ticket_id: U64String,\n listing_lock_expiry: I64String,\n});\n\nexport const ProtocolConfigV1ResponseSchema = z.object({\n address: Address,\n usdc_mint: Address,\n default_royalty_vault: Address,\n authority: Address,\n usdc_decimals: z.number().int(),\n event_registration_fee_minor: U64String,\n permit_fee_minor: U64String,\n p2p_transfer_fee_minor: U64String,\n resale_fee_bps: z.number().int(),\n});\n","import { Base58Address, WireU64 } from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { z } from \"zod\";\n\nexport const EventPathParametersSchema = z\n .object({ eventId: WireU64 })\n .strict();\n\nexport const TicketPathParametersSchema = EventPathParametersSchema.extend({\n ticketId: WireU64,\n});\n\nexport const IntegratorPathParametersSchema = z\n .object({ identity: Base58Address })\n .strict();\n","import { Base58Address, WireU64 } from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { z } from \"zod\";\nimport { IntegratorStatusNameSchema } from \"../primitives/integrator-status-name\";\nimport { defineClientRoute } from \"../routes/define-client-route\";\nimport {\n ApiKeyHeadersSchema,\n NoPathParametersSchema,\n} from \"../routes/request-schemas\";\nimport {\n EventV1ResponseSchema,\n ListingV1ResponseSchema,\n PermitV1ResponseSchema,\n ProtocolConfigV1ResponseSchema,\n} from \"../solana/accounts\";\nimport {\n EventPathParametersSchema,\n IntegratorPathParametersSchema,\n TicketPathParametersSchema,\n} from \"../tix-api/path-params\";\n\nexport const GET_EVENT_ACCOUNT_ROUTE_KEY = \"GET /events/{eventId}\";\nexport const GET_LISTING_ACCOUNT_ROUTE_KEY =\n \"GET /listings/{eventId}/{ticketId}\";\nexport const GET_PERMIT_ROUTE_KEY = \"GET /permits/{eventId}/{ticketId}\";\nexport const GET_PROTOCOL_CONFIG_ACCOUNT_ROUTE_KEY = \"GET /protocol-config\";\nexport const GET_INTEGRATOR_ACCOUNT_ROUTE_KEY = \"GET /integrators/{identity}\";\n\n/** A registered integrator only; an unregistered identity is a 404, never a null. */\nexport const IntegratorAccountResponseSchema = z.object({\n integrator_pda: Base58Address,\n integrator: z.object({\n authority: Base58Address,\n status: IntegratorStatusNameSchema,\n treasury_usdc: Base58Address,\n balance: z.object({\n amount_minor: WireU64,\n decimals: z.number().int().min(0),\n }),\n }),\n});\n\nexport const solanaDataApiClientRoutes = {\n \"get-event-account\": defineClientRoute({\n name: \"get-event-account\",\n method: \"GET\",\n routeKey: GET_EVENT_ACCOUNT_ROUTE_KEY,\n pathParamsSchema: EventPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", eventId }) =>\n `${baseApiUrl}/events/${eventId}`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: EventV1ResponseSchema,\n }),\n \"get-listing-account\": defineClientRoute({\n name: \"get-listing-account\",\n method: \"GET\",\n routeKey: GET_LISTING_ACCOUNT_ROUTE_KEY,\n pathParamsSchema: TicketPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", eventId, ticketId }) =>\n `${baseApiUrl}/listings/${eventId}/${ticketId}`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: ListingV1ResponseSchema,\n }),\n \"get-permit\": defineClientRoute({\n name: \"get-permit\",\n method: \"GET\",\n routeKey: GET_PERMIT_ROUTE_KEY,\n pathParamsSchema: TicketPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", eventId, ticketId }) =>\n `${baseApiUrl}/permits/${eventId}/${ticketId}`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: PermitV1ResponseSchema,\n }),\n \"get-protocol-config-account\": defineClientRoute({\n name: \"get-protocol-config-account\",\n method: \"GET\",\n routeKey: GET_PROTOCOL_CONFIG_ACCOUNT_ROUTE_KEY,\n pathParamsSchema: NoPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\" }) => `${baseApiUrl}/protocol-config`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: ProtocolConfigV1ResponseSchema,\n }),\n \"get-integrator-account\": defineClientRoute({\n name: \"get-integrator-account\",\n method: \"GET\",\n routeKey: GET_INTEGRATOR_ACCOUNT_ROUTE_KEY,\n pathParamsSchema: IntegratorPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", identity }) =>\n `${baseApiUrl}/integrators/${identity}`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: IntegratorAccountResponseSchema,\n }),\n} as const;\n\nexport const responseBodySchemaByRouteKey = Object.fromEntries(\n Object.values(solanaDataApiClientRoutes).map(\n (route) => [route.routeKey, route.responseBodySchema] as const,\n ),\n) as Record<string, z.ZodType<Record<string, unknown>>>;\n","import { z } from \"zod\";\n\nexport const IntegratorStatusNameSchema = z.enum([\"Active\", \"Suspended\"]);\nexport type IntegratorStatusName = z.infer<typeof IntegratorStatusNameSchema>;\n","import type { z } from \"zod\";\n\n/** This type detects schema drift by requiring mutual assignability. */\nexport type ExactTypeMatch<TExpected, TActual, TError> =\n TExpected extends TActual\n ? TActual extends TExpected\n ? unknown\n : TError\n : TError;\n\n/**\n * This function defines a client route's request builders and response schema.\n * Callers should omit `requestBodySchema` for bodyless routes.\n */\nexport function defineClientRoute<\n TPathParamsSchema extends z.ZodType,\n THeadersSchema extends z.ZodType,\n TResponseBodySchema extends z.ZodType,\n TMethod extends string,\n TRouteKey extends `${TMethod} ${string}`,\n TRequestBodySchema extends z.ZodType | undefined = undefined,\n TQueryParamsSchema extends z.ZodType | undefined = undefined,\n>(spec: {\n name: string;\n method: TMethod;\n routeKey: TRouteKey;\n pathParamsSchema: TPathParamsSchema;\n buildPath: (\n args: z.infer<TPathParamsSchema> & { baseApiUrl?: string },\n ) => string;\n headersSchema: THeadersSchema;\n requestBodySchema?: TRequestBodySchema;\n queryParamsSchema?: TQueryParamsSchema;\n responseBodySchema: TResponseBodySchema;\n}) {\n return {\n ...spec,\n // Normalize a missing path-params arg to {} so callers don't have to pass anything, even if\n // there are no path-params args.\n buildPath: (\n args?: z.infer<TPathParamsSchema> & { baseApiUrl?: string },\n ): string =>\n spec.buildPath(\n args ?? ({} as z.infer<TPathParamsSchema> & { baseApiUrl?: string }),\n ),\n buildJsonPayload: (fields: z.input<NonNullable<TRequestBodySchema>>) => {\n if (!spec.requestBodySchema) {\n const msg =\n \"This path should be impossible to reach; \" +\n \"it's not possible to build a JSON payload for a bodyless route\";\n throw new TypeError(msg);\n }\n return JSON.stringify(spec.requestBodySchema.parse(fields));\n },\n buildHeaders: (headers: z.input<THeadersSchema>) =>\n spec.headersSchema.parse(headers) as z.output<THeadersSchema>,\n /** The `?k=v` suffix for a route's query params, empty when the route declares none or every value is undefined. */\n buildQueryString: (params: z.input<NonNullable<TQueryParamsSchema>>) => {\n const parsed = spec.queryParamsSchema?.parse(params) ?? {};\n const search = new URLSearchParams(\n Object.entries(parsed as Record<string, unknown>)\n .filter(([, value]) => value !== undefined && value !== null)\n .map(([key, value]) => [key, String(value)]),\n ).toString();\n return search ? `?${search}` : \"\";\n },\n };\n}\n\n/** Structural supertype of every {@link defineClientRoute} result. */\nexport type AnyClientRoute = {\n name: string;\n method: string;\n routeKey: string;\n pathParamsSchema: z.ZodType;\n headersSchema: z.ZodType;\n requestBodySchema?: unknown;\n queryParamsSchema?: unknown;\n responseBodySchema: z.ZodType;\n buildPath: (args: never) => string;\n buildJsonPayload: (fields: never) => string;\n buildHeaders: (headers: never) => unknown;\n buildQueryString: (params: never) => string;\n};\n","import { z } from \"zod\";\n\nexport const MISSING_API_KEY_MESSAGE = \"Invalid or missing API key in headers.\";\n\nexport const ApiKeyHeadersSchema = z.object({\n \"x-api-key\": z\n .string(MISSING_API_KEY_MESSAGE)\n .min(1, MISSING_API_KEY_MESSAGE),\n});\n\nexport const IdempotencyKeyHeadersSchema = z.object({\n \"idempotency-key\": z.string().min(1).max(255),\n});\n\nexport const IdempotencyKeyAndApiKeyHeadersSchema = ApiKeyHeadersSchema.extend(\n IdempotencyKeyHeadersSchema.shape,\n);\n\n/** For routes that carry no path parameters (`null`/absent on the wire). */\nexport const NoPathParametersSchema = z\n .record(z.string(), z.string())\n .nullish();\n\n/** For routes with no headers. */\nexport const NoHeadersSchema = z.object({}).optional();\n","import { z } from \"zod\";\n\nexport const PostIntegratorMetadataRequestBodySchema = z\n .object({\n name: z.string().optional(),\n start_at: z.string().optional(),\n on_sale_at: z.string().optional(),\n image_url: z.string().optional(),\n timezone: z.string().optional(),\n address: z.string().optional(),\n venue: z.string().optional(),\n genres: z.array(z.string()).optional(),\n } satisfies z.ZodRawShape)\n .strict();\n\nexport const PostTixIndexerIntegratorMetadataResultSchema = z\n .object({\n status: z.literal(\"ok\"),\n event_account: z.string().min(1),\n updated_at: z.string().min(1),\n })\n .strict();\n\nexport type PostTixIndexerIntegratorMetadataResult = z.infer<\n typeof PostTixIndexerIntegratorMetadataResultSchema\n>;\n","import { WireU64 } from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { z } from \"zod\";\n\nconst NullableStringSchema = z.string().nullable();\n\nexport const TixIndexerEventFoundSchema = z\n .object({\n event_account: z.string().min(1),\n event_id: WireU64.nullable(),\n name: NullableStringSchema,\n start_at: NullableStringSchema,\n on_sale_at: NullableStringSchema,\n image_url: NullableStringSchema,\n timezone: NullableStringSchema,\n address: NullableStringSchema,\n venue: NullableStringSchema,\n active_listing_count: z.number().nonnegative(),\n tickets_issued_count: z.number().nonnegative(),\n integrator_identity: NullableStringSchema,\n updated_at: NullableStringSchema,\n found: z.literal(true),\n genres: z.array(z.string()).nullable(),\n })\n .strict();\n\nexport const TixIndexerUpcomingEventsResultSchema = z\n .object({\n items: z.array(TixIndexerEventFoundSchema),\n next_cursor: NullableStringSchema,\n })\n .strict();\n\nexport type TixIndexerUpcomingEventsResult = z.infer<\n typeof TixIndexerUpcomingEventsResultSchema\n>;\n\nexport const TixIndexerActiveListingsResultSchema = z\n .object({\n items: z.array(\n z\n .object({\n event_account: NullableStringSchema,\n event_id: WireU64.nullable(),\n listing_id: NullableStringSchema,\n ticket_id: WireU64.nullable(),\n seller: NullableStringSchema,\n buyer_allow: NullableStringSchema,\n ask_price_minor: NullableStringSchema,\n payout_ata: NullableStringSchema,\n expires_at: NullableStringSchema,\n updated_at: NullableStringSchema,\n })\n .strict(),\n ),\n next_cursor: NullableStringSchema,\n })\n .strict();\n\nexport type TixIndexerActiveListingsResult = z.infer<\n typeof TixIndexerActiveListingsResultSchema\n>;\n","import { WireU64 } from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { z } from \"zod\";\nimport { defineClientRoute } from \"../routes/define-client-route\";\nimport {\n ApiKeyHeadersSchema,\n NoPathParametersSchema,\n} from \"../routes/request-schemas\";\nimport {\n TixIndexerActiveListingsResultSchema,\n TixIndexerUpcomingEventsResultSchema,\n} from \"./read-responses\";\n\nexport const GET_ACTIVE_LISTINGS_ROUTE_KEY = \"GET /listings/active\";\nexport const GET_UPCOMING_EVENTS_ROUTE_KEY = \"GET /events/upcoming\";\n\n/** Query-string values arrive as strings, hence the coercion. */\nexport const LimitCursorQuerySchema = z.object({\n limit: z.coerce.number().int().min(1).max(500).optional(),\n cursor: z.string().min(1).optional(),\n});\n\nexport const ActiveListingsQuerySchema = LimitCursorQuerySchema.extend({\n eventId: WireU64,\n});\n\nexport const tixIndexerReadApiClientRoutes = {\n \"get-active-listings\": defineClientRoute({\n name: \"get-active-listings\",\n method: \"GET\",\n routeKey: GET_ACTIVE_LISTINGS_ROUTE_KEY,\n pathParamsSchema: NoPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\" }) => `${baseApiUrl}/listings/active`,\n headersSchema: ApiKeyHeadersSchema,\n queryParamsSchema: ActiveListingsQuerySchema,\n responseBodySchema: TixIndexerActiveListingsResultSchema,\n }),\n \"get-upcoming-events\": defineClientRoute({\n name: \"get-upcoming-events\",\n method: \"GET\",\n routeKey: GET_UPCOMING_EVENTS_ROUTE_KEY,\n pathParamsSchema: NoPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\" }) => `${baseApiUrl}/events/upcoming`,\n headersSchema: ApiKeyHeadersSchema,\n queryParamsSchema: LimitCursorQuerySchema,\n responseBodySchema: TixIndexerUpcomingEventsResultSchema,\n }),\n} as const;\n","import { Base58Address } from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { z } from \"zod\";\n\nexport const WalletPathParametersSchema = z\n .object({ subject: z.string().min(1) })\n .strict();\nexport type UserWalletPathParameters = z.infer<\n typeof WalletPathParametersSchema\n>;\n\nexport const GetAddressResponseSchema = z.object({ address: Base58Address });\n","import { z } from \"zod\";\nimport { Base58Address, WireI64, WireU64 } from \"./primitives\";\nimport { requireUniquePermitKeys } from \"./unique-permit-keys\";\n\nexport { requireUniquePermitKeys } from \"./unique-permit-keys\";\n\nexport const AcceptOfferV2ParamsSchema = z.object({\n event_id: WireU64,\n ticket_id: WireU64,\n permit_version: WireU64,\n buyer: Base58Address,\n /**\n * *Authority* for the facilitating integrator's identity. The only required\n * signature: its treasury funds the purchase, so there is no payer.\n */\n integrator_authority: Base58Address,\n seller_payout: Base58Address,\n royalty_destinations: z.array(Base58Address),\n ticket_type_config: Base58Address.nullable().optional(),\n /**\n * Identity of the facilitating integrator, which need not be the event's.\n * Not the PDA, not *necessarily* the authority.\n */\n integrator_identity: Base58Address,\n usdc_mint: Base58Address,\n});\n\nexport const CancelListingV1ParamsSchema = z.object({\n event_id: WireU64,\n ticket_id: WireU64,\n canceller: Base58Address,\n});\n\nexport const ListTicketV2ParamsSchema = z.object({\n seller: Base58Address,\n storage_fee_payer: Base58Address,\n listing_integrator_identity: Base58Address,\n listing_integrator_authority: Base58Address,\n usdc_mint: Base58Address,\n event_id: WireU64,\n ticket_id: WireU64,\n ask_price_minor: WireU64,\n buyer_allow: Base58Address.nullable().optional(),\n payout_ata: Base58Address,\n expires_at: WireI64,\n ticket_type_config: Base58Address.nullable().optional(),\n});\n\nexport const AcceptOfferV2InstructionBatchSchema = z.object({\n instruction: z.literal(\"accept_offer_v2\"),\n params: z\n .array(AcceptOfferV2ParamsSchema)\n .min(1)\n .superRefine(requireUniquePermitKeys),\n});\n\nexport const CancelListingV1InstructionBatchSchema = z.object({\n instruction: z.literal(\"cancel_listing_v1\"),\n params: z\n .array(CancelListingV1ParamsSchema)\n .min(1)\n .superRefine(requireUniquePermitKeys),\n});\n\nexport const ListTicketV2InstructionBatchSchema = z.object({\n instruction: z.literal(\"list_ticket_v2\"),\n params: z\n .array(ListTicketV2ParamsSchema)\n .min(1)\n .superRefine(requireUniquePermitKeys),\n});\n\n/** The wallet custody API accepts batches of one supported TIX instruction kind. */\nexport const TixWireInstructionBatchSchema = z.discriminatedUnion(\n \"instruction\",\n [\n AcceptOfferV2InstructionBatchSchema,\n CancelListingV1InstructionBatchSchema,\n ListTicketV2InstructionBatchSchema,\n ],\n);\n\nexport type TixWireInstructionBatch = z.infer<\n typeof TixWireInstructionBatchSchema\n>;\nexport type TixInstructionTag = TixWireInstructionBatch[\"instruction\"];\nexport type TixWireInstructionBatchVariant<T extends TixInstructionTag> =\n Extract<TixWireInstructionBatch, { instruction: T }>;\nexport type TixWireInstructionParams<T extends TixInstructionTag> =\n TixWireInstructionBatchVariant<T>[\"params\"][number];\n","import type z from \"zod\";\nimport type { WireU64 } from \"./primitives\";\n\ntype WireU64Type = z.infer<typeof WireU64>;\n\nexport type PermitKey = ReturnType<typeof toPermitKey>;\n\nexport type AnyPermitKeyInput =\n | { event_id: WireU64Type; ticket_id: WireU64Type }\n | { eventId: WireU64Type; ticketId: WireU64Type };\n\nexport function toPermitKey(params: AnyPermitKeyInput) {\n const { eventId, ticketId } = normalizeAnyPermitKey(params);\n return `event_id:${eventId}#ticket_id:${ticketId}` as const;\n}\n\nexport function requireUniquePermitKeys(\n keys: AnyPermitKeyInput[],\n ctx: z.RefinementCtx,\n) {\n const stableKeys = keys\n .map(normalizeAnyPermitKey)\n .map(({ eventId, ticketId }) => JSON.stringify([eventId, ticketId]));\n\n if (new Set(stableKeys).size !== keys.length) {\n ctx.addIssue({\n code: \"custom\",\n message: \"All (event_id, ticket_id) pairs must be unique\",\n });\n }\n}\n\nexport function normalizeAnyPermitKey(params: AnyPermitKeyInput) {\n return {\n eventId: \"event_id\" in params ? params.event_id : params.eventId,\n ticketId: \"ticket_id\" in params ? params.ticket_id : params.ticketId,\n };\n}\n","import { z } from \"zod\";\n\nexport const TransactionSubmissionStatusSchema = z.enum([\n \"processing\",\n \"confirmed\",\n \"landed_with_error\",\n \"expired\",\n]);\nexport type TransactionSubmissionStatus = z.infer<\n typeof TransactionSubmissionStatusSchema\n>;\n\n/** A null status means no submission has been recorded. */\nexport const NullableTransactionSubmissionStatusSchema =\n TransactionSubmissionStatusSchema.nullable();\nexport type NullableTransactionSubmissionStatus = z.infer<\n typeof NullableTransactionSubmissionStatusSchema\n>;\n","import {\n AcceptOfferV2ParamsSchema,\n requireUniquePermitKeys,\n} from \"@kyd-labs/tix-wire-schema/instructions\";\nimport { Base58Address } from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { z } from \"zod\";\nimport { Sha256HexSchema } from \"../primitives/hashes\";\nimport { NullableTransactionSubmissionStatusSchema } from \"../primitives/transaction-submission-status\";\nimport { MAX_PERMITS_PER_CLAIM_WALLET } from \"./const\";\n\n/**\n * The accept params an integrator may supply on the composite claim route:\n * the wire params minus everything TDP derives — the `buyer` is the claim\n * wallet, and the integrator is the caller's own primary integrator wallet.\n * Note the primary integrator wallet must be a registered integrator\n * on-chain; i.e., a TIX-protocol integrator with a funded treasury.\n */\nexport const AcceptClaimOffersSchema = AcceptOfferV2ParamsSchema.omit({\n buyer: true,\n integrator_identity: true,\n integrator_authority: true,\n}).strict();\n\nexport const AcceptClaimOffersRequestBodySchema = z.object({\n userSubject: z.string().min(1),\n userEmail: z.email(),\n offers: z\n .array(AcceptClaimOffersSchema)\n .min(1)\n .max(MAX_PERMITS_PER_CLAIM_WALLET)\n .superRefine(requireUniquePermitKeys),\n});\n\nexport const AcceptClaimOffersResponseSchema = z.object({\n status: NullableTransactionSubmissionStatusSchema,\n claimWallet: z.object({\n address: Base58Address,\n claimWalletId: Sha256HexSchema,\n }),\n claimUrl: z.url(),\n failureReason: z.string().min(1).optional(),\n});\n\nexport type AcceptClaimOffersResponse = z.infer<\n typeof AcceptClaimOffersResponseSchema\n>;\n","import z from \"zod\";\nimport type { Brand } from \"./brand\";\n\nexport type Sha256Hex = Brand<string, \"Sha256Hex\">;\nexport type Sha256Base64Url = Brand<string, \"Sha256Base64Url\">;\nexport type HmacSha256Base64Url = Brand<string, \"HmacSha256Base64Url\">;\n\nexport const Sha256HexSchema = z\n .hash(\"sha256\", { enc: \"hex\" })\n .transform((v) => v as Sha256Hex);\n\nexport const Sha256BaseUrlSchema = z\n .hash(\"sha256\", { enc: \"base64url\" })\n .transform((v) => v as Sha256Base64Url);\n\n/**\n * Functionally the exact same as {@link Sha256BaseUrlSchema}, but with a branded type for when\n * the hash is known to be produced from `createHmac`.\n *\n * To clarify: this performs no additional checks, it only brands the output differently.\n */\nexport const HmacSha256BaseUrlSchema = z\n .hash(\"sha256\", { enc: \"base64url\" })\n .transform((v) => v as HmacSha256Base64Url);\n","/** KYD accepts at most this many tickets in one claim, so a claim wallet may hold no more. */\nexport const MAX_PERMITS_PER_CLAIM_WALLET = 6;\n","import { Signature } from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { z } from \"zod\";\nimport { Sha256HexSchema } from \"../primitives/hashes\";\nimport { NullableTransactionSubmissionStatusSchema } from \"../primitives/transaction-submission-status\";\n\nexport const SubmitTenantTransactionResponseSchema = z.object({\n custodialTransactionId: Sha256HexSchema,\n transactionSignature: Signature,\n status: NullableTransactionSubmissionStatusSchema,\n failureReason: z.string().min(1).optional(),\n});\n","import type { z } from \"zod\";\nimport { AcceptClaimOffersResponseSchema } from \"./claim-offers\";\nimport { SubmitTenantTransactionResponseSchema } from \"./submission-responses\";\n\nexport const GetPurchaseStatusResponseSchema =\n SubmitTenantTransactionResponseSchema.extend(\n AcceptClaimOffersResponseSchema.pick({ claimWallet: true }).shape,\n );\n\nexport type GetPurchaseStatusResponse = z.infer<\n typeof GetPurchaseStatusResponseSchema\n>;\n","import {\n type Base64EncodedWireTransaction,\n getBase64Encoder,\n getTransactionDecoder,\n} from \"@solana/kit\";\nimport { z } from \"zod\";\n\nexport const Base64WireEncodedTransactionSchema = z\n .base64()\n .min(1)\n .transform((value, ctx) => {\n try {\n getTransactionDecoder().decode(getBase64Encoder().encode(value));\n return value as Base64EncodedWireTransaction;\n } catch {\n ctx.addIssue({\n code: \"custom\",\n message: \"must be a base64-encoded Solana transaction string\",\n });\n return z.NEVER;\n }\n });\n","import {\n Base58Address,\n Blockhash,\n Signature,\n} from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { Base64WireEncodedTransactionSchema } from \"@kyd-labs/tix-wire-schema/transactions\";\nimport { z } from \"zod\";\nimport { Sha256HexSchema } from \"../primitives/hashes\";\nexport const SignTransactionResponseSchema = z.object({\n custodialTransactionId: Sha256HexSchema,\n signerAddress: Base58Address,\n feePayerAddress: Base58Address,\n signedTransaction: Base64WireEncodedTransactionSchema,\n message: z.string().min(1),\n signature: Signature,\n feePayerSignature: Signature,\n requiredSigners: z.array(Base58Address),\n recentBlockhash: Blockhash,\n});\n","import { TixWireInstructionBatchSchema } from \"@kyd-labs/tix-wire-schema/instructions\";\nimport { Base58Address, Signature } from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { Base64WireEncodedTransactionSchema } from \"@kyd-labs/tix-wire-schema/transactions\";\nimport { z } from \"zod\";\n\nexport const SignTenantTransactionRequestBodySchema = z.object({\n tixInstructions: TixWireInstructionBatchSchema,\n});\n\nexport const AdditionalSignaturesSchema = z\n .array(\n z.object({\n address: Base58Address,\n signature: Signature,\n }),\n )\n .default([]);\n\nexport const SubmitTenantTransactionRequestBodySchema = z.object({\n signedTransaction: Base64WireEncodedTransactionSchema,\n additionalSignatures: AdditionalSignaturesSchema,\n});\n"],"mappings":"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","names":["z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z"]}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
|
|
3
3
|
type WalletCustodyApiErrorKind = "http-status" | "response-validation";
|
|
4
|
-
declare class
|
|
4
|
+
declare class TdpApiError extends Error {
|
|
5
5
|
readonly kind: WalletCustodyApiErrorKind;
|
|
6
6
|
readonly route: string;
|
|
7
7
|
readonly method: string;
|
|
@@ -9,8 +9,10 @@ declare class WalletCustodyApiError extends Error {
|
|
|
9
9
|
readonly status: number;
|
|
10
10
|
readonly statusText: string;
|
|
11
11
|
readonly payload: unknown;
|
|
12
|
+
readonly code?: string;
|
|
13
|
+
readonly requestId?: string;
|
|
12
14
|
readonly validationError?: z.ZodError;
|
|
13
|
-
constructor({ kind, route, method, path, status, statusText, payload, validationError, }: {
|
|
15
|
+
constructor({ kind, route, method, path, status, statusText, payload, code, requestId, validationError, }: {
|
|
14
16
|
kind: WalletCustodyApiErrorKind;
|
|
15
17
|
route: string;
|
|
16
18
|
method: string;
|
|
@@ -18,8 +20,17 @@ declare class WalletCustodyApiError extends Error {
|
|
|
18
20
|
status: number;
|
|
19
21
|
statusText: string;
|
|
20
22
|
payload: unknown;
|
|
23
|
+
code?: string;
|
|
24
|
+
requestId?: string;
|
|
21
25
|
validationError?: z.ZodError;
|
|
22
26
|
});
|
|
23
27
|
}
|
|
28
|
+
declare class TdpResponseValidationError extends TdpApiError {
|
|
29
|
+
name: string;
|
|
30
|
+
}
|
|
31
|
+
/** @deprecated Renamed to TdpApiError in 0.4.0. */
|
|
32
|
+
declare const WalletCustodyApiError: typeof TdpApiError;
|
|
33
|
+
/** @deprecated Renamed to TdpApiError in 0.4.0. */
|
|
34
|
+
type WalletCustodyApiError = TdpApiError;
|
|
24
35
|
|
|
25
|
-
export { WalletCustodyApiError, type WalletCustodyApiErrorKind };
|
|
36
|
+
export { TdpApiError, TdpResponseValidationError, WalletCustodyApiError, type WalletCustodyApiErrorKind };
|
package/dist/errors.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
|
+
TdpApiError,
|
|
3
|
+
TdpResponseValidationError,
|
|
2
4
|
WalletCustodyApiError
|
|
3
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-7IWD2KHF.js";
|
|
4
6
|
export {
|
|
7
|
+
TdpApiError,
|
|
8
|
+
TdpResponseValidationError,
|
|
5
9
|
WalletCustodyApiError
|
|
6
10
|
};
|
|
7
11
|
//# sourceMappingURL=errors.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -601,9 +601,9 @@ declare const tixApiClientRoutes: {
|
|
|
601
601
|
"x-api-key": string;
|
|
602
602
|
};
|
|
603
603
|
buildQueryString: (params: {
|
|
604
|
+
eventId: string | number | bigint;
|
|
604
605
|
limit?: unknown;
|
|
605
606
|
cursor?: string | undefined;
|
|
606
|
-
eventId?: string | number | bigint | undefined;
|
|
607
607
|
}) => string;
|
|
608
608
|
name: string;
|
|
609
609
|
method: "GET";
|
|
@@ -616,7 +616,7 @@ declare const tixApiClientRoutes: {
|
|
|
616
616
|
queryParamsSchema?: zod.ZodObject<{
|
|
617
617
|
limit: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
|
|
618
618
|
cursor: zod.ZodOptional<zod.ZodString>;
|
|
619
|
-
eventId: zod.
|
|
619
|
+
eventId: zod.ZodPipe<zod.ZodPipe<zod.ZodPipe<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBigInt]>, zod.ZodTransform<bigint, string | number | bigint>>, zod.ZodBigInt>, zod.ZodTransform<string, bigint>>;
|
|
620
620
|
}, zod_v4_core.$strip> | undefined;
|
|
621
621
|
responseBodySchema: zod.ZodObject<{
|
|
622
622
|
items: zod.ZodArray<zod.ZodObject<{
|
|
@@ -668,15 +668,15 @@ declare const tixApiClientRoutes: {
|
|
|
668
668
|
start_at: zod.ZodNullable<zod.ZodString>;
|
|
669
669
|
on_sale_at: zod.ZodNullable<zod.ZodString>;
|
|
670
670
|
image_url: zod.ZodNullable<zod.ZodString>;
|
|
671
|
+
timezone: zod.ZodNullable<zod.ZodString>;
|
|
672
|
+
address: zod.ZodNullable<zod.ZodString>;
|
|
673
|
+
venue: zod.ZodNullable<zod.ZodString>;
|
|
671
674
|
active_listing_count: zod.ZodNumber;
|
|
672
675
|
tickets_issued_count: zod.ZodNumber;
|
|
673
676
|
integrator_identity: zod.ZodNullable<zod.ZodString>;
|
|
674
677
|
updated_at: zod.ZodNullable<zod.ZodString>;
|
|
675
678
|
found: zod.ZodLiteral<true>;
|
|
676
679
|
genres: zod.ZodNullable<zod.ZodArray<zod.ZodString>>;
|
|
677
|
-
timezone: zod.ZodNullable<zod.ZodString>;
|
|
678
|
-
address: zod.ZodNullable<zod.ZodString>;
|
|
679
|
-
venue: zod.ZodNullable<zod.ZodString>;
|
|
680
680
|
}, zod_v4_core.$strict>>;
|
|
681
681
|
next_cursor: zod.ZodNullable<zod.ZodString>;
|
|
682
682
|
}, zod_v4_core.$strict>;
|
|
@@ -942,9 +942,9 @@ declare function createTixApiClient({ baseApiUrl, apiKey, fetchImpl, headers, }:
|
|
|
942
942
|
"x-api-key": string;
|
|
943
943
|
};
|
|
944
944
|
buildQueryString: (params: {
|
|
945
|
+
eventId: string | number | bigint;
|
|
945
946
|
limit?: unknown;
|
|
946
947
|
cursor?: string | undefined;
|
|
947
|
-
eventId?: string | number | bigint | undefined;
|
|
948
948
|
}) => string;
|
|
949
949
|
name: string;
|
|
950
950
|
method: "GET";
|
|
@@ -957,7 +957,7 @@ declare function createTixApiClient({ baseApiUrl, apiKey, fetchImpl, headers, }:
|
|
|
957
957
|
queryParamsSchema?: zod.ZodObject<{
|
|
958
958
|
limit: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
|
|
959
959
|
cursor: zod.ZodOptional<zod.ZodString>;
|
|
960
|
-
eventId: zod.
|
|
960
|
+
eventId: zod.ZodPipe<zod.ZodPipe<zod.ZodPipe<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBigInt]>, zod.ZodTransform<bigint, string | number | bigint>>, zod.ZodBigInt>, zod.ZodTransform<string, bigint>>;
|
|
961
961
|
}, zod_v4_core.$strip> | undefined;
|
|
962
962
|
responseBodySchema: zod.ZodObject<{
|
|
963
963
|
items: zod.ZodArray<zod.ZodObject<{
|
|
@@ -1009,15 +1009,15 @@ declare function createTixApiClient({ baseApiUrl, apiKey, fetchImpl, headers, }:
|
|
|
1009
1009
|
start_at: zod.ZodNullable<zod.ZodString>;
|
|
1010
1010
|
on_sale_at: zod.ZodNullable<zod.ZodString>;
|
|
1011
1011
|
image_url: zod.ZodNullable<zod.ZodString>;
|
|
1012
|
+
timezone: zod.ZodNullable<zod.ZodString>;
|
|
1013
|
+
address: zod.ZodNullable<zod.ZodString>;
|
|
1014
|
+
venue: zod.ZodNullable<zod.ZodString>;
|
|
1012
1015
|
active_listing_count: zod.ZodNumber;
|
|
1013
1016
|
tickets_issued_count: zod.ZodNumber;
|
|
1014
1017
|
integrator_identity: zod.ZodNullable<zod.ZodString>;
|
|
1015
1018
|
updated_at: zod.ZodNullable<zod.ZodString>;
|
|
1016
1019
|
found: zod.ZodLiteral<true>;
|
|
1017
1020
|
genres: zod.ZodNullable<zod.ZodArray<zod.ZodString>>;
|
|
1018
|
-
timezone: zod.ZodNullable<zod.ZodString>;
|
|
1019
|
-
address: zod.ZodNullable<zod.ZodString>;
|
|
1020
|
-
venue: zod.ZodNullable<zod.ZodString>;
|
|
1021
1021
|
}, zod_v4_core.$strict>>;
|
|
1022
1022
|
next_cursor: zod.ZodNullable<zod.ZodString>;
|
|
1023
1023
|
}, zod_v4_core.$strict>;
|
|
@@ -1270,9 +1270,9 @@ declare function createTixApiClient({ baseApiUrl, apiKey, fetchImpl, headers, }:
|
|
|
1270
1270
|
"x-api-key": string;
|
|
1271
1271
|
};
|
|
1272
1272
|
buildQueryString: (params: {
|
|
1273
|
+
eventId: string | number | bigint;
|
|
1273
1274
|
limit?: unknown;
|
|
1274
1275
|
cursor?: string | undefined;
|
|
1275
|
-
eventId?: string | number | bigint | undefined;
|
|
1276
1276
|
}) => string;
|
|
1277
1277
|
name: string;
|
|
1278
1278
|
method: "GET";
|
|
@@ -1285,7 +1285,7 @@ declare function createTixApiClient({ baseApiUrl, apiKey, fetchImpl, headers, }:
|
|
|
1285
1285
|
queryParamsSchema?: zod.ZodObject<{
|
|
1286
1286
|
limit: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
|
|
1287
1287
|
cursor: zod.ZodOptional<zod.ZodString>;
|
|
1288
|
-
eventId: zod.
|
|
1288
|
+
eventId: zod.ZodPipe<zod.ZodPipe<zod.ZodPipe<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBigInt]>, zod.ZodTransform<bigint, string | number | bigint>>, zod.ZodBigInt>, zod.ZodTransform<string, bigint>>;
|
|
1289
1289
|
}, zod_v4_core.$strip> | undefined;
|
|
1290
1290
|
responseBodySchema: zod.ZodObject<{
|
|
1291
1291
|
items: zod.ZodArray<zod.ZodObject<{
|
|
@@ -1337,15 +1337,15 @@ declare function createTixApiClient({ baseApiUrl, apiKey, fetchImpl, headers, }:
|
|
|
1337
1337
|
start_at: zod.ZodNullable<zod.ZodString>;
|
|
1338
1338
|
on_sale_at: zod.ZodNullable<zod.ZodString>;
|
|
1339
1339
|
image_url: zod.ZodNullable<zod.ZodString>;
|
|
1340
|
+
timezone: zod.ZodNullable<zod.ZodString>;
|
|
1341
|
+
address: zod.ZodNullable<zod.ZodString>;
|
|
1342
|
+
venue: zod.ZodNullable<zod.ZodString>;
|
|
1340
1343
|
active_listing_count: zod.ZodNumber;
|
|
1341
1344
|
tickets_issued_count: zod.ZodNumber;
|
|
1342
1345
|
integrator_identity: zod.ZodNullable<zod.ZodString>;
|
|
1343
1346
|
updated_at: zod.ZodNullable<zod.ZodString>;
|
|
1344
1347
|
found: zod.ZodLiteral<true>;
|
|
1345
1348
|
genres: zod.ZodNullable<zod.ZodArray<zod.ZodString>>;
|
|
1346
|
-
timezone: zod.ZodNullable<zod.ZodString>;
|
|
1347
|
-
address: zod.ZodNullable<zod.ZodString>;
|
|
1348
|
-
venue: zod.ZodNullable<zod.ZodString>;
|
|
1349
1349
|
}, zod_v4_core.$strict>>;
|
|
1350
1350
|
next_cursor: zod.ZodNullable<zod.ZodString>;
|
|
1351
1351
|
}, zod_v4_core.$strict>;
|
|
@@ -1598,9 +1598,9 @@ declare function createTixApiClient({ baseApiUrl, apiKey, fetchImpl, headers, }:
|
|
|
1598
1598
|
"x-api-key": string;
|
|
1599
1599
|
};
|
|
1600
1600
|
buildQueryString: (params: {
|
|
1601
|
+
eventId: string | number | bigint;
|
|
1601
1602
|
limit?: unknown;
|
|
1602
1603
|
cursor?: string | undefined;
|
|
1603
|
-
eventId?: string | number | bigint | undefined;
|
|
1604
1604
|
}) => string;
|
|
1605
1605
|
name: string;
|
|
1606
1606
|
method: "GET";
|
|
@@ -1613,7 +1613,7 @@ declare function createTixApiClient({ baseApiUrl, apiKey, fetchImpl, headers, }:
|
|
|
1613
1613
|
queryParamsSchema?: zod.ZodObject<{
|
|
1614
1614
|
limit: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
|
|
1615
1615
|
cursor: zod.ZodOptional<zod.ZodString>;
|
|
1616
|
-
eventId: zod.
|
|
1616
|
+
eventId: zod.ZodPipe<zod.ZodPipe<zod.ZodPipe<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBigInt]>, zod.ZodTransform<bigint, string | number | bigint>>, zod.ZodBigInt>, zod.ZodTransform<string, bigint>>;
|
|
1617
1617
|
}, zod_v4_core.$strip> | undefined;
|
|
1618
1618
|
responseBodySchema: zod.ZodObject<{
|
|
1619
1619
|
items: zod.ZodArray<zod.ZodObject<{
|
|
@@ -1665,15 +1665,15 @@ declare function createTixApiClient({ baseApiUrl, apiKey, fetchImpl, headers, }:
|
|
|
1665
1665
|
start_at: zod.ZodNullable<zod.ZodString>;
|
|
1666
1666
|
on_sale_at: zod.ZodNullable<zod.ZodString>;
|
|
1667
1667
|
image_url: zod.ZodNullable<zod.ZodString>;
|
|
1668
|
+
timezone: zod.ZodNullable<zod.ZodString>;
|
|
1669
|
+
address: zod.ZodNullable<zod.ZodString>;
|
|
1670
|
+
venue: zod.ZodNullable<zod.ZodString>;
|
|
1668
1671
|
active_listing_count: zod.ZodNumber;
|
|
1669
1672
|
tickets_issued_count: zod.ZodNumber;
|
|
1670
1673
|
integrator_identity: zod.ZodNullable<zod.ZodString>;
|
|
1671
1674
|
updated_at: zod.ZodNullable<zod.ZodString>;
|
|
1672
1675
|
found: zod.ZodLiteral<true>;
|
|
1673
1676
|
genres: zod.ZodNullable<zod.ZodArray<zod.ZodString>>;
|
|
1674
|
-
timezone: zod.ZodNullable<zod.ZodString>;
|
|
1675
|
-
address: zod.ZodNullable<zod.ZodString>;
|
|
1676
|
-
venue: zod.ZodNullable<zod.ZodString>;
|
|
1677
1677
|
}, zod_v4_core.$strict>>;
|
|
1678
1678
|
next_cursor: zod.ZodNullable<zod.ZodString>;
|
|
1679
1679
|
}, zod_v4_core.$strict>;
|
|
@@ -1926,9 +1926,9 @@ declare function createTixApiClient({ baseApiUrl, apiKey, fetchImpl, headers, }:
|
|
|
1926
1926
|
"x-api-key": string;
|
|
1927
1927
|
};
|
|
1928
1928
|
buildQueryString: (params: {
|
|
1929
|
+
eventId: string | number | bigint;
|
|
1929
1930
|
limit?: unknown;
|
|
1930
1931
|
cursor?: string | undefined;
|
|
1931
|
-
eventId?: string | number | bigint | undefined;
|
|
1932
1932
|
}) => string;
|
|
1933
1933
|
name: string;
|
|
1934
1934
|
method: "GET";
|
|
@@ -1941,7 +1941,7 @@ declare function createTixApiClient({ baseApiUrl, apiKey, fetchImpl, headers, }:
|
|
|
1941
1941
|
queryParamsSchema?: zod.ZodObject<{
|
|
1942
1942
|
limit: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
|
|
1943
1943
|
cursor: zod.ZodOptional<zod.ZodString>;
|
|
1944
|
-
eventId: zod.
|
|
1944
|
+
eventId: zod.ZodPipe<zod.ZodPipe<zod.ZodPipe<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBigInt]>, zod.ZodTransform<bigint, string | number | bigint>>, zod.ZodBigInt>, zod.ZodTransform<string, bigint>>;
|
|
1945
1945
|
}, zod_v4_core.$strip> | undefined;
|
|
1946
1946
|
responseBodySchema: zod.ZodObject<{
|
|
1947
1947
|
items: zod.ZodArray<zod.ZodObject<{
|
|
@@ -1993,15 +1993,15 @@ declare function createTixApiClient({ baseApiUrl, apiKey, fetchImpl, headers, }:
|
|
|
1993
1993
|
start_at: zod.ZodNullable<zod.ZodString>;
|
|
1994
1994
|
on_sale_at: zod.ZodNullable<zod.ZodString>;
|
|
1995
1995
|
image_url: zod.ZodNullable<zod.ZodString>;
|
|
1996
|
+
timezone: zod.ZodNullable<zod.ZodString>;
|
|
1997
|
+
address: zod.ZodNullable<zod.ZodString>;
|
|
1998
|
+
venue: zod.ZodNullable<zod.ZodString>;
|
|
1996
1999
|
active_listing_count: zod.ZodNumber;
|
|
1997
2000
|
tickets_issued_count: zod.ZodNumber;
|
|
1998
2001
|
integrator_identity: zod.ZodNullable<zod.ZodString>;
|
|
1999
2002
|
updated_at: zod.ZodNullable<zod.ZodString>;
|
|
2000
2003
|
found: zod.ZodLiteral<true>;
|
|
2001
2004
|
genres: zod.ZodNullable<zod.ZodArray<zod.ZodString>>;
|
|
2002
|
-
timezone: zod.ZodNullable<zod.ZodString>;
|
|
2003
|
-
address: zod.ZodNullable<zod.ZodString>;
|
|
2004
|
-
venue: zod.ZodNullable<zod.ZodString>;
|
|
2005
2005
|
}, zod_v4_core.$strict>>;
|
|
2006
2006
|
next_cursor: zod.ZodNullable<zod.ZodString>;
|
|
2007
2007
|
}, zod_v4_core.$strict>;
|
|
@@ -2213,12 +2213,11 @@ type UpdateEventMetadataInput = Parameters<TdpClient["indexer"]["updateEventMeta
|
|
|
2213
2213
|
type UpdateEventMetadataBody = UpdateEventMetadataInput["body"];
|
|
2214
2214
|
type UpdateEventMetadataResponse = Awaited<ReturnType<TdpClient["indexer"]["updateEventMetadata"]>>;
|
|
2215
2215
|
type GetUserAddressInput = Parameters<TdpClient["wallets"]["getUserAddress"]>[0];
|
|
2216
|
-
type GetIntegratorAddressInput = Parameters<TdpClient["wallets"]["getIntegratorAddress"]>[0]
|
|
2216
|
+
type GetIntegratorAddressInput = NonNullable<Parameters<TdpClient["wallets"]["getIntegratorAddress"]>[0]>;
|
|
2217
2217
|
type WalletAddressResponse = Awaited<ReturnType<TdpClient["wallets"]["getUserAddress"]>>;
|
|
2218
|
-
type SignUserTransactionInput = Parameters<TdpClient["transactions"]["signUser"]>[0];
|
|
2219
2218
|
type SignIntegratorTransactionInput = Parameters<TdpClient["transactions"]["signIntegrator"]>[0];
|
|
2220
|
-
type SignTransactionBody =
|
|
2221
|
-
type SignTransactionResponse = Awaited<ReturnType<TdpClient["transactions"]["
|
|
2219
|
+
type SignTransactionBody = SignIntegratorTransactionInput["body"];
|
|
2220
|
+
type SignTransactionResponse = Awaited<ReturnType<TdpClient["transactions"]["signIntegrator"]>>;
|
|
2222
2221
|
type SubmitTransactionInput = Parameters<TdpClient["transactions"]["submit"]>[0];
|
|
2223
2222
|
type SubmitTransactionBody = SubmitTransactionInput["body"];
|
|
2224
2223
|
type SubmitTransactionResponse = Awaited<ReturnType<TdpClient["transactions"]["submit"]>>;
|
|
@@ -2294,10 +2293,12 @@ declare function createTdpClient(options: TdpClientOptions): {
|
|
|
2294
2293
|
}>;
|
|
2295
2294
|
};
|
|
2296
2295
|
indexer: {
|
|
2297
|
-
listActiveListings(queryParams
|
|
2296
|
+
listActiveListings(queryParams: Omit<{
|
|
2297
|
+
eventId: string | number | bigint;
|
|
2298
2298
|
limit?: unknown;
|
|
2299
2299
|
cursor?: string | undefined;
|
|
2300
|
-
|
|
2300
|
+
}, "limit"> & {
|
|
2301
|
+
limit?: number;
|
|
2301
2302
|
}, options?: Pick<RequestInit, "signal">): Promise<{
|
|
2302
2303
|
items: {
|
|
2303
2304
|
event_account: string | null;
|
|
@@ -2313,9 +2314,11 @@ declare function createTdpClient(options: TdpClientOptions): {
|
|
|
2313
2314
|
}[];
|
|
2314
2315
|
next_cursor: string | null;
|
|
2315
2316
|
}>;
|
|
2316
|
-
listUpcomingEvents(queryParams?: {
|
|
2317
|
+
listUpcomingEvents(queryParams?: Omit<{
|
|
2317
2318
|
limit?: unknown;
|
|
2318
2319
|
cursor?: string | undefined;
|
|
2320
|
+
}, "limit"> & {
|
|
2321
|
+
limit?: number;
|
|
2319
2322
|
}, options?: Pick<RequestInit, "signal">): Promise<{
|
|
2320
2323
|
items: {
|
|
2321
2324
|
event_account: string;
|
|
@@ -2324,15 +2327,15 @@ declare function createTdpClient(options: TdpClientOptions): {
|
|
|
2324
2327
|
start_at: string | null;
|
|
2325
2328
|
on_sale_at: string | null;
|
|
2326
2329
|
image_url: string | null;
|
|
2330
|
+
timezone: string | null;
|
|
2331
|
+
address: string | null;
|
|
2332
|
+
venue: string | null;
|
|
2327
2333
|
active_listing_count: number;
|
|
2328
2334
|
tickets_issued_count: number;
|
|
2329
2335
|
integrator_identity: string | null;
|
|
2330
2336
|
updated_at: string | null;
|
|
2331
2337
|
found: true;
|
|
2332
2338
|
genres: string[] | null;
|
|
2333
|
-
timezone: string | null;
|
|
2334
|
-
address: string | null;
|
|
2335
|
-
venue: string | null;
|
|
2336
2339
|
}[];
|
|
2337
2340
|
next_cursor: string | null;
|
|
2338
2341
|
}>;
|
|
@@ -2365,7 +2368,7 @@ declare function createTdpClient(options: TdpClientOptions): {
|
|
|
2365
2368
|
getUserAddress(pathParams: RoutePathParams<ApiKeyWalletCustodyApiRoutes["get-user-address"]>, options?: Pick<RequestInit, "signal">): Promise<{
|
|
2366
2369
|
address: _solana_kit.Address<string>;
|
|
2367
2370
|
}>;
|
|
2368
|
-
getIntegratorAddress(
|
|
2371
|
+
getIntegratorAddress({ subject, }?: Partial<RoutePathParams<ApiKeyWalletCustodyApiRoutes["get-integrator-address"]>>, options?: Pick<RequestInit, "signal">): Promise<{
|
|
2369
2372
|
address: _solana_kit.Address<string>;
|
|
2370
2373
|
}>;
|
|
2371
2374
|
getFeePayerAddress(options?: Pick<RequestInit, "signal">): Promise<{
|
|
@@ -2376,65 +2379,9 @@ declare function createTdpClient(options: TdpClientOptions): {
|
|
|
2376
2379
|
}>;
|
|
2377
2380
|
};
|
|
2378
2381
|
transactions: {
|
|
2379
|
-
|
|
2382
|
+
signIntegrator({ subject, idempotencyKey, body, }: Partial<{
|
|
2380
2383
|
subject: string;
|
|
2381
|
-
} & {
|
|
2382
|
-
body: {
|
|
2383
|
-
tixInstructions: {
|
|
2384
|
-
instruction: "accept_offer_v2";
|
|
2385
|
-
params: {
|
|
2386
|
-
event_id: string | number | bigint;
|
|
2387
|
-
ticket_id: string | number | bigint;
|
|
2388
|
-
permit_version: string | number | bigint;
|
|
2389
|
-
buyer: string;
|
|
2390
|
-
integrator_authority: string;
|
|
2391
|
-
seller_payout: string;
|
|
2392
|
-
royalty_destinations: string[];
|
|
2393
|
-
integrator_identity: string;
|
|
2394
|
-
usdc_mint: string;
|
|
2395
|
-
ticket_type_config?: string | null | undefined;
|
|
2396
|
-
}[];
|
|
2397
|
-
} | {
|
|
2398
|
-
instruction: "cancel_listing_v1";
|
|
2399
|
-
params: {
|
|
2400
|
-
event_id: string | number | bigint;
|
|
2401
|
-
ticket_id: string | number | bigint;
|
|
2402
|
-
canceller: string;
|
|
2403
|
-
}[];
|
|
2404
|
-
} | {
|
|
2405
|
-
instruction: "list_ticket_v2";
|
|
2406
|
-
params: {
|
|
2407
|
-
seller: string;
|
|
2408
|
-
storage_fee_payer: string;
|
|
2409
|
-
listing_integrator_identity: string;
|
|
2410
|
-
listing_integrator_authority: string;
|
|
2411
|
-
usdc_mint: string;
|
|
2412
|
-
event_id: string | number | bigint;
|
|
2413
|
-
ticket_id: string | number | bigint;
|
|
2414
|
-
ask_price_minor: string | number | bigint;
|
|
2415
|
-
payout_ata: string;
|
|
2416
|
-
expires_at: string | number | bigint;
|
|
2417
|
-
buyer_allow?: string | null | undefined;
|
|
2418
|
-
ticket_type_config?: string | null | undefined;
|
|
2419
|
-
}[];
|
|
2420
|
-
};
|
|
2421
|
-
};
|
|
2422
|
-
} & {
|
|
2423
|
-
idempotencyKey: string;
|
|
2424
|
-
}, options?: Pick<RequestInit, "signal">): Promise<{
|
|
2425
|
-
custodialTransactionId: Sha256Hex;
|
|
2426
|
-
signerAddress: _solana_kit.Address<string>;
|
|
2427
|
-
feePayerAddress: _solana_kit.Address<string>;
|
|
2428
|
-
signedTransaction: _solana_kit.Base64EncodedWireTransaction;
|
|
2429
|
-
message: string;
|
|
2430
|
-
signature: _solana_kit.Signature;
|
|
2431
|
-
feePayerSignature: _solana_kit.Signature;
|
|
2432
|
-
requiredSigners: _solana_kit.Address<string>[];
|
|
2433
|
-
recentBlockhash: _solana_kit.Blockhash;
|
|
2434
|
-
}>;
|
|
2435
|
-
signIntegrator({ subject, idempotencyKey, body, }: {
|
|
2436
|
-
subject: string;
|
|
2437
|
-
} & {
|
|
2384
|
+
}> & {
|
|
2438
2385
|
body: {
|
|
2439
2386
|
tixInstructions: {
|
|
2440
2387
|
instruction: "accept_offer_v2";
|
|
@@ -2586,4 +2533,4 @@ declare function createTdpClient(options: TdpClientOptions): {
|
|
|
2586
2533
|
};
|
|
2587
2534
|
};
|
|
2588
2535
|
|
|
2589
|
-
export { type AcceptClaimOffersBody, type AcceptClaimOffersInput, type AcceptClaimOffersResponse, type GetEventInput, type GetEventResponse, type GetIntegratorAddressInput, type GetIntegratorInput, type GetIntegratorResponse, type GetListingInput, type GetListingResponse, type GetPermitInput, type GetPermitResponse, type GetProtocolConfigResponse, type GetPurchaseStatusInput, type GetPurchaseStatusResponse, type GetUserAddressInput, type ListActiveListingsInput, type ListActiveListingsResponse, type ListUpcomingEventsInput, type ListUpcomingEventsResponse, type SignIntegratorTransactionInput, type SignTransactionBody, type SignTransactionResponse, type
|
|
2536
|
+
export { type AcceptClaimOffersBody, type AcceptClaimOffersInput, type AcceptClaimOffersResponse, type GetEventInput, type GetEventResponse, type GetIntegratorAddressInput, type GetIntegratorInput, type GetIntegratorResponse, type GetListingInput, type GetListingResponse, type GetPermitInput, type GetPermitResponse, type GetProtocolConfigResponse, type GetPurchaseStatusInput, type GetPurchaseStatusResponse, type GetUserAddressInput, type ListActiveListingsInput, type ListActiveListingsResponse, type ListUpcomingEventsInput, type ListUpcomingEventsResponse, type SignIntegratorTransactionInput, type SignTransactionBody, type SignTransactionResponse, type SubmitTransactionBody, type SubmitTransactionInput, type SubmitTransactionResponse, type TdpClient, type TdpClientOptions, type UpdateEventMetadataBody, type UpdateEventMetadataInput, type UpdateEventMetadataResponse, type WalletAddressResponse, createTdpClient };
|
package/dist/index.js
CHANGED
|
@@ -20,10 +20,11 @@ import {
|
|
|
20
20
|
requireUniquePermitKeys,
|
|
21
21
|
solanaDataApiClientRoutes,
|
|
22
22
|
tixIndexerReadApiClientRoutes
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-DKU7DEI5.js";
|
|
24
24
|
import {
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
TdpApiError,
|
|
26
|
+
TdpResponseValidationError
|
|
27
|
+
} from "./chunk-7IWD2KHF.js";
|
|
27
28
|
|
|
28
29
|
// src/solana-data-api/create-solana-client.ts
|
|
29
30
|
function createSolanaClient(tixApi) {
|
|
@@ -96,6 +97,14 @@ var responseBodySchemaByRouteKey2 = Object.fromEntries(
|
|
|
96
97
|
)
|
|
97
98
|
);
|
|
98
99
|
|
|
100
|
+
// src/routes/create-tdp-api-error-from-route-failure.ts
|
|
101
|
+
function createTdpApiErrorFromRouteFailure(failure) {
|
|
102
|
+
return failure.kind === "response-validation" ? new TdpResponseValidationError(failure) : new TdpApiError(failure);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// src/routes/execute-client-route.ts
|
|
106
|
+
import { z } from "zod";
|
|
107
|
+
|
|
99
108
|
// src/utils/join-url-segments.ts
|
|
100
109
|
function joinUrlSegments(baseUrl, path) {
|
|
101
110
|
return `${baseUrl.replace(/\/+$/, "")}/${path.replace(/^\/+/, "")}`;
|
|
@@ -113,6 +122,7 @@ async function readResponsePayload(response) {
|
|
|
113
122
|
}
|
|
114
123
|
|
|
115
124
|
// src/routes/execute-client-route.ts
|
|
125
|
+
var ErrorBodyCodeSchema = z.object({ code: z.string() });
|
|
116
126
|
async function executeClientRoute({
|
|
117
127
|
baseApiUrl,
|
|
118
128
|
fetchImpl,
|
|
@@ -147,9 +157,16 @@ async function executeClientRoute({
|
|
|
147
157
|
path,
|
|
148
158
|
status: response.status,
|
|
149
159
|
statusText: response.statusText,
|
|
150
|
-
payload
|
|
160
|
+
payload,
|
|
161
|
+
requestId: response.headers.get("apigw-requestid") ?? void 0
|
|
151
162
|
};
|
|
152
|
-
if (!response.ok)
|
|
163
|
+
if (!response.ok) {
|
|
164
|
+
throw createError({
|
|
165
|
+
kind: "http-status",
|
|
166
|
+
...failure,
|
|
167
|
+
code: ErrorBodyCodeSchema.safeParse(payload).data?.code
|
|
168
|
+
});
|
|
169
|
+
}
|
|
153
170
|
const parsed = route.responseBodySchema.safeParse(payload);
|
|
154
171
|
if (!parsed.success) {
|
|
155
172
|
throw createError({
|
|
@@ -193,7 +210,7 @@ function createTixApiClientForRoutes({
|
|
|
193
210
|
"x-api-key": typeof apiKey === "string" ? apiKey : await apiKey(),
|
|
194
211
|
...additionalHeaders
|
|
195
212
|
},
|
|
196
|
-
createError:
|
|
213
|
+
createError: createTdpApiErrorFromRouteFailure
|
|
197
214
|
});
|
|
198
215
|
};
|
|
199
216
|
}
|
|
@@ -221,7 +238,7 @@ function createTixApiClient({
|
|
|
221
238
|
// src/tix-indexer-api/create-indexer-client.ts
|
|
222
239
|
function createIndexerClient(tixApi) {
|
|
223
240
|
return {
|
|
224
|
-
listActiveListings(queryParams
|
|
241
|
+
listActiveListings(queryParams, options) {
|
|
225
242
|
return tixApi(
|
|
226
243
|
{
|
|
227
244
|
route: "get-active-listings",
|
|
@@ -359,7 +376,7 @@ var apiKeyWalletCustodyApiClientRoutes = {
|
|
|
359
376
|
function executeWalletCustodyRoute(request) {
|
|
360
377
|
return executeClientRoute({
|
|
361
378
|
...request,
|
|
362
|
-
createError:
|
|
379
|
+
createError: createTdpApiErrorFromRouteFailure
|
|
363
380
|
});
|
|
364
381
|
}
|
|
365
382
|
|
|
@@ -394,7 +411,7 @@ function createWalletCustodyApiClient({
|
|
|
394
411
|
}
|
|
395
412
|
|
|
396
413
|
// src/wallet-custody/create-claim-wallets-client.ts
|
|
397
|
-
import { z } from "zod";
|
|
414
|
+
import { z as z2 } from "zod";
|
|
398
415
|
|
|
399
416
|
// src/wallet-custody/resolve-claim-offer.ts
|
|
400
417
|
async function resolveClaimOffer(solana, ticket, protocol, eventResponse, options) {
|
|
@@ -416,7 +433,7 @@ async function resolveClaimOffer(solana, ticket, protocol, eventResponse, option
|
|
|
416
433
|
|
|
417
434
|
// src/wallet-custody/create-claim-wallets-client.ts
|
|
418
435
|
var AcceptOffersBodySchema = AcceptClaimOffersRequestBodySchema.extend({
|
|
419
|
-
offers:
|
|
436
|
+
offers: z2.array(TicketPathParametersSchema).min(1).max(MAX_PERMITS_PER_CLAIM_WALLET).superRefine(requireUniquePermitKeys)
|
|
420
437
|
});
|
|
421
438
|
function createClaimWalletsClient(walletCustodyApi, solana) {
|
|
422
439
|
return {
|
|
@@ -455,26 +472,15 @@ function createClaimWalletsClient(walletCustodyApi, solana) {
|
|
|
455
472
|
};
|
|
456
473
|
}
|
|
457
474
|
|
|
475
|
+
// src/wallet-custody/const.ts
|
|
476
|
+
var INTEGRATOR_PRIMARY_ADDRESS_SUBJECT = "PRIMARY_ADDRESS";
|
|
477
|
+
|
|
458
478
|
// src/wallet-custody/create-transactions-client.ts
|
|
459
479
|
function createTransactionsClient(walletCustodyApi) {
|
|
460
480
|
return {
|
|
461
|
-
|
|
462
|
-
subject,
|
|
463
|
-
idempotencyKey,
|
|
464
|
-
body
|
|
465
|
-
}, options) {
|
|
466
|
-
return walletCustodyApi(
|
|
467
|
-
{
|
|
468
|
-
route: "sign-user-transaction",
|
|
469
|
-
pathParams: { subject },
|
|
470
|
-
body,
|
|
471
|
-
idempotencyKey
|
|
472
|
-
},
|
|
473
|
-
options
|
|
474
|
-
);
|
|
475
|
-
},
|
|
481
|
+
/** A `subject` is not necessary. */
|
|
476
482
|
signIntegrator({
|
|
477
|
-
subject,
|
|
483
|
+
subject = INTEGRATOR_PRIMARY_ADDRESS_SUBJECT,
|
|
478
484
|
idempotencyKey,
|
|
479
485
|
body
|
|
480
486
|
}, options) {
|
|
@@ -514,11 +520,14 @@ function createWalletClient(walletCustodyApi) {
|
|
|
514
520
|
options
|
|
515
521
|
);
|
|
516
522
|
},
|
|
517
|
-
|
|
523
|
+
/** A `subject` is not necessary. */
|
|
524
|
+
getIntegratorAddress({
|
|
525
|
+
subject = INTEGRATOR_PRIMARY_ADDRESS_SUBJECT
|
|
526
|
+
} = {}, options) {
|
|
518
527
|
return walletCustodyApi(
|
|
519
528
|
{
|
|
520
529
|
route: "get-integrator-address",
|
|
521
|
-
pathParams
|
|
530
|
+
pathParams: { subject }
|
|
522
531
|
},
|
|
523
532
|
options
|
|
524
533
|
);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/solana-data-api/create-solana-client.ts","../../tdp-schemas/src/tix-indexer-api/routes.ts","../src/utils/join-url-segments.ts","../src/utils/read-response-payload.ts","../src/routes/execute-client-route.ts","../src/tix-api/create-tix-api-client.ts","../src/tix-api/api-client.ts","../src/tix-indexer-api/create-indexer-client.ts","../../tdp-schemas/src/wallet-custody/api-key-route-keys.ts","../../tdp-schemas/src/wallet-custody/api-key-routes.ts","../src/wallet-custody/execute-wallet-custody-route.ts","../src/wallet-custody/api-client.ts","../src/wallet-custody/create-claim-wallets-client.ts","../src/wallet-custody/resolve-claim-offer.ts","../src/wallet-custody/create-transactions-client.ts","../src/wallet-custody/create-wallet-client.ts","../src/index.ts"],"sourcesContent":["import type { RoutePathParams } from \"../routes/client-request-types\";\nimport type { TixApiClient, TixApiRoutes } from \"../tix-api/api-client\";\n\nexport function createSolanaClient(tixApi: TixApiClient) {\n return {\n getEvent(\n pathParams: RoutePathParams<TixApiRoutes[\"get-event-account\"]>,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return tixApi(\n {\n route: \"get-event-account\",\n pathParams,\n },\n options,\n );\n },\n getListing(\n pathParams: RoutePathParams<TixApiRoutes[\"get-listing-account\"]>,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return tixApi(\n {\n route: \"get-listing-account\",\n pathParams,\n },\n options,\n );\n },\n getPermit(\n pathParams: RoutePathParams<TixApiRoutes[\"get-permit\"]>,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return tixApi(\n {\n route: \"get-permit\",\n pathParams,\n },\n options,\n );\n },\n getProtocolConfig(options?: Pick<RequestInit, \"signal\">) {\n return tixApi(\n {\n route: \"get-protocol-config-account\",\n },\n options,\n );\n },\n getIntegrator(\n pathParams: RoutePathParams<TixApiRoutes[\"get-integrator-account\"]>,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return tixApi(\n {\n route: \"get-integrator-account\",\n pathParams,\n },\n options,\n );\n },\n };\n}\n","import type { z } from \"zod\";\nimport { defineClientRoute } from \"../routes/define-client-route\";\nimport { ApiKeyHeadersSchema } from \"../routes/request-schemas\";\nimport { EventPathParametersSchema } from \"../tix-api/path-params\";\nimport {\n PostIntegratorMetadataRequestBodySchema,\n PostTixIndexerIntegratorMetadataResultSchema,\n} from \"./metadata\";\nimport { tixIndexerReadApiClientRoutes } from \"./read-routes\";\n\nexport { PostIntegratorMetadataRequestBodySchema } from \"./metadata\";\nexport {\n ActiveListingsQuerySchema,\n GET_ACTIVE_LISTINGS_ROUTE_KEY,\n GET_UPCOMING_EVENTS_ROUTE_KEY,\n LimitCursorQuerySchema,\n} from \"./read-routes\";\nexport const POST_INTEGRATOR_METADATA_ROUTE_KEY =\n \"POST /events/{eventId}/metadata\";\n\nexport const tixIndexerApiClientRoutes = {\n ...tixIndexerReadApiClientRoutes,\n \"post-integrator-metadata\": defineClientRoute({\n name: \"post-integrator-metadata\",\n method: \"POST\" as const,\n routeKey: POST_INTEGRATOR_METADATA_ROUTE_KEY,\n pathParamsSchema: EventPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", eventId }) =>\n `${baseApiUrl}/events/${eventId}/metadata`,\n headersSchema: ApiKeyHeadersSchema,\n requestBodySchema: PostIntegratorMetadataRequestBodySchema,\n responseBodySchema: PostTixIndexerIntegratorMetadataResultSchema,\n }),\n} as const satisfies Record<string, unknown>;\n\nexport const responseBodySchemaByRouteKey = Object.fromEntries(\n Object.values(tixIndexerApiClientRoutes).map(\n (route) => [route.routeKey, route.responseBodySchema] as const,\n ),\n) as Record<string, z.ZodType<Record<string, unknown>>>;\n","/**\n * Joins URL segments with one slash; i.e., remove repeated slashes.\n */\nexport function joinUrlSegments(baseUrl: string, path: string): string {\n return `${baseUrl.replace(/\\/+$/, \"\")}/${path.replace(/^\\/+/, \"\")}`;\n}\n","/**\n * Reads the body without letting an empty or non-JSON payload mask the HTTP status.\n **/\nexport async function readResponsePayload(\n response: Response,\n): Promise<unknown> {\n const rawBody = await response.text();\n if (rawBody.length === 0) return undefined;\n try {\n return JSON.parse(rawBody);\n } catch {\n return rawBody;\n }\n}\n","import type { z } from \"zod\";\nimport { joinUrlSegments } from \"../utils/join-url-segments\";\nimport { readResponsePayload } from \"../utils/read-response-payload\";\nimport type { AnyClientRoute } from \"./define-client-route\";\n\nexport type ClientRouteFailure = {\n kind: \"http-status\" | \"response-validation\";\n route: string;\n method: string;\n path: string;\n status: number;\n statusText: string;\n payload: unknown;\n validationError?: z.ZodError;\n};\n\n/** Builds the URL, headers, and body for a route, sends it, and parses the response through the route's schema. */\nexport async function executeClientRoute<TRoute extends AnyClientRoute>({\n baseApiUrl,\n fetchImpl,\n headers,\n signal,\n routeName,\n route,\n pathParams,\n queryParams,\n body,\n routeHeadersInput,\n createError,\n}: {\n baseApiUrl: string;\n fetchImpl: typeof fetch;\n headers?: HeadersInit;\n signal?: RequestInit[\"signal\"];\n routeName: string;\n route: TRoute;\n pathParams: unknown;\n queryParams?: unknown;\n body: unknown;\n routeHeadersInput: Record<string, string | undefined>;\n createError: (failure: ClientRouteFailure) => Error;\n}): Promise<z.output<TRoute[\"responseBodySchema\"]>> {\n // TS can't reconcile the route's output types with input types, hence the `as never` clauses.\n const path = route.buildPath(pathParams as never);\n const routeHeaders = route.buildHeaders(routeHeadersInput as never);\n const url =\n joinUrlSegments(baseApiUrl, path) +\n (queryParams === undefined\n ? \"\"\n : route.buildQueryString(queryParams as never));\n\n const requestHeaders = new Headers(headers);\n requestHeaders.set(\"content-type\", \"application/json\");\n new Headers(routeHeaders as HeadersInit).forEach((value, name) => {\n requestHeaders.set(name, value);\n });\n const response = await fetchImpl(url, {\n method: route.method,\n ...(signal === undefined ? {} : { signal }),\n headers: Object.fromEntries(requestHeaders),\n body:\n body === undefined ? undefined : route.buildJsonPayload(body as never),\n });\n const payload = await readResponsePayload(response);\n const failure = {\n route: routeName,\n method: route.method,\n path,\n status: response.status,\n statusText: response.statusText,\n payload,\n };\n if (!response.ok) throw createError({ kind: \"http-status\", ...failure });\n\n const parsed = route.responseBodySchema.safeParse(payload);\n if (!parsed.success) {\n throw createError({\n kind: \"response-validation\",\n ...failure,\n validationError: parsed.error,\n });\n }\n return parsed.data as z.output<TRoute[\"responseBodySchema\"]>;\n}\n","import type {\n ClientRouteMap,\n ClientRouteRequest,\n RouteQueryParams,\n RouteRequestField,\n RouteResponseBody,\n} from \"../routes/client-request-types\";\nimport { executeClientRoute } from \"../routes/execute-client-route\";\nimport { solanaDataApiClientRoutes } from \"../solana-data-api/routes\";\nimport { WalletCustodyApiError } from \"../wallet-custody/http-error\";\n\n/** Both APIs are mapped onto one domain under these keys. */\nexport const SOLANA_DATA_API_PATH_PREFIX = \"solana\";\nexport const TIX_INDEXER_API_PATH_PREFIX = \"tix-indexer\";\n\n/** The request for a route. No caller-settable `headers`: the client injects them itself. */\ntype FetchTixApiRequest<\n TRoutes extends ClientRouteMap,\n TRouteName extends keyof TRoutes,\n> = ClientRouteRequest<TRoutes, TRouteName> &\n RouteRequestField<\"queryParams\", RouteQueryParams<TRoutes[TRouteName]>>;\n\nexport function createTixApiClientForRoutes<TRoutes extends ClientRouteMap>({\n routes,\n baseApiUrl,\n apiKey,\n fetchImpl = fetch,\n headers,\n additionalHeaders,\n}: {\n routes: TRoutes;\n baseApiUrl: string;\n apiKey: string | (() => Promise<string>);\n fetchImpl?: typeof fetch;\n headers?: HeadersInit;\n additionalHeaders?: Parameters<\n typeof executeClientRoute\n >[0][\"routeHeadersInput\"];\n}) {\n return async function fetchTixApi<TRouteName extends keyof TRoutes & string>(\n {\n route,\n pathParams,\n queryParams,\n body,\n }: FetchTixApiRequest<TRoutes, TRouteName>,\n { signal }: Pick<RequestInit, \"signal\"> = {},\n ): Promise<RouteResponseBody<TRoutes[TRouteName]>> {\n const prefix =\n route in solanaDataApiClientRoutes\n ? SOLANA_DATA_API_PATH_PREFIX\n : TIX_INDEXER_API_PATH_PREFIX;\n return executeClientRoute({\n baseApiUrl: `${baseApiUrl}/${prefix}`,\n fetchImpl,\n headers,\n signal,\n routeName: route,\n route: routes[route],\n pathParams,\n queryParams,\n body,\n routeHeadersInput: {\n \"x-api-key\": typeof apiKey === \"string\" ? apiKey : await apiKey(),\n ...additionalHeaders,\n },\n createError: (failure) => new WalletCustodyApiError(failure),\n }) as Promise<RouteResponseBody<TRoutes[TRouteName]>>;\n };\n}\n","import { solanaDataApiClientRoutes } from \"../solana-data-api/routes\";\nimport { tixIndexerApiClientRoutes } from \"../tix-indexer-api/routes\";\nimport { createTixApiClientForRoutes } from \"./create-tix-api-client\";\n\nexport {\n SOLANA_DATA_API_PATH_PREFIX,\n TIX_INDEXER_API_PATH_PREFIX,\n} from \"./create-tix-api-client\";\n\nexport const tixApiClientRoutes = {\n ...solanaDataApiClientRoutes,\n ...tixIndexerApiClientRoutes,\n} as const;\n\nexport type TixApiRoutes = typeof tixApiClientRoutes;\nexport type TixApiClient = ReturnType<typeof createTixApiClient>;\n\nexport function createTixApiClient({\n baseApiUrl,\n apiKey,\n fetchImpl = fetch,\n headers,\n}: {\n baseApiUrl: string;\n apiKey: string | (() => Promise<string>);\n fetchImpl?: typeof fetch;\n /**\n * Additional request headers. SDK-managed headers take precedence.\n * Cross-origin browser requests require server CORS support for custom headers.\n */\n headers?: HeadersInit;\n}) {\n return createTixApiClientForRoutes({\n routes: tixApiClientRoutes,\n baseApiUrl,\n apiKey,\n fetchImpl,\n headers,\n });\n}\n","import type {\n ClientRouteRequest,\n RouteQueryParams,\n} from \"../routes/client-request-types\";\nimport type { TixApiClient, TixApiRoutes } from \"../tix-api/api-client\";\n\ntype MetadataRequest = ClientRouteRequest<\n TixApiRoutes,\n \"post-integrator-metadata\"\n>;\ntype ActiveListingsQuery = RouteQueryParams<\n TixApiRoutes[\"get-active-listings\"]\n>;\ntype UpcomingEventsQuery = RouteQueryParams<\n TixApiRoutes[\"get-upcoming-events\"]\n>;\n\nexport function createIndexerClient(tixApi: TixApiClient) {\n return {\n listActiveListings(\n queryParams: ActiveListingsQuery = {},\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return tixApi(\n {\n route: \"get-active-listings\",\n queryParams,\n },\n options,\n );\n },\n listUpcomingEvents(\n queryParams: UpcomingEventsQuery = {},\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return tixApi(\n {\n route: \"get-upcoming-events\",\n queryParams,\n },\n options,\n );\n },\n updateEventMetadata(\n {\n eventId,\n body,\n }: MetadataRequest[\"pathParams\"] & Pick<MetadataRequest, \"body\">,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return tixApi(\n {\n route: \"post-integrator-metadata\",\n pathParams: { eventId },\n body,\n },\n options,\n );\n },\n };\n}\n","export const GET_USER_ADDRESS_ROUTE_KEY =\n \"GET /wallets/users/{subject}/address\";\nexport const GET_INTEGRATOR_ADDRESS_ROUTE_KEY =\n \"GET /wallets/integrators/{subject}/address\";\nexport const SIGN_USER_TRANSACTION_ROUTE_KEY =\n \"POST /wallets/users/{subject}/signatures\";\nexport const SIGN_INTEGRATOR_TRANSACTION_ROUTE_KEY =\n \"POST /wallets/integrators/{subject}/signatures\";\nexport const SUBMIT_TENANT_TRANSACTION_ROUTE_KEY =\n \"POST /transactions/submissions\";\nexport const ACCEPT_CLAIM_OFFERS_ROUTE_KEY = \"POST /claim_wallets\";\nexport const GET_PURCHASE_STATUS_ROUTE_KEY =\n \"GET /claim_wallets/purchase-status\";\nexport const GET_FEE_PAYER_ADDRESS_ROUTE_KEY = \"GET /wallets/fee-payer/address\";\nexport const GET_PROTOCOL_AUTHORITY_ADDRESS_ROUTE_KEY =\n \"GET /wallets/protocol-authority/address\";\n","import { defineClientRoute } from \"../routes/define-client-route\";\nimport {\n ApiKeyHeadersSchema,\n IdempotencyKeyAndApiKeyHeadersSchema,\n NoPathParametersSchema,\n} from \"../routes/request-schemas\";\nimport {\n GetAddressResponseSchema,\n WalletPathParametersSchema,\n} from \"./addresses\";\nimport {\n ACCEPT_CLAIM_OFFERS_ROUTE_KEY,\n GET_FEE_PAYER_ADDRESS_ROUTE_KEY,\n GET_INTEGRATOR_ADDRESS_ROUTE_KEY,\n GET_PROTOCOL_AUTHORITY_ADDRESS_ROUTE_KEY,\n GET_PURCHASE_STATUS_ROUTE_KEY,\n GET_USER_ADDRESS_ROUTE_KEY,\n SIGN_INTEGRATOR_TRANSACTION_ROUTE_KEY,\n SIGN_USER_TRANSACTION_ROUTE_KEY,\n SUBMIT_TENANT_TRANSACTION_ROUTE_KEY,\n} from \"./api-key-route-keys\";\nimport {\n AcceptClaimOffersRequestBodySchema,\n AcceptClaimOffersResponseSchema,\n} from \"./claim-offers\";\nimport { GetPurchaseStatusResponseSchema } from \"./purchase-status\";\nimport { SignTransactionResponseSchema } from \"./signing-responses\";\nimport { SubmitTenantTransactionResponseSchema } from \"./submission-responses\";\nimport {\n SignTenantTransactionRequestBodySchema,\n SubmitTenantTransactionRequestBodySchema,\n} from \"./transaction-inputs\";\n\nexport const apiKeyWalletCustodyApiClientRoutes = {\n \"get-user-address\": defineClientRoute({\n name: \"get-user-address\",\n method: \"GET\",\n routeKey: GET_USER_ADDRESS_ROUTE_KEY,\n pathParamsSchema: WalletPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", subject }) =>\n `${baseApiUrl}/wallets/users/${subject}/address`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: GetAddressResponseSchema,\n }),\n \"get-integrator-address\": defineClientRoute({\n name: \"get-integrator-address\",\n method: \"GET\",\n routeKey: GET_INTEGRATOR_ADDRESS_ROUTE_KEY,\n pathParamsSchema: WalletPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", subject }) =>\n `${baseApiUrl}/wallets/integrators/${subject}/address`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: GetAddressResponseSchema,\n }),\n \"sign-user-transaction\": defineClientRoute({\n name: \"sign-user-transaction\",\n method: \"POST\",\n routeKey: SIGN_USER_TRANSACTION_ROUTE_KEY,\n pathParamsSchema: WalletPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", subject }) =>\n `${baseApiUrl}/wallets/users/${subject}/signatures`,\n headersSchema: IdempotencyKeyAndApiKeyHeadersSchema,\n requestBodySchema: SignTenantTransactionRequestBodySchema,\n responseBodySchema: SignTransactionResponseSchema,\n }),\n \"sign-integrator-transaction\": defineClientRoute({\n name: \"sign-integrator-transaction\",\n method: \"POST\",\n routeKey: SIGN_INTEGRATOR_TRANSACTION_ROUTE_KEY,\n pathParamsSchema: WalletPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", subject }) =>\n `${baseApiUrl}/wallets/integrators/${subject}/signatures`,\n headersSchema: IdempotencyKeyAndApiKeyHeadersSchema,\n requestBodySchema: SignTenantTransactionRequestBodySchema,\n responseBodySchema: SignTransactionResponseSchema,\n }),\n \"submit-tenant-transaction\": defineClientRoute({\n name: \"submit-tenant-transaction\",\n method: \"POST\",\n routeKey: SUBMIT_TENANT_TRANSACTION_ROUTE_KEY,\n pathParamsSchema: NoPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\" }) =>\n `${baseApiUrl}/transactions/submissions`,\n headersSchema: ApiKeyHeadersSchema,\n requestBodySchema: SubmitTenantTransactionRequestBodySchema,\n responseBodySchema: SubmitTenantTransactionResponseSchema,\n }),\n \"get-purchase-status\": defineClientRoute({\n name: \"get-purchase-status\",\n method: \"GET\",\n routeKey: GET_PURCHASE_STATUS_ROUTE_KEY,\n pathParamsSchema: NoPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\" }) =>\n `${baseApiUrl}/claim_wallets/purchase-status`,\n headersSchema: IdempotencyKeyAndApiKeyHeadersSchema,\n responseBodySchema: GetPurchaseStatusResponseSchema,\n }),\n \"accept-claim-offers\": defineClientRoute({\n name: \"accept-claim-offers\",\n method: \"POST\",\n routeKey: ACCEPT_CLAIM_OFFERS_ROUTE_KEY,\n pathParamsSchema: NoPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\" }) => `${baseApiUrl}/claim_wallets`,\n headersSchema: IdempotencyKeyAndApiKeyHeadersSchema,\n requestBodySchema: AcceptClaimOffersRequestBodySchema,\n responseBodySchema: AcceptClaimOffersResponseSchema,\n }),\n \"get-fee-payer-address\": defineClientRoute({\n name: \"get-fee-payer-address\",\n method: \"GET\",\n routeKey: GET_FEE_PAYER_ADDRESS_ROUTE_KEY,\n pathParamsSchema: NoPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\" }) =>\n `${baseApiUrl}/wallets/fee-payer/address`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: GetAddressResponseSchema,\n }),\n \"get-protocol-authority-address\": defineClientRoute({\n name: \"get-protocol-authority-address\",\n method: \"GET\",\n routeKey: GET_PROTOCOL_AUTHORITY_ADDRESS_ROUTE_KEY,\n pathParamsSchema: NoPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\" }) =>\n `${baseApiUrl}/wallets/protocol-authority/address`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: GetAddressResponseSchema,\n }),\n};\n","import type {\n ClientRouteMap,\n ClientRouteRequest,\n RouteRequestField,\n RouteRequestHeader,\n} from \"../routes/client-request-types\";\nimport type { AnyClientRoute } from \"../routes/define-client-route\";\nimport { executeClientRoute } from \"../routes/execute-client-route\";\nimport { WalletCustodyApiError } from \"./http-error\";\n\nexport type FetchWalletCustodyApiRequest<\n TRoutes extends ClientRouteMap,\n TRouteName extends keyof TRoutes,\n> = ClientRouteRequest<TRoutes, TRouteName> &\n RouteRequestField<\n \"idempotencyKey\",\n RouteRequestHeader<TRoutes[TRouteName], \"idempotency-key\">\n >;\n\nexport function executeWalletCustodyRoute<TRoute extends AnyClientRoute>(\n request: Omit<\n Parameters<typeof executeClientRoute<TRoute>>[0],\n \"createError\"\n >,\n) {\n return executeClientRoute({\n ...request,\n createError: (failure) => new WalletCustodyApiError(failure),\n } satisfies Parameters<typeof executeClientRoute<TRoute>>[0]);\n}\n","import { apiKeyWalletCustodyApiClientRoutes } from \"@kyd-labs/tdp-schemas/wallet-custody/api-key-routes\";\nimport type {\n RouteNamesRequiringHeader,\n RouteResponseBody,\n} from \"../routes/client-request-types\";\nimport {\n executeWalletCustodyRoute,\n type FetchWalletCustodyApiRequest,\n} from \"./execute-wallet-custody-route\";\nimport type { walletCustodyApiClientRoutes } from \"./routes\";\n\nexport type WalletCustodyApiClient = ReturnType<\n typeof createWalletCustodyApiClient\n>;\n\n/** Client for claim routes authorized by an API key. */\nexport function createWalletCustodyApiClient({\n baseApiUrl,\n apiKey,\n fetchImpl = fetch,\n headers,\n}: {\n baseApiUrl: string;\n apiKey: string | (() => Promise<string>);\n fetchImpl?: typeof fetch;\n headers?: HeadersInit;\n}) {\n return async function fetchWalletCustodyApi<\n TRouteName extends ApiKeyWalletCustodyApiRouteName,\n >(\n {\n route,\n pathParams,\n body,\n idempotencyKey,\n }: FetchWalletCustodyApiRequest<ApiKeyWalletCustodyApiRoutes, TRouteName>,\n { signal }: Pick<RequestInit, \"signal\"> = {},\n ): Promise<RouteResponseBody<RouteForName<TRouteName>>> {\n return executeWalletCustodyRoute({\n baseApiUrl,\n fetchImpl,\n headers,\n signal,\n routeName: route,\n route: apiKeyWalletCustodyApiClientRoutes[route],\n pathParams,\n body,\n routeHeadersInput: {\n \"x-api-key\": typeof apiKey === \"string\" ? apiKey : await apiKey(),\n \"idempotency-key\": idempotencyKey,\n },\n }) as Promise<RouteResponseBody<RouteForName<TRouteName>>>;\n };\n}\n\n// -------------------------------------- Route helper types ---------------------------------------\nexport type WalletCustodyApiRoutes = typeof walletCustodyApiClientRoutes;\nexport type ApiKeyWalletCustodyApiRoutes =\n typeof apiKeyWalletCustodyApiClientRoutes;\ntype ApiKeyWalletCustodyApiRouteName = RouteNamesRequiringHeader<\n ApiKeyWalletCustodyApiRoutes,\n \"x-api-key\"\n>;\ntype RouteForName<TRouteName extends ApiKeyWalletCustodyApiRouteName> =\n ApiKeyWalletCustodyApiRoutes[TRouteName];\n","import { TicketPathParametersSchema } from \"@kyd-labs/tdp-schemas/tix-api/path-params\";\nimport { AcceptClaimOffersRequestBodySchema } from \"@kyd-labs/tdp-schemas/wallet-custody/claim-offers\";\nimport { MAX_PERMITS_PER_CLAIM_WALLET } from \"@kyd-labs/tdp-schemas/wallet-custody/const\";\nimport { requireUniquePermitKeys } from \"@kyd-labs/tix-wire-schema/instructions\";\nimport { z } from \"zod\";\nimport type {\n RouteRequestField,\n RouteRequestHeader,\n} from \"../routes/client-request-types\";\nimport type { createSolanaClient } from \"../solana-data-api/create-solana-client\";\nimport type {\n ApiKeyWalletCustodyApiRoutes,\n WalletCustodyApiClient,\n} from \"./api-client\";\nimport { resolveClaimOffer } from \"./resolve-claim-offer\";\n\ntype AcceptOffersRoute = ApiKeyWalletCustodyApiRoutes[\"accept-claim-offers\"];\n\nconst AcceptOffersBodySchema = AcceptClaimOffersRequestBodySchema.extend({\n offers: z\n .array(TicketPathParametersSchema)\n .min(1)\n .max(MAX_PERMITS_PER_CLAIM_WALLET)\n .superRefine(requireUniquePermitKeys),\n});\n\nexport function createClaimWalletsClient(\n walletCustodyApi: WalletCustodyApiClient,\n solana: ReturnType<typeof createSolanaClient>,\n) {\n return {\n getPurchaseStatus(\n {\n idempotencyKey,\n }: RouteRequestField<\n \"idempotencyKey\",\n RouteRequestHeader<\n ApiKeyWalletCustodyApiRoutes[\"get-purchase-status\"],\n \"idempotency-key\"\n >\n >,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return walletCustodyApi(\n { route: \"get-purchase-status\", idempotencyKey },\n options,\n );\n },\n async acceptOffers(\n {\n idempotencyKey,\n body,\n }: RouteRequestField<\"body\", z.input<typeof AcceptOffersBodySchema>> &\n RouteRequestField<\n \"idempotencyKey\",\n RouteRequestHeader<AcceptOffersRoute, \"idempotency-key\">\n >,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n const parsedBody = AcceptOffersBodySchema.parse(body);\n const protocol = await solana.getProtocolConfig(options);\n const events = new Map<string, ReturnType<typeof solana.getEvent>>();\n const offers = await Promise.all(\n parsedBody.offers.map((ticket) => {\n const eventId = String(ticket.eventId);\n const event =\n events.get(eventId) ?? solana.getEvent({ eventId }, options);\n events.set(eventId, event);\n return resolveClaimOffer(solana, ticket, protocol, event, options);\n }),\n );\n return walletCustodyApi(\n {\n route: \"accept-claim-offers\",\n body: { ...parsedBody, offers },\n idempotencyKey,\n },\n options,\n );\n },\n };\n}\n","import type { createSolanaClient } from \"../solana-data-api/create-solana-client\";\n\ntype SolanaClient = ReturnType<typeof createSolanaClient>;\n\n/** Resolves a ticket selection into the existing claim-purchase offer payload. */\nexport async function resolveClaimOffer(\n solana: SolanaClient,\n ticket: Parameters<SolanaClient[\"getListing\"]>[0],\n protocol: Awaited<ReturnType<SolanaClient[\"getProtocolConfig\"]>>,\n eventResponse: ReturnType<SolanaClient[\"getEvent\"]>,\n options?: Pick<RequestInit, \"signal\">,\n) {\n const [listing, event, permit] = await Promise.all([\n solana.getListing(ticket, options),\n eventResponse,\n solana.getPermit(ticket, options),\n ]);\n return {\n event_id: listing.event_id,\n ticket_id: listing.ticket_id,\n permit_version: listing.permit_version,\n seller_payout: listing.payout_ata,\n royalty_destinations:\n event.royalty_recipients_count > 0\n ? event.royalty_recipients\n .slice(0, event.royalty_recipients_count)\n .map(({ destination }) => destination)\n : [protocol.default_royalty_vault],\n ticket_type_config: permit.ticket_type_config,\n usdc_mint: protocol.usdc_mint,\n };\n}\n","import type {\n RoutePathParams,\n RouteRequestBody,\n RouteRequestField,\n RouteRequestHeader,\n} from \"../routes/client-request-types\";\nimport type {\n ApiKeyWalletCustodyApiRoutes,\n WalletCustodyApiClient,\n} from \"./api-client\";\n\ntype SignTransactionInput<\n TRoute extends \"sign-user-transaction\" | \"sign-integrator-transaction\",\n> = RoutePathParams<ApiKeyWalletCustodyApiRoutes[TRoute]> &\n RouteRequestField<\n \"body\",\n RouteRequestBody<ApiKeyWalletCustodyApiRoutes[TRoute]>\n > &\n RouteRequestField<\n \"idempotencyKey\",\n RouteRequestHeader<ApiKeyWalletCustodyApiRoutes[TRoute], \"idempotency-key\">\n >;\n\nexport function createTransactionsClient(\n walletCustodyApi: WalletCustodyApiClient,\n) {\n return {\n signUser(\n {\n subject,\n idempotencyKey,\n body,\n }: SignTransactionInput<\"sign-user-transaction\">,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return walletCustodyApi(\n {\n route: \"sign-user-transaction\",\n pathParams: { subject },\n body,\n idempotencyKey,\n },\n options,\n );\n },\n signIntegrator(\n {\n subject,\n idempotencyKey,\n body,\n }: SignTransactionInput<\"sign-integrator-transaction\">,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return walletCustodyApi(\n {\n route: \"sign-integrator-transaction\",\n pathParams: { subject },\n body,\n idempotencyKey,\n },\n options,\n );\n },\n submit(\n {\n body,\n }: RouteRequestField<\n \"body\",\n RouteRequestBody<\n ApiKeyWalletCustodyApiRoutes[\"submit-tenant-transaction\"]\n >\n >,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return walletCustodyApi(\n {\n route: \"submit-tenant-transaction\",\n body,\n },\n options,\n );\n },\n };\n}\n","import type { RoutePathParams } from \"../routes/client-request-types\";\nimport type {\n ApiKeyWalletCustodyApiRoutes,\n WalletCustodyApiClient,\n} from \"./api-client\";\n\nexport function createWalletClient(walletCustodyApi: WalletCustodyApiClient) {\n return {\n getUserAddress(\n pathParams: RoutePathParams<\n ApiKeyWalletCustodyApiRoutes[\"get-user-address\"]\n >,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return walletCustodyApi(\n {\n route: \"get-user-address\",\n pathParams,\n },\n options,\n );\n },\n getIntegratorAddress(\n pathParams: RoutePathParams<\n ApiKeyWalletCustodyApiRoutes[\"get-integrator-address\"]\n >,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return walletCustodyApi(\n {\n route: \"get-integrator-address\",\n pathParams,\n },\n options,\n );\n },\n getFeePayerAddress(options?: Pick<RequestInit, \"signal\">) {\n return walletCustodyApi(\n {\n route: \"get-fee-payer-address\",\n },\n options,\n );\n },\n getProtocolAuthorityAddress(options?: Pick<RequestInit, \"signal\">) {\n return walletCustodyApi(\n {\n route: \"get-protocol-authority-address\",\n },\n options,\n );\n },\n };\n}\n","import { createSolanaClient } from \"./solana-data-api/create-solana-client\";\nimport { createTixApiClient } from \"./tix-api/api-client\";\nimport { createIndexerClient } from \"./tix-indexer-api/create-indexer-client\";\nimport { createWalletCustodyApiClient } from \"./wallet-custody/api-client\";\nimport { createClaimWalletsClient } from \"./wallet-custody/create-claim-wallets-client\";\nimport { createTransactionsClient } from \"./wallet-custody/create-transactions-client\";\nimport { createWalletClient } from \"./wallet-custody/create-wallet-client\";\n\nexport type * from \"./types/index\";\n\nexport type TdpClientOptions = Parameters<typeof createTixApiClient>[0];\nexport type TdpClient = ReturnType<typeof createTdpClient>;\n\nexport function createTdpClient(options: TdpClientOptions) {\n const tixApi = createTixApiClient(options);\n const walletCustodyApi = createWalletCustodyApiClient(options);\n const solana = createSolanaClient(tixApi);\n return {\n solana,\n indexer: createIndexerClient(tixApi),\n wallets: createWalletClient(walletCustodyApi),\n transactions: createTransactionsClient(walletCustodyApi),\n claimWallets: createClaimWalletsClient(walletCustodyApi, solana),\n };\n}\n"],"mappings":"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","names":["responseBodySchemaByRouteKey"]}
|
|
1
|
+
{"version":3,"sources":["../src/solana-data-api/create-solana-client.ts","../../tdp-schemas/src/tix-indexer-api/routes.ts","../src/routes/create-tdp-api-error-from-route-failure.ts","../src/routes/execute-client-route.ts","../src/utils/join-url-segments.ts","../src/utils/read-response-payload.ts","../src/tix-api/create-tix-api-client.ts","../src/tix-api/api-client.ts","../src/tix-indexer-api/create-indexer-client.ts","../../tdp-schemas/src/wallet-custody/api-key-route-keys.ts","../../tdp-schemas/src/wallet-custody/api-key-routes.ts","../src/wallet-custody/execute-wallet-custody-route.ts","../src/wallet-custody/api-client.ts","../src/wallet-custody/create-claim-wallets-client.ts","../src/wallet-custody/resolve-claim-offer.ts","../src/wallet-custody/const.ts","../src/wallet-custody/create-transactions-client.ts","../src/wallet-custody/create-wallet-client.ts","../src/index.ts"],"sourcesContent":["import type { RoutePathParams } from \"../routes/client-request-types\";\nimport type { TixApiClient, TixApiRoutes } from \"../tix-api/api-client\";\n\nexport function createSolanaClient(tixApi: TixApiClient) {\n return {\n getEvent(\n pathParams: RoutePathParams<TixApiRoutes[\"get-event-account\"]>,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return tixApi(\n {\n route: \"get-event-account\",\n pathParams,\n },\n options,\n );\n },\n getListing(\n pathParams: RoutePathParams<TixApiRoutes[\"get-listing-account\"]>,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return tixApi(\n {\n route: \"get-listing-account\",\n pathParams,\n },\n options,\n );\n },\n getPermit(\n pathParams: RoutePathParams<TixApiRoutes[\"get-permit\"]>,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return tixApi(\n {\n route: \"get-permit\",\n pathParams,\n },\n options,\n );\n },\n getProtocolConfig(options?: Pick<RequestInit, \"signal\">) {\n return tixApi(\n {\n route: \"get-protocol-config-account\",\n },\n options,\n );\n },\n getIntegrator(\n pathParams: RoutePathParams<TixApiRoutes[\"get-integrator-account\"]>,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return tixApi(\n {\n route: \"get-integrator-account\",\n pathParams,\n },\n options,\n );\n },\n };\n}\n","import type { z } from \"zod\";\nimport { defineClientRoute } from \"../routes/define-client-route\";\nimport { ApiKeyHeadersSchema } from \"../routes/request-schemas\";\nimport { EventPathParametersSchema } from \"../tix-api/path-params\";\nimport {\n PostIntegratorMetadataRequestBodySchema,\n PostTixIndexerIntegratorMetadataResultSchema,\n} from \"./metadata\";\nimport { tixIndexerReadApiClientRoutes } from \"./read-routes\";\n\nexport { PostIntegratorMetadataRequestBodySchema } from \"./metadata\";\nexport {\n ActiveListingsQuerySchema,\n GET_ACTIVE_LISTINGS_ROUTE_KEY,\n GET_UPCOMING_EVENTS_ROUTE_KEY,\n LimitCursorQuerySchema,\n} from \"./read-routes\";\nexport const POST_INTEGRATOR_METADATA_ROUTE_KEY =\n \"POST /events/{eventId}/metadata\";\n\nexport const tixIndexerApiClientRoutes = {\n ...tixIndexerReadApiClientRoutes,\n \"post-integrator-metadata\": defineClientRoute({\n name: \"post-integrator-metadata\",\n method: \"POST\" as const,\n routeKey: POST_INTEGRATOR_METADATA_ROUTE_KEY,\n pathParamsSchema: EventPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", eventId }) =>\n `${baseApiUrl}/events/${eventId}/metadata`,\n headersSchema: ApiKeyHeadersSchema,\n requestBodySchema: PostIntegratorMetadataRequestBodySchema,\n responseBodySchema: PostTixIndexerIntegratorMetadataResultSchema,\n }),\n} as const satisfies Record<string, unknown>;\n\nexport const responseBodySchemaByRouteKey = Object.fromEntries(\n Object.values(tixIndexerApiClientRoutes).map(\n (route) => [route.routeKey, route.responseBodySchema] as const,\n ),\n) as Record<string, z.ZodType<Record<string, unknown>>>;\n","import {\n TdpApiError,\n TdpResponseValidationError,\n} from \"../wallet-custody/http-error\";\nimport type { ClientRouteFailure } from \"./execute-client-route\";\n\nexport function createTdpApiErrorFromRouteFailure(failure: ClientRouteFailure) {\n return failure.kind === \"response-validation\"\n ? new TdpResponseValidationError(failure)\n : new TdpApiError(failure);\n}\n","import { z } from \"zod\";\nimport { joinUrlSegments } from \"../utils/join-url-segments\";\nimport { readResponsePayload } from \"../utils/read-response-payload\";\nimport type { AnyClientRoute } from \"./define-client-route\";\n\nexport type ClientRouteFailure = {\n kind: \"http-status\" | \"response-validation\";\n route: string;\n method: string;\n path: string;\n status: number;\n statusText: string;\n payload: unknown;\n code?: string;\n requestId?: string;\n validationError?: z.ZodError;\n};\n\nconst ErrorBodyCodeSchema = z.object({ code: z.string() });\n\n/** Builds the URL, headers, and body for a route, sends it, and parses the response through the route's schema. */\nexport async function executeClientRoute<TRoute extends AnyClientRoute>({\n baseApiUrl,\n fetchImpl,\n headers,\n signal,\n routeName,\n route,\n pathParams,\n queryParams,\n body,\n routeHeadersInput,\n createError,\n}: {\n baseApiUrl: string;\n fetchImpl: typeof fetch;\n headers?: HeadersInit;\n signal?: RequestInit[\"signal\"];\n routeName: string;\n route: TRoute;\n pathParams: unknown;\n queryParams?: unknown;\n body: unknown;\n routeHeadersInput: Record<string, string | undefined>;\n createError: (failure: ClientRouteFailure) => Error;\n}): Promise<z.output<TRoute[\"responseBodySchema\"]>> {\n // TS can't reconcile the route's output types with input types, hence the `as never` clauses.\n const path = route.buildPath(pathParams as never);\n const routeHeaders = route.buildHeaders(routeHeadersInput as never);\n const url =\n joinUrlSegments(baseApiUrl, path) +\n (queryParams === undefined\n ? \"\"\n : route.buildQueryString(queryParams as never));\n\n const requestHeaders = new Headers(headers);\n requestHeaders.set(\"content-type\", \"application/json\");\n new Headers(routeHeaders as HeadersInit).forEach((value, name) => {\n requestHeaders.set(name, value);\n });\n const response = await fetchImpl(url, {\n method: route.method,\n ...(signal === undefined ? {} : { signal }),\n headers: Object.fromEntries(requestHeaders),\n body:\n body === undefined ? undefined : route.buildJsonPayload(body as never),\n });\n const payload = await readResponsePayload(response);\n const failure = {\n route: routeName,\n method: route.method,\n path,\n status: response.status,\n statusText: response.statusText,\n payload,\n requestId: response.headers.get(\"apigw-requestid\") ?? undefined,\n };\n if (!response.ok) {\n throw createError({\n kind: \"http-status\",\n ...failure,\n code: ErrorBodyCodeSchema.safeParse(payload).data?.code,\n });\n }\n\n const parsed = route.responseBodySchema.safeParse(payload);\n if (!parsed.success) {\n throw createError({\n kind: \"response-validation\",\n ...failure,\n validationError: parsed.error,\n });\n }\n return parsed.data as z.output<TRoute[\"responseBodySchema\"]>;\n}\n","/**\n * Joins URL segments with one slash; i.e., remove repeated slashes.\n */\nexport function joinUrlSegments(baseUrl: string, path: string): string {\n return `${baseUrl.replace(/\\/+$/, \"\")}/${path.replace(/^\\/+/, \"\")}`;\n}\n","/**\n * Reads the body without letting an empty or non-JSON payload mask the HTTP status.\n **/\nexport async function readResponsePayload(\n response: Response,\n): Promise<unknown> {\n const rawBody = await response.text();\n if (rawBody.length === 0) return undefined;\n try {\n return JSON.parse(rawBody);\n } catch {\n return rawBody;\n }\n}\n","import type {\n ClientRouteMap,\n ClientRouteRequest,\n RouteQueryParams,\n RouteRequestField,\n RouteResponseBody,\n} from \"../routes/client-request-types\";\nimport { createTdpApiErrorFromRouteFailure } from \"../routes/create-tdp-api-error-from-route-failure\";\nimport { executeClientRoute } from \"../routes/execute-client-route\";\nimport { solanaDataApiClientRoutes } from \"../solana-data-api/routes\";\n\n/** Both APIs are mapped onto one domain under these keys. */\nexport const SOLANA_DATA_API_PATH_PREFIX = \"solana\";\nexport const TIX_INDEXER_API_PATH_PREFIX = \"tix-indexer\";\n\n/** The request for a route. No caller-settable `headers`: the client injects them itself. */\ntype FetchTixApiRequest<\n TRoutes extends ClientRouteMap,\n TRouteName extends keyof TRoutes,\n> = ClientRouteRequest<TRoutes, TRouteName> &\n RouteRequestField<\"queryParams\", RouteQueryParams<TRoutes[TRouteName]>>;\n\nexport function createTixApiClientForRoutes<TRoutes extends ClientRouteMap>({\n routes,\n baseApiUrl,\n apiKey,\n fetchImpl = fetch,\n headers,\n additionalHeaders,\n}: {\n routes: TRoutes;\n baseApiUrl: string;\n apiKey: string | (() => Promise<string>);\n fetchImpl?: typeof fetch;\n headers?: HeadersInit;\n additionalHeaders?: Parameters<\n typeof executeClientRoute\n >[0][\"routeHeadersInput\"];\n}) {\n return async function fetchTixApi<TRouteName extends keyof TRoutes & string>(\n {\n route,\n pathParams,\n queryParams,\n body,\n }: FetchTixApiRequest<TRoutes, TRouteName>,\n { signal }: Pick<RequestInit, \"signal\"> = {},\n ): Promise<RouteResponseBody<TRoutes[TRouteName]>> {\n const prefix =\n route in solanaDataApiClientRoutes\n ? SOLANA_DATA_API_PATH_PREFIX\n : TIX_INDEXER_API_PATH_PREFIX;\n return executeClientRoute({\n baseApiUrl: `${baseApiUrl}/${prefix}`,\n fetchImpl,\n headers,\n signal,\n routeName: route,\n route: routes[route],\n pathParams,\n queryParams,\n body,\n routeHeadersInput: {\n \"x-api-key\": typeof apiKey === \"string\" ? apiKey : await apiKey(),\n ...additionalHeaders,\n },\n createError: createTdpApiErrorFromRouteFailure,\n }) as Promise<RouteResponseBody<TRoutes[TRouteName]>>;\n };\n}\n","import { solanaDataApiClientRoutes } from \"../solana-data-api/routes\";\nimport { tixIndexerApiClientRoutes } from \"../tix-indexer-api/routes\";\nimport { createTixApiClientForRoutes } from \"./create-tix-api-client\";\n\nexport {\n SOLANA_DATA_API_PATH_PREFIX,\n TIX_INDEXER_API_PATH_PREFIX,\n} from \"./create-tix-api-client\";\n\nexport const tixApiClientRoutes = {\n ...solanaDataApiClientRoutes,\n ...tixIndexerApiClientRoutes,\n} as const;\n\nexport type TixApiRoutes = typeof tixApiClientRoutes;\nexport type TixApiClient = ReturnType<typeof createTixApiClient>;\n\nexport function createTixApiClient({\n baseApiUrl,\n apiKey,\n fetchImpl = fetch,\n headers,\n}: {\n baseApiUrl: string;\n apiKey: string | (() => Promise<string>);\n fetchImpl?: typeof fetch;\n /**\n * Additional request headers. SDK-managed headers take precedence.\n * Cross-origin browser requests require server CORS support for custom headers.\n */\n headers?: HeadersInit;\n}) {\n return createTixApiClientForRoutes({\n routes: tixApiClientRoutes,\n baseApiUrl,\n apiKey,\n fetchImpl,\n headers,\n });\n}\n","import type {\n ClientRouteRequest,\n RouteQueryParams,\n} from \"../routes/client-request-types\";\nimport type { TixApiClient, TixApiRoutes } from \"../tix-api/api-client\";\n\ntype MetadataRequest = ClientRouteRequest<\n TixApiRoutes,\n \"post-integrator-metadata\"\n>;\n/** The route schemas coerce `limit` from a query string, which leaves its input type as `unknown`. */\ntype WithNumericLimit<TQuery> = Omit<TQuery, \"limit\"> & { limit?: number };\ntype ActiveListingsQuery = WithNumericLimit<\n RouteQueryParams<TixApiRoutes[\"get-active-listings\"]>\n>;\ntype UpcomingEventsQuery = WithNumericLimit<\n RouteQueryParams<TixApiRoutes[\"get-upcoming-events\"]>\n>;\n\nexport function createIndexerClient(tixApi: TixApiClient) {\n return {\n listActiveListings(\n queryParams: ActiveListingsQuery,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return tixApi(\n {\n route: \"get-active-listings\",\n queryParams,\n },\n options,\n );\n },\n listUpcomingEvents(\n queryParams: UpcomingEventsQuery = {},\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return tixApi(\n {\n route: \"get-upcoming-events\",\n queryParams,\n },\n options,\n );\n },\n updateEventMetadata(\n {\n eventId,\n body,\n }: MetadataRequest[\"pathParams\"] & Pick<MetadataRequest, \"body\">,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return tixApi(\n {\n route: \"post-integrator-metadata\",\n pathParams: { eventId },\n body,\n },\n options,\n );\n },\n };\n}\n","export const GET_USER_ADDRESS_ROUTE_KEY =\n \"GET /wallets/users/{subject}/address\";\nexport const GET_INTEGRATOR_ADDRESS_ROUTE_KEY =\n \"GET /wallets/integrators/{subject}/address\";\nexport const SIGN_USER_TRANSACTION_ROUTE_KEY =\n \"POST /wallets/users/{subject}/signatures\";\nexport const SIGN_INTEGRATOR_TRANSACTION_ROUTE_KEY =\n \"POST /wallets/integrators/{subject}/signatures\";\nexport const SUBMIT_TENANT_TRANSACTION_ROUTE_KEY =\n \"POST /transactions/submissions\";\nexport const ACCEPT_CLAIM_OFFERS_ROUTE_KEY = \"POST /claim_wallets\";\nexport const GET_PURCHASE_STATUS_ROUTE_KEY =\n \"GET /claim_wallets/purchase-status\";\nexport const GET_FEE_PAYER_ADDRESS_ROUTE_KEY = \"GET /wallets/fee-payer/address\";\nexport const GET_PROTOCOL_AUTHORITY_ADDRESS_ROUTE_KEY =\n \"GET /wallets/protocol-authority/address\";\n","import { defineClientRoute } from \"../routes/define-client-route\";\nimport {\n ApiKeyHeadersSchema,\n IdempotencyKeyAndApiKeyHeadersSchema,\n NoPathParametersSchema,\n} from \"../routes/request-schemas\";\nimport {\n GetAddressResponseSchema,\n WalletPathParametersSchema,\n} from \"./addresses\";\nimport {\n ACCEPT_CLAIM_OFFERS_ROUTE_KEY,\n GET_FEE_PAYER_ADDRESS_ROUTE_KEY,\n GET_INTEGRATOR_ADDRESS_ROUTE_KEY,\n GET_PROTOCOL_AUTHORITY_ADDRESS_ROUTE_KEY,\n GET_PURCHASE_STATUS_ROUTE_KEY,\n GET_USER_ADDRESS_ROUTE_KEY,\n SIGN_INTEGRATOR_TRANSACTION_ROUTE_KEY,\n SIGN_USER_TRANSACTION_ROUTE_KEY,\n SUBMIT_TENANT_TRANSACTION_ROUTE_KEY,\n} from \"./api-key-route-keys\";\nimport {\n AcceptClaimOffersRequestBodySchema,\n AcceptClaimOffersResponseSchema,\n} from \"./claim-offers\";\nimport { GetPurchaseStatusResponseSchema } from \"./purchase-status\";\nimport { SignTransactionResponseSchema } from \"./signing-responses\";\nimport { SubmitTenantTransactionResponseSchema } from \"./submission-responses\";\nimport {\n SignTenantTransactionRequestBodySchema,\n SubmitTenantTransactionRequestBodySchema,\n} from \"./transaction-inputs\";\n\nexport const apiKeyWalletCustodyApiClientRoutes = {\n \"get-user-address\": defineClientRoute({\n name: \"get-user-address\",\n method: \"GET\",\n routeKey: GET_USER_ADDRESS_ROUTE_KEY,\n pathParamsSchema: WalletPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", subject }) =>\n `${baseApiUrl}/wallets/users/${subject}/address`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: GetAddressResponseSchema,\n }),\n \"get-integrator-address\": defineClientRoute({\n name: \"get-integrator-address\",\n method: \"GET\",\n routeKey: GET_INTEGRATOR_ADDRESS_ROUTE_KEY,\n pathParamsSchema: WalletPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", subject }) =>\n `${baseApiUrl}/wallets/integrators/${subject}/address`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: GetAddressResponseSchema,\n }),\n \"sign-user-transaction\": defineClientRoute({\n name: \"sign-user-transaction\",\n method: \"POST\",\n routeKey: SIGN_USER_TRANSACTION_ROUTE_KEY,\n pathParamsSchema: WalletPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", subject }) =>\n `${baseApiUrl}/wallets/users/${subject}/signatures`,\n headersSchema: IdempotencyKeyAndApiKeyHeadersSchema,\n requestBodySchema: SignTenantTransactionRequestBodySchema,\n responseBodySchema: SignTransactionResponseSchema,\n }),\n \"sign-integrator-transaction\": defineClientRoute({\n name: \"sign-integrator-transaction\",\n method: \"POST\",\n routeKey: SIGN_INTEGRATOR_TRANSACTION_ROUTE_KEY,\n pathParamsSchema: WalletPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", subject }) =>\n `${baseApiUrl}/wallets/integrators/${subject}/signatures`,\n headersSchema: IdempotencyKeyAndApiKeyHeadersSchema,\n requestBodySchema: SignTenantTransactionRequestBodySchema,\n responseBodySchema: SignTransactionResponseSchema,\n }),\n \"submit-tenant-transaction\": defineClientRoute({\n name: \"submit-tenant-transaction\",\n method: \"POST\",\n routeKey: SUBMIT_TENANT_TRANSACTION_ROUTE_KEY,\n pathParamsSchema: NoPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\" }) =>\n `${baseApiUrl}/transactions/submissions`,\n headersSchema: ApiKeyHeadersSchema,\n requestBodySchema: SubmitTenantTransactionRequestBodySchema,\n responseBodySchema: SubmitTenantTransactionResponseSchema,\n }),\n \"get-purchase-status\": defineClientRoute({\n name: \"get-purchase-status\",\n method: \"GET\",\n routeKey: GET_PURCHASE_STATUS_ROUTE_KEY,\n pathParamsSchema: NoPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\" }) =>\n `${baseApiUrl}/claim_wallets/purchase-status`,\n headersSchema: IdempotencyKeyAndApiKeyHeadersSchema,\n responseBodySchema: GetPurchaseStatusResponseSchema,\n }),\n \"accept-claim-offers\": defineClientRoute({\n name: \"accept-claim-offers\",\n method: \"POST\",\n routeKey: ACCEPT_CLAIM_OFFERS_ROUTE_KEY,\n pathParamsSchema: NoPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\" }) => `${baseApiUrl}/claim_wallets`,\n headersSchema: IdempotencyKeyAndApiKeyHeadersSchema,\n requestBodySchema: AcceptClaimOffersRequestBodySchema,\n responseBodySchema: AcceptClaimOffersResponseSchema,\n }),\n \"get-fee-payer-address\": defineClientRoute({\n name: \"get-fee-payer-address\",\n method: \"GET\",\n routeKey: GET_FEE_PAYER_ADDRESS_ROUTE_KEY,\n pathParamsSchema: NoPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\" }) =>\n `${baseApiUrl}/wallets/fee-payer/address`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: GetAddressResponseSchema,\n }),\n \"get-protocol-authority-address\": defineClientRoute({\n name: \"get-protocol-authority-address\",\n method: \"GET\",\n routeKey: GET_PROTOCOL_AUTHORITY_ADDRESS_ROUTE_KEY,\n pathParamsSchema: NoPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\" }) =>\n `${baseApiUrl}/wallets/protocol-authority/address`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: GetAddressResponseSchema,\n }),\n};\n","import type {\n ClientRouteMap,\n ClientRouteRequest,\n RouteRequestField,\n RouteRequestHeader,\n} from \"../routes/client-request-types\";\nimport { createTdpApiErrorFromRouteFailure } from \"../routes/create-tdp-api-error-from-route-failure\";\nimport type { AnyClientRoute } from \"../routes/define-client-route\";\nimport { executeClientRoute } from \"../routes/execute-client-route\";\n\nexport type FetchWalletCustodyApiRequest<\n TRoutes extends ClientRouteMap,\n TRouteName extends keyof TRoutes,\n> = ClientRouteRequest<TRoutes, TRouteName> &\n RouteRequestField<\n \"idempotencyKey\",\n RouteRequestHeader<TRoutes[TRouteName], \"idempotency-key\">\n >;\n\nexport function executeWalletCustodyRoute<TRoute extends AnyClientRoute>(\n request: Omit<\n Parameters<typeof executeClientRoute<TRoute>>[0],\n \"createError\"\n >,\n) {\n return executeClientRoute({\n ...request,\n createError: createTdpApiErrorFromRouteFailure,\n } satisfies Parameters<typeof executeClientRoute<TRoute>>[0]);\n}\n","import { apiKeyWalletCustodyApiClientRoutes } from \"@kyd-labs/tdp-schemas/wallet-custody/api-key-routes\";\nimport type {\n RouteNamesRequiringHeader,\n RouteResponseBody,\n} from \"../routes/client-request-types\";\nimport {\n executeWalletCustodyRoute,\n type FetchWalletCustodyApiRequest,\n} from \"./execute-wallet-custody-route\";\nimport type { walletCustodyApiClientRoutes } from \"./routes\";\n\nexport type WalletCustodyApiClient = ReturnType<\n typeof createWalletCustodyApiClient\n>;\n\n/** Client for claim routes authorized by an API key. */\nexport function createWalletCustodyApiClient({\n baseApiUrl,\n apiKey,\n fetchImpl = fetch,\n headers,\n}: {\n baseApiUrl: string;\n apiKey: string | (() => Promise<string>);\n fetchImpl?: typeof fetch;\n headers?: HeadersInit;\n}) {\n return async function fetchWalletCustodyApi<\n TRouteName extends ApiKeyWalletCustodyApiRouteName,\n >(\n {\n route,\n pathParams,\n body,\n idempotencyKey,\n }: FetchWalletCustodyApiRequest<ApiKeyWalletCustodyApiRoutes, TRouteName>,\n { signal }: Pick<RequestInit, \"signal\"> = {},\n ): Promise<RouteResponseBody<RouteForName<TRouteName>>> {\n return executeWalletCustodyRoute({\n baseApiUrl,\n fetchImpl,\n headers,\n signal,\n routeName: route,\n route: apiKeyWalletCustodyApiClientRoutes[route],\n pathParams,\n body,\n routeHeadersInput: {\n \"x-api-key\": typeof apiKey === \"string\" ? apiKey : await apiKey(),\n \"idempotency-key\": idempotencyKey,\n },\n }) as Promise<RouteResponseBody<RouteForName<TRouteName>>>;\n };\n}\n\n// -------------------------------------- Route helper types ---------------------------------------\nexport type WalletCustodyApiRoutes = typeof walletCustodyApiClientRoutes;\nexport type ApiKeyWalletCustodyApiRoutes =\n typeof apiKeyWalletCustodyApiClientRoutes;\ntype ApiKeyWalletCustodyApiRouteName = RouteNamesRequiringHeader<\n ApiKeyWalletCustodyApiRoutes,\n \"x-api-key\"\n>;\ntype RouteForName<TRouteName extends ApiKeyWalletCustodyApiRouteName> =\n ApiKeyWalletCustodyApiRoutes[TRouteName];\n","import { TicketPathParametersSchema } from \"@kyd-labs/tdp-schemas/tix-api/path-params\";\nimport { AcceptClaimOffersRequestBodySchema } from \"@kyd-labs/tdp-schemas/wallet-custody/claim-offers\";\nimport { MAX_PERMITS_PER_CLAIM_WALLET } from \"@kyd-labs/tdp-schemas/wallet-custody/const\";\nimport { requireUniquePermitKeys } from \"@kyd-labs/tix-wire-schema/instructions\";\nimport { z } from \"zod\";\nimport type {\n RouteRequestField,\n RouteRequestHeader,\n} from \"../routes/client-request-types\";\nimport type { createSolanaClient } from \"../solana-data-api/create-solana-client\";\nimport type {\n ApiKeyWalletCustodyApiRoutes,\n WalletCustodyApiClient,\n} from \"./api-client\";\nimport { resolveClaimOffer } from \"./resolve-claim-offer\";\n\ntype AcceptOffersRoute = ApiKeyWalletCustodyApiRoutes[\"accept-claim-offers\"];\n\nconst AcceptOffersBodySchema = AcceptClaimOffersRequestBodySchema.extend({\n offers: z\n .array(TicketPathParametersSchema)\n .min(1)\n .max(MAX_PERMITS_PER_CLAIM_WALLET)\n .superRefine(requireUniquePermitKeys),\n});\n\nexport function createClaimWalletsClient(\n walletCustodyApi: WalletCustodyApiClient,\n solana: ReturnType<typeof createSolanaClient>,\n) {\n return {\n getPurchaseStatus(\n {\n idempotencyKey,\n }: RouteRequestField<\n \"idempotencyKey\",\n RouteRequestHeader<\n ApiKeyWalletCustodyApiRoutes[\"get-purchase-status\"],\n \"idempotency-key\"\n >\n >,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return walletCustodyApi(\n { route: \"get-purchase-status\", idempotencyKey },\n options,\n );\n },\n async acceptOffers(\n {\n idempotencyKey,\n body,\n }: RouteRequestField<\"body\", z.input<typeof AcceptOffersBodySchema>> &\n RouteRequestField<\n \"idempotencyKey\",\n RouteRequestHeader<AcceptOffersRoute, \"idempotency-key\">\n >,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n const parsedBody = AcceptOffersBodySchema.parse(body);\n const protocol = await solana.getProtocolConfig(options);\n const events = new Map<string, ReturnType<typeof solana.getEvent>>();\n const offers = await Promise.all(\n parsedBody.offers.map((ticket) => {\n const eventId = String(ticket.eventId);\n const event =\n events.get(eventId) ?? solana.getEvent({ eventId }, options);\n events.set(eventId, event);\n return resolveClaimOffer(solana, ticket, protocol, event, options);\n }),\n );\n return walletCustodyApi(\n {\n route: \"accept-claim-offers\",\n body: { ...parsedBody, offers },\n idempotencyKey,\n },\n options,\n );\n },\n };\n}\n","import type { createSolanaClient } from \"../solana-data-api/create-solana-client\";\n\ntype SolanaClient = ReturnType<typeof createSolanaClient>;\n\n/** Resolves a ticket selection into the existing claim-purchase offer payload. */\nexport async function resolveClaimOffer(\n solana: SolanaClient,\n ticket: Parameters<SolanaClient[\"getListing\"]>[0],\n protocol: Awaited<ReturnType<SolanaClient[\"getProtocolConfig\"]>>,\n eventResponse: ReturnType<SolanaClient[\"getEvent\"]>,\n options?: Pick<RequestInit, \"signal\">,\n) {\n const [listing, event, permit] = await Promise.all([\n solana.getListing(ticket, options),\n eventResponse,\n solana.getPermit(ticket, options),\n ]);\n return {\n event_id: listing.event_id,\n ticket_id: listing.ticket_id,\n permit_version: listing.permit_version,\n seller_payout: listing.payout_ata,\n royalty_destinations:\n event.royalty_recipients_count > 0\n ? event.royalty_recipients\n .slice(0, event.royalty_recipients_count)\n .map(({ destination }) => destination)\n : [protocol.default_royalty_vault],\n ticket_type_config: permit.ticket_type_config,\n usdc_mint: protocol.usdc_mint,\n };\n}\n","export { MAX_PERMITS_PER_CLAIM_WALLET } from \"@kyd-labs/tdp-schemas/wallet-custody/const\";\n\nexport const INTEGRATOR_PRIMARY_ADDRESS_SUBJECT = \"PRIMARY_ADDRESS\";\n","import type {\n RoutePathParams,\n RouteRequestBody,\n RouteRequestField,\n RouteRequestHeader,\n} from \"../routes/client-request-types\";\nimport type {\n ApiKeyWalletCustodyApiRoutes,\n WalletCustodyApiClient,\n} from \"./api-client\";\nimport { INTEGRATOR_PRIMARY_ADDRESS_SUBJECT } from \"./const\";\n\ntype SignTransactionInput<\n TRoute extends \"sign-user-transaction\" | \"sign-integrator-transaction\",\n> = Partial<RoutePathParams<ApiKeyWalletCustodyApiRoutes[TRoute]>> &\n RouteRequestField<\n \"body\",\n RouteRequestBody<ApiKeyWalletCustodyApiRoutes[TRoute]>\n > &\n RouteRequestField<\n \"idempotencyKey\",\n RouteRequestHeader<ApiKeyWalletCustodyApiRoutes[TRoute], \"idempotency-key\">\n >;\n\nexport function createTransactionsClient(\n walletCustodyApi: WalletCustodyApiClient,\n) {\n return {\n /** A `subject` is not necessary. */\n signIntegrator(\n {\n subject = INTEGRATOR_PRIMARY_ADDRESS_SUBJECT,\n idempotencyKey,\n body,\n }: SignTransactionInput<\"sign-integrator-transaction\">,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return walletCustodyApi(\n {\n route: \"sign-integrator-transaction\",\n pathParams: { subject },\n body,\n idempotencyKey,\n },\n options,\n );\n },\n submit(\n {\n body,\n }: RouteRequestField<\n \"body\",\n RouteRequestBody<\n ApiKeyWalletCustodyApiRoutes[\"submit-tenant-transaction\"]\n >\n >,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return walletCustodyApi(\n {\n route: \"submit-tenant-transaction\",\n body,\n },\n options,\n );\n },\n };\n}\n","import type { RoutePathParams } from \"../routes/client-request-types\";\nimport type {\n ApiKeyWalletCustodyApiRoutes,\n WalletCustodyApiClient,\n} from \"./api-client\";\nimport { INTEGRATOR_PRIMARY_ADDRESS_SUBJECT } from \"./const\";\n\nexport function createWalletClient(walletCustodyApi: WalletCustodyApiClient) {\n return {\n getUserAddress(\n pathParams: RoutePathParams<\n ApiKeyWalletCustodyApiRoutes[\"get-user-address\"]\n >,\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return walletCustodyApi(\n {\n route: \"get-user-address\",\n pathParams,\n },\n options,\n );\n },\n /** A `subject` is not necessary. */\n getIntegratorAddress(\n {\n subject = INTEGRATOR_PRIMARY_ADDRESS_SUBJECT,\n }: Partial<\n RoutePathParams<ApiKeyWalletCustodyApiRoutes[\"get-integrator-address\"]>\n > = {},\n options?: Pick<RequestInit, \"signal\">,\n ) {\n return walletCustodyApi(\n {\n route: \"get-integrator-address\",\n pathParams: { subject },\n },\n options,\n );\n },\n getFeePayerAddress(options?: Pick<RequestInit, \"signal\">) {\n return walletCustodyApi(\n {\n route: \"get-fee-payer-address\",\n },\n options,\n );\n },\n getProtocolAuthorityAddress(options?: Pick<RequestInit, \"signal\">) {\n return walletCustodyApi(\n {\n route: \"get-protocol-authority-address\",\n },\n options,\n );\n },\n };\n}\n","import { createSolanaClient } from \"./solana-data-api/create-solana-client\";\nimport { createTixApiClient } from \"./tix-api/api-client\";\nimport { createIndexerClient } from \"./tix-indexer-api/create-indexer-client\";\nimport { createWalletCustodyApiClient } from \"./wallet-custody/api-client\";\nimport { createClaimWalletsClient } from \"./wallet-custody/create-claim-wallets-client\";\nimport { createTransactionsClient } from \"./wallet-custody/create-transactions-client\";\nimport { createWalletClient } from \"./wallet-custody/create-wallet-client\";\n\nexport type * from \"./types/index\";\n\nexport type TdpClientOptions = Parameters<typeof createTixApiClient>[0];\nexport type TdpClient = ReturnType<typeof createTdpClient>;\n\nexport function createTdpClient(options: TdpClientOptions) {\n const tixApi = createTixApiClient(options);\n const walletCustodyApi = createWalletCustodyApiClient(options);\n const solana = createSolanaClient(tixApi);\n return {\n solana,\n indexer: createIndexerClient(tixApi),\n wallets: createWalletClient(walletCustodyApi),\n transactions: createTransactionsClient(walletCustodyApi),\n claimWallets: createClaimWalletsClient(walletCustodyApi, solana),\n };\n}\n"],"mappings":"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","names":["responseBodySchemaByRouteKey","z","z"]}
|
package/dist/schemas.d.ts
CHANGED
|
@@ -253,15 +253,15 @@ declare const TixIndexerUpcomingEventsResultSchema: z.ZodObject<{
|
|
|
253
253
|
start_at: z.ZodNullable<z.ZodString>;
|
|
254
254
|
on_sale_at: z.ZodNullable<z.ZodString>;
|
|
255
255
|
image_url: z.ZodNullable<z.ZodString>;
|
|
256
|
+
timezone: z.ZodNullable<z.ZodString>;
|
|
257
|
+
address: z.ZodNullable<z.ZodString>;
|
|
258
|
+
venue: z.ZodNullable<z.ZodString>;
|
|
256
259
|
active_listing_count: z.ZodNumber;
|
|
257
260
|
tickets_issued_count: z.ZodNumber;
|
|
258
261
|
integrator_identity: z.ZodNullable<z.ZodString>;
|
|
259
262
|
updated_at: z.ZodNullable<z.ZodString>;
|
|
260
263
|
found: z.ZodLiteral<true>;
|
|
261
264
|
genres: z.ZodNullable<z.ZodArray<z.ZodString>>;
|
|
262
|
-
timezone: z.ZodNullable<z.ZodString>;
|
|
263
|
-
address: z.ZodNullable<z.ZodString>;
|
|
264
|
-
venue: z.ZodNullable<z.ZodString>;
|
|
265
265
|
}, z.core.$strict>>;
|
|
266
266
|
next_cursor: z.ZodNullable<z.ZodString>;
|
|
267
267
|
}, z.core.$strict>;
|
package/dist/schemas.js
CHANGED
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../tix-wire-schema/src/primitives.ts","../../tdp-schemas/src/solana/accounts.ts","../../tdp-schemas/src/tix-api/path-params.ts","../../tdp-schemas/src/solana-data-api/routes.ts","../../tdp-schemas/src/primitives/integrator-status-name.ts","../../tdp-schemas/src/routes/define-client-route.ts","../../tdp-schemas/src/routes/request-schemas.ts","../../tdp-schemas/src/tix-indexer-api/metadata.ts","../../tdp-schemas/src/tix-indexer-api/read-responses.ts","../../tdp-schemas/src/tix-indexer-api/read-routes.ts","../../tdp-schemas/src/wallet-custody/addresses.ts","../../tix-wire-schema/src/instructions.ts","../../tix-wire-schema/src/unique-permit-keys.ts","../../tdp-schemas/src/primitives/transaction-submission-status.ts","../../tdp-schemas/src/wallet-custody/claim-offers.ts","../../tdp-schemas/src/primitives/hashes.ts","../../tdp-schemas/src/wallet-custody/const.ts","../../tdp-schemas/src/wallet-custody/submission-responses.ts","../../tdp-schemas/src/wallet-custody/purchase-status.ts","../../tix-wire-schema/src/transactions.ts","../../tdp-schemas/src/wallet-custody/signing-responses.ts","../../tdp-schemas/src/wallet-custody/transaction-inputs.ts"],"sourcesContent":["import {\n address as parseAddress,\n blockhash as parseBlockhash,\n signature as parseSignature,\n} from \"@solana/kit\";\nimport { z } from \"zod\";\n\nexport const U64_MAX = 18_446_744_073_709_551_615n;\nexport const I64_MAX = 9_223_372_036_854_775_807n;\nexport const I64_MIN = -9_223_372_036_854_775_808n;\nexport const U16_MAX = 65_535;\nexport const U32_MAX = 4_294_967_295;\n\nexport const BigIntU64 = z.bigint().nonnegative().max(U64_MAX);\n\nexport const BigIntI64 = z.bigint().min(I64_MIN).max(I64_MAX);\n\nexport const WireU64 = z\n .union([z.string().regex(/^\\d+$/), z.number().int(), z.bigint()])\n .transform(BigInt)\n .pipe(BigIntU64)\n .transform(String);\n\nexport const WireI64 = z\n .union([z.string().regex(/^-?\\d+$/), z.number().int(), z.bigint()])\n .transform(BigInt)\n .pipe(BigIntI64)\n .transform(String);\n\n// u16/u32 fit within JavaScript's safe-integer range and use JSON numbers.\nexport const WireU16 = z.number().int().min(0).max(U16_MAX);\n\nexport const WireU32 = z.number().int().min(0).max(U32_MAX);\n\n/** A base58 Solana address. */\nexport const Base58Address = z.string().transform((value, ctx) => {\n try {\n return parseAddress(value);\n } catch {\n ctx.addIssue({\n code: \"custom\",\n message: \"must be a base58-encoded Solana address\",\n });\n return z.NEVER;\n }\n});\n\n/** A base58 Solana blockhash. */\nexport const Blockhash = z.string().transform((value, ctx) => {\n try {\n return parseBlockhash(value);\n } catch {\n ctx.addIssue({\n code: \"custom\",\n message: \"must be a base58-encoded 32-byte Solana blockhash\",\n });\n return z.NEVER;\n }\n});\n\n/** A base58 Solana signature. */\nexport const Signature = z.string().transform((value, ctx) => {\n try {\n return parseSignature(value);\n } catch {\n ctx.addIssue({\n code: \"custom\",\n message: \"must be a base58-encoded 64-byte Solana signature\",\n });\n return z.NEVER;\n }\n});\n","import {\n Base58Address,\n WireI64,\n WireU64,\n} from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { z } from \"zod\";\n\n/** Outbound integers: the decoded bigint becomes a JSON-safe decimal string. */\nconst U64String = WireU64.transform(String);\nconst I64String = WireI64.transform(String);\nconst Address = Base58Address;\n\n/** Decoded on-chain accounts, keyed by their address, with `discriminator` and padding dropped. */\nexport const ListingV1ResponseSchema = z.object({\n address: Address,\n event_id: U64String,\n ticket_id: U64String,\n seller: Address,\n ask_price_minor: U64String,\n buyer_allow: Address,\n payout_ata: Address,\n expires_at: I64String,\n listed_at: I64String,\n permit_version: U64String,\n active: z.boolean(),\n});\n\nexport const EventV1ResponseSchema = z.object({\n address: Address,\n integrator: Address,\n integrator_authority: Address,\n royalty_bps: z.number().int(),\n min_royalty_floor: U64String,\n royalty_recipients_count: z.number().int(),\n royalty_recipients: z.array(\n z.object({ destination: Address, bps: z.number().int() }),\n ),\n total_supply: U64String,\n minted: U64String,\n flags: z.number().int(),\n});\n\nexport const PermitV1ResponseSchema = z.object({\n owner: Address,\n status: z.number().int(),\n ticket_type_id: z.number().int(),\n ticket_type_config: Address,\n version: U64String,\n ticket_id: U64String,\n listing_lock_expiry: I64String,\n});\n\nexport const ProtocolConfigV1ResponseSchema = z.object({\n address: Address,\n usdc_mint: Address,\n default_royalty_vault: Address,\n authority: Address,\n usdc_decimals: z.number().int(),\n event_registration_fee_minor: U64String,\n permit_fee_minor: U64String,\n p2p_transfer_fee_minor: U64String,\n resale_fee_bps: z.number().int(),\n});\n","import { Base58Address, WireU64 } from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { z } from \"zod\";\n\nexport const EventPathParametersSchema = z\n .object({ eventId: WireU64 })\n .strict();\n\nexport const TicketPathParametersSchema = EventPathParametersSchema.extend({\n ticketId: WireU64,\n});\n\nexport const IntegratorPathParametersSchema = z\n .object({ identity: Base58Address })\n .strict();\n","import { Base58Address, WireU64 } from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { z } from \"zod\";\nimport { IntegratorStatusNameSchema } from \"../primitives/integrator-status-name\";\nimport { defineClientRoute } from \"../routes/define-client-route\";\nimport {\n ApiKeyHeadersSchema,\n NoPathParametersSchema,\n} from \"../routes/request-schemas\";\nimport {\n EventV1ResponseSchema,\n ListingV1ResponseSchema,\n PermitV1ResponseSchema,\n ProtocolConfigV1ResponseSchema,\n} from \"../solana/accounts\";\nimport {\n EventPathParametersSchema,\n IntegratorPathParametersSchema,\n TicketPathParametersSchema,\n} from \"../tix-api/path-params\";\n\nexport const GET_EVENT_ACCOUNT_ROUTE_KEY = \"GET /events/{eventId}\";\nexport const GET_LISTING_ACCOUNT_ROUTE_KEY =\n \"GET /listings/{eventId}/{ticketId}\";\nexport const GET_PERMIT_ROUTE_KEY = \"GET /permits/{eventId}/{ticketId}\";\nexport const GET_PROTOCOL_CONFIG_ACCOUNT_ROUTE_KEY = \"GET /protocol-config\";\nexport const GET_INTEGRATOR_ACCOUNT_ROUTE_KEY = \"GET /integrators/{identity}\";\n\n/** A registered integrator only; an unregistered identity is a 404, never a null. */\nexport const IntegratorAccountResponseSchema = z.object({\n integrator_pda: Base58Address,\n integrator: z.object({\n authority: Base58Address,\n status: IntegratorStatusNameSchema,\n treasury_usdc: Base58Address,\n balance: z.object({\n amount_minor: WireU64,\n decimals: z.number().int().min(0),\n }),\n }),\n});\n\nexport const solanaDataApiClientRoutes = {\n \"get-event-account\": defineClientRoute({\n name: \"get-event-account\",\n method: \"GET\",\n routeKey: GET_EVENT_ACCOUNT_ROUTE_KEY,\n pathParamsSchema: EventPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", eventId }) =>\n `${baseApiUrl}/events/${eventId}`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: EventV1ResponseSchema,\n }),\n \"get-listing-account\": defineClientRoute({\n name: \"get-listing-account\",\n method: \"GET\",\n routeKey: GET_LISTING_ACCOUNT_ROUTE_KEY,\n pathParamsSchema: TicketPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", eventId, ticketId }) =>\n `${baseApiUrl}/listings/${eventId}/${ticketId}`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: ListingV1ResponseSchema,\n }),\n \"get-permit\": defineClientRoute({\n name: \"get-permit\",\n method: \"GET\",\n routeKey: GET_PERMIT_ROUTE_KEY,\n pathParamsSchema: TicketPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", eventId, ticketId }) =>\n `${baseApiUrl}/permits/${eventId}/${ticketId}`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: PermitV1ResponseSchema,\n }),\n \"get-protocol-config-account\": defineClientRoute({\n name: \"get-protocol-config-account\",\n method: \"GET\",\n routeKey: GET_PROTOCOL_CONFIG_ACCOUNT_ROUTE_KEY,\n pathParamsSchema: NoPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\" }) => `${baseApiUrl}/protocol-config`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: ProtocolConfigV1ResponseSchema,\n }),\n \"get-integrator-account\": defineClientRoute({\n name: \"get-integrator-account\",\n method: \"GET\",\n routeKey: GET_INTEGRATOR_ACCOUNT_ROUTE_KEY,\n pathParamsSchema: IntegratorPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\", identity }) =>\n `${baseApiUrl}/integrators/${identity}`,\n headersSchema: ApiKeyHeadersSchema,\n responseBodySchema: IntegratorAccountResponseSchema,\n }),\n} as const;\n\nexport const responseBodySchemaByRouteKey = Object.fromEntries(\n Object.values(solanaDataApiClientRoutes).map(\n (route) => [route.routeKey, route.responseBodySchema] as const,\n ),\n) as Record<string, z.ZodType<Record<string, unknown>>>;\n","import { z } from \"zod\";\n\nexport const IntegratorStatusNameSchema = z.enum([\"Active\", \"Suspended\"]);\nexport type IntegratorStatusName = z.infer<typeof IntegratorStatusNameSchema>;\n","import type { z } from \"zod\";\n\n/** This type detects schema drift by requiring mutual assignability. */\nexport type ExactTypeMatch<TExpected, TActual, TError> =\n TExpected extends TActual\n ? TActual extends TExpected\n ? unknown\n : TError\n : TError;\n\n/**\n * This function defines a client route's request builders and response schema.\n * Callers should omit `requestBodySchema` for bodyless routes.\n */\nexport function defineClientRoute<\n TPathParamsSchema extends z.ZodType,\n THeadersSchema extends z.ZodType,\n TResponseBodySchema extends z.ZodType,\n TMethod extends string,\n TRouteKey extends `${TMethod} ${string}`,\n TRequestBodySchema extends z.ZodType | undefined = undefined,\n TQueryParamsSchema extends z.ZodType | undefined = undefined,\n>(spec: {\n name: string;\n method: TMethod;\n routeKey: TRouteKey;\n pathParamsSchema: TPathParamsSchema;\n buildPath: (\n args: z.infer<TPathParamsSchema> & { baseApiUrl?: string },\n ) => string;\n headersSchema: THeadersSchema;\n requestBodySchema?: TRequestBodySchema;\n queryParamsSchema?: TQueryParamsSchema;\n responseBodySchema: TResponseBodySchema;\n}) {\n return {\n ...spec,\n // Normalize a missing path-params arg to {} so callers don't have to pass anything, even if\n // there are no path-params args.\n buildPath: (\n args?: z.infer<TPathParamsSchema> & { baseApiUrl?: string },\n ): string =>\n spec.buildPath(\n args ?? ({} as z.infer<TPathParamsSchema> & { baseApiUrl?: string }),\n ),\n buildJsonPayload: (fields: z.input<NonNullable<TRequestBodySchema>>) => {\n if (!spec.requestBodySchema) {\n const msg =\n \"This path should be impossible to reach; \" +\n \"it's not possible to build a JSON payload for a bodyless route\";\n throw new TypeError(msg);\n }\n return JSON.stringify(spec.requestBodySchema.parse(fields));\n },\n buildHeaders: (headers: z.input<THeadersSchema>) =>\n spec.headersSchema.parse(headers) as z.output<THeadersSchema>,\n /** The `?k=v` suffix for a route's query params, empty when the route declares none or every value is undefined. */\n buildQueryString: (params: z.input<NonNullable<TQueryParamsSchema>>) => {\n const parsed = spec.queryParamsSchema?.parse(params) ?? {};\n const search = new URLSearchParams(\n Object.entries(parsed as Record<string, unknown>)\n .filter(([, value]) => value !== undefined && value !== null)\n .map(([key, value]) => [key, String(value)]),\n ).toString();\n return search ? `?${search}` : \"\";\n },\n };\n}\n\n/** Structural supertype of every {@link defineClientRoute} result. */\nexport type AnyClientRoute = {\n name: string;\n method: string;\n routeKey: string;\n pathParamsSchema: z.ZodType;\n headersSchema: z.ZodType;\n requestBodySchema?: unknown;\n queryParamsSchema?: unknown;\n responseBodySchema: z.ZodType;\n buildPath: (args: never) => string;\n buildJsonPayload: (fields: never) => string;\n buildHeaders: (headers: never) => unknown;\n buildQueryString: (params: never) => string;\n};\n","import { z } from \"zod\";\n\nexport const MISSING_API_KEY_MESSAGE = \"Invalid or missing API key in headers.\";\n\nexport const ApiKeyHeadersSchema = z.object({\n \"x-api-key\": z\n .string(MISSING_API_KEY_MESSAGE)\n .min(1, MISSING_API_KEY_MESSAGE),\n});\n\nexport const IdempotencyKeyHeadersSchema = z.object({\n \"idempotency-key\": z.string().min(1).max(255),\n});\n\nexport const IdempotencyKeyAndApiKeyHeadersSchema = ApiKeyHeadersSchema.extend(\n IdempotencyKeyHeadersSchema.shape,\n);\n\n/** For routes that carry no path parameters (`null`/absent on the wire). */\nexport const NoPathParametersSchema = z\n .record(z.string(), z.string())\n .nullish();\n\n/** For routes with no headers. */\nexport const NoHeadersSchema = z.object({}).optional();\n","import { z } from \"zod\";\n\nexport const PostIntegratorMetadataRequestBodySchema = z\n .object({\n name: z.string().optional(),\n start_at: z.string().optional(),\n on_sale_at: z.string().optional(),\n image_url: z.string().optional(),\n timezone: z.string().optional(),\n address: z.string().optional(),\n venue: z.string().optional(),\n genres: z.array(z.string()).optional(),\n } satisfies z.ZodRawShape)\n .strict();\n\nexport const PostTixIndexerIntegratorMetadataResultSchema = z\n .object({\n status: z.literal(\"ok\"),\n event_account: z.string().min(1),\n updated_at: z.string().min(1),\n })\n .strict();\n\nexport type PostTixIndexerIntegratorMetadataResult = z.infer<\n typeof PostTixIndexerIntegratorMetadataResultSchema\n>;\n","import { WireU64 } from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { z } from \"zod\";\n\nconst NullableStringSchema = z.string().nullable();\n\nexport const TixIndexerEventFoundSchema = z\n .object({\n event_account: z.string().min(1),\n event_id: WireU64.nullable(),\n name: NullableStringSchema,\n start_at: NullableStringSchema,\n on_sale_at: NullableStringSchema,\n image_url: NullableStringSchema,\n active_listing_count: z.number().nonnegative(),\n tickets_issued_count: z.number().nonnegative(),\n integrator_identity: NullableStringSchema,\n updated_at: NullableStringSchema,\n found: z.literal(true),\n genres: z.array(z.string()).nullable(),\n })\n .strict();\n\nexport const TixIndexerUpcomingEventsResultSchema = z\n .object({\n items: z.array(\n TixIndexerEventFoundSchema.extend({\n timezone: NullableStringSchema,\n address: NullableStringSchema,\n venue: NullableStringSchema,\n }),\n ),\n next_cursor: NullableStringSchema,\n })\n .strict();\n\nexport type TixIndexerUpcomingEventsResult = z.infer<\n typeof TixIndexerUpcomingEventsResultSchema\n>;\n\nexport const TixIndexerActiveListingsResultSchema = z\n .object({\n items: z.array(\n z\n .object({\n event_account: NullableStringSchema,\n event_id: WireU64.nullable(),\n listing_id: NullableStringSchema,\n ticket_id: WireU64.nullable(),\n seller: NullableStringSchema,\n buyer_allow: NullableStringSchema,\n ask_price_minor: NullableStringSchema,\n payout_ata: NullableStringSchema,\n expires_at: NullableStringSchema,\n updated_at: NullableStringSchema,\n })\n .strict(),\n ),\n next_cursor: NullableStringSchema,\n })\n .strict();\n\nexport type TixIndexerActiveListingsResult = z.infer<\n typeof TixIndexerActiveListingsResultSchema\n>;\n","import { WireU64 } from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { z } from \"zod\";\nimport { defineClientRoute } from \"../routes/define-client-route\";\nimport {\n ApiKeyHeadersSchema,\n NoPathParametersSchema,\n} from \"../routes/request-schemas\";\nimport {\n TixIndexerActiveListingsResultSchema,\n TixIndexerUpcomingEventsResultSchema,\n} from \"./read-responses\";\n\nexport const GET_ACTIVE_LISTINGS_ROUTE_KEY = \"GET /listings/active\";\nexport const GET_UPCOMING_EVENTS_ROUTE_KEY = \"GET /events/upcoming\";\n\n/** Query-string values arrive as strings, hence the coercion. */\nexport const LimitCursorQuerySchema = z.object({\n limit: z.coerce.number().int().min(1).max(500).optional(),\n cursor: z.string().min(1).optional(),\n});\n\nexport const ActiveListingsQuerySchema = LimitCursorQuerySchema.extend({\n eventId: WireU64.optional(),\n});\n\nexport const tixIndexerReadApiClientRoutes = {\n \"get-active-listings\": defineClientRoute({\n name: \"get-active-listings\",\n method: \"GET\",\n routeKey: GET_ACTIVE_LISTINGS_ROUTE_KEY,\n pathParamsSchema: NoPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\" }) => `${baseApiUrl}/listings/active`,\n headersSchema: ApiKeyHeadersSchema,\n queryParamsSchema: ActiveListingsQuerySchema,\n responseBodySchema: TixIndexerActiveListingsResultSchema,\n }),\n \"get-upcoming-events\": defineClientRoute({\n name: \"get-upcoming-events\",\n method: \"GET\",\n routeKey: GET_UPCOMING_EVENTS_ROUTE_KEY,\n pathParamsSchema: NoPathParametersSchema,\n buildPath: ({ baseApiUrl = \"\" }) => `${baseApiUrl}/events/upcoming`,\n headersSchema: ApiKeyHeadersSchema,\n queryParamsSchema: LimitCursorQuerySchema,\n responseBodySchema: TixIndexerUpcomingEventsResultSchema,\n }),\n} as const;\n","import { Base58Address } from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { z } from \"zod\";\n\nexport const WalletPathParametersSchema = z\n .object({ subject: z.string().min(1) })\n .strict();\nexport type UserWalletPathParameters = z.infer<\n typeof WalletPathParametersSchema\n>;\n\nexport const GetAddressResponseSchema = z.object({ address: Base58Address });\n","import { z } from \"zod\";\nimport { Base58Address, WireI64, WireU64 } from \"./primitives\";\nimport { requireUniquePermitKeys } from \"./unique-permit-keys\";\n\nexport { requireUniquePermitKeys } from \"./unique-permit-keys\";\n\nexport const AcceptOfferV2ParamsSchema = z.object({\n event_id: WireU64,\n ticket_id: WireU64,\n permit_version: WireU64,\n buyer: Base58Address,\n /**\n * *Authority* for the facilitating integrator's identity. The only required\n * signature: its treasury funds the purchase, so there is no payer.\n */\n integrator_authority: Base58Address,\n seller_payout: Base58Address,\n royalty_destinations: z.array(Base58Address),\n ticket_type_config: Base58Address.nullable().optional(),\n /**\n * Identity of the facilitating integrator, which need not be the event's.\n * Not the PDA, not *necessarily* the authority.\n */\n integrator_identity: Base58Address,\n usdc_mint: Base58Address,\n});\n\nexport const CancelListingV1ParamsSchema = z.object({\n event_id: WireU64,\n ticket_id: WireU64,\n canceller: Base58Address,\n});\n\nexport const ListTicketV2ParamsSchema = z.object({\n seller: Base58Address,\n storage_fee_payer: Base58Address,\n listing_integrator_identity: Base58Address,\n listing_integrator_authority: Base58Address,\n usdc_mint: Base58Address,\n event_id: WireU64,\n ticket_id: WireU64,\n ask_price_minor: WireU64,\n buyer_allow: Base58Address.nullable().optional(),\n payout_ata: Base58Address,\n expires_at: WireI64,\n ticket_type_config: Base58Address.nullable().optional(),\n});\n\nexport const AcceptOfferV2InstructionBatchSchema = z.object({\n instruction: z.literal(\"accept_offer_v2\"),\n params: z\n .array(AcceptOfferV2ParamsSchema)\n .min(1)\n .superRefine(requireUniquePermitKeys),\n});\n\nexport const CancelListingV1InstructionBatchSchema = z.object({\n instruction: z.literal(\"cancel_listing_v1\"),\n params: z\n .array(CancelListingV1ParamsSchema)\n .min(1)\n .superRefine(requireUniquePermitKeys),\n});\n\nexport const ListTicketV2InstructionBatchSchema = z.object({\n instruction: z.literal(\"list_ticket_v2\"),\n params: z\n .array(ListTicketV2ParamsSchema)\n .min(1)\n .superRefine(requireUniquePermitKeys),\n});\n\n/** The wallet custody API accepts batches of one supported TIX instruction kind. */\nexport const TixWireInstructionBatchSchema = z.discriminatedUnion(\n \"instruction\",\n [\n AcceptOfferV2InstructionBatchSchema,\n CancelListingV1InstructionBatchSchema,\n ListTicketV2InstructionBatchSchema,\n ],\n);\n\nexport type TixWireInstructionBatch = z.infer<\n typeof TixWireInstructionBatchSchema\n>;\nexport type TixInstructionTag = TixWireInstructionBatch[\"instruction\"];\nexport type TixWireInstructionBatchVariant<T extends TixInstructionTag> =\n Extract<TixWireInstructionBatch, { instruction: T }>;\nexport type TixWireInstructionParams<T extends TixInstructionTag> =\n TixWireInstructionBatchVariant<T>[\"params\"][number];\n","import type z from \"zod\";\nimport type { WireU64 } from \"./primitives\";\n\ntype WireU64Type = z.infer<typeof WireU64>;\n\nexport type PermitKey = ReturnType<typeof toPermitKey>;\n\nexport type AnyPermitKeyInput =\n | { event_id: WireU64Type; ticket_id: WireU64Type }\n | { eventId: WireU64Type; ticketId: WireU64Type };\n\nexport function toPermitKey(params: AnyPermitKeyInput) {\n const { eventId, ticketId } = normalizeAnyPermitKey(params);\n return `event_id:${eventId}#ticket_id:${ticketId}` as const;\n}\n\nexport function requireUniquePermitKeys(\n keys: AnyPermitKeyInput[],\n ctx: z.RefinementCtx,\n) {\n const stableKeys = keys\n .map(normalizeAnyPermitKey)\n .map(({ eventId, ticketId }) => JSON.stringify([eventId, ticketId]));\n\n if (new Set(stableKeys).size !== keys.length) {\n ctx.addIssue({\n code: \"custom\",\n message: \"All (event_id, ticket_id) pairs must be unique\",\n });\n }\n}\n\nexport function normalizeAnyPermitKey(params: AnyPermitKeyInput) {\n return {\n eventId: \"event_id\" in params ? params.event_id : params.eventId,\n ticketId: \"ticket_id\" in params ? params.ticket_id : params.ticketId,\n };\n}\n","import { z } from \"zod\";\n\nexport const TransactionSubmissionStatusSchema = z.enum([\n \"processing\",\n \"confirmed\",\n \"landed_with_error\",\n \"expired\",\n]);\nexport type TransactionSubmissionStatus = z.infer<\n typeof TransactionSubmissionStatusSchema\n>;\n\n/** A null status means no submission has been recorded. */\nexport const NullableTransactionSubmissionStatusSchema =\n TransactionSubmissionStatusSchema.nullable();\nexport type NullableTransactionSubmissionStatus = z.infer<\n typeof NullableTransactionSubmissionStatusSchema\n>;\n","import {\n AcceptOfferV2ParamsSchema,\n requireUniquePermitKeys,\n} from \"@kyd-labs/tix-wire-schema/instructions\";\nimport { Base58Address } from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { z } from \"zod\";\nimport { Sha256HexSchema } from \"../primitives/hashes\";\nimport { NullableTransactionSubmissionStatusSchema } from \"../primitives/transaction-submission-status\";\nimport { MAX_PERMITS_PER_CLAIM_WALLET } from \"./const\";\n\n/**\n * The accept params an integrator may supply on the composite claim route:\n * the wire params minus everything TDP derives — the `buyer` is the claim\n * wallet, and the integrator is the caller's own primary integrator wallet.\n * Note the primary integrator wallet must be a registered integrator\n * on-chain; i.e., a TIX-protocol integrator with a funded treasury.\n */\nexport const AcceptClaimOffersSchema = AcceptOfferV2ParamsSchema.omit({\n buyer: true,\n integrator_identity: true,\n integrator_authority: true,\n}).strict();\n\nexport const AcceptClaimOffersRequestBodySchema = z.object({\n userSubject: z.string().min(1),\n userEmail: z.email(),\n offers: z\n .array(AcceptClaimOffersSchema)\n .min(1)\n .max(MAX_PERMITS_PER_CLAIM_WALLET)\n .superRefine(requireUniquePermitKeys),\n});\n\nexport const AcceptClaimOffersResponseSchema = z.object({\n status: NullableTransactionSubmissionStatusSchema,\n claimWallet: z.object({\n address: Base58Address,\n claimWalletId: Sha256HexSchema,\n }),\n claimUrl: z.url(),\n failureReason: z.string().min(1).optional(),\n});\n\nexport type AcceptClaimOffersResponse = z.infer<\n typeof AcceptClaimOffersResponseSchema\n>;\n","import z from \"zod\";\nimport type { Brand } from \"./brand\";\n\nexport type Sha256Hex = Brand<string, \"Sha256Hex\">;\nexport type Sha256Base64Url = Brand<string, \"Sha256Base64Url\">;\nexport type HmacSha256Base64Url = Brand<string, \"HmacSha256Base64Url\">;\n\nexport const Sha256HexSchema = z\n .hash(\"sha256\", { enc: \"hex\" })\n .transform((v) => v as Sha256Hex);\n\nexport const Sha256BaseUrlSchema = z\n .hash(\"sha256\", { enc: \"base64url\" })\n .transform((v) => v as Sha256Base64Url);\n\n/**\n * Functionally the exact same as {@link Sha256BaseUrlSchema}, but with a branded type for when\n * the hash is known to be produced from `createHmac`.\n *\n * To clarify: this performs no additional checks, it only brands the output differently.\n */\nexport const HmacSha256BaseUrlSchema = z\n .hash(\"sha256\", { enc: \"base64url\" })\n .transform((v) => v as HmacSha256Base64Url);\n","/**\n * This is an overestimate to cap unreasonable requests.\n * It can be made more accurate in the future.\n * The transaction will fail at submission time if it's too large anyway.\n */\nexport const MAX_PERMITS_PER_CLAIM_WALLET = 10;\n","import { Signature } from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { z } from \"zod\";\nimport { Sha256HexSchema } from \"../primitives/hashes\";\nimport { NullableTransactionSubmissionStatusSchema } from \"../primitives/transaction-submission-status\";\n\nexport const SubmitTenantTransactionResponseSchema = z.object({\n custodialTransactionId: Sha256HexSchema,\n transactionSignature: Signature,\n status: NullableTransactionSubmissionStatusSchema,\n failureReason: z.string().min(1).optional(),\n});\n","import type { z } from \"zod\";\nimport { AcceptClaimOffersResponseSchema } from \"./claim-offers\";\nimport { SubmitTenantTransactionResponseSchema } from \"./submission-responses\";\n\nexport const GetPurchaseStatusResponseSchema =\n SubmitTenantTransactionResponseSchema.extend(\n AcceptClaimOffersResponseSchema.pick({ claimWallet: true }).shape,\n );\n\nexport type GetPurchaseStatusResponse = z.infer<\n typeof GetPurchaseStatusResponseSchema\n>;\n","import {\n type Base64EncodedWireTransaction,\n getBase64Encoder,\n getTransactionDecoder,\n} from \"@solana/kit\";\nimport { z } from \"zod\";\n\nexport const Base64WireEncodedTransactionSchema = z\n .base64()\n .min(1)\n .transform((value, ctx) => {\n try {\n getTransactionDecoder().decode(getBase64Encoder().encode(value));\n return value as Base64EncodedWireTransaction;\n } catch {\n ctx.addIssue({\n code: \"custom\",\n message: \"must be a base64-encoded Solana transaction string\",\n });\n return z.NEVER;\n }\n });\n","import {\n Base58Address,\n Blockhash,\n Signature,\n} from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { Base64WireEncodedTransactionSchema } from \"@kyd-labs/tix-wire-schema/transactions\";\nimport { z } from \"zod\";\nimport { Sha256HexSchema } from \"../primitives/hashes\";\nexport const SignTransactionResponseSchema = z.object({\n custodialTransactionId: Sha256HexSchema,\n signerAddress: Base58Address,\n feePayerAddress: Base58Address,\n signedTransaction: Base64WireEncodedTransactionSchema,\n message: z.string().min(1),\n signature: Signature,\n feePayerSignature: Signature,\n requiredSigners: z.array(Base58Address),\n recentBlockhash: Blockhash,\n});\n","import { TixWireInstructionBatchSchema } from \"@kyd-labs/tix-wire-schema/instructions\";\nimport { Base58Address, Signature } from \"@kyd-labs/tix-wire-schema/primitives\";\nimport { Base64WireEncodedTransactionSchema } from \"@kyd-labs/tix-wire-schema/transactions\";\nimport { z } from \"zod\";\n\nexport const SignTenantTransactionRequestBodySchema = z.object({\n tixInstructions: TixWireInstructionBatchSchema,\n});\n\nexport const AdditionalSignaturesSchema = z\n .array(\n z.object({\n address: Base58Address,\n signature: Signature,\n }),\n )\n .default([]);\n\nexport const SubmitTenantTransactionRequestBodySchema = z.object({\n signedTransaction: Base64WireEncodedTransactionSchema,\n additionalSignatures: AdditionalSignaturesSchema,\n});\n"],"mappings":"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","names":["z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/wallet-custody/http-error.ts"],"sourcesContent":["import type { z } from \"zod\";\n\nexport type WalletCustodyApiErrorKind = \"http-status\" | \"response-validation\";\n\nexport class WalletCustodyApiError extends Error {\n readonly kind: WalletCustodyApiErrorKind;\n readonly route: string;\n readonly method: string;\n readonly path: string;\n readonly status: number;\n readonly statusText: string;\n readonly payload: unknown;\n readonly validationError?: z.ZodError;\n\n constructor({\n kind,\n route,\n method,\n path,\n status,\n statusText,\n payload,\n validationError,\n }: {\n kind: WalletCustodyApiErrorKind;\n route: string;\n method: string;\n path: string;\n status: number;\n statusText: string;\n payload: unknown;\n validationError?: z.ZodError;\n }) {\n super(\n kind === \"response-validation\"\n ? `Wallet Custody API response failed validation: ${method} ${route} ${path} ${status} ${statusText}`\n : `Wallet Custody API request failed: ${method} ${route} ${path} ${status} ${statusText}`,\n { cause: validationError },\n );\n\n this.name = \"WalletCustodyApiError\";\n this.kind = kind;\n this.route = route;\n this.method = method;\n this.path = path;\n this.status = status;\n this.statusText = statusText;\n this.payload = payload;\n this.validationError = validationError;\n }\n}\n"],"mappings":";AAIO,IAAM,wBAAN,cAAoC,MAAM;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GASG;AACD;AAAA,MACE,SAAS,wBACL,kDAAkD,MAAM,IAAI,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,UAAU,KACjG,sCAAsC,MAAM,IAAI,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,UAAU;AAAA,MACzF,EAAE,OAAO,gBAAgB;AAAA,IAC3B;AAEA,SAAK,OAAO;AACZ,SAAK,OAAO;AACZ,SAAK,QAAQ;AACb,SAAK,SAAS;AACd,SAAK,OAAO;AACZ,SAAK,SAAS;AACd,SAAK,aAAa;AAClB,SAAK,UAAU;AACf,SAAK,kBAAkB;AAAA,EACzB;AACF;","names":[]}
|