@merkl/api 1.18.40 → 1.19.2

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.
Files changed (41) hide show
  1. package/dist/src/eden/index.d.ts +324 -66
  2. package/dist/src/engine/deprecated/dynamicData/implementations/Erc20.d.ts +38 -38
  3. package/dist/src/guards/KeyStoreAuth.guard.d.ts +26 -0
  4. package/dist/src/guards/KeyStoreAuth.guard.js.map +1 -0
  5. package/dist/src/index.d.ts +403 -66
  6. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +20 -20
  7. package/dist/src/modules/v4/campaign/campaign.model.d.ts +2 -0
  8. package/dist/src/modules/v4/campaign/campaign.query-transformer.d.ts +90 -90
  9. package/dist/src/modules/v4/campaign/campaign.service.d.ts +5 -5
  10. package/dist/src/modules/v4/carousel/carousel.controller.d.ts +9 -9
  11. package/dist/src/modules/v4/carousel/carousel.service.d.ts +6 -6
  12. package/dist/src/modules/v4/chain/chain.controller.d.ts +5 -5
  13. package/dist/src/modules/v4/chain/chain.model.d.ts +2 -0
  14. package/dist/src/modules/v4/creator/creator.controller.d.ts +3 -3
  15. package/dist/src/modules/v4/explorer/explorer.controller.d.ts +2 -2
  16. package/dist/src/modules/v4/explorer/explorer.model.d.ts +1 -0
  17. package/dist/src/modules/v4/keyStore/keyStore.controller.d.ts +372 -0
  18. package/dist/src/modules/v4/keyStore/keyStore.controller.js.map +1 -0
  19. package/dist/src/modules/v4/keyStore/keyStore.model.d.ts +63 -0
  20. package/dist/src/modules/v4/keyStore/keyStore.model.js.map +1 -0
  21. package/dist/src/modules/v4/keyStore/keyStore.repository.d.ts +148 -0
  22. package/dist/src/modules/v4/keyStore/keyStore.repository.js.map +1 -0
  23. package/dist/src/modules/v4/keyStore/keyStore.service.d.ts +131 -0
  24. package/dist/src/modules/v4/keyStore/keyStore.service.js.map +1 -0
  25. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +18 -18
  26. package/dist/src/modules/v4/opportunity/opportunity.formatter.d.ts +3 -3
  27. package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +8 -0
  28. package/dist/src/modules/v4/opportunity/opportunity.query-transformer.d.ts +62 -61
  29. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +10 -10
  30. package/dist/src/modules/v4/program/program.controller.d.ts +4 -4
  31. package/dist/src/modules/v4/program/program.service.d.ts +4 -4
  32. package/dist/src/modules/v4/reward/reward.service.d.ts +4 -4
  33. package/dist/src/modules/v4/router.d.ts +403 -66
  34. package/dist/src/modules/v4/router.js.map +1 -1
  35. package/dist/src/modules/v4/transaction/transaction.service.d.ts +12406 -12406
  36. package/dist/src/modules/v4/uniswap/uniswap.controller.d.ts +2 -2
  37. package/dist/src/modules/v4/uniswap/uniswap.service.d.ts +1 -1
  38. package/dist/src/modules/v4/user/user.controller.d.ts +3 -3
  39. package/dist/src/modules/v4/user/user.model.d.ts +1 -0
  40. package/dist/tsconfig.tsbuildinfo +1 -1
  41. package/package.json +1 -1
@@ -0,0 +1,148 @@
1
+ import { type KeyValueStoreAccessMode, type KeyValueStoreType } from "@package/databases/api";
2
+ /**
3
+ * Repository for KeyValueStoreConfig and KeyValueStoreEntry database operations
4
+ */
5
+ export declare abstract class KeyStoreRepository {
6
+ /** Find a config by its unique key */
7
+ static findByKey(key: string): Promise<{
8
+ id: string;
9
+ key: string;
10
+ description: string | null;
11
+ accessMode: KeyValueStoreAccessMode;
12
+ type: KeyValueStoreType;
13
+ sizeLimit: number;
14
+ entryCount: number;
15
+ publicRead: boolean;
16
+ ownerAddress: string;
17
+ createdAt: Date;
18
+ updatedAt: Date;
19
+ } | null>;
20
+ /** Find a config by key or throw */
21
+ static findByKeyOrThrow(key: string): Promise<{
22
+ id: string;
23
+ key: string;
24
+ description: string | null;
25
+ accessMode: KeyValueStoreAccessMode;
26
+ type: KeyValueStoreType;
27
+ sizeLimit: number;
28
+ entryCount: number;
29
+ publicRead: boolean;
30
+ ownerAddress: string;
31
+ createdAt: Date;
32
+ updatedAt: Date;
33
+ }>;
34
+ /** List all configs */
35
+ static findMany(): Promise<{
36
+ id: string;
37
+ key: string;
38
+ description: string | null;
39
+ accessMode: KeyValueStoreAccessMode;
40
+ type: KeyValueStoreType;
41
+ sizeLimit: number;
42
+ entryCount: number;
43
+ publicRead: boolean;
44
+ ownerAddress: string;
45
+ createdAt: Date;
46
+ updatedAt: Date;
47
+ }[]>;
48
+ /** Create a new config */
49
+ static create(data: {
50
+ key: string;
51
+ description?: string;
52
+ accessMode: KeyValueStoreAccessMode;
53
+ type: KeyValueStoreType;
54
+ sizeLimit: number;
55
+ publicRead: boolean;
56
+ ownerAddress: string;
57
+ }): Promise<{
58
+ id: string;
59
+ key: string;
60
+ description: string | null;
61
+ accessMode: KeyValueStoreAccessMode;
62
+ type: KeyValueStoreType;
63
+ sizeLimit: number;
64
+ entryCount: number;
65
+ publicRead: boolean;
66
+ ownerAddress: string;
67
+ createdAt: Date;
68
+ updatedAt: Date;
69
+ }>;
70
+ /** Update a config */
71
+ static update(key: string, data: {
72
+ description?: string;
73
+ publicRead?: boolean;
74
+ sizeLimit?: number;
75
+ }): Promise<{
76
+ id: string;
77
+ key: string;
78
+ description: string | null;
79
+ accessMode: KeyValueStoreAccessMode;
80
+ type: KeyValueStoreType;
81
+ sizeLimit: number;
82
+ entryCount: number;
83
+ publicRead: boolean;
84
+ ownerAddress: string;
85
+ createdAt: Date;
86
+ updatedAt: Date;
87
+ }>;
88
+ /** Delete a config (cascade deletes entries) */
89
+ static delete(key: string): Promise<{
90
+ id: string;
91
+ key: string;
92
+ description: string | null;
93
+ accessMode: KeyValueStoreAccessMode;
94
+ type: KeyValueStoreType;
95
+ sizeLimit: number;
96
+ entryCount: number;
97
+ publicRead: boolean;
98
+ ownerAddress: string;
99
+ createdAt: Date;
100
+ updatedAt: Date;
101
+ }>;
102
+ /**
103
+ * Upsert one or many entries in a single bulk SQL statement, then increment
104
+ * the config's denormalized entryCount by the number of net-new rows.
105
+ *
106
+ * `xmax = 0` in RETURNING flags freshly inserted rows vs updated ones, giving
107
+ * us the exact counter delta without a second query. The DB CHECK constraint
108
+ * on (entryCount <= sizeLimit) atomically rejects any transaction that would
109
+ * overshoot, so concurrent batches can't race past the limit.
110
+ *
111
+ * Input is de-duplicated by address (last write wins) to avoid the Postgres
112
+ * "ON CONFLICT DO UPDATE can not affect row a second time" error when the
113
+ * same address appears twice in a batch.
114
+ */
115
+ static upsertEntries(configId: string, entries: Array<{
116
+ address: string;
117
+ value: string;
118
+ }>): Promise<{
119
+ address: string;
120
+ value: string;
121
+ createdAt: Date;
122
+ updatedAt: Date;
123
+ inserted: boolean;
124
+ }[]>;
125
+ /** List entries with pagination and optional value filter */
126
+ static listEntries(configId: string, options: {
127
+ page: number;
128
+ pageSize: number;
129
+ value?: string;
130
+ }): Promise<{
131
+ entries: {
132
+ address: string;
133
+ createdAt: Date;
134
+ updatedAt: Date;
135
+ value: string;
136
+ }[];
137
+ total: number;
138
+ }>;
139
+ /** Find a single entry by config + address */
140
+ static findEntry(configId: string, address: string): Promise<{
141
+ address: string;
142
+ createdAt: Date;
143
+ updatedAt: Date;
144
+ value: string;
145
+ } | null>;
146
+ /** Delete a single entry and decrement the counter if it existed */
147
+ static deleteEntry(configId: string, address: string): Promise<boolean>;
148
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyStore.repository.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/keyStore/keyStore.repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ import type { KeyValueStoreConfig, KeyValueStoreType } from "@package/databases/api";
2
+ /**
3
+ * Service layer for KeyValueStoreConfig operations.
4
+ * Handles type-gated value validation, size enforcement, and business logic.
5
+ */
6
+ export declare abstract class KeyStoreService {
7
+ /** Create a new config */
8
+ static create(data: {
9
+ key: string;
10
+ description?: string;
11
+ accessMode: "PUBLIC" | "API_KEY";
12
+ type: KeyValueStoreType;
13
+ sizeLimit?: number;
14
+ publicRead?: boolean;
15
+ ownerAddress: string;
16
+ }): Promise<{
17
+ id: string;
18
+ key: string;
19
+ description: string | null;
20
+ accessMode: import("@package/databases").KeyValueStoreAccessMode;
21
+ type: KeyValueStoreType;
22
+ sizeLimit: number;
23
+ entryCount: number;
24
+ publicRead: boolean;
25
+ ownerAddress: string;
26
+ createdAt: Date;
27
+ updatedAt: Date;
28
+ }>;
29
+ /** List all configs */
30
+ static findMany(): Promise<{
31
+ id: string;
32
+ key: string;
33
+ description: string | null;
34
+ accessMode: import("@package/databases").KeyValueStoreAccessMode;
35
+ type: KeyValueStoreType;
36
+ sizeLimit: number;
37
+ entryCount: number;
38
+ publicRead: boolean;
39
+ ownerAddress: string;
40
+ createdAt: Date;
41
+ updatedAt: Date;
42
+ }[]>;
43
+ /** Find a config by key or throw 404 */
44
+ static findByKeyOrThrow(key: string): Promise<{
45
+ id: string;
46
+ key: string;
47
+ description: string | null;
48
+ accessMode: import("@package/databases").KeyValueStoreAccessMode;
49
+ type: KeyValueStoreType;
50
+ sizeLimit: number;
51
+ entryCount: number;
52
+ publicRead: boolean;
53
+ ownerAddress: string;
54
+ createdAt: Date;
55
+ updatedAt: Date;
56
+ }>;
57
+ /** Update a config */
58
+ static update(key: string, data: {
59
+ description?: string;
60
+ publicRead?: boolean;
61
+ sizeLimit?: number;
62
+ }): Promise<{
63
+ id: string;
64
+ key: string;
65
+ description: string | null;
66
+ accessMode: import("@package/databases").KeyValueStoreAccessMode;
67
+ type: KeyValueStoreType;
68
+ sizeLimit: number;
69
+ entryCount: number;
70
+ publicRead: boolean;
71
+ ownerAddress: string;
72
+ createdAt: Date;
73
+ updatedAt: Date;
74
+ }>;
75
+ /** Delete a config and all its entries */
76
+ static delete(key: string): Promise<{
77
+ id: string;
78
+ key: string;
79
+ description: string | null;
80
+ accessMode: import("@package/databases").KeyValueStoreAccessMode;
81
+ type: KeyValueStoreType;
82
+ sizeLimit: number;
83
+ entryCount: number;
84
+ publicRead: boolean;
85
+ ownerAddress: string;
86
+ createdAt: Date;
87
+ updatedAt: Date;
88
+ }>;
89
+ /** Upsert a single entry (validates value shape; sizeLimit enforced by DB CHECK) */
90
+ static upsertEntry(config: KeyValueStoreConfig, address: string, value: string): Promise<{
91
+ address: string;
92
+ value: string;
93
+ createdAt: Date;
94
+ updatedAt: Date;
95
+ inserted: boolean;
96
+ }>;
97
+ /** Batch upsert entries (validates all values; sizeLimit enforced by DB CHECK) */
98
+ static batchUpsertEntries(config: KeyValueStoreConfig, entries: Array<{
99
+ address: string;
100
+ value: string;
101
+ }>): Promise<{
102
+ address: string;
103
+ value: string;
104
+ createdAt: Date;
105
+ updatedAt: Date;
106
+ inserted: boolean;
107
+ }[]>;
108
+ /** List entries with pagination */
109
+ static listEntries(config: KeyValueStoreConfig, options: {
110
+ page: number;
111
+ pageSize: number;
112
+ value?: string;
113
+ }): Promise<{
114
+ entries: {
115
+ address: string;
116
+ createdAt: Date;
117
+ updatedAt: Date;
118
+ value: string;
119
+ }[];
120
+ total: number;
121
+ }>;
122
+ /** Find a single entry */
123
+ static findEntry(config: KeyValueStoreConfig, address: string): Promise<{
124
+ address: string;
125
+ createdAt: Date;
126
+ updatedAt: Date;
127
+ value: string;
128
+ } | null>;
129
+ /** Delete a single entry */
130
+ static deleteEntry(config: KeyValueStoreConfig, address: string): Promise<boolean>;
131
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyStore.service.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/keyStore/keyStore.service.ts"],"names":[],"mappings":"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"}
@@ -124,7 +124,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
124
124
  liveCampaigns: number;
125
125
  endOfDisputePeriod: number;
126
126
  explorers?: {
127
- type: "BLOCKSCOUT" | "ETHERSCAN";
127
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
128
128
  url: string;
129
129
  chainId: number;
130
130
  }[] | undefined;
@@ -254,7 +254,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
254
254
  liveCampaigns: number;
255
255
  endOfDisputePeriod: number;
256
256
  explorers?: {
257
- type: "BLOCKSCOUT" | "ETHERSCAN";
257
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
258
258
  url: string;
259
259
  chainId: number;
260
260
  }[] | undefined;
@@ -287,7 +287,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
287
287
  liveCampaigns: number;
288
288
  endOfDisputePeriod: number;
289
289
  explorers?: {
290
- type: "BLOCKSCOUT" | "ETHERSCAN";
290
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
291
291
  url: string;
292
292
  chainId: number;
293
293
  }[] | undefined;
@@ -448,7 +448,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
448
448
  liveCampaigns: number;
449
449
  endOfDisputePeriod: number;
450
450
  explorers?: {
451
- type: "BLOCKSCOUT" | "ETHERSCAN";
451
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
452
452
  url: string;
453
453
  chainId: number;
454
454
  }[] | undefined;
@@ -578,7 +578,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
578
578
  liveCampaigns: number;
579
579
  endOfDisputePeriod: number;
580
580
  explorers?: {
581
- type: "BLOCKSCOUT" | "ETHERSCAN";
581
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
582
582
  url: string;
583
583
  chainId: number;
584
584
  }[] | undefined;
@@ -611,7 +611,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
611
611
  liveCampaigns: number;
612
612
  endOfDisputePeriod: number;
613
613
  explorers?: {
614
- type: "BLOCKSCOUT" | "ETHERSCAN";
614
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
615
615
  url: string;
616
616
  chainId: number;
617
617
  }[] | undefined;
@@ -729,7 +729,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
729
729
  liveCampaigns: number;
730
730
  endOfDisputePeriod: number;
731
731
  explorers?: {
732
- type: "BLOCKSCOUT" | "ETHERSCAN";
732
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
733
733
  url: string;
734
734
  chainId: number;
735
735
  }[] | undefined;
@@ -859,7 +859,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
859
859
  liveCampaigns: number;
860
860
  endOfDisputePeriod: number;
861
861
  explorers?: {
862
- type: "BLOCKSCOUT" | "ETHERSCAN";
862
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
863
863
  url: string;
864
864
  chainId: number;
865
865
  }[] | undefined;
@@ -892,7 +892,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
892
892
  liveCampaigns: number;
893
893
  endOfDisputePeriod: number;
894
894
  explorers?: {
895
- type: "BLOCKSCOUT" | "ETHERSCAN";
895
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
896
896
  url: string;
897
897
  chainId: number;
898
898
  }[] | undefined;
@@ -1054,7 +1054,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
1054
1054
  liveCampaigns: number;
1055
1055
  endOfDisputePeriod: number;
1056
1056
  explorers?: {
1057
- type: "BLOCKSCOUT" | "ETHERSCAN";
1057
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
1058
1058
  url: string;
1059
1059
  chainId: number;
1060
1060
  }[] | undefined;
@@ -1184,7 +1184,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
1184
1184
  liveCampaigns: number;
1185
1185
  endOfDisputePeriod: number;
1186
1186
  explorers?: {
1187
- type: "BLOCKSCOUT" | "ETHERSCAN";
1187
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
1188
1188
  url: string;
1189
1189
  chainId: number;
1190
1190
  }[] | undefined;
@@ -1217,7 +1217,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
1217
1217
  liveCampaigns: number;
1218
1218
  endOfDisputePeriod: number;
1219
1219
  explorers?: {
1220
- type: "BLOCKSCOUT" | "ETHERSCAN";
1220
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
1221
1221
  url: string;
1222
1222
  chainId: number;
1223
1223
  }[] | undefined;
@@ -1476,7 +1476,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
1476
1476
  liveCampaigns: number;
1477
1477
  endOfDisputePeriod: number;
1478
1478
  explorers?: {
1479
- type: "BLOCKSCOUT" | "ETHERSCAN";
1479
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
1480
1480
  url: string;
1481
1481
  chainId: number;
1482
1482
  }[] | undefined;
@@ -1606,7 +1606,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
1606
1606
  liveCampaigns: number;
1607
1607
  endOfDisputePeriod: number;
1608
1608
  explorers?: {
1609
- type: "BLOCKSCOUT" | "ETHERSCAN";
1609
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
1610
1610
  url: string;
1611
1611
  chainId: number;
1612
1612
  }[] | undefined;
@@ -1639,7 +1639,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
1639
1639
  liveCampaigns: number;
1640
1640
  endOfDisputePeriod: number;
1641
1641
  explorers?: {
1642
- type: "BLOCKSCOUT" | "ETHERSCAN";
1642
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
1643
1643
  url: string;
1644
1644
  chainId: number;
1645
1645
  }[] | undefined;
@@ -1757,7 +1757,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
1757
1757
  liveCampaigns: number;
1758
1758
  endOfDisputePeriod: number;
1759
1759
  explorers?: {
1760
- type: "BLOCKSCOUT" | "ETHERSCAN";
1760
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
1761
1761
  url: string;
1762
1762
  chainId: number;
1763
1763
  }[] | undefined;
@@ -1887,7 +1887,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
1887
1887
  liveCampaigns: number;
1888
1888
  endOfDisputePeriod: number;
1889
1889
  explorers?: {
1890
- type: "BLOCKSCOUT" | "ETHERSCAN";
1890
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
1891
1891
  url: string;
1892
1892
  chainId: number;
1893
1893
  }[] | undefined;
@@ -1920,7 +1920,7 @@ export declare const OpportunityController: Elysia<"/opportunities", {
1920
1920
  liveCampaigns: number;
1921
1921
  endOfDisputePeriod: number;
1922
1922
  explorers?: {
1923
- type: "BLOCKSCOUT" | "ETHERSCAN";
1923
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
1924
1924
  url: string;
1925
1925
  chainId: number;
1926
1926
  }[] | undefined;
@@ -155,7 +155,7 @@ export declare abstract class OpportunityFormatter {
155
155
  liveCampaigns: number;
156
156
  endOfDisputePeriod: number;
157
157
  explorers?: {
158
- type: "BLOCKSCOUT" | "ETHERSCAN";
158
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
159
159
  url: string;
160
160
  chainId: number;
161
161
  }[] | undefined;
@@ -227,7 +227,7 @@ export declare abstract class OpportunityFormatter {
227
227
  liveCampaigns: number;
228
228
  endOfDisputePeriod: number;
229
229
  explorers?: {
230
- type: "BLOCKSCOUT" | "ETHERSCAN";
230
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
231
231
  url: string;
232
232
  chainId: number;
233
233
  }[] | undefined;
@@ -310,7 +310,7 @@ export declare abstract class OpportunityFormatter {
310
310
  liveCampaigns: number;
311
311
  endOfDisputePeriod: number;
312
312
  explorers?: {
313
- type: "BLOCKSCOUT" | "ETHERSCAN";
313
+ type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
314
314
  url: string;
315
315
  chainId: number;
316
316
  }[] | undefined;
@@ -160,6 +160,7 @@ export declare const CampaignWithOpportunityResourceDto: import("@sinclair/typeb
160
160
  type: import("@sinclair/typebox").TEnum<{
161
161
  readonly ETHERSCAN: "ETHERSCAN";
162
162
  readonly BLOCKSCOUT: "BLOCKSCOUT";
163
+ readonly SOLSCAN: "SOLSCAN";
163
164
  }>;
164
165
  url: import("@sinclair/typebox").TString;
165
166
  chainId: import("@sinclair/typebox").TNumber;
@@ -230,6 +231,7 @@ export declare const CampaignWithOpportunityResourceDto: import("@sinclair/typeb
230
231
  type: import("@sinclair/typebox").TEnum<{
231
232
  readonly ETHERSCAN: "ETHERSCAN";
232
233
  readonly BLOCKSCOUT: "BLOCKSCOUT";
234
+ readonly SOLSCAN: "SOLSCAN";
233
235
  }>;
234
236
  url: import("@sinclair/typebox").TString;
235
237
  chainId: import("@sinclair/typebox").TNumber;
@@ -379,6 +381,7 @@ export declare const OpportunityResourceDto: import("@sinclair/typebox").TInters
379
381
  type: import("@sinclair/typebox").TEnum<{
380
382
  readonly ETHERSCAN: "ETHERSCAN";
381
383
  readonly BLOCKSCOUT: "BLOCKSCOUT";
384
+ readonly SOLSCAN: "SOLSCAN";
382
385
  }>;
383
386
  url: import("@sinclair/typebox").TString;
384
387
  chainId: import("@sinclair/typebox").TNumber;
@@ -553,6 +556,7 @@ export declare const OpportunityResourceDto: import("@sinclair/typebox").TInters
553
556
  type: import("@sinclair/typebox").TEnum<{
554
557
  readonly ETHERSCAN: "ETHERSCAN";
555
558
  readonly BLOCKSCOUT: "BLOCKSCOUT";
559
+ readonly SOLSCAN: "SOLSCAN";
556
560
  }>;
557
561
  url: import("@sinclair/typebox").TString;
558
562
  chainId: import("@sinclair/typebox").TNumber;
@@ -593,6 +597,7 @@ export declare const OpportunityResourceDto: import("@sinclair/typebox").TInters
593
597
  type: import("@sinclair/typebox").TEnum<{
594
598
  readonly ETHERSCAN: "ETHERSCAN";
595
599
  readonly BLOCKSCOUT: "BLOCKSCOUT";
600
+ readonly SOLSCAN: "SOLSCAN";
596
601
  }>;
597
602
  url: import("@sinclair/typebox").TString;
598
603
  chainId: import("@sinclair/typebox").TNumber;
@@ -769,6 +774,7 @@ export declare const OpportunityWithCampaignsResourceDto: import("@sinclair/type
769
774
  type: import("@sinclair/typebox").TEnum<{
770
775
  readonly ETHERSCAN: "ETHERSCAN";
771
776
  readonly BLOCKSCOUT: "BLOCKSCOUT";
777
+ readonly SOLSCAN: "SOLSCAN";
772
778
  }>;
773
779
  url: import("@sinclair/typebox").TString;
774
780
  chainId: import("@sinclair/typebox").TNumber;
@@ -943,6 +949,7 @@ export declare const OpportunityWithCampaignsResourceDto: import("@sinclair/type
943
949
  type: import("@sinclair/typebox").TEnum<{
944
950
  readonly ETHERSCAN: "ETHERSCAN";
945
951
  readonly BLOCKSCOUT: "BLOCKSCOUT";
952
+ readonly SOLSCAN: "SOLSCAN";
946
953
  }>;
947
954
  url: import("@sinclair/typebox").TString;
948
955
  chainId: import("@sinclair/typebox").TNumber;
@@ -983,6 +990,7 @@ export declare const OpportunityWithCampaignsResourceDto: import("@sinclair/type
983
990
  type: import("@sinclair/typebox").TEnum<{
984
991
  readonly ETHERSCAN: "ETHERSCAN";
985
992
  readonly BLOCKSCOUT: "BLOCKSCOUT";
993
+ readonly SOLSCAN: "SOLSCAN";
986
994
  }>;
987
995
  url: import("@sinclair/typebox").TString;
988
996
  chainId: import("@sinclair/typebox").TNumber;