@tixprotocol/tdp-sdk 0.2.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/LICENSE.md +202 -0
- package/README.md +31 -0
- package/dist/chunk-3SJAQTJ4.js +563 -0
- package/dist/chunk-3SJAQTJ4.js.map +1 -0
- package/dist/chunk-RLIW34CX.js +40 -0
- package/dist/chunk-RLIW34CX.js.map +1 -0
- package/dist/errors.d.ts +25 -0
- package/dist/errors.js +7 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +2575 -0
- package/dist/index.js +503 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas.d.ts +399 -0
- package/dist/schemas.js +90 -0
- package/dist/schemas.js.map +1 -0
- package/dist/transaction-submission-status-BPffQES8.d.ts +32 -0
- package/package.json +39 -0
|
@@ -0,0 +1,563 @@
|
|
|
1
|
+
// ../tix-wire-schema/src/primitives.ts
|
|
2
|
+
import {
|
|
3
|
+
address as parseAddress,
|
|
4
|
+
blockhash as parseBlockhash,
|
|
5
|
+
signature as parseSignature
|
|
6
|
+
} from "@solana/kit";
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
var U64_MAX = 18446744073709551615n;
|
|
9
|
+
var I64_MAX = 9223372036854775807n;
|
|
10
|
+
var I64_MIN = -9223372036854775808n;
|
|
11
|
+
var U16_MAX = 65535;
|
|
12
|
+
var U32_MAX = 4294967295;
|
|
13
|
+
var BigIntU64 = z.bigint().nonnegative().max(U64_MAX);
|
|
14
|
+
var BigIntI64 = z.bigint().min(I64_MIN).max(I64_MAX);
|
|
15
|
+
var WireU64 = z.union([z.string().regex(/^\d+$/), z.number().int(), z.bigint()]).transform(BigInt).pipe(BigIntU64).transform(String);
|
|
16
|
+
var WireI64 = z.union([z.string().regex(/^-?\d+$/), z.number().int(), z.bigint()]).transform(BigInt).pipe(BigIntI64).transform(String);
|
|
17
|
+
var WireU16 = z.number().int().min(0).max(U16_MAX);
|
|
18
|
+
var WireU32 = z.number().int().min(0).max(U32_MAX);
|
|
19
|
+
var Base58Address = z.string().transform((value, ctx) => {
|
|
20
|
+
try {
|
|
21
|
+
return parseAddress(value);
|
|
22
|
+
} catch {
|
|
23
|
+
ctx.addIssue({
|
|
24
|
+
code: "custom",
|
|
25
|
+
message: "must be a base58-encoded Solana address"
|
|
26
|
+
});
|
|
27
|
+
return z.NEVER;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
var Blockhash = z.string().transform((value, ctx) => {
|
|
31
|
+
try {
|
|
32
|
+
return parseBlockhash(value);
|
|
33
|
+
} catch {
|
|
34
|
+
ctx.addIssue({
|
|
35
|
+
code: "custom",
|
|
36
|
+
message: "must be a base58-encoded 32-byte Solana blockhash"
|
|
37
|
+
});
|
|
38
|
+
return z.NEVER;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
var Signature = z.string().transform((value, ctx) => {
|
|
42
|
+
try {
|
|
43
|
+
return parseSignature(value);
|
|
44
|
+
} catch {
|
|
45
|
+
ctx.addIssue({
|
|
46
|
+
code: "custom",
|
|
47
|
+
message: "must be a base58-encoded 64-byte Solana signature"
|
|
48
|
+
});
|
|
49
|
+
return z.NEVER;
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
// ../tdp-schemas/src/solana/accounts.ts
|
|
54
|
+
import { z as z2 } from "zod";
|
|
55
|
+
var U64String = WireU64.transform(String);
|
|
56
|
+
var I64String = WireI64.transform(String);
|
|
57
|
+
var Address = Base58Address;
|
|
58
|
+
var ListingV1ResponseSchema = z2.object({
|
|
59
|
+
address: Address,
|
|
60
|
+
event_id: U64String,
|
|
61
|
+
ticket_id: U64String,
|
|
62
|
+
seller: Address,
|
|
63
|
+
ask_price_minor: U64String,
|
|
64
|
+
buyer_allow: Address,
|
|
65
|
+
payout_ata: Address,
|
|
66
|
+
expires_at: I64String,
|
|
67
|
+
listed_at: I64String,
|
|
68
|
+
permit_version: U64String,
|
|
69
|
+
active: z2.boolean()
|
|
70
|
+
});
|
|
71
|
+
var EventV1ResponseSchema = z2.object({
|
|
72
|
+
address: Address,
|
|
73
|
+
integrator: Address,
|
|
74
|
+
integrator_authority: Address,
|
|
75
|
+
royalty_bps: z2.number().int(),
|
|
76
|
+
min_royalty_floor: U64String,
|
|
77
|
+
royalty_recipients_count: z2.number().int(),
|
|
78
|
+
royalty_recipients: z2.array(
|
|
79
|
+
z2.object({ destination: Address, bps: z2.number().int() })
|
|
80
|
+
),
|
|
81
|
+
total_supply: U64String,
|
|
82
|
+
minted: U64String,
|
|
83
|
+
flags: z2.number().int()
|
|
84
|
+
});
|
|
85
|
+
var PermitV1ResponseSchema = z2.object({
|
|
86
|
+
owner: Address,
|
|
87
|
+
status: z2.number().int(),
|
|
88
|
+
ticket_type_id: z2.number().int(),
|
|
89
|
+
version: U64String,
|
|
90
|
+
ticket_id: U64String,
|
|
91
|
+
listing_lock_expiry: I64String
|
|
92
|
+
});
|
|
93
|
+
var ProtocolConfigV1ResponseSchema = z2.object({
|
|
94
|
+
address: Address,
|
|
95
|
+
usdc_mint: Address,
|
|
96
|
+
default_royalty_vault: Address,
|
|
97
|
+
authority: Address,
|
|
98
|
+
usdc_decimals: z2.number().int(),
|
|
99
|
+
event_registration_fee_minor: U64String,
|
|
100
|
+
permit_fee_minor: U64String,
|
|
101
|
+
p2p_transfer_fee_minor: U64String,
|
|
102
|
+
resale_fee_bps: z2.number().int()
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
// ../tdp-schemas/src/tix-api/path-params.ts
|
|
106
|
+
import { z as z3 } from "zod";
|
|
107
|
+
var EventPathParametersSchema = z3.object({ eventId: WireU64 }).strict();
|
|
108
|
+
var TicketPathParametersSchema = EventPathParametersSchema.extend({
|
|
109
|
+
ticketId: WireU64
|
|
110
|
+
});
|
|
111
|
+
var IntegratorPathParametersSchema = z3.object({ identity: Base58Address }).strict();
|
|
112
|
+
|
|
113
|
+
// ../tdp-schemas/src/solana-data-api/routes.ts
|
|
114
|
+
import { z as z6 } from "zod";
|
|
115
|
+
|
|
116
|
+
// ../tdp-schemas/src/primitives/integrator-status-name.ts
|
|
117
|
+
import { z as z4 } from "zod";
|
|
118
|
+
var IntegratorStatusNameSchema = z4.enum(["Active", "Suspended"]);
|
|
119
|
+
|
|
120
|
+
// ../tdp-schemas/src/routes/define-client-route.ts
|
|
121
|
+
function defineClientRoute(spec) {
|
|
122
|
+
return {
|
|
123
|
+
...spec,
|
|
124
|
+
// Normalize a missing path-params arg to {} so callers don't have to pass anything, even if
|
|
125
|
+
// there are no path-params args.
|
|
126
|
+
buildPath: (args) => spec.buildPath(
|
|
127
|
+
args ?? {}
|
|
128
|
+
),
|
|
129
|
+
buildJsonPayload: (fields) => {
|
|
130
|
+
if (!spec.requestBodySchema) {
|
|
131
|
+
const msg = "This path should be impossible to reach; it's not possible to build a JSON payload for a bodyless route";
|
|
132
|
+
throw new TypeError(msg);
|
|
133
|
+
}
|
|
134
|
+
return JSON.stringify(spec.requestBodySchema.parse(fields));
|
|
135
|
+
},
|
|
136
|
+
buildHeaders: (headers) => spec.headersSchema.parse(headers),
|
|
137
|
+
/** The `?k=v` suffix for a route's query params, empty when the route declares none or every value is undefined. */
|
|
138
|
+
buildQueryString: (params) => {
|
|
139
|
+
const parsed = spec.queryParamsSchema?.parse(params) ?? {};
|
|
140
|
+
const search = new URLSearchParams(
|
|
141
|
+
Object.entries(parsed).filter(([, value]) => value !== void 0 && value !== null).map(([key, value]) => [key, String(value)])
|
|
142
|
+
).toString();
|
|
143
|
+
return search ? `?${search}` : "";
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// ../tdp-schemas/src/routes/request-schemas.ts
|
|
149
|
+
import { z as z5 } from "zod";
|
|
150
|
+
var MISSING_API_KEY_MESSAGE = "Invalid or missing API key in headers.";
|
|
151
|
+
var ApiKeyHeadersSchema = z5.object({
|
|
152
|
+
"x-api-key": z5.string(MISSING_API_KEY_MESSAGE).min(1, MISSING_API_KEY_MESSAGE)
|
|
153
|
+
});
|
|
154
|
+
var IdempotencyKeyHeadersSchema = z5.object({
|
|
155
|
+
"idempotency-key": z5.string().min(1).max(255)
|
|
156
|
+
});
|
|
157
|
+
var IdempotencyKeyAndApiKeyHeadersSchema = ApiKeyHeadersSchema.extend(
|
|
158
|
+
IdempotencyKeyHeadersSchema.shape
|
|
159
|
+
);
|
|
160
|
+
var NoPathParametersSchema = z5.record(z5.string(), z5.string()).nullish();
|
|
161
|
+
var NoHeadersSchema = z5.object({}).optional();
|
|
162
|
+
|
|
163
|
+
// ../tdp-schemas/src/solana-data-api/routes.ts
|
|
164
|
+
var GET_EVENT_ACCOUNT_ROUTE_KEY = "GET /events/{eventId}";
|
|
165
|
+
var GET_LISTING_ACCOUNT_ROUTE_KEY = "GET /listings/{eventId}/{ticketId}";
|
|
166
|
+
var GET_PERMIT_ROUTE_KEY = "GET /permits/{eventId}/{ticketId}";
|
|
167
|
+
var GET_PROTOCOL_CONFIG_ACCOUNT_ROUTE_KEY = "GET /protocol-config";
|
|
168
|
+
var GET_INTEGRATOR_ACCOUNT_ROUTE_KEY = "GET /integrators/{identity}";
|
|
169
|
+
var IntegratorAccountResponseSchema = z6.object({
|
|
170
|
+
integrator_pda: Base58Address,
|
|
171
|
+
integrator: z6.object({
|
|
172
|
+
authority: Base58Address,
|
|
173
|
+
status: IntegratorStatusNameSchema,
|
|
174
|
+
treasury_usdc: Base58Address,
|
|
175
|
+
balance: z6.object({
|
|
176
|
+
amount_minor: WireU64,
|
|
177
|
+
decimals: z6.number().int().min(0)
|
|
178
|
+
})
|
|
179
|
+
})
|
|
180
|
+
});
|
|
181
|
+
var solanaDataApiClientRoutes = {
|
|
182
|
+
"get-event-account": defineClientRoute({
|
|
183
|
+
name: "get-event-account",
|
|
184
|
+
method: "GET",
|
|
185
|
+
routeKey: GET_EVENT_ACCOUNT_ROUTE_KEY,
|
|
186
|
+
pathParamsSchema: EventPathParametersSchema,
|
|
187
|
+
buildPath: ({ baseApiUrl = "", eventId }) => `${baseApiUrl}/events/${eventId}`,
|
|
188
|
+
headersSchema: ApiKeyHeadersSchema,
|
|
189
|
+
responseBodySchema: EventV1ResponseSchema
|
|
190
|
+
}),
|
|
191
|
+
"get-listing-account": defineClientRoute({
|
|
192
|
+
name: "get-listing-account",
|
|
193
|
+
method: "GET",
|
|
194
|
+
routeKey: GET_LISTING_ACCOUNT_ROUTE_KEY,
|
|
195
|
+
pathParamsSchema: TicketPathParametersSchema,
|
|
196
|
+
buildPath: ({ baseApiUrl = "", eventId, ticketId }) => `${baseApiUrl}/listings/${eventId}/${ticketId}`,
|
|
197
|
+
headersSchema: ApiKeyHeadersSchema,
|
|
198
|
+
responseBodySchema: ListingV1ResponseSchema
|
|
199
|
+
}),
|
|
200
|
+
"get-permit": defineClientRoute({
|
|
201
|
+
name: "get-permit",
|
|
202
|
+
method: "GET",
|
|
203
|
+
routeKey: GET_PERMIT_ROUTE_KEY,
|
|
204
|
+
pathParamsSchema: TicketPathParametersSchema,
|
|
205
|
+
buildPath: ({ baseApiUrl = "", eventId, ticketId }) => `${baseApiUrl}/permits/${eventId}/${ticketId}`,
|
|
206
|
+
headersSchema: ApiKeyHeadersSchema,
|
|
207
|
+
responseBodySchema: PermitV1ResponseSchema
|
|
208
|
+
}),
|
|
209
|
+
"get-protocol-config-account": defineClientRoute({
|
|
210
|
+
name: "get-protocol-config-account",
|
|
211
|
+
method: "GET",
|
|
212
|
+
routeKey: GET_PROTOCOL_CONFIG_ACCOUNT_ROUTE_KEY,
|
|
213
|
+
pathParamsSchema: NoPathParametersSchema,
|
|
214
|
+
buildPath: ({ baseApiUrl = "" }) => `${baseApiUrl}/protocol-config`,
|
|
215
|
+
headersSchema: ApiKeyHeadersSchema,
|
|
216
|
+
responseBodySchema: ProtocolConfigV1ResponseSchema
|
|
217
|
+
}),
|
|
218
|
+
"get-integrator-account": defineClientRoute({
|
|
219
|
+
name: "get-integrator-account",
|
|
220
|
+
method: "GET",
|
|
221
|
+
routeKey: GET_INTEGRATOR_ACCOUNT_ROUTE_KEY,
|
|
222
|
+
pathParamsSchema: IntegratorPathParametersSchema,
|
|
223
|
+
buildPath: ({ baseApiUrl = "", identity }) => `${baseApiUrl}/integrators/${identity}`,
|
|
224
|
+
headersSchema: ApiKeyHeadersSchema,
|
|
225
|
+
responseBodySchema: IntegratorAccountResponseSchema
|
|
226
|
+
})
|
|
227
|
+
};
|
|
228
|
+
var responseBodySchemaByRouteKey = Object.fromEntries(
|
|
229
|
+
Object.values(solanaDataApiClientRoutes).map(
|
|
230
|
+
(route) => [route.routeKey, route.responseBodySchema]
|
|
231
|
+
)
|
|
232
|
+
);
|
|
233
|
+
|
|
234
|
+
// ../tdp-schemas/src/tix-indexer-api/metadata.ts
|
|
235
|
+
import { z as z7 } from "zod";
|
|
236
|
+
var PostIntegratorMetadataRequestBodySchema = z7.object({
|
|
237
|
+
name: z7.string().optional(),
|
|
238
|
+
start_at: z7.string().optional(),
|
|
239
|
+
on_sale_at: z7.string().optional(),
|
|
240
|
+
image_url: z7.string().optional(),
|
|
241
|
+
timezone: z7.string().optional(),
|
|
242
|
+
address: z7.string().optional(),
|
|
243
|
+
venue: z7.string().optional(),
|
|
244
|
+
genres: z7.array(z7.string()).optional()
|
|
245
|
+
}).strict();
|
|
246
|
+
var PostTixIndexerIntegratorMetadataResultSchema = z7.object({
|
|
247
|
+
status: z7.literal("ok"),
|
|
248
|
+
event_account: z7.string().min(1),
|
|
249
|
+
updated_at: z7.string().min(1)
|
|
250
|
+
}).strict();
|
|
251
|
+
|
|
252
|
+
// ../tdp-schemas/src/tix-indexer-api/read-responses.ts
|
|
253
|
+
import { z as z8 } from "zod";
|
|
254
|
+
var NullableStringSchema = z8.string().nullable();
|
|
255
|
+
var TixIndexerEventFoundSchema = z8.object({
|
|
256
|
+
event_account: z8.string().min(1),
|
|
257
|
+
event_id: WireU64.nullable(),
|
|
258
|
+
name: NullableStringSchema,
|
|
259
|
+
start_at: NullableStringSchema,
|
|
260
|
+
on_sale_at: NullableStringSchema,
|
|
261
|
+
image_url: NullableStringSchema,
|
|
262
|
+
active_listing_count: z8.number().nonnegative(),
|
|
263
|
+
tickets_issued_count: z8.number().nonnegative(),
|
|
264
|
+
integrator_identity: NullableStringSchema,
|
|
265
|
+
updated_at: NullableStringSchema,
|
|
266
|
+
found: z8.literal(true),
|
|
267
|
+
genres: z8.array(z8.string()).nullable()
|
|
268
|
+
}).strict();
|
|
269
|
+
var TixIndexerUpcomingEventsResultSchema = z8.object({
|
|
270
|
+
items: z8.array(
|
|
271
|
+
TixIndexerEventFoundSchema.extend({
|
|
272
|
+
timezone: NullableStringSchema,
|
|
273
|
+
address: NullableStringSchema,
|
|
274
|
+
venue: NullableStringSchema
|
|
275
|
+
})
|
|
276
|
+
),
|
|
277
|
+
next_cursor: NullableStringSchema
|
|
278
|
+
}).strict();
|
|
279
|
+
var TixIndexerActiveListingsResultSchema = z8.object({
|
|
280
|
+
items: z8.array(
|
|
281
|
+
z8.object({
|
|
282
|
+
event_account: NullableStringSchema,
|
|
283
|
+
event_id: WireU64.nullable(),
|
|
284
|
+
listing_id: NullableStringSchema,
|
|
285
|
+
ticket_id: WireU64.nullable(),
|
|
286
|
+
seller: NullableStringSchema,
|
|
287
|
+
buyer_allow: NullableStringSchema,
|
|
288
|
+
ask_price_minor: NullableStringSchema,
|
|
289
|
+
payout_ata: NullableStringSchema,
|
|
290
|
+
expires_at: NullableStringSchema,
|
|
291
|
+
updated_at: NullableStringSchema
|
|
292
|
+
}).strict()
|
|
293
|
+
),
|
|
294
|
+
next_cursor: NullableStringSchema
|
|
295
|
+
}).strict();
|
|
296
|
+
|
|
297
|
+
// ../tdp-schemas/src/tix-indexer-api/read-routes.ts
|
|
298
|
+
import { z as z9 } from "zod";
|
|
299
|
+
var GET_ACTIVE_LISTINGS_ROUTE_KEY = "GET /listings/active";
|
|
300
|
+
var GET_UPCOMING_EVENTS_ROUTE_KEY = "GET /events/upcoming";
|
|
301
|
+
var LimitCursorQuerySchema = z9.object({
|
|
302
|
+
limit: z9.coerce.number().int().min(1).max(500).optional(),
|
|
303
|
+
cursor: z9.string().min(1).optional()
|
|
304
|
+
});
|
|
305
|
+
var tixIndexerReadApiClientRoutes = {
|
|
306
|
+
"get-active-listings": defineClientRoute({
|
|
307
|
+
name: "get-active-listings",
|
|
308
|
+
method: "GET",
|
|
309
|
+
routeKey: GET_ACTIVE_LISTINGS_ROUTE_KEY,
|
|
310
|
+
pathParamsSchema: NoPathParametersSchema,
|
|
311
|
+
buildPath: ({ baseApiUrl = "" }) => `${baseApiUrl}/listings/active`,
|
|
312
|
+
headersSchema: ApiKeyHeadersSchema,
|
|
313
|
+
queryParamsSchema: LimitCursorQuerySchema,
|
|
314
|
+
responseBodySchema: TixIndexerActiveListingsResultSchema
|
|
315
|
+
}),
|
|
316
|
+
"get-upcoming-events": defineClientRoute({
|
|
317
|
+
name: "get-upcoming-events",
|
|
318
|
+
method: "GET",
|
|
319
|
+
routeKey: GET_UPCOMING_EVENTS_ROUTE_KEY,
|
|
320
|
+
pathParamsSchema: NoPathParametersSchema,
|
|
321
|
+
buildPath: ({ baseApiUrl = "" }) => `${baseApiUrl}/events/upcoming`,
|
|
322
|
+
headersSchema: ApiKeyHeadersSchema,
|
|
323
|
+
queryParamsSchema: LimitCursorQuerySchema,
|
|
324
|
+
responseBodySchema: TixIndexerUpcomingEventsResultSchema
|
|
325
|
+
})
|
|
326
|
+
};
|
|
327
|
+
|
|
328
|
+
// ../tdp-schemas/src/wallet-custody/addresses.ts
|
|
329
|
+
import { z as z10 } from "zod";
|
|
330
|
+
var WalletPathParametersSchema = z10.object({ subject: z10.string().min(1) }).strict();
|
|
331
|
+
var GetAddressResponseSchema = z10.object({ address: Base58Address });
|
|
332
|
+
|
|
333
|
+
// ../tix-wire-schema/src/instructions.ts
|
|
334
|
+
import { z as z11 } from "zod";
|
|
335
|
+
|
|
336
|
+
// ../tix-wire-schema/src/unique-permit-keys.ts
|
|
337
|
+
function requireUniquePermitKeys(keys, ctx) {
|
|
338
|
+
const stableKeys = keys.map(normalizeAnyPermitKey).map(({ eventId, ticketId }) => JSON.stringify([eventId, ticketId]));
|
|
339
|
+
if (new Set(stableKeys).size !== keys.length) {
|
|
340
|
+
ctx.addIssue({
|
|
341
|
+
code: "custom",
|
|
342
|
+
message: "All (event_id, ticket_id) pairs must be unique"
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
function normalizeAnyPermitKey(params) {
|
|
347
|
+
return {
|
|
348
|
+
eventId: "event_id" in params ? params.event_id : params.eventId,
|
|
349
|
+
ticketId: "ticket_id" in params ? params.ticket_id : params.ticketId
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
// ../tix-wire-schema/src/instructions.ts
|
|
354
|
+
var AcceptOfferV2ParamsSchema = z11.object({
|
|
355
|
+
event_id: WireU64,
|
|
356
|
+
ticket_id: WireU64,
|
|
357
|
+
permit_version: WireU64,
|
|
358
|
+
buyer: Base58Address,
|
|
359
|
+
/**
|
|
360
|
+
* *Authority* for the facilitating integrator's identity. The only required
|
|
361
|
+
* signature: its treasury funds the purchase, so there is no payer.
|
|
362
|
+
*/
|
|
363
|
+
integrator_authority: Base58Address,
|
|
364
|
+
seller_payout: Base58Address,
|
|
365
|
+
royalty_destinations: z11.array(Base58Address),
|
|
366
|
+
ticket_type_config: Base58Address.nullable().optional(),
|
|
367
|
+
/**
|
|
368
|
+
* Identity of the facilitating integrator, which need not be the event's.
|
|
369
|
+
* Not the PDA, not *necessarily* the authority.
|
|
370
|
+
*/
|
|
371
|
+
integrator_identity: Base58Address,
|
|
372
|
+
usdc_mint: Base58Address
|
|
373
|
+
});
|
|
374
|
+
var CancelListingV1ParamsSchema = z11.object({
|
|
375
|
+
event_id: WireU64,
|
|
376
|
+
ticket_id: WireU64,
|
|
377
|
+
canceller: Base58Address
|
|
378
|
+
});
|
|
379
|
+
var ListTicketV2ParamsSchema = z11.object({
|
|
380
|
+
seller: Base58Address,
|
|
381
|
+
storage_fee_payer: Base58Address,
|
|
382
|
+
listing_integrator_identity: Base58Address,
|
|
383
|
+
listing_integrator_authority: Base58Address,
|
|
384
|
+
usdc_mint: Base58Address,
|
|
385
|
+
event_id: WireU64,
|
|
386
|
+
ticket_id: WireU64,
|
|
387
|
+
ask_price_minor: WireU64,
|
|
388
|
+
buyer_allow: Base58Address.nullable().optional(),
|
|
389
|
+
payout_ata: Base58Address,
|
|
390
|
+
expires_at: WireI64,
|
|
391
|
+
ticket_type_config: Base58Address.nullable().optional()
|
|
392
|
+
});
|
|
393
|
+
var AcceptOfferV2InstructionBatchSchema = z11.object({
|
|
394
|
+
instruction: z11.literal("accept_offer_v2"),
|
|
395
|
+
params: z11.array(AcceptOfferV2ParamsSchema).min(1).superRefine(requireUniquePermitKeys)
|
|
396
|
+
});
|
|
397
|
+
var CancelListingV1InstructionBatchSchema = z11.object({
|
|
398
|
+
instruction: z11.literal("cancel_listing_v1"),
|
|
399
|
+
params: z11.array(CancelListingV1ParamsSchema).min(1).superRefine(requireUniquePermitKeys)
|
|
400
|
+
});
|
|
401
|
+
var ListTicketV2InstructionBatchSchema = z11.object({
|
|
402
|
+
instruction: z11.literal("list_ticket_v2"),
|
|
403
|
+
params: z11.array(ListTicketV2ParamsSchema).min(1).superRefine(requireUniquePermitKeys)
|
|
404
|
+
});
|
|
405
|
+
var TixWireInstructionBatchSchema = z11.discriminatedUnion(
|
|
406
|
+
"instruction",
|
|
407
|
+
[
|
|
408
|
+
AcceptOfferV2InstructionBatchSchema,
|
|
409
|
+
CancelListingV1InstructionBatchSchema,
|
|
410
|
+
ListTicketV2InstructionBatchSchema
|
|
411
|
+
]
|
|
412
|
+
);
|
|
413
|
+
|
|
414
|
+
// ../tdp-schemas/src/primitives/transaction-submission-status.ts
|
|
415
|
+
import { z as z12 } from "zod";
|
|
416
|
+
var TransactionSubmissionStatusSchema = z12.enum([
|
|
417
|
+
"processing",
|
|
418
|
+
"confirmed",
|
|
419
|
+
"landed_with_error",
|
|
420
|
+
"expired"
|
|
421
|
+
]);
|
|
422
|
+
var NullableTransactionSubmissionStatusSchema = TransactionSubmissionStatusSchema.nullable();
|
|
423
|
+
|
|
424
|
+
// ../tdp-schemas/src/wallet-custody/claim-offers.ts
|
|
425
|
+
import { z as z14 } from "zod";
|
|
426
|
+
|
|
427
|
+
// ../tdp-schemas/src/primitives/hashes.ts
|
|
428
|
+
import z13 from "zod";
|
|
429
|
+
var Sha256HexSchema = z13.hash("sha256", { enc: "hex" }).transform((v) => v);
|
|
430
|
+
var Sha256BaseUrlSchema = z13.hash("sha256", { enc: "base64url" }).transform((v) => v);
|
|
431
|
+
var HmacSha256BaseUrlSchema = z13.hash("sha256", { enc: "base64url" }).transform((v) => v);
|
|
432
|
+
|
|
433
|
+
// ../tdp-schemas/src/wallet-custody/const.ts
|
|
434
|
+
var MAX_PERMITS_PER_CLAIM_WALLET = 10;
|
|
435
|
+
|
|
436
|
+
// ../tdp-schemas/src/wallet-custody/claim-offers.ts
|
|
437
|
+
var AcceptClaimOffersSchema = AcceptOfferV2ParamsSchema.omit({
|
|
438
|
+
buyer: true,
|
|
439
|
+
integrator_identity: true,
|
|
440
|
+
integrator_authority: true
|
|
441
|
+
}).strict();
|
|
442
|
+
var AcceptClaimOffersRequestBodySchema = z14.object({
|
|
443
|
+
userSubject: z14.string().min(1),
|
|
444
|
+
userEmail: z14.email(),
|
|
445
|
+
offers: z14.array(AcceptClaimOffersSchema).min(1).max(MAX_PERMITS_PER_CLAIM_WALLET).superRefine(requireUniquePermitKeys)
|
|
446
|
+
});
|
|
447
|
+
var AcceptClaimOffersResponseSchema = z14.object({
|
|
448
|
+
status: NullableTransactionSubmissionStatusSchema,
|
|
449
|
+
claimWallet: z14.object({
|
|
450
|
+
address: Base58Address,
|
|
451
|
+
claimWalletId: Sha256HexSchema
|
|
452
|
+
}),
|
|
453
|
+
claimUrl: z14.url(),
|
|
454
|
+
failureReason: z14.string().min(1).optional()
|
|
455
|
+
});
|
|
456
|
+
|
|
457
|
+
// ../tix-wire-schema/src/transactions.ts
|
|
458
|
+
import {
|
|
459
|
+
getBase64Encoder,
|
|
460
|
+
getTransactionDecoder
|
|
461
|
+
} from "@solana/kit";
|
|
462
|
+
import { z as z15 } from "zod";
|
|
463
|
+
var Base64WireEncodedTransactionSchema = z15.base64().min(1).transform((value, ctx) => {
|
|
464
|
+
try {
|
|
465
|
+
getTransactionDecoder().decode(getBase64Encoder().encode(value));
|
|
466
|
+
return value;
|
|
467
|
+
} catch {
|
|
468
|
+
ctx.addIssue({
|
|
469
|
+
code: "custom",
|
|
470
|
+
message: "must be a base64-encoded Solana transaction string"
|
|
471
|
+
});
|
|
472
|
+
return z15.NEVER;
|
|
473
|
+
}
|
|
474
|
+
});
|
|
475
|
+
|
|
476
|
+
// ../tdp-schemas/src/wallet-custody/signing-responses.ts
|
|
477
|
+
import { z as z16 } from "zod";
|
|
478
|
+
var SignTransactionResponseSchema = z16.object({
|
|
479
|
+
custodialTransactionId: Sha256HexSchema,
|
|
480
|
+
signerAddress: Base58Address,
|
|
481
|
+
feePayerAddress: Base58Address,
|
|
482
|
+
signedTransaction: Base64WireEncodedTransactionSchema,
|
|
483
|
+
message: z16.string().min(1),
|
|
484
|
+
signature: Signature,
|
|
485
|
+
feePayerSignature: Signature,
|
|
486
|
+
requiredSigners: z16.array(Base58Address),
|
|
487
|
+
recentBlockhash: Blockhash
|
|
488
|
+
});
|
|
489
|
+
|
|
490
|
+
// ../tdp-schemas/src/wallet-custody/submission-responses.ts
|
|
491
|
+
import { z as z17 } from "zod";
|
|
492
|
+
var SubmitTenantTransactionResponseSchema = z17.object({
|
|
493
|
+
custodialTransactionId: Sha256HexSchema,
|
|
494
|
+
transactionSignature: Signature,
|
|
495
|
+
status: NullableTransactionSubmissionStatusSchema,
|
|
496
|
+
failureReason: z17.string().min(1).optional()
|
|
497
|
+
});
|
|
498
|
+
|
|
499
|
+
// ../tdp-schemas/src/wallet-custody/transaction-inputs.ts
|
|
500
|
+
import { z as z18 } from "zod";
|
|
501
|
+
var SignTenantTransactionRequestBodySchema = z18.object({
|
|
502
|
+
tixInstructions: TixWireInstructionBatchSchema
|
|
503
|
+
});
|
|
504
|
+
var AdditionalSignaturesSchema = z18.array(
|
|
505
|
+
z18.object({
|
|
506
|
+
address: Base58Address,
|
|
507
|
+
signature: Signature
|
|
508
|
+
})
|
|
509
|
+
).default([]);
|
|
510
|
+
var SubmitTenantTransactionRequestBodySchema = z18.object({
|
|
511
|
+
signedTransaction: Base64WireEncodedTransactionSchema,
|
|
512
|
+
additionalSignatures: AdditionalSignaturesSchema
|
|
513
|
+
});
|
|
514
|
+
|
|
515
|
+
export {
|
|
516
|
+
WireU64,
|
|
517
|
+
WireI64,
|
|
518
|
+
WireU16,
|
|
519
|
+
WireU32,
|
|
520
|
+
Base58Address,
|
|
521
|
+
Blockhash,
|
|
522
|
+
Signature,
|
|
523
|
+
defineClientRoute,
|
|
524
|
+
ApiKeyHeadersSchema,
|
|
525
|
+
IdempotencyKeyAndApiKeyHeadersSchema,
|
|
526
|
+
NoPathParametersSchema,
|
|
527
|
+
ListingV1ResponseSchema,
|
|
528
|
+
EventV1ResponseSchema,
|
|
529
|
+
PermitV1ResponseSchema,
|
|
530
|
+
ProtocolConfigV1ResponseSchema,
|
|
531
|
+
EventPathParametersSchema,
|
|
532
|
+
TicketPathParametersSchema,
|
|
533
|
+
IntegratorPathParametersSchema,
|
|
534
|
+
IntegratorAccountResponseSchema,
|
|
535
|
+
solanaDataApiClientRoutes,
|
|
536
|
+
PostIntegratorMetadataRequestBodySchema,
|
|
537
|
+
PostTixIndexerIntegratorMetadataResultSchema,
|
|
538
|
+
TixIndexerUpcomingEventsResultSchema,
|
|
539
|
+
TixIndexerActiveListingsResultSchema,
|
|
540
|
+
LimitCursorQuerySchema,
|
|
541
|
+
tixIndexerReadApiClientRoutes,
|
|
542
|
+
WalletPathParametersSchema,
|
|
543
|
+
GetAddressResponseSchema,
|
|
544
|
+
AcceptOfferV2ParamsSchema,
|
|
545
|
+
CancelListingV1ParamsSchema,
|
|
546
|
+
ListTicketV2ParamsSchema,
|
|
547
|
+
AcceptOfferV2InstructionBatchSchema,
|
|
548
|
+
CancelListingV1InstructionBatchSchema,
|
|
549
|
+
ListTicketV2InstructionBatchSchema,
|
|
550
|
+
TixWireInstructionBatchSchema,
|
|
551
|
+
TransactionSubmissionStatusSchema,
|
|
552
|
+
NullableTransactionSubmissionStatusSchema,
|
|
553
|
+
AcceptClaimOffersSchema,
|
|
554
|
+
AcceptClaimOffersRequestBodySchema,
|
|
555
|
+
AcceptClaimOffersResponseSchema,
|
|
556
|
+
Base64WireEncodedTransactionSchema,
|
|
557
|
+
SignTransactionResponseSchema,
|
|
558
|
+
SubmitTenantTransactionResponseSchema,
|
|
559
|
+
SignTenantTransactionRequestBodySchema,
|
|
560
|
+
AdditionalSignaturesSchema,
|
|
561
|
+
SubmitTenantTransactionRequestBodySchema
|
|
562
|
+
};
|
|
563
|
+
//# sourceMappingURL=chunk-3SJAQTJ4.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","../../tix-wire-schema/src/transactions.ts","../../tdp-schemas/src/wallet-custody/signing-responses.ts","../../tdp-schemas/src/wallet-custody/submission-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 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 { 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 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: LimitCursorQuerySchema,\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 {\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 { 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 { 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"]}
|