@daohost/host 0.8.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.
Files changed (56) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +39 -0
  3. package/out/activity.d.ts +16 -0
  4. package/out/activity.d.ts.map +1 -0
  5. package/out/activity.js +25 -0
  6. package/out/activity.js.map +1 -0
  7. package/out/agents.d.ts +15 -0
  8. package/out/agents.d.ts.map +1 -0
  9. package/out/agents.js +14 -0
  10. package/out/agents.js.map +1 -0
  11. package/out/api.d.ts +115 -0
  12. package/out/api.d.ts.map +1 -0
  13. package/out/api.js +3 -0
  14. package/out/api.js.map +1 -0
  15. package/out/assets.d.ts +46 -0
  16. package/out/assets.d.ts.map +1 -0
  17. package/out/assets.js +1645 -0
  18. package/out/assets.js.map +1 -0
  19. package/out/chains.d.ts +106 -0
  20. package/out/chains.d.ts.map +1 -0
  21. package/out/chains.js +605 -0
  22. package/out/chains.js.map +1 -0
  23. package/out/deployments.d.ts +9 -0
  24. package/out/deployments.d.ts.map +1 -0
  25. package/out/deployments.js +18 -0
  26. package/out/deployments.js.map +1 -0
  27. package/out/host/types.d.ts +59 -0
  28. package/out/host/types.d.ts.map +1 -0
  29. package/out/host/types.js +35 -0
  30. package/out/host/types.js.map +1 -0
  31. package/out/host.d.ts +387 -0
  32. package/out/host.d.ts.map +1 -0
  33. package/out/host.js +948 -0
  34. package/out/host.js.map +1 -0
  35. package/out/index.d.ts +15 -0
  36. package/out/index.d.ts.map +1 -0
  37. package/out/index.js +45 -0
  38. package/out/index.js.map +1 -0
  39. package/out/storage/daos.d.ts +3 -0
  40. package/out/storage/daos.d.ts.map +1 -0
  41. package/out/storage/daos.js +374 -0
  42. package/out/storage/daos.js.map +1 -0
  43. package/out/storage/metaData.d.ts +5 -0
  44. package/out/storage/metaData.d.ts.map +1 -0
  45. package/out/storage/metaData.js +44 -0
  46. package/out/storage/metaData.js.map +1 -0
  47. package/out/tokenlist.json +2098 -0
  48. package/out/unit.d.ts +75 -0
  49. package/out/unit.d.ts.map +1 -0
  50. package/out/unit.js +3 -0
  51. package/out/unit.js.map +1 -0
  52. package/out/validation.d.ts +15 -0
  53. package/out/validation.d.ts.map +1 -0
  54. package/out/validation.js +105 -0
  55. package/out/validation.js.map +1 -0
  56. package/package.json +37 -0
@@ -0,0 +1,59 @@
1
+ /** Supported unit types */
2
+ export declare enum UnitType {
3
+ /** VE-token early exit fees */
4
+ PVP = "PVP",
5
+ /** Decentralized finance protocol */
6
+ DEFI_PROTOCOL = "DEFI_PROTOCOL",
7
+ /** Maximum Extractable Value opportunities searcher and submitter. */
8
+ MEV_SEARCHER = "MEV_SEARCHER"
9
+ }
10
+ /** Unit status can be changed manually by DAO holders. Revenue of a unit matter. */
11
+ /** Unit status can be changed manually by DAO holders. Revenue of a unit matter. */
12
+ export declare enum UnitStatus {
13
+ RESEARCH = "RESEARCH",
14
+ BUILDING_PROTOTYPE = "BUILDING_PROTOTYPE",
15
+ PROTOTYPE = "PROTOTYPE",
16
+ BUILDING = "BUILDING",
17
+ LIVE = "LIVE"
18
+ }
19
+ /** Supported categories of running units. */
20
+ /** @deprecated Each Unit has own component categories */
21
+ export declare enum UnitComponentCategory {
22
+ CHAIN_SUPPORT = "CHAIN_SUPPORT",
23
+ ENGINE_SUPPORT = "ENGINE_SUPPORT",
24
+ DEFI_STRATEGY = "DEFI_STRATEGY",
25
+ MEV_STRATEGY = "MEV_STRATEGY"
26
+ }
27
+ export interface IHostSettings {
28
+ /** Create DAO price, ~USD */
29
+ priceDao: number;
30
+ /** Share of success funding rounds goes to core unit. 1_01 == 1.01%, 100_00 == 100% */
31
+ fundingFee: number;
32
+ minNameLength: number;
33
+ maxNameLength: number;
34
+ minSymbolLength: number;
35
+ maxSymbolLength: number;
36
+ minVePeriod: number;
37
+ maxVePeriod: number;
38
+ minPvPFee: number;
39
+ maxPvPFee: number;
40
+ /** Min funding duration in days */
41
+ minFundingDuration: number;
42
+ /** Max funding duration in days */
43
+ maxFundingDuration: number;
44
+ /** Min allowed funding amount to raise in terms of exchange asset */
45
+ minFundingRaise: number;
46
+ /** Max allowed funding amount to raise in terms of exchange asset */
47
+ maxFundingRaise: number;
48
+ /** Min length of a vesting name */
49
+ minVestingNameLen: number;
50
+ /** Max length of a vesting name */
51
+ maxVestingNameLen: number;
52
+ /** Min vesting duration in days*/
53
+ minVestingDuration: number;
54
+ /** Max vesting duration in days*/
55
+ maxVestingDuration: number;
56
+ /** Min allowed interval days between vesting.start and tge.claim */
57
+ minCliff: number;
58
+ }
59
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/host/types.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,oBAAY,QAAQ;IAClB,+BAA+B;IAC/B,GAAG,QAAQ;IACX,qCAAqC;IACrC,aAAa,kBAAkB;IAC/B,sEAAsE;IACtE,YAAY,iBAAiB;CAG9B;AAED,oFAAoF;AACpF,oFAAoF;AACpF,oBAAY,UAAU;IACpB,QAAQ,aAAa;IACrB,kBAAkB,uBAAuB;IACzC,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAED,6CAA6C;AAC7C,yDAAyD;AACzD,oBAAY,qBAAqB;IAC/B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,uFAAuF;IACvF,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qEAAqE;IACrE,eAAe,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,eAAe,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mCAAmC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kCAAkC;IAClC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kCAAkC;IAClC,kBAAkB,EAAE,MAAM,CAAC;IAE3B,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnitComponentCategory = exports.UnitStatus = exports.UnitType = void 0;
4
+ /** Supported unit types */
5
+ var UnitType;
6
+ (function (UnitType) {
7
+ /** VE-token early exit fees */
8
+ UnitType["PVP"] = "PVP";
9
+ /** Decentralized finance protocol */
10
+ UnitType["DEFI_PROTOCOL"] = "DEFI_PROTOCOL";
11
+ /** Maximum Extractable Value opportunities searcher and submitter. */
12
+ UnitType["MEV_SEARCHER"] = "MEV_SEARCHER";
13
+ /** Software as a Service business */
14
+ //SAAS = "SAAS",
15
+ })(UnitType || (exports.UnitType = UnitType = {}));
16
+ /** Unit status can be changed manually by DAO holders. Revenue of a unit matter. */
17
+ /** Unit status can be changed manually by DAO holders. Revenue of a unit matter. */
18
+ var UnitStatus;
19
+ (function (UnitStatus) {
20
+ UnitStatus["RESEARCH"] = "RESEARCH";
21
+ UnitStatus["BUILDING_PROTOTYPE"] = "BUILDING_PROTOTYPE";
22
+ UnitStatus["PROTOTYPE"] = "PROTOTYPE";
23
+ UnitStatus["BUILDING"] = "BUILDING";
24
+ UnitStatus["LIVE"] = "LIVE";
25
+ })(UnitStatus || (exports.UnitStatus = UnitStatus = {}));
26
+ /** Supported categories of running units. */
27
+ /** @deprecated Each Unit has own component categories */
28
+ var UnitComponentCategory;
29
+ (function (UnitComponentCategory) {
30
+ UnitComponentCategory["CHAIN_SUPPORT"] = "CHAIN_SUPPORT";
31
+ UnitComponentCategory["ENGINE_SUPPORT"] = "ENGINE_SUPPORT";
32
+ UnitComponentCategory["DEFI_STRATEGY"] = "DEFI_STRATEGY";
33
+ UnitComponentCategory["MEV_STRATEGY"] = "MEV_STRATEGY";
34
+ })(UnitComponentCategory || (exports.UnitComponentCategory = UnitComponentCategory = {}));
35
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/host/types.ts"],"names":[],"mappings":";;;AAAA,2BAA2B;AAC3B,IAAY,QASX;AATD,WAAY,QAAQ;IAClB,+BAA+B;IAC/B,uBAAW,CAAA;IACX,qCAAqC;IACrC,2CAA+B,CAAA;IAC/B,sEAAsE;IACtE,yCAA6B,CAAA;IAC7B,qCAAqC;IACrC,gBAAgB;AAClB,CAAC,EATW,QAAQ,wBAAR,QAAQ,QASnB;AAED,oFAAoF;AACpF,oFAAoF;AACpF,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,mCAAqB,CAAA;IACrB,uDAAyC,CAAA;IACzC,qCAAuB,CAAA;IACvB,mCAAqB,CAAA;IACrB,2BAAa,CAAA;AACf,CAAC,EANW,UAAU,0BAAV,UAAU,QAMrB;AAED,6CAA6C;AAC7C,yDAAyD;AACzD,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,wDAA+B,CAAA;IAC/B,0DAAiC,CAAA;IACjC,wDAA+B,CAAA;IAC/B,sDAA6B,CAAA;AAC/B,CAAC,EALW,qBAAqB,qCAArB,qBAAqB,QAKhC"}
package/out/host.d.ts ADDED
@@ -0,0 +1,387 @@
1
+ /**
2
+ Host prototype.
3
+ */
4
+ import { ChainName } from "./chains";
5
+ import { IAgent } from "./agents";
6
+ import { Activity } from "./activity";
7
+ import { IDAOAPIDataV2 } from "./api";
8
+ import { TokenData } from "./assets";
9
+ import { IHostSettings } from "./host/types";
10
+ import { IUnit, IUnitEmitData } from "./unit";
11
+ export declare const HOST_DESCRIPTION = "Where True DAOs Live & Work";
12
+ export declare const DAO_FEATURES: string[];
13
+ export declare const STATIC_BASE_URL: `https://${string}`;
14
+ /**
15
+ Represents a DAO running on Host.
16
+
17
+ host-contracts: `IHost.DAOData`
18
+
19
+ @version 0.7.0
20
+ @alpha
21
+ @interface
22
+ */
23
+ export interface IDAOData {
24
+ /** SEGMENT 1: ON-CHAIN on all chains where Host deployed */
25
+ /**
26
+ * Tradeable interchain ERC-20 token symbol.
27
+ * Lowercased used as slug.
28
+ * While token symbol is SYM then additional DAO tokens symbols are:
29
+ * seedSYM, saleSYM, xSYM, SYM_DAO
30
+ *
31
+ * host-contracts: HostLib.OsStorage.usedSymbols
32
+ */
33
+ symbol: string;
34
+ /** SEGMENT 2: ON-CHAIN on chains where DAO bridged */
35
+ /** Unique ID of DAO */
36
+ uid?: string;
37
+ /** Name of the DAO, used in token names. Without DAO word. */
38
+ name: string;
39
+ /**
40
+ DAO lifecycle phase.
41
+ Changes permissionless when next phase start timestamp reached.
42
+ */
43
+ phase: LifecyclePhase;
44
+ /**
45
+ Deployed smart-contracts.
46
+ host-contracts: deployments of current instance chain only.
47
+ */
48
+ deployments: IDAODeployments;
49
+ /**
50
+ Settings of DAO for chains.
51
+ host-contracts: settings of current instance chain only. This is the only place to save settings of DAO for chains.
52
+ */
53
+ chainSettings: IDAOChainSettings;
54
+ /** IDs of Units running on current chain */
55
+ unitIds?: string[];
56
+ /** Revenue generated by a Unit */
57
+ unitRevenue?: {
58
+ [asset: `0x${string}`]: bigint;
59
+ }[];
60
+ /** On-chain DAO parameters for tokenomics and revenue sharing */
61
+ params: IDAOParameters;
62
+ /** SEGMENT 3: ON-CHAIN on initial chain of DAO */
63
+ /** Where initial deployment became */
64
+ initialChain: ChainName;
65
+ /** Community socials. Update by `Host.updateSocials` */
66
+ socials: string[];
67
+ /** Activities of the organization. */
68
+ activity: Activity[];
69
+ /** Images of tokens. Absolute or relative from stabilitydao/.github repo /os/ folder. */
70
+ images: IDAOImages;
71
+ /** Revenue generating units owned by the organization. */
72
+ units: IUnit[];
73
+ /** Fundraising */
74
+ funding: IFunding[];
75
+ /** Vesting allocations */
76
+ vesting: IVesting[];
77
+ /** Settings of DAO Governance */
78
+ governanceSettings: IGovernanceSettings;
79
+ /** Deployer of a DAO have power only at DRAFT phase. */
80
+ deployer: string;
81
+ salts: {
82
+ [chainId: string]: {
83
+ [index in ContractIndices]?: string;
84
+ };
85
+ };
86
+ /** DAO custom metadata stored off-chain. */
87
+ metaDataLocation?: string;
88
+ /** SEGMENT 4: OFF-CHAIN emitted data */
89
+ unitEmitData: IUnitEmitData[];
90
+ /** SEGMENT 5: OFF-CHAIN data on custom location */
91
+ /** Storage for Agents data. */
92
+ metaData?: IDAOMetaData;
93
+ /** SEGMENT 6: API data of DAO */
94
+ /** Hot data updates each minute */
95
+ api?: IDAOAPIDataV2;
96
+ }
97
+ /** Storage for Agents data. */
98
+ export interface IDAOMetaData {
99
+ /** Operating agents managed by the organization. */
100
+ agents?: IAgent[];
101
+ }
102
+ /** Images of tokens. Absolute or relative from stabilitydao/.github repo /os/ folder. */
103
+ export interface IDAOImages {
104
+ seedToken?: string;
105
+ tgeToken?: string;
106
+ token?: string;
107
+ xToken?: string;
108
+ daoToken?: string;
109
+ }
110
+ /**
111
+ Lifecycle phase represents DAO tokenomics stage.
112
+ */
113
+ export declare enum LifecyclePhase {
114
+ /** Created */
115
+ DRAFT = "DRAFT",
116
+ /**
117
+ * DAO ready to attract initial community
118
+ */
119
+ INCEPTION = "INCEPTION",
120
+ /**
121
+ Initial funding. DAO project passed requirements.
122
+ Since SEED started a DAO become real DAO:
123
+ - noncustodial
124
+ - tokenized share holdings
125
+ - collective management via voting
126
+ */
127
+ SEED = "SEED",
128
+ /** Seed was not success. Raised funds sent back to seeders. */
129
+ SEED_FAILED = "SEED_FAILED",
130
+ /** Using SEED funds to launch MVP / Unit generating */
131
+ DEVELOPMENT = "DEVELOPMENT",
132
+ /** TGE is funding event for token liquidity and DAO developments (optionally) */
133
+ TGE = "TGE",
134
+ /** Delay before any vesting allocation started */
135
+ LIVE_CLIFF = "LIVE_CLIFF",
136
+ /** Vesting period active */
137
+ LIVE_VESTING = "LIVE_VESTING",
138
+ /** Vesting ended - token fully distributed */
139
+ LIVE = "LIVE"
140
+ }
141
+ /**
142
+ Parameters of VE-tokenomics and revenue sharing.
143
+ @interface
144
+ */
145
+ export interface IDAOParameters {
146
+ /** Vested Escrow period, days. */
147
+ vePeriod: number;
148
+ /** Instant exit fee, percent */
149
+ pvpFee: number;
150
+ /** Minimal power (min stake amount) to be a holder of DAO */
151
+ minPower?: number;
152
+ /** Share of total DAO revenue going to accidents compensations, percent */
153
+ recoveryShare?: number;
154
+ /** Total supply of DAO token. This value can be changed before start of TGE*/
155
+ totalSupply: number;
156
+ }
157
+ /**
158
+ Settings of DAO for chains.
159
+ host-contracts: settings of current instance chain only. This is the only place to save settings of DAO for chains.
160
+ */
161
+ export interface IDAOChainSettings {
162
+ [chainId: string]: {
163
+ /** Revenue percent goes to xToken buy-backs */
164
+ bbRate: number;
165
+ /** GitHub organization (from socials) EVM multisig address */
166
+ multisig?: `0x${string}`;
167
+ };
168
+ }
169
+ export interface IGovernanceSettings {
170
+ /** Minimal total voting power (self and delegated) need to create a proposal */
171
+ proposalThreshold?: number;
172
+ /** Bribe share for Tokenomics Transactions (vested funds spending), percent */
173
+ ttBribe?: number;
174
+ }
175
+ export interface IFunding {
176
+ type: FundingType;
177
+ start: number;
178
+ end: number;
179
+ minRaise: number;
180
+ maxRaise: number;
181
+ raised: number;
182
+ /** Date of DAO launching (after TGE finishing, DAO token is deployed, etc) */
183
+ claim?: number;
184
+ }
185
+ export declare enum FundingType {
186
+ SEED = "SEED",
187
+ TGE = "TGE"
188
+ }
189
+ /**
190
+ Vesting allocation data
191
+ @interface
192
+ */
193
+ export interface IVesting {
194
+ /** Short name of vesting allocation */
195
+ name: string;
196
+ /** How must be spent */
197
+ description?: string;
198
+ /** Vesting supply. 10 == 10e18 TOKEN */
199
+ allocation: number;
200
+ /** Start timestamp */
201
+ start: number;
202
+ /** End timestamp */
203
+ end: number;
204
+ address?: `0x${string}`;
205
+ }
206
+ export declare enum ContractIndices {
207
+ NOT_USED_0 = 0,
208
+ SEED_TOKEN_1 = 1,
209
+ TGE_TOKEN_2 = 2,
210
+ TOKEN_3 = 3,
211
+ X_TOKEN_4 = 4,
212
+ DAO_TOKEN_5 = 5,
213
+ STAKING_6 = 6,
214
+ RECOVERY_7 = 7,
215
+ TOKEN_BRIDGE_8 = 8,
216
+ X_TOKEN_BRIDGE_9 = 9,
217
+ DAO_TOKEN_BRIDGE_10 = 10,
218
+ VESTING_1_11 = 11,
219
+ VESTING_2_12 = 12,
220
+ VESTING_3_13 = 13,
221
+ VESTING_4_14 = 14,
222
+ VESTING_5_15 = 15,
223
+ VESTING_6_16 = 16,
224
+ VESTING_7_17 = 17,
225
+ VESTING_8_18 = 18,
226
+ VESTING_9_19 = 19,
227
+ VESTING_10_20 = 20,
228
+ REVENUE_ROUTER_21 = 21,
229
+ COUNT_CONTRACT_INDICES = 22
230
+ }
231
+ export interface IContractIndex {
232
+ name: string;
233
+ description?: string;
234
+ }
235
+ export declare const daoContractIndices: {
236
+ [index in ContractIndices]?: IContractIndex;
237
+ };
238
+ /**
239
+ Deployments of running DAO on blockchains.
240
+
241
+ @interface
242
+ */
243
+ export interface IDAODeployments {
244
+ [chainId: string]: {
245
+ [index in ContractIndices]?: `0x${string}`;
246
+ };
247
+ }
248
+ /**
249
+ Typescript implementation of the Host
250
+ Object of this class is Host instance deployed on a single blockchain.
251
+
252
+ @class
253
+ */
254
+ export declare class Host {
255
+ /** Chain ID where instance deployed */
256
+ chainId: string;
257
+ /** Chain block timestamp */
258
+ blockTimestamp: number;
259
+ /** Local DAOs storage (in form of a mapping) */
260
+ daos: {
261
+ [symbol: string]: IDAOData;
262
+ };
263
+ /** Actual DAO symbols at all blockchains */
264
+ usedSymbols: {
265
+ [name: string]: boolean;
266
+ };
267
+ /** All emitted events */
268
+ events: string[];
269
+ /** Governance proposals. Can be created only at initialChain of DAO. */
270
+ proposals: {
271
+ [proposalId: string]: IProposal;
272
+ };
273
+ /** Current user address */
274
+ from: string;
275
+ settings: IHostSettings;
276
+ constructor(chainId: string);
277
+ static getTokensNaming(name: string, symbol: string): {
278
+ seedName: string;
279
+ seedSymbol: string;
280
+ tgeName: string;
281
+ tgeSymbol: string;
282
+ tokenName: string;
283
+ tokenSymbol: string;
284
+ xName: string;
285
+ xSymbol: string;
286
+ daoName: string;
287
+ daoSymbol: string;
288
+ };
289
+ static isLiveDAO(phase: LifecyclePhase): boolean;
290
+ /**
291
+ * Create new DAO
292
+ * @throws Error
293
+ */
294
+ createDAO(name: string, symbol: string, activity: Activity[], params: IDAOParameters, funding: IFunding[], metaDataLocation?: string): IDAOData;
295
+ /** Add live compatible DAO */
296
+ addLiveDAO(dao: IDAOData): void;
297
+ getDAOMetaData(daoMetaData: {
298
+ [symbolLowerCase: string]: IDAOMetaData;
299
+ }, symbol: string): IDAOMetaData;
300
+ /** Change lifecycle phase of a DAO */
301
+ changePhase(symbol: string): void;
302
+ /** @throws Error */
303
+ updateImages(symbol: string, images: IDAOImages): string | true;
304
+ /** @throws Error */
305
+ updateSocials(symbol: string, socials: string[]): string | true;
306
+ /** @throws Error */
307
+ updateUnits(symbol: string, units: IUnit[], unitsMetaData: IUnitEmitData[]): string | true;
308
+ /** @throws Error */
309
+ updateFunding(symbol: string, funding: IFunding): string | true;
310
+ private _updateSocials;
311
+ private _updateUnits;
312
+ private _updateFunding;
313
+ updateVesting(symbol: string, vestings: IVesting[]): string | true;
314
+ revenue(symbol: string, unitIndex: number, asset: `0x${string}`, amount: bigint): void;
315
+ fund(symbol: string, amount: number): void;
316
+ receiveVotingResults(proposalId: string, succeed: boolean): void;
317
+ /** OFF-CHAIN only **/
318
+ /** @throws Error */
319
+ roadmap(symbol: string): IRoadmapItem[];
320
+ /** @throws Error */
321
+ tasks(symbol: string): ITask[];
322
+ /** Strict on-chain validation */
323
+ /** @throws Error */
324
+ validate(dao: IDAOData): void;
325
+ /** @throws Error */
326
+ getDAO(symbol: string): IDAOData;
327
+ getDaoOwner(symbol: string): string;
328
+ hasRevenue(symbol: string): boolean;
329
+ getTgeData(dao: IDAOData): IFunding | undefined;
330
+ getFundingIndex(symbol: string, type: FundingType): number;
331
+ warpDays(days?: number): void;
332
+ /** @throws Error */
333
+ private _onlyOwnerOf;
334
+ private _emit;
335
+ validateName(name: string): void;
336
+ validateSymbol(symbol: string): void;
337
+ validatePvpFee(pvpFee: number): void;
338
+ validateFunding(daoPhase: LifecyclePhase, fundings: IFunding[]): void;
339
+ validateActivity(activity: Activity[]): void;
340
+ validateVesting(daoPhase: LifecyclePhase, vestings: IVesting[], tge?: IFunding): void;
341
+ private _sendCrossChainMessage;
342
+ private _proposeAction;
343
+ private _updateImages;
344
+ private _updateVesting;
345
+ }
346
+ export declare enum DAOAction {
347
+ UPDATE_IMAGES = 0,
348
+ UPDATE_SOCIALS = 1,
349
+ UPDATE_NAMING = 2,
350
+ UPDATE_UNITS = 3,
351
+ UPDATE_FUNDING = 4,
352
+ UPDATE_VESTING = 5
353
+ }
354
+ declare enum VotingStatus {
355
+ VOTING = 0,
356
+ APPROVED = 1,
357
+ REJECTED = 2
358
+ }
359
+ interface ITask {
360
+ name: string;
361
+ }
362
+ interface IProposal {
363
+ id: string;
364
+ created: number;
365
+ symbol: string;
366
+ action: DAOAction;
367
+ payload: any;
368
+ status: VotingStatus;
369
+ }
370
+ interface IRoadmapItem {
371
+ phase: LifecyclePhase;
372
+ start?: number;
373
+ end?: number;
374
+ }
375
+ export declare function getUnit(daos: IDAOData[], unitId: string): IUnit | undefined;
376
+ export declare function getDAOUnit(daos: IDAOData[], symbol: string, unitId: string): IUnit | undefined;
377
+ export declare function getDAOUnitMetaData(daos: IDAOData[], symbol: string, unitId: string): IUnitEmitData | undefined;
378
+ export declare function getUnitMetaData(daos: IDAOData[], unitId: string): IUnitEmitData | undefined;
379
+ export interface IBridgingTokens {
380
+ [chainId: string]: {
381
+ tokenData: TokenData;
382
+ bridge: `0x${string}`;
383
+ }[];
384
+ }
385
+ export declare function getBridgeTokens(daos: IDAOData[]): IBridgingTokens;
386
+ export {};
387
+ //# sourceMappingURL=host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}