@glowlabs-org/utils 0.2.25 → 0.2.26
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/cjs/browser.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/lib/control-api/region-router.d.ts +5 -1
- package/dist/cjs/lib/types/index.d.ts +50 -0
- package/dist/cjs/{region-router-C3X3im0d.js → region-router-CIjrTHtv.js} +46 -1
- package/dist/{esm/region-router-VXTuF9Up.js.map → cjs/region-router-CIjrTHtv.js.map} +1 -1
- package/dist/esm/browser.js +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/lib/control-api/region-router.d.ts +5 -1
- package/dist/esm/lib/types/index.d.ts +50 -0
- package/dist/esm/{region-router-VXTuF9Up.js → region-router-CSTfHLOs.js} +46 -1
- package/dist/{cjs/region-router-C3X3im0d.js.map → esm/region-router-CSTfHLOs.js.map} +1 -1
- package/package.json +1 -1
- package/src/lib/control-api/region-router.ts +59 -0
- package/src/lib/types/index.ts +64 -0
package/dist/cjs/browser.js
CHANGED
package/dist/cjs/index.js
CHANGED
|
@@ -15,7 +15,7 @@ var viem = require('viem');
|
|
|
15
15
|
var merkletreejs = require('merkletreejs');
|
|
16
16
|
var ethers = require('ethers');
|
|
17
17
|
var Decimal = require('decimal.js');
|
|
18
|
-
var regionRouter = require('./region-router-
|
|
18
|
+
var regionRouter = require('./region-router-CIjrTHtv.js');
|
|
19
19
|
|
|
20
20
|
const GENESIS_TIMESTAMP = 1700352000;
|
|
21
21
|
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import type { Region, RegionWithMetadata, ActivationConfig, CreateRegionPayload } from "../types";
|
|
1
|
+
import type { Region, RegionWithMetadata, ActivationConfig, CreateRegionPayload, CreateKickstarterPayload, Kickstarter, ActivationEvent, KickstarterCreateResponse } from "../types";
|
|
2
2
|
export declare function RegionRouter(baseUrl: string): {
|
|
3
3
|
readonly fetchRegions: () => Promise<Region[]>;
|
|
4
4
|
readonly fetchActivationConfig: (regionCode: string) => Promise<ActivationConfig>;
|
|
5
|
+
readonly fetchActivationEvents: (regionId?: number) => Promise<ActivationEvent[]>;
|
|
6
|
+
readonly fetchKickstarter: (idOrSlug: string) => Promise<Kickstarter>;
|
|
5
7
|
readonly getRegionByCode: (code: string) => RegionWithMetadata | null;
|
|
6
8
|
readonly createRegion: (payload: CreateRegionPayload) => Promise<void>;
|
|
9
|
+
readonly createKickstarter: (payload: CreateKickstarterPayload) => Promise<KickstarterCreateResponse>;
|
|
7
10
|
readonly regions: Region[];
|
|
8
11
|
readonly isLoading: boolean;
|
|
9
12
|
readonly isCreatingRegion: boolean;
|
|
13
|
+
readonly isCreatingKickstarter: boolean;
|
|
10
14
|
};
|
|
@@ -117,4 +117,54 @@ export interface RegionMetadata {
|
|
|
117
117
|
isUs: boolean;
|
|
118
118
|
flag?: string;
|
|
119
119
|
}
|
|
120
|
+
export type KickstarterStatus = "draft" | "awaiting-kickoff" | "collecting-support" | "ready-to-activate" | "completed" | "expired" | "cancelled" | "suspended";
|
|
121
|
+
export interface CreateKickstarterPayload {
|
|
122
|
+
creatorWallet: string;
|
|
123
|
+
regionName: string;
|
|
124
|
+
isUs?: boolean;
|
|
125
|
+
title: string;
|
|
126
|
+
description: string;
|
|
127
|
+
stakeTargetGctl: string;
|
|
128
|
+
requiredFarmCount?: number;
|
|
129
|
+
requiredInstallerCount?: number;
|
|
130
|
+
}
|
|
131
|
+
export interface KickstarterCreateResponse {
|
|
132
|
+
success: true;
|
|
133
|
+
id: string;
|
|
134
|
+
}
|
|
135
|
+
export interface Kickstarter {
|
|
136
|
+
id: string;
|
|
137
|
+
regionId: number;
|
|
138
|
+
creatorWallet: string;
|
|
139
|
+
title: string;
|
|
140
|
+
description: string;
|
|
141
|
+
slug: string;
|
|
142
|
+
status: KickstarterStatus | string;
|
|
143
|
+
createdAt: string;
|
|
144
|
+
updatedAt: string;
|
|
145
|
+
publishedAt?: string;
|
|
146
|
+
completedAt?: string;
|
|
147
|
+
cancelledAt?: string;
|
|
148
|
+
expiredAt?: string;
|
|
149
|
+
deadline: string;
|
|
150
|
+
stakeTargetGctl: string;
|
|
151
|
+
requiredFarmCount: number;
|
|
152
|
+
requiredInstallerCount: number;
|
|
153
|
+
stakeContributed: boolean;
|
|
154
|
+
farmProvided: boolean;
|
|
155
|
+
installerCertified: boolean;
|
|
156
|
+
kickoffTransferTxId?: string;
|
|
157
|
+
kickoffMintTxId?: string;
|
|
158
|
+
kickoffStakeEventId?: string;
|
|
159
|
+
}
|
|
160
|
+
export interface ActivationEvent {
|
|
161
|
+
id: string;
|
|
162
|
+
regionId: number;
|
|
163
|
+
epoch: number;
|
|
164
|
+
stakeThresholdMet: boolean;
|
|
165
|
+
solarFarmRequirementMet: boolean;
|
|
166
|
+
installerRequirementMet: boolean;
|
|
167
|
+
activated: boolean;
|
|
168
|
+
ts: string;
|
|
169
|
+
}
|
|
120
170
|
export type { MintedEvent as ControlMintedEvent };
|
|
@@ -1611,6 +1611,7 @@ function RegionRouter(baseUrl) {
|
|
|
1611
1611
|
let cachedRegions = [];
|
|
1612
1612
|
let isLoading = false;
|
|
1613
1613
|
let isCreatingRegion = false;
|
|
1614
|
+
let isCreatingKickstarter = false;
|
|
1614
1615
|
// -------------------------------------------------------------------------
|
|
1615
1616
|
// Queries
|
|
1616
1617
|
// -------------------------------------------------------------------------
|
|
@@ -1636,6 +1637,16 @@ function RegionRouter(baseUrl) {
|
|
|
1636
1637
|
throw new Error(parseApiError(error));
|
|
1637
1638
|
}
|
|
1638
1639
|
};
|
|
1640
|
+
const fetchActivationEvents = async (regionId) => {
|
|
1641
|
+
try {
|
|
1642
|
+
const query = typeof regionId === "number" ? `?regionId=${regionId}` : "";
|
|
1643
|
+
const data = await request(`/regions/activation-events${query}`);
|
|
1644
|
+
return data.events ?? [];
|
|
1645
|
+
}
|
|
1646
|
+
catch (error) {
|
|
1647
|
+
throw new Error(parseApiError(error));
|
|
1648
|
+
}
|
|
1649
|
+
};
|
|
1639
1650
|
// -------------------------------------------------------------------------
|
|
1640
1651
|
// Mutations
|
|
1641
1652
|
// -------------------------------------------------------------------------
|
|
@@ -1657,6 +1668,34 @@ function RegionRouter(baseUrl) {
|
|
|
1657
1668
|
isCreatingRegion = false;
|
|
1658
1669
|
}
|
|
1659
1670
|
};
|
|
1671
|
+
const createKickstarter = async (payload) => {
|
|
1672
|
+
isCreatingKickstarter = true;
|
|
1673
|
+
try {
|
|
1674
|
+
const data = await request(`/regions/kickstarters`, {
|
|
1675
|
+
method: "POST",
|
|
1676
|
+
headers: { "Content-Type": "application/json" },
|
|
1677
|
+
body: JSON.stringify(payload),
|
|
1678
|
+
});
|
|
1679
|
+
// A new region may have been created; refresh regions cache
|
|
1680
|
+
await fetchRegions();
|
|
1681
|
+
return data;
|
|
1682
|
+
}
|
|
1683
|
+
catch (error) {
|
|
1684
|
+
throw new Error(parseApiError(error));
|
|
1685
|
+
}
|
|
1686
|
+
finally {
|
|
1687
|
+
isCreatingKickstarter = false;
|
|
1688
|
+
}
|
|
1689
|
+
};
|
|
1690
|
+
const fetchKickstarter = async (idOrSlug) => {
|
|
1691
|
+
try {
|
|
1692
|
+
const data = await request(`/regions/kickstarters/${encodeURIComponent(idOrSlug)}`);
|
|
1693
|
+
return data.kickstarter;
|
|
1694
|
+
}
|
|
1695
|
+
catch (error) {
|
|
1696
|
+
throw new Error(parseApiError(error));
|
|
1697
|
+
}
|
|
1698
|
+
};
|
|
1660
1699
|
// -------------------------------------------------------------------------
|
|
1661
1700
|
// Helpers (derived)
|
|
1662
1701
|
// -------------------------------------------------------------------------
|
|
@@ -1697,8 +1736,11 @@ function RegionRouter(baseUrl) {
|
|
|
1697
1736
|
// Data access
|
|
1698
1737
|
fetchRegions,
|
|
1699
1738
|
fetchActivationConfig,
|
|
1739
|
+
fetchActivationEvents,
|
|
1740
|
+
fetchKickstarter,
|
|
1700
1741
|
getRegionByCode,
|
|
1701
1742
|
createRegion,
|
|
1743
|
+
createKickstarter,
|
|
1702
1744
|
// Cached data & flags
|
|
1703
1745
|
get regions() {
|
|
1704
1746
|
return cachedRegions;
|
|
@@ -1709,6 +1751,9 @@ function RegionRouter(baseUrl) {
|
|
|
1709
1751
|
get isCreatingRegion() {
|
|
1710
1752
|
return isCreatingRegion;
|
|
1711
1753
|
},
|
|
1754
|
+
get isCreatingKickstarter() {
|
|
1755
|
+
return isCreatingKickstarter;
|
|
1756
|
+
},
|
|
1712
1757
|
};
|
|
1713
1758
|
}
|
|
1714
1759
|
|
|
@@ -1727,4 +1772,4 @@ exports.getAddresses = getAddresses;
|
|
|
1727
1772
|
exports.regionMetadata = regionMetadata;
|
|
1728
1773
|
exports.usStates = usStates;
|
|
1729
1774
|
exports.useForwarder = useForwarder;
|
|
1730
|
-
//# sourceMappingURL=region-router-
|
|
1775
|
+
//# sourceMappingURL=region-router-CIjrTHtv.js.map
|