@stabilitydao/stability 0.53.0 → 0.54.1

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/os.d.ts CHANGED
@@ -1,64 +1,90 @@
1
1
  /**
2
- Stability OS MVP prototype
3
- Self-developing DAOs Operating System
2
+ Stability OS MVP prototype.
4
3
  */
5
4
  import { ChainName } from "./chains";
6
5
  import { IAgent } from "./agents";
7
6
  import { StrategyShortId } from "./strategies";
8
7
  import { LendingEngine } from "./lending";
9
- import { IBuilderActivity } from "./activity/builder";
10
- export declare const STABILITY_OS_TYPES_VERSION = "v2025.11.30";
8
+ import { IBuilderActivity, IBuildersMemory } from "./activity/builder";
9
+ import { Prices, RevenueChart } from "./api.types";
10
+ export declare const STABILITY_OS_DESCRIPTION = "Operating System of Self-developing DAOs";
11
11
  /**
12
12
  Represents a DAO running on Stability OS.
13
+
14
+ todo: Optimize it for effective on-chain storing
15
+ todo: [META-ISSUE] DAO must manage properties itself via voting by executing Operating proposals.
16
+
17
+ @version 0.1.0
18
+ @alpha
13
19
  @interface
14
20
  */
15
21
  export interface IDAO {
22
+ /**
23
+ DAO lifecycle phase.
24
+ Changes permissionless when next phase start timestamp reached.
25
+ */
26
+ phase: LifecyclePhase;
16
27
  /** Name of the DAO, used in token names. Without DAO word. */
17
28
  name: string;
18
- /** Community socials */
29
+ /**
30
+ * Tradeable interchain ERC-20 token symbol.
31
+ * Lowercased used as slug - unique ID of DAO in OS.
32
+ * While token symbol is SYM then additional DAO tokens symbols are:
33
+ * seedSYM, saleSYM, xSYM, SYM_DAO
34
+ */
35
+ symbol: string;
36
+ /** Community socials. Update by `OS.updateSocials` */
19
37
  socials: string[];
20
38
  /** Activities of the organization. */
21
39
  activity: Activity[];
40
+ /** Deployed smart-contracts */
41
+ deployments: IDAODeployments;
22
42
  /** Revenue generating units owned by the organization. */
23
43
  units: IUnit[];
24
44
  /** Operating agents managed by the organization. */
25
45
  agents: IAgent[];
26
- /** Constants and state of DAO tokenization in blockchains. */
27
- tokenization: {
28
- /**
29
- * Tradeable interchain ERC-20 token symbol.
30
- * Lowercased used as slug - unique ID of DAO in OS.
31
- */
32
- tokenSymbol: string;
33
- /** VE-tokenomics entry token symbol. */
34
- xSymbol: string;
35
- /** Governance token symbol. */
36
- daoSymbol: string;
37
- /** The tokenization state changes as tokenomics milestones are passed. */
38
- state: TokenizationState;
39
- eta?: string;
40
- };
41
46
  /** On-chain DAO parameters for tokenomics, governance and revenue sharing */
42
47
  params: IDAOParameters;
43
- /** DAOs engaging BUILDER activity have */
48
+ /** Supply distribution and fundraising events */
49
+ tokenomics: {
50
+ /** Fundraising */
51
+ funding: IFunding[];
52
+ /** Where initial deployment became */
53
+ initialChain?: ChainName;
54
+ /** Vesting allocations */
55
+ vesting?: IVesting[];
56
+ };
57
+ /** DAOs engaging BUILDER activity settings are stored off-chain */
44
58
  builderActivity?: IBuilderActivity;
45
- emoji?: string;
46
59
  }
47
- export declare const enum Activity {
60
+ /** Organization activities supported by OS. */
61
+ export declare enum Activity {
62
+ /** Owner of Decentralized Finance protocols */
48
63
  DEFI_PROTOCOL_OPERATOR = "DEFI_PROTOCOL_OPERATOR",
64
+ /** Owner of Software as a Service business */
49
65
  SAAS_OPERATOR = "SAAS_OPERATOR",
66
+ /** Searching of Maximum Extractable Value opportunities and submitting it to block builders. */
50
67
  MEV_SEARCHER = "MEV_SEARCHER",
51
- /** BUILDER is team of engineers managed by DAOs */
68
+ /** BUILDER is a team of engineers managed by DAOs. */
52
69
  BUILDER = "BUILDER"
53
70
  }
54
- export declare enum TokenizationState {
71
+ /**
72
+ Lifecycle phase represents DAO tokenomics stage.
73
+ */
74
+ export declare enum LifecyclePhase {
55
75
  /** Created */
56
76
  DRAFT = "DRAFT",
57
- /** Initial funding. DAO project passed requirements */
77
+ /**
78
+ Initial funding. DAO project passed requirements.
79
+ Since SEED started a DAO become real DAO:
80
+ - noncustodial
81
+ - tokenized share holdings
82
+ - collective management via voting
83
+ */
58
84
  SEED = "SEED",
59
85
  /** Using SEED funds to launch MVP / Unit generating */
60
- RESEARCH_AND_DEVELOPMENTS = "RESEARCH_AND_DEVELOPMENTS",
61
- /** TGE is funding event for token liquidity and DAO developments */
86
+ DEVELOPMENT = "DEVELOPMENT",
87
+ /** TGE is funding event for token liquidity and DAO developments (optionally) */
62
88
  TGE = "TGE",
63
89
  /** Delay before any vesting allocation started */
64
90
  LIVE_CLIFF = "LIVE_CLIFF",
@@ -69,22 +95,84 @@ export declare enum TokenizationState {
69
95
  /** Absorbed by other DAO running on Stability OS */
70
96
  ABSORBED = "ABSORBED"
71
97
  }
98
+ /**
99
+ Parameters of VE-tokenomics, Governance and revenue sharing.
100
+ @interface
101
+ */
72
102
  export interface IDAOParameters {
73
- lockPeriod: number;
74
- instantExitFee: number;
103
+ /** Vested Escrow period, days. */
104
+ vePeriod: number;
105
+ /** Instant exit fee, percent */
106
+ pvpFee: number;
107
+ /** Minimal power in chain to have voting rights, amount of staked tokens */
75
108
  minPower?: number;
76
- proposalThreshold?: number;
77
- sttBribe?: number;
109
+ /** Bribe share for Tokenomics Transactions (vested funds spending), percent */
110
+ ttBribe?: number;
111
+ /** Share of total DAO revenue going to accidents compensations, percent */
78
112
  recoveryShare?: number;
113
+ /** Minimal total voting power (self and delegated) need to create a proposal */
114
+ proposalThreshold?: number;
79
115
  }
80
- export declare const enum UnitComponentCategory {
81
- CHAIN_SUPPORT = "CHAIN_SUPPORT",
82
- ENGINE_SUPPORT = "ENGINE_SUPPORT",
83
- DEFI_STRATEGY = "DEFI_STRATEGY",
84
- MEV_STRATEGY = "MEV_STRATEGY"
116
+ export interface IFunding {
117
+ type: FundingType;
118
+ start: number;
119
+ end: number;
120
+ minRaise: number;
121
+ maxRaise: number;
122
+ raised?: number;
123
+ claim?: number;
124
+ }
125
+ export declare enum FundingType {
126
+ SEED = "SEED",
127
+ TGE = "TGE"
128
+ }
129
+ /**
130
+ Vesting allocation data
131
+ @interface
132
+ */
133
+ export interface IVesting {
134
+ /** Short name of vesting allocation */
135
+ name: string;
136
+ /** How must be spent */
137
+ description?: string;
138
+ /** Vesting supply. 10 == 10e18 TOKEN */
139
+ allocation: number;
140
+ /** Start timestamp */
141
+ start: number;
142
+ /** End timestamp */
143
+ end: number;
85
144
  }
86
145
  /**
87
- Revenue generating unit.
146
+ Deployments of running DAO on blockchains.
147
+
148
+ @interface
149
+ */
150
+ export interface IDAODeployments {
151
+ [chainId: string]: {
152
+ /** Seed round receipt token. */
153
+ seedToken?: `0x${string}`;
154
+ /** TGE pre-sale receipt token. */
155
+ tgeToken?: `0x${string}`;
156
+ /** Main tradable DAO token. */
157
+ token?: `0x${string}`;
158
+ /** VE-tokenomics entry token. */
159
+ xToken?: `0x${string}`;
160
+ /** Staking contract. */
161
+ staking?: `0x${string}`;
162
+ /** Governance token. */
163
+ daoToken?: `0x${string}`;
164
+ /** Revenue utilization and distributing contract. */
165
+ revenueRouter?: `0x${string}`;
166
+ /** Accident recovery system contract. */
167
+ recovery?: `0x${string}`;
168
+ /** Set of vesting contracts. */
169
+ vesting?: {
170
+ [name: string]: `0x${string}`;
171
+ };
172
+ };
173
+ }
174
+ /**
175
+ Revenue generating unit owned by a DAO.
88
176
  @interface
89
177
  */
90
178
  export interface IUnit {
@@ -108,21 +196,103 @@ export interface IUnit {
108
196
  ui?: IUnitUILink[];
109
197
  api?: string[];
110
198
  }
111
- export declare const enum UnitType {
199
+ /** Supported unit types */
200
+ export declare enum UnitType {
201
+ /** VE-token early exit fees */
202
+ PVP = "PVP",
203
+ /** Decentralized finance protocol */
112
204
  DEFI_PROTOCOL = "DEFI_PROTOCOL",
205
+ /** Software as a Service business */
113
206
  SAAS = "SAAS",
207
+ /** Maximum Extractable Value tool */
114
208
  MEV = "MEV"
115
209
  }
116
- export declare const enum UnitStatus {
210
+ export declare enum UnitStatus {
117
211
  RESEARCH = "RESEARCH",
118
212
  BUILDING = "BUILDING",
119
213
  LIVE = "LIVE"
120
214
  }
215
+ /** Supported categories of running units. */
216
+ export declare enum UnitComponentCategory {
217
+ CHAIN_SUPPORT = "CHAIN_SUPPORT",
218
+ ENGINE_SUPPORT = "ENGINE_SUPPORT",
219
+ DEFI_STRATEGY = "DEFI_STRATEGY",
220
+ MEV_STRATEGY = "MEV_STRATEGY"
221
+ }
121
222
  export interface IUnitUILink {
122
223
  href: `https://${string}`;
123
224
  title: string;
124
225
  }
125
226
  export type UnitComponent = StrategyShortId | ChainName | LendingEngine;
126
- export declare function getUnitById(unitId: string): IUnit | undefined;
127
- export declare const daos: IDAO[];
227
+ /**
228
+ Hot memory with indexed and aggregated data. OS API reply.
229
+ @interface
230
+ */
231
+ export interface IOSMemory {
232
+ /** Prices of assets */
233
+ prices: Prices;
234
+ /** Total Value Locked in blockchains */
235
+ chainTvl: {
236
+ [chainId: string]: number;
237
+ };
238
+ /** DAO runtime data. Updates each minute or faster. */
239
+ daos: {
240
+ [symbol: string]: {
241
+ /** Price from Stability interchain oracle */
242
+ oraclePrice: string;
243
+ /** Coingecko price */
244
+ coingeckoPrice?: string;
245
+ /** Data for total revenue chart */
246
+ revenueChart: RevenueChart;
247
+ /** Extracted on-chain data */
248
+ onChainData: {
249
+ [chainId: string]: {
250
+ stakingAPR: number;
251
+ staked: number;
252
+ units: {
253
+ [unitId: string]: {
254
+ pendingRevenue: number;
255
+ };
256
+ };
257
+ };
258
+ };
259
+ };
260
+ };
261
+ /** Instant Updates by subscribing to github application webhooks */
262
+ builders: IBuildersMemory;
263
+ }
264
+ /**
265
+ Operating System typescript implementation
266
+ @class
267
+ */
268
+ export declare class OS {
269
+ /** DAOs storage */
270
+ daos: IDAO[];
271
+ events: string[];
272
+ constructor(daos: IDAO[]);
273
+ static getTokensNaming(name: string, symbol: string): {
274
+ seedName: string;
275
+ seedSymbol: string;
276
+ tgeName: string;
277
+ tgeSymbol: string;
278
+ tokenName: string;
279
+ tokenSymbol: string;
280
+ xName: string;
281
+ xSymbol: string;
282
+ daoName: string;
283
+ daoSymbol: string;
284
+ };
285
+ static isLiveDAO(phase: LifecyclePhase): boolean;
286
+ /**
287
+ * Create new DAO
288
+ * @throws Error
289
+ */
290
+ createDAO(name: string, symbol: string, activity: Activity[], vePeriod: number, pvpFee: number, funding: IFunding[]): IDAO;
291
+ /** @throws Error */
292
+ updateSocials(symbol: string, socials: string[]): void;
293
+ /** @throws Error */
294
+ validate(dao: IDAO): void;
295
+ getDao(symbol: string): IDAO;
296
+ private _emit;
297
+ }
128
298
  //# sourceMappingURL=os.d.ts.map
package/out/os.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"os.d.ts","sourceRoot":"","sources":["../src/os.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"os.d.ts","sourceRoot":"","sources":["../src/os.ts"],"names":[],"mappings":"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"}