Skip to content

Commit 574441f

Browse files
authored
Merge pull request #330 from stabilitydao/upd
πŸ€– builder init
2 parents 32dc531 + 17745bd commit 574441f

File tree

5 files changed

+285
-35
lines changed

5 files changed

+285
-35
lines changed

β€ŽREADME.mdβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ yarn prettier . --write
5454
| ------------------ | ------ |
5555
| API types | πŸ“‘ |
5656
| AI, Agents | πŸ€– |
57-
| Strategies | πŸ’² |
57+
| Strategies | πŸ“œ |
5858
| Deployments | #️⃣ |
5959
| Chains | ⛓️ |
6060
| Integrations | 🌐 |

β€Žpackage.jsonβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@stabilitydao/stability",
3-
"version": "0.44.1",
3+
"version": "0.45.0",
44
"description": "Stability Integration Library",
55
"main": "out/index.js",
66
"types": "out/index.d.ts",

β€Žsrc/agents.tsβ€Ž

Lines changed: 4 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { builder, IBuilderAgent } from "./builder";
2+
13
export const enum AgentId {
24
OPERATOR = "OPERATOR",
35
BUILDER = "BUILDER",
@@ -26,7 +28,7 @@ export interface IAgentRuntime {
2628
}[];
2729
}
2830

29-
const emptyRuntime: IAgentRuntime = {
31+
export const emptyRuntime: IAgentRuntime = {
3032
machineIDs: [],
3133
providers: [],
3234
};
@@ -35,15 +37,6 @@ export interface IOperatorAgent extends IAgentBase, IAgentRuntime {
3537
api: string[];
3638
}
3739

38-
export interface IBuilderAgent extends IAgentBase, IAgentRuntime {
39-
repo: string[];
40-
burnRate: {
41-
period: string;
42-
usdAmount: number;
43-
}[];
44-
workers: string[];
45-
}
46-
4740
export interface IYieldTrackerAgent extends IAgentBase, IAgentRuntime {
4841
chainIDs: string[];
4942
}
@@ -75,28 +68,7 @@ export const agents: Agent[] = [
7568
...emptyRuntime,
7669
api: ["https://api.stability.farm", "https://api.stabilitydao.org"],
7770
},
78-
{
79-
id: AgentId.BUILDER,
80-
status: AgentStatus.UNDER_CONSTRUCTION,
81-
name: "Stability Builder",
82-
tokenization: "2026",
83-
...emptyRuntime,
84-
repo: [
85-
"stabilitydao/stability",
86-
"stabilitydao/stability-contracts",
87-
"stabilitydao/stability-ui",
88-
"stabilitydao/stability-subgraph",
89-
"stabilitydao/lending-deploy",
90-
"stabilitydao/stability-node-pro",
91-
],
92-
burnRate: [
93-
{
94-
period: "Sep, 2025",
95-
usdAmount: 32200,
96-
},
97-
],
98-
workers: [],
99-
},
71+
builder,
10072
{
10173
id: AgentId.YIELD_TRACKER,
10274
status: AgentStatus.INITIAL_FUNDING,

β€Žsrc/builder.tsβ€Ž

Lines changed: 269 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,269 @@
1+
import {
2+
Agent,
3+
AgentId,
4+
AgentStatus,
5+
emptyRuntime,
6+
IAgentBase,
7+
IAgentRuntime,
8+
} from "./agents";
9+
10+
export interface ILabel {
11+
name: string;
12+
description: string;
13+
color: string;
14+
}
15+
16+
export interface IBuilderAgent extends IAgentBase, IAgentRuntime {
17+
repo: string[];
18+
burnRate: {
19+
period: string;
20+
usdAmount: number;
21+
}[];
22+
workers: string[];
23+
conveyors: IConveyor[];
24+
pools: IPool[];
25+
}
26+
27+
export interface IConveyor {
28+
name: string;
29+
type: string;
30+
label: ILabel;
31+
description: string;
32+
steps: IConveyorStep[];
33+
}
34+
35+
export const enum ProductType {
36+
CVAULT = "CVault",
37+
METAVAULT = "MetaVault",
38+
LENDING_MARKET = "Lending market",
39+
IMAGE = "Image",
40+
}
41+
42+
export interface IPool {
43+
name: string;
44+
label: ILabel;
45+
productTypes?: ProductType[];
46+
artifacts?: IArtifact[];
47+
}
48+
49+
export const enum ArtifactType {
50+
LIBRARY_RELEASE_TAG = "Library release tag",
51+
DEPLOYMENT_ADDRESSES = "Deployment addresses",
52+
URL_UI = "URL to UI page",
53+
URL_API = "API endpoint",
54+
URL_STATIC = "Static content URL",
55+
}
56+
57+
export interface IArtifact {
58+
type: ArtifactType;
59+
name?: string;
60+
value?: any;
61+
}
62+
63+
export interface IConveyorStep {
64+
name: string;
65+
issues: {
66+
repo: string;
67+
title: string;
68+
body?: string;
69+
taskList?: string[];
70+
generator?: string;
71+
}[];
72+
artifacts?: IArtifact[];
73+
result?: string;
74+
guide?: string;
75+
}
76+
77+
export const pools: IPool[] = [
78+
{
79+
name: "Products",
80+
label: {
81+
name: "builder:PRODUCT",
82+
description: "",
83+
color: "#30da71",
84+
},
85+
productTypes: [
86+
ProductType.CVAULT,
87+
ProductType.METAVAULT,
88+
ProductType.LENDING_MARKET,
89+
],
90+
artifacts: [
91+
{
92+
type: ArtifactType.URL_UI,
93+
},
94+
],
95+
},
96+
{
97+
name: "Features",
98+
label: {
99+
name: "builder:FEAT",
100+
description: "",
101+
color: "#30da71",
102+
},
103+
},
104+
{
105+
name: "Maintenance",
106+
label: {
107+
name: "builder:MAINTENANCE",
108+
description: "",
109+
color: "#30da71",
110+
},
111+
},
112+
{
113+
name: "Content",
114+
label: {
115+
name: "builder:CONTENT",
116+
description: "",
117+
color: "#30da71",
118+
},
119+
productTypes: [ProductType.IMAGE],
120+
artifacts: [
121+
{
122+
type: ArtifactType.URL_STATIC,
123+
},
124+
],
125+
},
126+
];
127+
128+
export const conveyors: IConveyor[] = [
129+
{
130+
name: "Strategies",
131+
type: "Task",
132+
label: {
133+
name: "builder:STRATEGY",
134+
description: "",
135+
color: "#30da71",
136+
},
137+
description: "Implement and integrate new strategy contract",
138+
steps: [
139+
{
140+
name: "Prepare library",
141+
issues: [
142+
{
143+
repo: "stabilitydao/stability",
144+
title:
145+
"πŸ“œ *%STRATEGY_SHORT_ID%* | %STRATEGY_ID%: strategy architecture",
146+
},
147+
],
148+
artifacts: [
149+
{
150+
type: ArtifactType.LIBRARY_RELEASE_TAG,
151+
name: "Library with prepared strategy architecture",
152+
},
153+
],
154+
},
155+
],
156+
},
157+
{
158+
name: "Chains",
159+
type: "Task",
160+
label: {
161+
name: "builder:CHAIN",
162+
description: "",
163+
color: "#30da71",
164+
},
165+
description: "Add chain support",
166+
steps: [
167+
{
168+
name: "Prepare and release library",
169+
issues: [
170+
{
171+
repo: "stabilitydao/stability",
172+
title: "⛓️ %CHAIN_NAME% [%CHAIN_ID%]: prepare chain",
173+
taskList: [
174+
"Add chain image to static repo",
175+
"add new chain to `src/chains.ts` with status `ChainStatus.DEVELOPMENT`",
176+
"fill multisig",
177+
"fill assets",
178+
"fill integrations",
179+
],
180+
},
181+
],
182+
artifacts: [
183+
{
184+
type: ArtifactType.LIBRARY_RELEASE_TAG,
185+
name: "Library with prepared chain data",
186+
},
187+
],
188+
},
189+
{
190+
name: "Prepare and deploy platform contracts",
191+
issues: [
192+
{
193+
repo: "stabilitydao/stability-contracts",
194+
title: "⛓️ %CHAIN_NAME% [%CHAIN_ID%] deployment",
195+
generator:
196+
"πŸŽ‡ Run `yarn issue` in library repo, fill issue id to `src/chains.ts`.",
197+
},
198+
],
199+
result: "deployed and verified core and periphery contract addresses",
200+
},
201+
{
202+
name: "Deploy subgraph",
203+
issues: [
204+
{
205+
repo: "stabilitydao/stability-subgraph",
206+
title: "⛓️ %CHAIN_NAME% [%CHAIN_ID%]: deploy subgraph",
207+
},
208+
],
209+
result: "subgraph endpoint url",
210+
},
211+
{
212+
name: "Release library with deployment",
213+
issues: [
214+
{
215+
repo: "stabilitydao/stability",
216+
title: "⛓️ %CHAIN_NAME% [%CHAIN_ID%]: add deployment",
217+
taskList: ["Add chain to `src/deployments.ts`"],
218+
},
219+
],
220+
result: "library release tag",
221+
},
222+
{
223+
name: "Backend support",
224+
issues: [
225+
{
226+
repo: "stabilitydao/stability-node-pro",
227+
title: "⛓️ %CHAIN_NAME% [%CHAIN_ID%]: add chain support",
228+
},
229+
],
230+
result: "API reply has chain data",
231+
},
232+
{
233+
name: "Frontend support",
234+
issues: [
235+
{
236+
repo: "stabilitydao/stability-ui",
237+
title: "⛓️ %CHAIN_NAME% [%CHAIN_ID%]: add chain support",
238+
},
239+
],
240+
result: "beta UI show chain",
241+
},
242+
],
243+
},
244+
];
245+
246+
export const builder: Agent = {
247+
id: AgentId.BUILDER,
248+
status: AgentStatus.UNDER_CONSTRUCTION,
249+
name: "Stability Builder",
250+
tokenization: "2026",
251+
...emptyRuntime,
252+
repo: [
253+
"stabilitydao/stability",
254+
"stabilitydao/stability-contracts",
255+
"stabilitydao/stability-ui",
256+
"stabilitydao/stability-subgraph",
257+
"stabilitydao/lending-deploy",
258+
"stabilitydao/stability-node-pro",
259+
],
260+
burnRate: [
261+
{
262+
period: "Sep, 2025",
263+
usdAmount: 32200,
264+
},
265+
],
266+
workers: [],
267+
conveyors,
268+
pools,
269+
};

β€Žtools/overview.tsβ€Ž

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import {
2+
Agent,
23
agents,
34
assets,
45
bridges,
@@ -16,6 +17,7 @@ import {
1617
} from "../src";
1718
import { version } from "../package.json";
1819
import tokenlist from "../src/stability.tokenlist.json";
20+
import { conveyors, IBuilderAgent } from "../src/builder";
1921

2022
const networkTotal = getChainsTotals();
2123
const strategiesTotal = getStrategiesTotals();
@@ -38,7 +40,7 @@ console.log(
3840
);
3941
console.log(`🏦 Lending markets: ${lendingMarkets.length}`);
4042
console.log(
41-
`πŸ’² Strategies: ${Object.keys(strategies).length}. Live: ${strategiesTotal.LIVE}, ready: ${strategiesTotal.READY}, development: ${strategiesTotal.DEVELOPMENT}, cancelled: ${strategiesTotal.CANCELLED}.`,
43+
`πŸ“œ Strategies: ${Object.keys(strategies).length}. Live: ${strategiesTotal.LIVE}, ready: ${strategiesTotal.READY}, development: ${strategiesTotal.DEVELOPMENT}, cancelled: ${strategiesTotal.CANCELLED}.`,
4244
);
4345
console.log(
4446
`⛓️ Chains: ${Object.keys(chains).length}. Status: ${networkTotal.SUPPORTED} supported, ${networkTotal.DEVELOPMENT} development. Multisigs: ${multisigsTotal}. Bridges: ${bridges.length}.`,
@@ -62,3 +64,10 @@ console.log(
6264
}.`,
6365
);
6466
console.log(``);
67+
console.log(`### πŸ‘· Builder`);
68+
const builder = agents[1] as IBuilderAgent;
69+
console.log(``);
70+
console.log(`* Conveyors: ${builder.conveyors.map((c) => c.name).join(", ")}`);
71+
console.log(`* Pools: ${builder.pools.map((c) => c.name).join(", ")}`);
72+
73+
console.log(``);

0 commit comments

Comments
Β (0)