@layer-drone/protocol 0.0.11 → 0.0.13
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/dist/index.d.mts +293 -11
- package/dist/index.d.ts +293 -11
- package/dist/index.js +73 -0
- package/dist/index.mjs +70 -0
- package/package.json +2 -1
- package/src/client/sdk.gen.ts +77 -0
- package/src/client/types.gen.ts +189 -10
- package/src/event/types.gen.ts +67 -0
package/src/client/sdk.gen.ts
CHANGED
|
@@ -40,6 +40,14 @@ import type {
|
|
|
40
40
|
FlightsControllerValidateFlightResponses,
|
|
41
41
|
KeysControllerGetProvenanceCryptoKeyData,
|
|
42
42
|
KeysControllerGetProvenanceCryptoKeyResponses,
|
|
43
|
+
MissionsControllerClaimRewardsData,
|
|
44
|
+
MissionsControllerClaimRewardsErrors,
|
|
45
|
+
MissionsControllerClaimRewardsResponses,
|
|
46
|
+
MissionsControllerCreateMissionsData,
|
|
47
|
+
MissionsControllerCreateMissionsErrors,
|
|
48
|
+
MissionsControllerCreateMissionsResponses,
|
|
49
|
+
MissionsControllerUpdateMissionsData,
|
|
50
|
+
MissionsControllerUpdateMissionsResponses,
|
|
43
51
|
QuotesControllerCreateQuoteData,
|
|
44
52
|
QuotesControllerCreateQuoteErrors,
|
|
45
53
|
QuotesControllerCreateQuoteResponses,
|
|
@@ -312,6 +320,75 @@ export const quotesControllerGetQuote = <ThrowOnError extends boolean = false>(
|
|
|
312
320
|
});
|
|
313
321
|
};
|
|
314
322
|
|
|
323
|
+
/**
|
|
324
|
+
* Create new missions
|
|
325
|
+
* Create missions for specified zones and mission types.
|
|
326
|
+
*/
|
|
327
|
+
export const missionsControllerCreateMissions = <
|
|
328
|
+
ThrowOnError extends boolean = false,
|
|
329
|
+
>(
|
|
330
|
+
options: Options<MissionsControllerCreateMissionsData, ThrowOnError>,
|
|
331
|
+
) => {
|
|
332
|
+
return (options.client ?? _heyApiClient).post<
|
|
333
|
+
MissionsControllerCreateMissionsResponses,
|
|
334
|
+
MissionsControllerCreateMissionsErrors,
|
|
335
|
+
ThrowOnError
|
|
336
|
+
>({
|
|
337
|
+
url: "/missions",
|
|
338
|
+
...options,
|
|
339
|
+
headers: {
|
|
340
|
+
"Content-Type": "application/json",
|
|
341
|
+
...options.headers,
|
|
342
|
+
},
|
|
343
|
+
});
|
|
344
|
+
};
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* Update missions
|
|
348
|
+
* Update missions' rewards or cancel them altogether
|
|
349
|
+
*/
|
|
350
|
+
export const missionsControllerUpdateMissions = <
|
|
351
|
+
ThrowOnError extends boolean = false,
|
|
352
|
+
>(
|
|
353
|
+
options: Options<MissionsControllerUpdateMissionsData, ThrowOnError>,
|
|
354
|
+
) => {
|
|
355
|
+
return (options.client ?? _heyApiClient).put<
|
|
356
|
+
MissionsControllerUpdateMissionsResponses,
|
|
357
|
+
unknown,
|
|
358
|
+
ThrowOnError
|
|
359
|
+
>({
|
|
360
|
+
url: "/missions",
|
|
361
|
+
...options,
|
|
362
|
+
headers: {
|
|
363
|
+
"Content-Type": "application/json",
|
|
364
|
+
...options.headers,
|
|
365
|
+
},
|
|
366
|
+
});
|
|
367
|
+
};
|
|
368
|
+
|
|
369
|
+
/**
|
|
370
|
+
* Claim rewards for a mission
|
|
371
|
+
* Claim rewards for a completed flight within a mission
|
|
372
|
+
*/
|
|
373
|
+
export const missionsControllerClaimRewards = <
|
|
374
|
+
ThrowOnError extends boolean = false,
|
|
375
|
+
>(
|
|
376
|
+
options: Options<MissionsControllerClaimRewardsData, ThrowOnError>,
|
|
377
|
+
) => {
|
|
378
|
+
return (options.client ?? _heyApiClient).post<
|
|
379
|
+
MissionsControllerClaimRewardsResponses,
|
|
380
|
+
MissionsControllerClaimRewardsErrors,
|
|
381
|
+
ThrowOnError
|
|
382
|
+
>({
|
|
383
|
+
url: "/missions/{id}/rewards",
|
|
384
|
+
...options,
|
|
385
|
+
headers: {
|
|
386
|
+
"Content-Type": "application/json",
|
|
387
|
+
...options.headers,
|
|
388
|
+
},
|
|
389
|
+
});
|
|
390
|
+
};
|
|
391
|
+
|
|
315
392
|
export const flightsControllerGenerateFlightId = <
|
|
316
393
|
ThrowOnError extends boolean = false,
|
|
317
394
|
>(
|
package/src/client/types.gen.ts
CHANGED
|
@@ -87,6 +87,72 @@ export type CreateQuoteRequestDto = {
|
|
|
87
87
|
mintOnChain: boolean;
|
|
88
88
|
};
|
|
89
89
|
|
|
90
|
+
export type CreateMissionRequestDto = {
|
|
91
|
+
missions: Array<{
|
|
92
|
+
zoneId: string;
|
|
93
|
+
flightPlanId: number;
|
|
94
|
+
amount: number;
|
|
95
|
+
startTime: Date;
|
|
96
|
+
endTime: Date;
|
|
97
|
+
}>;
|
|
98
|
+
campaignId: number;
|
|
99
|
+
requestor: string;
|
|
100
|
+
mintOnChain?: boolean;
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
export type CreateMissionResponseDto = {
|
|
104
|
+
success: boolean;
|
|
105
|
+
data:
|
|
106
|
+
| {
|
|
107
|
+
missions: Array<{
|
|
108
|
+
missionId: string;
|
|
109
|
+
vaultId: string;
|
|
110
|
+
amount: number;
|
|
111
|
+
zoneId: string;
|
|
112
|
+
flightPlanId: number;
|
|
113
|
+
captureStartTime: Date;
|
|
114
|
+
captureEndTime: Date;
|
|
115
|
+
requestor: string;
|
|
116
|
+
}>;
|
|
117
|
+
totalAmount: number;
|
|
118
|
+
}
|
|
119
|
+
| string;
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
export type UpdateMissionsRequestDto = {
|
|
123
|
+
missions: Array<
|
|
124
|
+
| {
|
|
125
|
+
id: string;
|
|
126
|
+
amount: number;
|
|
127
|
+
}
|
|
128
|
+
| {
|
|
129
|
+
id: string;
|
|
130
|
+
isOpen: false;
|
|
131
|
+
}
|
|
132
|
+
>;
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
export type UpdateMissionsResponseDto = {
|
|
136
|
+
success: boolean;
|
|
137
|
+
data: {
|
|
138
|
+
rewardUpdatesQueued: Array<string>;
|
|
139
|
+
cancelUpdatesQueued: Array<string>;
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
export type ClaimRewardsRequestDto = {
|
|
144
|
+
flightIds: Array<number>;
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
export type ClaimRewardsResponseDto = {
|
|
148
|
+
success: boolean;
|
|
149
|
+
data:
|
|
150
|
+
| {
|
|
151
|
+
cancelUpdatesQueued: Array<string>;
|
|
152
|
+
}
|
|
153
|
+
| string;
|
|
154
|
+
};
|
|
155
|
+
|
|
90
156
|
export type FlightDto = {
|
|
91
157
|
token_id: number;
|
|
92
158
|
owner: string;
|
|
@@ -114,11 +180,6 @@ export type ValidateFlightDto = {
|
|
|
114
180
|
pilotAddress: string;
|
|
115
181
|
missionId: number;
|
|
116
182
|
flightTimestamp: string;
|
|
117
|
-
externalBucketInfo?: {
|
|
118
|
-
prefix: string;
|
|
119
|
-
bucketName: string;
|
|
120
|
-
region: string;
|
|
121
|
-
};
|
|
122
183
|
flightRequestInfo: {
|
|
123
184
|
filePaths: Array<string>;
|
|
124
185
|
flightPlanId: number;
|
|
@@ -149,7 +210,14 @@ export type GetTimeLimitsForSunAltitudeResponse = {
|
|
|
149
210
|
export type CreateWebhookBody = {
|
|
150
211
|
name: string;
|
|
151
212
|
url: string;
|
|
152
|
-
event_types: Array<
|
|
213
|
+
event_types: Array<
|
|
214
|
+
| "test"
|
|
215
|
+
| "protocol.flight.submitted"
|
|
216
|
+
| "protocol.mission.created"
|
|
217
|
+
| "protocol.mission.updated"
|
|
218
|
+
| "protocol.flight.reviewed"
|
|
219
|
+
| "*"
|
|
220
|
+
>;
|
|
153
221
|
active: boolean;
|
|
154
222
|
};
|
|
155
223
|
|
|
@@ -162,7 +230,14 @@ export type GetWebhooksResponse = Array<{
|
|
|
162
230
|
id: number;
|
|
163
231
|
name: string;
|
|
164
232
|
url: string;
|
|
165
|
-
event_types: Array<
|
|
233
|
+
event_types: Array<
|
|
234
|
+
| "test"
|
|
235
|
+
| "protocol.flight.submitted"
|
|
236
|
+
| "protocol.mission.created"
|
|
237
|
+
| "protocol.mission.updated"
|
|
238
|
+
| "protocol.flight.reviewed"
|
|
239
|
+
| "*"
|
|
240
|
+
>;
|
|
166
241
|
active: boolean;
|
|
167
242
|
failure_count: number;
|
|
168
243
|
last_failure_reason: string;
|
|
@@ -174,7 +249,14 @@ export type GetWebhookResponse = {
|
|
|
174
249
|
id: number;
|
|
175
250
|
name: string;
|
|
176
251
|
url: string;
|
|
177
|
-
event_types: Array<
|
|
252
|
+
event_types: Array<
|
|
253
|
+
| "test"
|
|
254
|
+
| "protocol.flight.submitted"
|
|
255
|
+
| "protocol.mission.created"
|
|
256
|
+
| "protocol.mission.updated"
|
|
257
|
+
| "protocol.flight.reviewed"
|
|
258
|
+
| "*"
|
|
259
|
+
>;
|
|
178
260
|
active: boolean;
|
|
179
261
|
failure_count: number;
|
|
180
262
|
last_failure_reason: string;
|
|
@@ -185,7 +267,14 @@ export type GetWebhookResponse = {
|
|
|
185
267
|
export type UpdateWebhookBody = {
|
|
186
268
|
name?: string;
|
|
187
269
|
url?: string;
|
|
188
|
-
event_types?: Array<
|
|
270
|
+
event_types?: Array<
|
|
271
|
+
| "test"
|
|
272
|
+
| "protocol.flight.submitted"
|
|
273
|
+
| "protocol.mission.created"
|
|
274
|
+
| "protocol.mission.updated"
|
|
275
|
+
| "protocol.flight.reviewed"
|
|
276
|
+
| "*"
|
|
277
|
+
>;
|
|
189
278
|
active?: boolean;
|
|
190
279
|
};
|
|
191
280
|
|
|
@@ -193,7 +282,14 @@ export type UpdateWebhookResponse = {
|
|
|
193
282
|
id: number;
|
|
194
283
|
name: string;
|
|
195
284
|
url: string;
|
|
196
|
-
event_types: Array<
|
|
285
|
+
event_types: Array<
|
|
286
|
+
| "test"
|
|
287
|
+
| "protocol.flight.submitted"
|
|
288
|
+
| "protocol.mission.created"
|
|
289
|
+
| "protocol.mission.updated"
|
|
290
|
+
| "protocol.flight.reviewed"
|
|
291
|
+
| "*"
|
|
292
|
+
>;
|
|
197
293
|
active: boolean;
|
|
198
294
|
failure_count: number;
|
|
199
295
|
last_failure_reason: string;
|
|
@@ -392,6 +488,89 @@ export type QuotesControllerGetQuoteResponses = {
|
|
|
392
488
|
200: unknown;
|
|
393
489
|
};
|
|
394
490
|
|
|
491
|
+
export type MissionsControllerCreateMissionsData = {
|
|
492
|
+
body: CreateMissionRequestDto;
|
|
493
|
+
path?: never;
|
|
494
|
+
query?: never;
|
|
495
|
+
url: "/missions";
|
|
496
|
+
};
|
|
497
|
+
|
|
498
|
+
export type MissionsControllerCreateMissionsErrors = {
|
|
499
|
+
/**
|
|
500
|
+
* Validation failed - invalid Zones, mission types, or times
|
|
501
|
+
*/
|
|
502
|
+
400: unknown;
|
|
503
|
+
/**
|
|
504
|
+
* Insufficient treasury spending limit
|
|
505
|
+
*/
|
|
506
|
+
403: unknown;
|
|
507
|
+
/**
|
|
508
|
+
* Internal server error during mission creation
|
|
509
|
+
*/
|
|
510
|
+
500: unknown;
|
|
511
|
+
};
|
|
512
|
+
|
|
513
|
+
export type MissionsControllerCreateMissionsResponses = {
|
|
514
|
+
/**
|
|
515
|
+
* Mission creation transaction queued successfully
|
|
516
|
+
*/
|
|
517
|
+
201: CreateMissionResponseDto;
|
|
518
|
+
};
|
|
519
|
+
|
|
520
|
+
export type MissionsControllerCreateMissionsResponse =
|
|
521
|
+
MissionsControllerCreateMissionsResponses[keyof MissionsControllerCreateMissionsResponses];
|
|
522
|
+
|
|
523
|
+
export type MissionsControllerUpdateMissionsData = {
|
|
524
|
+
body: UpdateMissionsRequestDto;
|
|
525
|
+
path?: never;
|
|
526
|
+
query?: never;
|
|
527
|
+
url: "/missions";
|
|
528
|
+
};
|
|
529
|
+
|
|
530
|
+
export type MissionsControllerUpdateMissionsResponses = {
|
|
531
|
+
/**
|
|
532
|
+
* Missions update transaction queued successfully
|
|
533
|
+
*/
|
|
534
|
+
200: UpdateMissionsResponseDto;
|
|
535
|
+
};
|
|
536
|
+
|
|
537
|
+
export type MissionsControllerUpdateMissionsResponse =
|
|
538
|
+
MissionsControllerUpdateMissionsResponses[keyof MissionsControllerUpdateMissionsResponses];
|
|
539
|
+
|
|
540
|
+
export type MissionsControllerClaimRewardsData = {
|
|
541
|
+
body: ClaimRewardsRequestDto;
|
|
542
|
+
path: {
|
|
543
|
+
id: bigint;
|
|
544
|
+
};
|
|
545
|
+
query?: never;
|
|
546
|
+
url: "/missions/{id}/rewards";
|
|
547
|
+
};
|
|
548
|
+
|
|
549
|
+
export type MissionsControllerClaimRewardsErrors = {
|
|
550
|
+
/**
|
|
551
|
+
* Flight not approved or validation failed
|
|
552
|
+
*/
|
|
553
|
+
400: unknown;
|
|
554
|
+
/**
|
|
555
|
+
* Mission or Flight not found
|
|
556
|
+
*/
|
|
557
|
+
404: unknown;
|
|
558
|
+
/**
|
|
559
|
+
* Internal server error during reward claiming
|
|
560
|
+
*/
|
|
561
|
+
500: unknown;
|
|
562
|
+
};
|
|
563
|
+
|
|
564
|
+
export type MissionsControllerClaimRewardsResponses = {
|
|
565
|
+
/**
|
|
566
|
+
* Rewards claimed successfully
|
|
567
|
+
*/
|
|
568
|
+
200: ClaimRewardsResponseDto;
|
|
569
|
+
};
|
|
570
|
+
|
|
571
|
+
export type MissionsControllerClaimRewardsResponse =
|
|
572
|
+
MissionsControllerClaimRewardsResponses[keyof MissionsControllerClaimRewardsResponses];
|
|
573
|
+
|
|
395
574
|
export type FlightsControllerGenerateFlightIdData = {
|
|
396
575
|
body?: never;
|
|
397
576
|
path?: never;
|
package/src/event/types.gen.ts
CHANGED
|
@@ -24,5 +24,72 @@ export const Event = z.union([
|
|
|
24
24
|
.strict(),
|
|
25
25
|
})
|
|
26
26
|
.strict(),
|
|
27
|
+
z
|
|
28
|
+
.object({
|
|
29
|
+
id: z.any(),
|
|
30
|
+
event_type: z.literal("protocol.mission.created"),
|
|
31
|
+
timestamp: z.any(),
|
|
32
|
+
data: z
|
|
33
|
+
.object({
|
|
34
|
+
missionId: z.string(),
|
|
35
|
+
vaultId: z.string(),
|
|
36
|
+
amount: z.string(),
|
|
37
|
+
zoneId: z.string(),
|
|
38
|
+
flightPlanId: z.number(),
|
|
39
|
+
captureStartTime: z.string(),
|
|
40
|
+
captureEndTime: z.string(),
|
|
41
|
+
detailsHash: z.string(),
|
|
42
|
+
})
|
|
43
|
+
.strict(),
|
|
44
|
+
})
|
|
45
|
+
.strict(),
|
|
46
|
+
z
|
|
47
|
+
.object({
|
|
48
|
+
id: z.any(),
|
|
49
|
+
event_type: z.literal("protocol.mission.updated"),
|
|
50
|
+
timestamp: z.any(),
|
|
51
|
+
data: z
|
|
52
|
+
.object({
|
|
53
|
+
id: z.string(),
|
|
54
|
+
amount: z.number().optional(),
|
|
55
|
+
isOpen: z.boolean().optional(),
|
|
56
|
+
})
|
|
57
|
+
.strict(),
|
|
58
|
+
})
|
|
59
|
+
.strict(),
|
|
60
|
+
z
|
|
61
|
+
.object({
|
|
62
|
+
id: z.any(),
|
|
63
|
+
event_type: z.literal("protocol.flight.reviewed"),
|
|
64
|
+
timestamp: z.any(),
|
|
65
|
+
data: z
|
|
66
|
+
.object({
|
|
67
|
+
flightId: z.number(),
|
|
68
|
+
isApproved: z.boolean(),
|
|
69
|
+
validationLogUri: z.string(),
|
|
70
|
+
validator: z.string(),
|
|
71
|
+
filesHash: z.string(),
|
|
72
|
+
})
|
|
73
|
+
.strict(),
|
|
74
|
+
})
|
|
75
|
+
.strict(),
|
|
27
76
|
]);
|
|
28
77
|
export type Event = z.infer<typeof Event>;
|
|
78
|
+
|
|
79
|
+
export type TestEvent = Extract<Event, { event_type: "test" }>;
|
|
80
|
+
export type FlightSubmittedEvent = Extract<
|
|
81
|
+
Event,
|
|
82
|
+
{ event_type: "protocol.flight.submitted" }
|
|
83
|
+
>;
|
|
84
|
+
export type MissionCreatedEvent = Extract<
|
|
85
|
+
Event,
|
|
86
|
+
{ event_type: "protocol.mission.created" }
|
|
87
|
+
>;
|
|
88
|
+
export type MissionUpdatedEvent = Extract<
|
|
89
|
+
Event,
|
|
90
|
+
{ event_type: "protocol.mission.updated" }
|
|
91
|
+
>;
|
|
92
|
+
export type FlightReviewedEvent = Extract<
|
|
93
|
+
Event,
|
|
94
|
+
{ event_type: "protocol.flight.reviewed" }
|
|
95
|
+
>;
|