@stabilitydao/host 0.6.0 → 0.7.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/out/{activity/index.d.ts → activity.d.ts} +3 -5
- package/out/activity.d.ts.map +1 -0
- package/out/{activity/index.js → activity.js} +2 -8
- package/out/activity.js.map +1 -0
- package/out/agents.d.ts +3 -10
- package/out/agents.d.ts.map +1 -1
- package/out/agents.js +3 -6
- package/out/agents.js.map +1 -1
- package/out/api.d.ts +19 -19
- package/out/api.d.ts.map +1 -1
- package/out/host.d.ts +21 -49
- package/out/host.d.ts.map +1 -1
- package/out/host.js +57 -15
- package/out/host.js.map +1 -1
- package/out/index.d.ts +7 -6
- package/out/index.d.ts.map +1 -1
- package/out/index.js +5 -3
- package/out/index.js.map +1 -1
- package/out/storage/daos.d.ts.map +1 -1
- package/out/storage/daos.js +27 -11
- package/out/storage/daos.js.map +1 -1
- package/out/storage/{daoMetaData.d.ts → metaData.d.ts} +2 -2
- package/out/storage/metaData.d.ts.map +1 -0
- package/out/storage/metaData.js +44 -0
- package/out/storage/metaData.js.map +1 -0
- package/out/unit.d.ts +73 -0
- package/out/unit.d.ts.map +1 -0
- package/out/unit.js +3 -0
- package/out/unit.js.map +1 -0
- package/out/validation.js +2 -3
- package/out/validation.js.map +1 -1
- package/package.json +1 -1
- package/out/activity/builder.d.ts +0 -180
- package/out/activity/builder.d.ts.map +0 -1
- package/out/activity/builder.js +0 -18
- package/out/activity/builder.js.map +0 -1
- package/out/activity/index.d.ts.map +0 -1
- package/out/activity/index.js.map +0 -1
- package/out/storage/daoMetaData.d.ts.map +0 -1
- package/out/storage/daoMetaData.js +0 -322
- package/out/storage/daoMetaData.js.map +0 -1
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { UnitType } from "
|
|
1
|
+
import { UnitType } from "./host/types";
|
|
2
2
|
/** Organization activities supported by OS. */
|
|
3
3
|
export declare enum Activity {
|
|
4
4
|
/** Owner of Decentralized Finance protocols */
|
|
5
5
|
DEFI = "DEFI",
|
|
6
6
|
/** Owner of Maximum Extractable Value tools */
|
|
7
|
-
MEV = "MEV"
|
|
8
|
-
/** BUILDER is a team of engineers managed by DAOs. */
|
|
9
|
-
BUILDER = "BUILDER"
|
|
7
|
+
MEV = "MEV"
|
|
10
8
|
}
|
|
11
9
|
export declare const activities: {
|
|
12
10
|
[activity in Activity]: {
|
|
@@ -15,4 +13,4 @@ export declare const activities: {
|
|
|
15
13
|
description?: string;
|
|
16
14
|
};
|
|
17
15
|
};
|
|
18
|
-
//# sourceMappingURL=
|
|
16
|
+
//# sourceMappingURL=activity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../src/activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,+CAA+C;AAC/C,oBAAY,QAAQ;IAClB,+CAA+C;IAC/C,IAAI,SAAS;IACb,+CAA+C;IAC/C,GAAG,QAAQ;CAGZ;AAED,eAAO,MAAM,UAAU,EAAE;KACtB,QAAQ,IAAI,QAAQ,GAAG;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,QAAQ,EAAE,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;CAUF,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.activities = exports.Activity = void 0;
|
|
4
|
-
const types_1 = require("
|
|
4
|
+
const types_1 = require("./host/types");
|
|
5
5
|
/** Organization activities supported by OS. */
|
|
6
6
|
var Activity;
|
|
7
7
|
(function (Activity) {
|
|
@@ -9,8 +9,6 @@ var Activity;
|
|
|
9
9
|
Activity["DEFI"] = "DEFI";
|
|
10
10
|
/** Owner of Maximum Extractable Value tools */
|
|
11
11
|
Activity["MEV"] = "MEV";
|
|
12
|
-
/** BUILDER is a team of engineers managed by DAOs. */
|
|
13
|
-
Activity["BUILDER"] = "BUILDER";
|
|
14
12
|
/** Owner of Software as a Service business */
|
|
15
13
|
//SAAS_OPERATOR = "SAAS_OPERATOR",
|
|
16
14
|
})(Activity || (exports.Activity = Activity = {}));
|
|
@@ -23,9 +21,5 @@ exports.activities = {
|
|
|
23
21
|
title: "Maximum Extractable Value tools",
|
|
24
22
|
unitTypes: [types_1.UnitType.MEV_SEARCHER],
|
|
25
23
|
},
|
|
26
|
-
[Activity.BUILDER]: {
|
|
27
|
-
title: "Team of engineers with multisig wallet.",
|
|
28
|
-
unitTypes: [],
|
|
29
|
-
},
|
|
30
24
|
};
|
|
31
|
-
//# sourceMappingURL=
|
|
25
|
+
//# sourceMappingURL=activity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../src/activity.ts"],"names":[],"mappings":";;;AAAA,wCAAwC;AAExC,+CAA+C;AAC/C,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,+CAA+C;IAC/C,yBAAa,CAAA;IACb,+CAA+C;IAC/C,uBAAW,CAAA;IACX,8CAA8C;IAC9C,kCAAkC;AACpC,CAAC,EAPW,QAAQ,wBAAR,QAAQ,QAOnB;AAEY,QAAA,UAAU,GAMnB;IACF,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACf,KAAK,EAAE,yCAAyC;QAChD,SAAS,EAAE,CAAC,gBAAQ,CAAC,aAAa,CAAC;KACpC;IACD,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACd,KAAK,EAAE,iCAAiC;QACxC,SAAS,EAAE,CAAC,gBAAQ,CAAC,YAAY,CAAC;KACnC;CACF,CAAC"}
|
package/out/agents.d.ts
CHANGED
|
@@ -2,21 +2,14 @@ export interface IAgent {
|
|
|
2
2
|
api: string[];
|
|
3
3
|
roles: AgentRole[];
|
|
4
4
|
name: string;
|
|
5
|
+
unitIds: string[];
|
|
5
6
|
directives?: string[];
|
|
6
7
|
image?: string;
|
|
7
8
|
telegram?: `@${string}`;
|
|
8
9
|
}
|
|
9
10
|
export declare const enum AgentRole {
|
|
10
|
-
|
|
11
|
+
API_OPERATOR = "API_OPERATOR",
|
|
12
|
+
TX_SENDER = "TX_SENDER",
|
|
11
13
|
MEV_SEARCHER = "MEV_SEARCHER"
|
|
12
14
|
}
|
|
13
|
-
export interface IAgentRuntime {
|
|
14
|
-
machineIDs: string[];
|
|
15
|
-
providers: {
|
|
16
|
-
name: string;
|
|
17
|
-
image: string;
|
|
18
|
-
queries: number;
|
|
19
|
-
}[];
|
|
20
|
-
}
|
|
21
|
-
export declare const emptyRuntime: IAgentRuntime;
|
|
22
15
|
//# sourceMappingURL=agents.d.ts.map
|
package/out/agents.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;CACzB;AAED,0BAAkB,SAAS;IACzB,
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;CACzB;AAED,0BAAkB,SAAS;IACzB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,YAAY,iBAAiB;CAC9B"}
|
package/out/agents.js
CHANGED
|
@@ -4,14 +4,11 @@
|
|
|
4
4
|
* Agents are owned by DAOs built on Host.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
7
|
+
exports.AgentRole = void 0;
|
|
8
8
|
var AgentRole;
|
|
9
9
|
(function (AgentRole) {
|
|
10
|
-
AgentRole["
|
|
10
|
+
AgentRole["API_OPERATOR"] = "API_OPERATOR";
|
|
11
|
+
AgentRole["TX_SENDER"] = "TX_SENDER";
|
|
11
12
|
AgentRole["MEV_SEARCHER"] = "MEV_SEARCHER";
|
|
12
13
|
})(AgentRole || (exports.AgentRole = AgentRole = {}));
|
|
13
|
-
exports.emptyRuntime = {
|
|
14
|
-
machineIDs: [],
|
|
15
|
-
providers: [],
|
|
16
|
-
};
|
|
17
14
|
//# sourceMappingURL=agents.js.map
|
package/out/agents.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAYH,IAAkB,SAIjB;AAJD,WAAkB,SAAS;IACzB,0CAA6B,CAAA;IAC7B,oCAAuB,CAAA;IACvB,0CAA6B,CAAA;AAC/B,CAAC,EAJiB,SAAS,yBAAT,SAAS,QAI1B"}
|
package/out/api.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IGithubIssueV2, IGithubUser } from "./unit";
|
|
2
2
|
export interface IAgentMemory {
|
|
3
3
|
/** When generated */
|
|
4
4
|
timestamp: number;
|
|
@@ -34,24 +34,6 @@ export interface IAgentMemory {
|
|
|
34
34
|
/** Data specific for agent */
|
|
35
35
|
data: any;
|
|
36
36
|
}
|
|
37
|
-
/** @deprecated use IHostAgentMemoryV3 */
|
|
38
|
-
export interface IHostAgentMemory extends IAgentMemory {
|
|
39
|
-
data: {
|
|
40
|
-
/** Prices of assets */
|
|
41
|
-
prices: Prices;
|
|
42
|
-
/** Total Value Locked in blockchains */
|
|
43
|
-
chainTvl: {
|
|
44
|
-
[chainId: string]: number;
|
|
45
|
-
};
|
|
46
|
-
/** DAO runtime data. Updates each minute or faster. */
|
|
47
|
-
daos: {
|
|
48
|
-
[symbol: string]: IDAOAPIDataV2;
|
|
49
|
-
};
|
|
50
|
-
/** Instant Updates by subscribing to github application webhooks */
|
|
51
|
-
/** @deprecated Use IBuildersMemoryV3 */
|
|
52
|
-
builders: IBuildersMemoryV2;
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
37
|
export interface IHostAgentMemoryV3 extends IAgentMemory {
|
|
56
38
|
data: {
|
|
57
39
|
/** Prices of assets */
|
|
@@ -112,4 +94,22 @@ export type Prices = {
|
|
|
112
94
|
};
|
|
113
95
|
};
|
|
114
96
|
export type RevenueChart = Record<number, string>;
|
|
97
|
+
/**
|
|
98
|
+
DAO can build by installing Host Agent GitHub App and emitting `IUnitPool` by pool key of `IUnitEmitData`
|
|
99
|
+
*/
|
|
100
|
+
export interface IBuildersMemoryV3 {
|
|
101
|
+
[tokenSymbol: string]: {
|
|
102
|
+
openIssues: {
|
|
103
|
+
[unitId: string]: IGithubIssueV2[];
|
|
104
|
+
};
|
|
105
|
+
repos: {
|
|
106
|
+
[repo: string]: {
|
|
107
|
+
openIssues: number;
|
|
108
|
+
private: boolean;
|
|
109
|
+
access?: IGithubUser[];
|
|
110
|
+
stars?: number;
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
115
|
//# sourceMappingURL=api.d.ts.map
|
package/out/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/out/host.d.ts
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { ChainName } from "./chains";
|
|
5
5
|
import { IAgent } from "./agents";
|
|
6
|
-
import { IBuilderActivity, IUnitPool } from "./activity/builder";
|
|
7
6
|
import { Activity } from "./activity";
|
|
8
7
|
import { IDAOAPIDataV2 } from "./api";
|
|
9
8
|
import { TokenData } from "./assets";
|
|
10
|
-
import { IOSSettings
|
|
9
|
+
import { IOSSettings } from "./host/types";
|
|
10
|
+
import { IUnit, IUnitEmitData } from "./unit";
|
|
11
11
|
export declare const HOST_DESCRIPTION = "Where True DAOs Live & Work";
|
|
12
12
|
export declare const DAO_FEATURES: string[];
|
|
13
13
|
export declare const STATIC_BASE_URL: `https://${string}`;
|
|
@@ -16,7 +16,7 @@ export declare const STATIC_BASE_URL: `https://${string}`;
|
|
|
16
16
|
|
|
17
17
|
host-contracts: `IHost.DAOData`
|
|
18
18
|
|
|
19
|
-
@version 0.
|
|
19
|
+
@version 0.7.0
|
|
20
20
|
@alpha
|
|
21
21
|
@interface
|
|
22
22
|
*/
|
|
@@ -53,6 +53,10 @@ export interface IDAOData {
|
|
|
53
53
|
chainSettings: IDAOChainSettings;
|
|
54
54
|
/** IDs of Units running on current chain */
|
|
55
55
|
unitIds?: string[];
|
|
56
|
+
/** Revenue generated by a Unit */
|
|
57
|
+
unitRevenue?: {
|
|
58
|
+
[asset: `0x${string}`]: bigint;
|
|
59
|
+
}[];
|
|
56
60
|
/** On-chain DAO parameters for tokenomics and revenue sharing */
|
|
57
61
|
params: IDAOParameters;
|
|
58
62
|
/** SEGMENT 3: ON-CHAIN on initial chain of DAO */
|
|
@@ -80,21 +84,18 @@ export interface IDAOData {
|
|
|
80
84
|
};
|
|
81
85
|
};
|
|
82
86
|
/** DAO custom metadata stored off-chain. */
|
|
83
|
-
|
|
87
|
+
metaDataLocation?: string;
|
|
84
88
|
/** SEGMENT 4: OFF-CHAIN emitted data */
|
|
85
|
-
|
|
89
|
+
unitEmitData: IUnitEmitData[];
|
|
86
90
|
/** SEGMENT 5: OFF-CHAIN data on custom location */
|
|
87
|
-
/** Storage for
|
|
88
|
-
|
|
91
|
+
/** Storage for Agents data. */
|
|
92
|
+
metaData?: IDAOMetaData;
|
|
89
93
|
/** SEGMENT 6: API data of DAO */
|
|
90
94
|
/** Hot data updates each minute */
|
|
91
95
|
api?: IDAOAPIDataV2;
|
|
92
96
|
}
|
|
93
97
|
/** Storage for Agents data. */
|
|
94
98
|
export interface IDAOMetaData {
|
|
95
|
-
/** DAOs engaging BUILDER activity settings */
|
|
96
|
-
/** @deprecated after simplifying became empty */
|
|
97
|
-
builderActivity?: IBuilderActivity;
|
|
98
99
|
/** Operating agents managed by the organization. */
|
|
99
100
|
agents?: IAgent[];
|
|
100
101
|
}
|
|
@@ -112,6 +113,10 @@ export interface IDAOImages {
|
|
|
112
113
|
export declare enum LifecyclePhase {
|
|
113
114
|
/** Created */
|
|
114
115
|
DRAFT = "DRAFT",
|
|
116
|
+
/**
|
|
117
|
+
* DAO ready to attract initial community
|
|
118
|
+
*/
|
|
119
|
+
INCEPTION = "INCEPTION",
|
|
115
120
|
/**
|
|
116
121
|
Initial funding. DAO project passed requirements.
|
|
117
122
|
Since SEED started a DAO become real DAO:
|
|
@@ -240,41 +245,6 @@ export interface IDAODeployments {
|
|
|
240
245
|
[index in ContractIndices]?: `0x${string}`;
|
|
241
246
|
};
|
|
242
247
|
}
|
|
243
|
-
/**
|
|
244
|
-
Revenue generating unit owned by a DAO.
|
|
245
|
-
@interface
|
|
246
|
-
*/
|
|
247
|
-
export interface IUnit {
|
|
248
|
-
/** Unique unit string id. For DeFi protocol its defiOrg:protocolKey. */
|
|
249
|
-
unitId: string;
|
|
250
|
-
/** Blockchains where Unit deployed. Filled only for initial DAO chain Host instance. */
|
|
251
|
-
chainIds?: string[];
|
|
252
|
-
/** DAO UID of Unit Developer (Pool tasks solver) */
|
|
253
|
-
developerUid?: string;
|
|
254
|
-
}
|
|
255
|
-
/** Unit data that emitted, indexed and saved, translated by Host API later. */
|
|
256
|
-
export interface IUnitMetaData {
|
|
257
|
-
/** Short name of the unit */
|
|
258
|
-
name: string;
|
|
259
|
-
/** Status of unit changes appear when unit starting to work and starting earning revenue */
|
|
260
|
-
status: UnitStatus;
|
|
261
|
-
/** Supported type of the Unit */
|
|
262
|
-
type: UnitType;
|
|
263
|
-
/** The share of a Unit's profit received by the DAO to which it belongs. 100 - 100%. */
|
|
264
|
-
revenueShare: number;
|
|
265
|
-
/** A unique emoji for the shortest possible representation of a Unit. */
|
|
266
|
-
emoji?: string;
|
|
267
|
-
/** Frontend endpoints of Unit */
|
|
268
|
-
ui?: IUnitUILink[];
|
|
269
|
-
/** Links to API of the Unit */
|
|
270
|
-
api?: string[];
|
|
271
|
-
/** Components of the Unit. */
|
|
272
|
-
pool?: IUnitPool;
|
|
273
|
-
}
|
|
274
|
-
export interface IUnitUILink {
|
|
275
|
-
href: `https://${string}`;
|
|
276
|
-
title: string;
|
|
277
|
-
}
|
|
278
248
|
/**
|
|
279
249
|
Typescript implementation of the Host
|
|
280
250
|
Object of this class is Host instance deployed on a single blockchain.
|
|
@@ -334,13 +304,14 @@ export declare class Host {
|
|
|
334
304
|
/** @throws Error */
|
|
335
305
|
updateSocials(symbol: string, socials: string[]): string | true;
|
|
336
306
|
/** @throws Error */
|
|
337
|
-
updateUnits(symbol: string, units: IUnit[], unitsMetaData:
|
|
307
|
+
updateUnits(symbol: string, units: IUnit[], unitsMetaData: IUnitEmitData[]): string | true;
|
|
338
308
|
/** @throws Error */
|
|
339
309
|
updateFunding(symbol: string, funding: IFunding): string | true;
|
|
340
310
|
private _updateSocials;
|
|
341
311
|
private _updateUnits;
|
|
342
312
|
private _updateFunding;
|
|
343
313
|
updateVesting(symbol: string, vestings: IVesting[]): string | true;
|
|
314
|
+
revenue(symbol: string, unitIndex: number, asset: `0x${string}`, amount: bigint): void;
|
|
344
315
|
fund(symbol: string, amount: number): void;
|
|
345
316
|
receiveVotingResults(proposalId: string, succeed: boolean): void;
|
|
346
317
|
/** OFF-CHAIN only **/
|
|
@@ -354,6 +325,7 @@ export declare class Host {
|
|
|
354
325
|
/** @throws Error */
|
|
355
326
|
getDAO(symbol: string): IDAOData;
|
|
356
327
|
getDaoOwner(symbol: string): string;
|
|
328
|
+
hasRevenue(symbol: string): boolean;
|
|
357
329
|
getTgeData(dao: IDAOData): IFunding | undefined;
|
|
358
330
|
getFundingIndex(symbol: string, type: FundingType): number;
|
|
359
331
|
warpDays(days?: number): void;
|
|
@@ -397,13 +369,13 @@ interface IProposal {
|
|
|
397
369
|
}
|
|
398
370
|
interface IRoadmapItem {
|
|
399
371
|
phase: LifecyclePhase;
|
|
400
|
-
start
|
|
372
|
+
start?: number;
|
|
401
373
|
end?: number;
|
|
402
374
|
}
|
|
403
375
|
export declare function getUnit(daos: IDAOData[], unitId: string): IUnit | undefined;
|
|
404
376
|
export declare function getDAOUnit(daos: IDAOData[], symbol: string, unitId: string): IUnit | undefined;
|
|
405
|
-
export declare function getDAOUnitMetaData(daos: IDAOData[], symbol: string, unitId: string):
|
|
406
|
-
export declare function getUnitMetaData(daos: IDAOData[], unitId: string):
|
|
377
|
+
export declare function getDAOUnitMetaData(daos: IDAOData[], symbol: string, unitId: string): IUnitEmitData | undefined;
|
|
378
|
+
export declare function getUnitMetaData(daos: IDAOData[], unitId: string): IUnitEmitData | undefined;
|
|
407
379
|
export interface IBridgingTokens {
|
|
408
380
|
[chainId: string]: {
|
|
409
381
|
tokenData: TokenData;
|
package/out/host.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;EAEE;AAEF,OAAO,EAAE,SAAS,EAA0B,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;EAEE;AAEF,OAAO,EAAE,SAAS,EAA0B,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAgB,SAAS,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE9C,eAAO,MAAM,gBAAgB,gCAAgC,CAAC;AAC9D,eAAO,MAAM,YAAY,EAAE,MAAM,EAQhC,CAAC;AACF,eAAO,MAAM,eAAe,EAAE,WAAW,MAAM,EACgB,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ;IACvB,4DAA4D;IAE5D;;;;;;;OAOG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf,sDAAsD;IAEtD,uBAAuB;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,KAAK,EAAE,cAAc,CAAC;IAEtB;;;MAGE;IACF,WAAW,EAAE,eAAe,CAAC;IAE7B;;;OAGG;IACH,aAAa,EAAE,iBAAiB,CAAC;IAEjC,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,kCAAkC;IAClC,WAAW,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,KAAK,MAAM,EAAE,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAEnD,iEAAiE;IACjE,MAAM,EAAE,cAAc,CAAC;IAEvB,kDAAkD;IAElD,sCAAsC;IACtC,YAAY,EAAE,SAAS,CAAC;IAExB,wDAAwD;IACxD,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,sCAAsC;IACtC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAErB,0FAA0F;IAC1F,MAAM,EAAE,UAAU,CAAC;IAEnB,0DAA0D;IAC1D,KAAK,EAAE,KAAK,EAAE,CAAC;IAEf,kBAAkB;IAClB,OAAO,EAAE,QAAQ,EAAE,CAAC;IAEpB,2BAA2B;IAC3B,OAAO,EAAE,QAAQ,EAAE,CAAC;IAEpB,iCAAiC;IACjC,kBAAkB,EAAE,mBAAmB,CAAC;IAExC,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IAEjB,KAAK,EAAE;QACL,CAAC,OAAO,EAAE,MAAM,GAAG;aAChB,KAAK,IAAI,eAAe,CAAC,CAAC,EAAE,MAAM;SACpC,CAAC;KACH,CAAC;IAEF,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,wCAAwC;IAExC,YAAY,EAAE,aAAa,EAAE,CAAC;IAE9B,mDAAmD;IAEnD,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB,iCAAiC;IAEjC,mCAAmC;IACnC,GAAG,CAAC,EAAE,aAAa,CAAC;CACrB;AAED,+BAA+B;AAC/B,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,0FAA0F;AAC1F,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,oBAAY,cAAc;IACxB,cAAc;IACd,KAAK,UAAU;IAEf;;OAEG;IACH,SAAS,cAAc;IAEvB;;;;;;OAMG;IACH,IAAI,SAAS;IAEb,+DAA+D;IAC/D,WAAW,gBAAgB;IAE3B,uDAAuD;IACvD,WAAW,gBAAgB;IAE3B,iFAAiF;IACjF,GAAG,QAAQ;IAEX,kDAAkD;IAClD,UAAU,eAAe;IAEzB,4BAA4B;IAC5B,YAAY,iBAAiB;IAE7B,8CAA8C;IAC9C,IAAI,SAAS;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,CAAC,OAAO,EAAE,MAAM,GAAG;QACjB,+CAA+C;QAC/C,MAAM,EAAE,MAAM,CAAC;QACf,8DAA8D;QAC9D,QAAQ,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IAEf,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,GAAG,QAAQ;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;CACzB;AAGD,oBAAY,eAAe;IACzB,UAAU,IAAA;IACV,YAAY,IAAA;IACZ,WAAW,IAAA;IACX,OAAO,IAAA;IACP,SAAS,IAAA;IACT,WAAW,IAAA;IACX,SAAS,IAAA;IACT,UAAU,IAAA;IACV,cAAc,IAAA;IACd,gBAAgB,IAAA;IAChB,mBAAmB,KAAA;IACnB,YAAY,KAAA;IACZ,YAAY,KAAA;IACZ,YAAY,KAAA;IACZ,YAAY,KAAA;IACZ,YAAY,KAAA;IACZ,YAAY,KAAA;IACZ,YAAY,KAAA;IACZ,YAAY,KAAA;IACZ,YAAY,KAAA;IACZ,aAAa,KAAA;IACb,iBAAiB,KAAA;IAIjB,sBAAsB,KAAA;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,kBAAkB,EAAE;KAC9B,KAAK,IAAI,eAAe,CAAC,CAAC,EAAE,cAAc;CA4E5C,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,CAAC,OAAO,EAAE,MAAM,GAAG;SAChB,KAAK,IAAI,eAAe,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE;KAC3C,CAAC;CACH;AAED;;;;;GAKG;AACH,qBAAa,IAAI;IACf,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAEhB,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAA2C;IAEjE,gDAAgD;IAChD,IAAI,EAAE;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAM;IAE1C,4CAA4C;IAC5C,WAAW,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAM;IAE9C,yBAAyB;IACzB,MAAM,EAAE,MAAM,EAAE,CAAM;IAEtB,wEAAwE;IACxE,SAAS,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAM;IAEpD,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAU;IAEtB,QAAQ,EAAE,WAAW,CAsBnB;gBAEU,OAAO,EAAE,MAAM;IAI3B,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;IAenD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,cAAc;IAQtC;;;OAGG;IACH,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAAE,EACpB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,QAAQ,EAAE,EACnB,gBAAgB,CAAC,EAAE,MAAM,GACxB,QAAQ;IAqCX,8BAA8B;IAC9B,UAAU,CAAC,GAAG,EAAE,QAAQ;IAWxB,cAAc,CACZ,WAAW,EAAE;QAAE,CAAC,eAAe,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,EACxD,MAAM,EAAE,MAAM,GACb,YAAY;IAQf,sCAAsC;IACtC,WAAW,CAAC,MAAM,EAAE,MAAM;IAwH1B,oBAAoB;IACpB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;IAiB/C,oBAAoB;IACpB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;IAiB/C,oBAAoB;IACpB,WAAW,CACT,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EAAE,EACd,aAAa,EAAE,aAAa,EAAE,GAC7B,MAAM,GAAG,IAAI;IAkBhB,oBAAoB;IACpB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI;IAoB/D,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,cAAc;IAetB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAoBlD,OAAO,CACL,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,KAAK,MAAM,EAAE,EACpB,MAAM,EAAE,MAAM;IAmBhB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAqCnC,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAoCzD,sBAAsB;IACtB,oBAAoB;IACpB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE;IAiEvC,oBAAoB;IACpB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE;IA2F9B,iCAAiC;IACjC,oBAAoB;IACpB,QAAQ,CAAC,GAAG,EAAE,QAAQ;IAsBtB,oBAAoB;IACpB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IAOhC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAsBnC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAcnC,UAAU,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAS/C,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW;IAUjD,QAAQ,CAAC,IAAI,GAAE,MAAU;IAIzB,oBAAoB;IACpB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,KAAK;IAIN,YAAY,CAAC,IAAI,EAAE,MAAM;IASzB,cAAc,CAAC,MAAM,EAAE,MAAM;IAY7B,cAAc,CAAC,MAAM,EAAE,MAAM;IAM7B,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAI9D,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE;IAIrC,eAAe,CACpB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,QAAQ,EAAE,EACpB,GAAG,CAAC,EAAE,QAAQ;IAKhB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,cAAc;CAIvB;AAED,oBAAY,SAAS;IACnB,aAAa,IAAI;IACjB,cAAc,IAAA;IACd,aAAa,IAAA;IACb,YAAY,IAAA;IACZ,cAAc,IAAA;IACd,cAAc,IAAA;CACf;AAED,aAAK,YAAY;IACf,MAAM,IAAI;IACV,QAAQ,IAAA;IACR,QAAQ,IAAA;CACT;AAQD,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAQ3E;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,QAAQ,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,KAAK,GAAG,SAAS,CAUnB;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,QAAQ,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,aAAa,GAAG,SAAS,CAW3B;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,EAAE,EAChB,MAAM,EAAE,MAAM,GACb,aAAa,GAAG,SAAS,CAS3B;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,OAAO,EAAE,MAAM,GAAG;QACjB,SAAS,EAAE,SAAS,CAAC;QACrB,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;KACvB,EAAE,CAAC;CACL;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,eAAe,CAyCjE"}
|
package/out/host.js
CHANGED
|
@@ -12,7 +12,6 @@ exports.getBridgeTokens = getBridgeTokens;
|
|
|
12
12
|
const chains_1 = require("./chains");
|
|
13
13
|
const assets_1 = require("./assets");
|
|
14
14
|
const validation_1 = require("./validation");
|
|
15
|
-
const types_1 = require("./host/types");
|
|
16
15
|
exports.HOST_DESCRIPTION = "Where True DAOs Live & Work";
|
|
17
16
|
exports.DAO_FEATURES = [
|
|
18
17
|
"True DAO: only holders owns, manage and earn whole value",
|
|
@@ -31,6 +30,10 @@ var LifecyclePhase;
|
|
|
31
30
|
(function (LifecyclePhase) {
|
|
32
31
|
/** Created */
|
|
33
32
|
LifecyclePhase["DRAFT"] = "DRAFT";
|
|
33
|
+
/**
|
|
34
|
+
* DAO ready to attract initial community
|
|
35
|
+
*/
|
|
36
|
+
LifecyclePhase["INCEPTION"] = "INCEPTION";
|
|
34
37
|
/**
|
|
35
38
|
Initial funding. DAO project passed requirements.
|
|
36
39
|
Since SEED started a DAO become real DAO:
|
|
@@ -161,7 +164,6 @@ exports.daoContractIndices = {
|
|
|
161
164
|
description: "Revenue collector and utilizer contract",
|
|
162
165
|
},
|
|
163
166
|
};
|
|
164
|
-
//export type UnitComponent = StrategyShortId | ChainName | LendingEngine;
|
|
165
167
|
/**
|
|
166
168
|
Typescript implementation of the Host
|
|
167
169
|
Object of this class is Host instance deployed on a single blockchain.
|
|
@@ -254,8 +256,8 @@ class Host {
|
|
|
254
256
|
governanceSettings: {},
|
|
255
257
|
deployer: this.from,
|
|
256
258
|
salts: {},
|
|
257
|
-
|
|
258
|
-
|
|
259
|
+
metaDataLocation: metaDataLocation,
|
|
260
|
+
unitEmitData: [],
|
|
259
261
|
};
|
|
260
262
|
this.validate(dao);
|
|
261
263
|
this.daos[dao.symbol] = dao;
|
|
@@ -279,7 +281,7 @@ class Host {
|
|
|
279
281
|
}
|
|
280
282
|
getDAOMetaData(daoMetaData, symbol) {
|
|
281
283
|
const dao = this.getDAO(symbol);
|
|
282
|
-
if (dao.
|
|
284
|
+
if (dao.metaDataLocation === "local") {
|
|
283
285
|
return daoMetaData[symbol.toLowerCase()];
|
|
284
286
|
}
|
|
285
287
|
return {};
|
|
@@ -294,9 +296,6 @@ class Host {
|
|
|
294
296
|
}
|
|
295
297
|
if (dao.phase === LifecyclePhase.DRAFT) {
|
|
296
298
|
const seed = dao.funding[this.getFundingIndex(symbol, FundingType.SEED)];
|
|
297
|
-
if (seed.start > this.blockTimestamp) {
|
|
298
|
-
throw new Error("WaitFundingStart");
|
|
299
|
-
}
|
|
300
299
|
// SEED can be started not later than 1 week after must start
|
|
301
300
|
// todo settings.maxSeedStartDelay
|
|
302
301
|
if (seed.start < this.blockTimestamp &&
|
|
@@ -307,6 +306,13 @@ class Host {
|
|
|
307
306
|
if (seed.end - this.blockTimestamp < 7 * 86400) {
|
|
308
307
|
throw new Error("TooLateSoSetupFundingAgain")
|
|
309
308
|
}*/
|
|
309
|
+
this.daos[symbol].phase = LifecyclePhase.INCEPTION;
|
|
310
|
+
}
|
|
311
|
+
else if (dao.phase === LifecyclePhase.INCEPTION) {
|
|
312
|
+
const seed = dao.funding[this.getFundingIndex(symbol, FundingType.SEED)];
|
|
313
|
+
if (seed.start > this.blockTimestamp) {
|
|
314
|
+
throw new Error("WaitFundingStart");
|
|
315
|
+
}
|
|
310
316
|
// deploy seedToken
|
|
311
317
|
this.daos[symbol].deployments[this.chainId] = {
|
|
312
318
|
[ContractIndices.SEED_TOKEN_1]: "0xProxyDeployed",
|
|
@@ -318,8 +324,8 @@ class Host {
|
|
|
318
324
|
if (seed.end > this.blockTimestamp) {
|
|
319
325
|
throw new Error("WaitFundingEnd");
|
|
320
326
|
}
|
|
321
|
-
const
|
|
322
|
-
if (
|
|
327
|
+
const success = seed.raised >= seed.minRaise;
|
|
328
|
+
if (success) {
|
|
323
329
|
this.daos[symbol].phase = LifecyclePhase.DEVELOPMENT;
|
|
324
330
|
}
|
|
325
331
|
else {
|
|
@@ -452,7 +458,7 @@ class Host {
|
|
|
452
458
|
}
|
|
453
459
|
_updateUnits(symbol, units, unitsMetaData) {
|
|
454
460
|
this.daos[symbol].units = units;
|
|
455
|
-
this.daos[symbol].
|
|
461
|
+
this.daos[symbol].unitEmitData = unitsMetaData;
|
|
456
462
|
this._emit(`Action ${DAOAction.UPDATE_UNITS}`);
|
|
457
463
|
}
|
|
458
464
|
_updateFunding(symbol, funding) {
|
|
@@ -483,6 +489,22 @@ class Host {
|
|
|
483
489
|
vestings,
|
|
484
490
|
});
|
|
485
491
|
}
|
|
492
|
+
revenue(symbol, unitIndex, asset, amount) {
|
|
493
|
+
// todo implement Host.whitelistedAssets
|
|
494
|
+
// receiving money, calculating usd (can appear later by Host Agent)
|
|
495
|
+
if (this.daos[symbol]) {
|
|
496
|
+
if (!this.daos[symbol].unitRevenue) {
|
|
497
|
+
this.daos[symbol].unitRevenue = [];
|
|
498
|
+
}
|
|
499
|
+
if (!this.daos[symbol].unitRevenue[unitIndex]) {
|
|
500
|
+
this.daos[symbol].unitRevenue[unitIndex] = {};
|
|
501
|
+
}
|
|
502
|
+
if (!this.daos[symbol].unitRevenue[unitIndex][asset]) {
|
|
503
|
+
this.daos[symbol].unitRevenue[unitIndex][asset] = 0n;
|
|
504
|
+
}
|
|
505
|
+
this.daos[symbol].unitRevenue[unitIndex][asset] += amount;
|
|
506
|
+
}
|
|
507
|
+
}
|
|
486
508
|
fund(symbol, amount) {
|
|
487
509
|
// todo settings.minFunding
|
|
488
510
|
const dao = this.getDAO(symbol);
|
|
@@ -548,6 +570,9 @@ class Host {
|
|
|
548
570
|
let tgeRun = 0;
|
|
549
571
|
for (const funding of dao.funding) {
|
|
550
572
|
if (funding.type === FundingType.SEED) {
|
|
573
|
+
r.push({
|
|
574
|
+
phase: LifecyclePhase.INCEPTION,
|
|
575
|
+
});
|
|
551
576
|
r.push({
|
|
552
577
|
phase: LifecyclePhase.SEED,
|
|
553
578
|
start: funding.start,
|
|
@@ -623,6 +648,10 @@ class Host {
|
|
|
623
648
|
});
|
|
624
649
|
}
|
|
625
650
|
}
|
|
651
|
+
else if (dao.phase === LifecyclePhase.INCEPTION) {
|
|
652
|
+
// only off-chain tasks, mean SEED will be started anyway
|
|
653
|
+
// todo off-chain tasks like minimal socials users number, units emitted data, etc
|
|
654
|
+
}
|
|
626
655
|
else if (dao.phase === LifecyclePhase.SEED) {
|
|
627
656
|
const seedIndex = this.getFundingIndex(symbol, FundingType.SEED);
|
|
628
657
|
if (dao.funding[seedIndex].raised < dao.funding[seedIndex].minRaise &&
|
|
@@ -652,9 +681,9 @@ class Host {
|
|
|
652
681
|
name: "Need vesting allocations",
|
|
653
682
|
});
|
|
654
683
|
}
|
|
655
|
-
if (
|
|
684
|
+
if (!this.hasRevenue(dao.symbol)) {
|
|
656
685
|
r.push({
|
|
657
|
-
name: "
|
|
686
|
+
name: "Start generate revenue",
|
|
658
687
|
});
|
|
659
688
|
}
|
|
660
689
|
}
|
|
@@ -719,6 +748,19 @@ class Host {
|
|
|
719
748
|
}
|
|
720
749
|
return dao.deployments[this.chainId][ContractIndices.DAO_TOKEN_5];
|
|
721
750
|
}
|
|
751
|
+
hasRevenue(symbol) {
|
|
752
|
+
const dao = this.getDAO(symbol);
|
|
753
|
+
if (dao.unitRevenue) {
|
|
754
|
+
for (const unitRevenue of dao.unitRevenue) {
|
|
755
|
+
for (const asset of Object.keys(unitRevenue)) {
|
|
756
|
+
if (unitRevenue[asset] > 0n) {
|
|
757
|
+
return true;
|
|
758
|
+
}
|
|
759
|
+
}
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
return false;
|
|
763
|
+
}
|
|
722
764
|
getTgeData(dao) {
|
|
723
765
|
const fundingExist = dao.funding.filter((f) => f.type === FundingType.TGE).length === 1;
|
|
724
766
|
if (fundingExist) {
|
|
@@ -853,7 +895,7 @@ function getDAOUnitMetaData(daos, symbol, unitId) {
|
|
|
853
895
|
for (let i = 0; i < dao.units.length; i++) {
|
|
854
896
|
const unit = dao.units[i];
|
|
855
897
|
if (unit.unitId === unitId) {
|
|
856
|
-
return dao.
|
|
898
|
+
return dao.unitEmitData[i];
|
|
857
899
|
}
|
|
858
900
|
}
|
|
859
901
|
}
|
|
@@ -864,7 +906,7 @@ function getUnitMetaData(daos, unitId) {
|
|
|
864
906
|
for (let i = 0; i < dao.units.length; i++) {
|
|
865
907
|
const unit = dao.units[i];
|
|
866
908
|
if (unit.unitId === unitId) {
|
|
867
|
-
return dao.
|
|
909
|
+
return dao.unitEmitData[i];
|
|
868
910
|
}
|
|
869
911
|
}
|
|
870
912
|
}
|