Skip to content

Commit 1d4e44b

Browse files
authored
Merge pull request #336 from stabilitydao/upd
📦🤖♻️ Builder upgrade
2 parents 1ffe6ae + 3c81baa commit 1d4e44b

File tree

12 files changed

+122
-71
lines changed

12 files changed

+122
-71
lines changed

.github/ISSUE_TEMPLATE/strategy.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
2-
name: New strategy
2+
name: 📜 New strategy
33
about: Initial issue for new strategy development by conveyor.
4-
title: "📜 %STRATEGY_SHORT_ID% | %STRATEGY_ID%: strategy architecture"
4+
title: "📜 %STRATEGY_SHORT_ID% | %STRATEGY_ID%: Prepare"
55
labels: builder:STRATEGY
66
assignees: ''
77

88
---
99

10-
# %STRATEGY_SHORT_ID%
10+
# %STRATEGY_SHORT_ID% | %STRATEGY_ID%
1111

1212
## Tasks
1313

@@ -18,4 +18,4 @@ assignees: ''
1818

1919
## Artifacts
2020

21-
* [ ] Library tag
21+
* [ ] Library tag: `v0.X.Y`

README.md

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -50,22 +50,15 @@ yarn prettier . --write
5050

5151
### Commit/PR prefix
5252

53-
| Changes | Prefix |
54-
| ------------------ | ------ |
55-
| API types | 📡 |
56-
| AI, Agents | 🤖 |
57-
| Strategies | 📜 |
58-
| Deployments | #️⃣ |
59-
| Chains | ⛓️ |
60-
| Integrations | 🌐 |
61-
| Assets, tokenlist | 🪙 |
62-
| Sync state, etc | ♻️️ |
63-
| Content generators | 🎇 |
64-
| Bridges | 🌉 |
65-
| Risk | 🚦 |
66-
| Prettier | #️⃣ |
67-
| Docs | 📙 |
68-
| Adapters | 🔌 |
69-
| Contests | 🏆 |
70-
| Lending | 🏦 |
71-
| Collector | 📦 |
53+
- 🤖 Agents
54+
- 📡 API
55+
- 📜 Strategies
56+
- 🪙 Assets
57+
- ⛓️ Chains
58+
- 🏦 Lending
59+
- 🌐 DeFi, integrations
60+
- ♻️ Sync
61+
- 🎇 Content generator
62+
- 📦 Library
63+
- #️⃣ Lint, format
64+
- 📙 Docs

chains.png

-10.2 KB
Loading

integrations.png

430 Bytes
Loading

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.46.3",
3+
"version": "0.47.0",
44
"description": "Stability Integration Library",
55
"main": "out/index.js",
66
"types": "out/index.d.ts",

src/agents.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,14 @@ export const agents: Agent[] = [
7272
builder,
7373
{
7474
id: AgentId.YIELD_TRACKER,
75-
status: AgentStatus.INITIAL_FUNDING,
75+
status: AgentStatus.PROPOSAL,
7676
name: "Yield Tracker",
7777
...emptyRuntime,
7878
chainIDs: ["146"],
7979
},
8080
{
8181
id: AgentId.TRADER,
82-
status: AgentStatus.INITIAL_FUNDING,
82+
status: AgentStatus.PROPOSAL,
8383
name: "ETH trader",
8484
...emptyRuntime,
8585
asset: ["ETH"],

src/builder.ts

Lines changed: 70 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,12 @@ export interface IBuilderAgent extends IAgentBase, IAgentRuntime {
2626

2727
export interface IConveyor {
2828
name: string;
29+
symbol: string;
2930
type: string;
3031
label: ILabel;
3132
description: string;
33+
issueTitleTemplate: string;
34+
taskIdIs: string;
3235
steps: IConveyorStep[];
3336
}
3437

@@ -65,10 +68,9 @@ export interface IConveyorStep {
6568
name: string;
6669
issues: {
6770
repo: string;
68-
title: string;
71+
taskList?: string[];
6972
issueTemplate?: string;
7073
body?: string;
71-
taskList?: string[];
7274
generator?: string;
7375
}[];
7476
artifacts?: IArtifact[];
@@ -158,22 +160,23 @@ export const pools: IPool[] = [
158160
export const conveyors: IConveyor[] = [
159161
{
160162
name: "Strategies",
163+
symbol: "📜",
161164
type: "Task",
162165
label: {
163166
name: "builder:STRATEGY",
164167
description:
165168
"Developing and deploying a new strategy on the **Strategies** conveyor belt.",
166169
color: "#00d0ff",
167170
},
168-
description: "Implement and integrate new strategy contract",
171+
issueTitleTemplate: "📜 %STRATEGY_SHORT_ID% | %STRATEGY_ID%: %STEP_NAME%",
172+
taskIdIs: "%STRATEGY_SHORT_ID%",
173+
description: "Implement and integrate new strategy smart contract",
169174
steps: [
170175
{
171-
name: "Prepare library",
176+
name: "Prepare",
172177
issues: [
173178
{
174179
repo: "stabilitydao/stability",
175-
title:
176-
"📜 %STRATEGY_SHORT_ID% | %STRATEGY_ID%: strategy architecture",
177180
issueTemplate: "strategy.md",
178181
},
179182
],
@@ -185,49 +188,82 @@ export const conveyors: IConveyor[] = [
185188
],
186189
},
187190
{
188-
name: "Implement deploy and strategy smart contract",
191+
name: "Contract",
189192
issues: [
190193
{
191194
repo: "stabilitydao/stability-contracts",
192-
title: "📜 [%SHORT_NAME%] | %ID%: implement strategy",
195+
generator: "yarn issue",
193196
},
194197
],
195-
/*artifacts: [
198+
artifacts: [
196199
{
197200
type: ArtifactType.CONTRACT_ADDRESS,
198-
name: "Strategy implementation",
201+
name: "Strategy implementations in chains",
199202
},
200-
],*/
203+
],
201204
},
202205
{
203-
name: "Integrate strategy",
204-
// todo
205-
issues: [],
206+
name: "Integrate",
207+
issues: [
208+
{
209+
repo: "stabilitydao/stability",
210+
taskList: [
211+
"Setup platform in chains",
212+
"Add farms / strategy init params",
213+
"Deploy vaults",
214+
"Do post setup (toggleDistributorOperator, etc)",
215+
"Add all necessary tokens to `src/stability.tokenlist.json`, `src/assets.ts`",
216+
"Set status READY to strategy in `src/strategies.ts`",
217+
],
218+
},
219+
],
206220
artifacts: [
207221
{
208222
type: ArtifactType.LIBRARY_RELEASE_TAG,
209-
name: "Library where strategy is READY to use and live with all necessary tokens",
223+
},
224+
],
225+
},
226+
{
227+
name: "Backend",
228+
issues: [
229+
{
230+
repo: "stabilitydao/stability-node-pro",
231+
taskList: ["Update library"],
232+
},
233+
],
234+
},
235+
{
236+
name: "Frontend",
237+
issues: [
238+
{
239+
repo: "stabilitydao/stability-ui",
240+
taskList: [
241+
"Update library",
242+
"Generate and fill new vault OG images",
243+
],
210244
},
211245
],
212246
},
213247
],
214248
},
215249
{
216250
name: "Chains",
251+
symbol: "⛓️",
217252
type: "Task",
218253
label: {
219254
name: "builder:CHAIN",
220-
description: "",
255+
description: "Chain integration by Chains conveyor",
221256
color: "#30da71",
222257
},
258+
issueTitleTemplate: "⛓️ %CHAIN_NAME% [%CHAIN_ID%]: %STEP_NAME%",
259+
taskIdIs: "%CHAIN_NAME%",
223260
description: "Add chain support",
224261
steps: [
225262
{
226-
name: "Prepare and release library",
263+
name: "Prepare",
227264
issues: [
228265
{
229266
repo: "stabilitydao/stability",
230-
title: "⛓️ %CHAIN_NAME% [%CHAIN_ID%]: prepare chain",
231267
taskList: [
232268
"Add chain image to static repo",
233269
"add new chain to `src/chains.ts` with status `ChainStatus.DEVELOPMENT`",
@@ -245,54 +281,55 @@ export const conveyors: IConveyor[] = [
245281
],
246282
},
247283
{
248-
name: "Prepare and deploy platform contracts",
284+
name: "Contracts",
249285
issues: [
250286
{
251287
repo: "stabilitydao/stability-contracts",
252-
title: "⛓️ %CHAIN_NAME% [%CHAIN_ID%] deployment",
253288
generator:
254289
"🎇 Run `yarn issue` in library repo, fill issue id to `src/chains.ts`.",
255290
},
256291
],
257292
result: "deployed and verified core and periphery contract addresses",
258293
},
259294
{
260-
name: "Deploy subgraph",
295+
name: "Subgraph",
261296
issues: [
262297
{
263298
repo: "stabilitydao/stability-subgraph",
264-
title: "⛓️ %CHAIN_NAME% [%CHAIN_ID%]: deploy subgraph",
299+
taskList: ["add chain support", "deploy subgraph"],
265300
},
266301
],
267302
result: "subgraph endpoint url",
268303
},
269304
{
270-
name: "Release library with deployment",
305+
name: "Deployment",
271306
issues: [
272307
{
273308
repo: "stabilitydao/stability",
274-
title: "⛓️ %CHAIN_NAME% [%CHAIN_ID%]: add deployment",
275309
taskList: ["Add chain to `src/deployments.ts`"],
276310
},
277311
],
278312
result: "library release tag",
279313
},
280314
{
281-
name: "Backend support",
315+
name: "Backend",
282316
issues: [
283317
{
284318
repo: "stabilitydao/stability-node-pro",
285-
title: "⛓️ %CHAIN_NAME% [%CHAIN_ID%]: add chain support",
319+
taskList: ["Show chain in API", "Setup TxSender"],
286320
},
287321
],
288322
result: "API reply has chain data",
289323
},
290324
{
291-
name: "Frontend support",
325+
name: "Frontend",
292326
issues: [
293327
{
294328
repo: "stabilitydao/stability-ui",
295-
title: "⛓️ %CHAIN_NAME% [%CHAIN_ID%]: add chain support",
329+
taskList: [
330+
"add chain support to dapp",
331+
"show chain in vaults filter",
332+
],
296333
},
297334
],
298335
result: "beta UI show chain",
@@ -305,7 +342,7 @@ export const builder: Agent = {
305342
id: AgentId.BUILDER,
306343
status: AgentStatus.UNDER_CONSTRUCTION,
307344
name: "Stability Builder",
308-
tokenization: "2026",
345+
tokenization: "Q1 2026",
309346
image: "BUILDER.png",
310347
...emptyRuntime,
311348
repo: [
@@ -322,6 +359,10 @@ export const builder: Agent = {
322359
period: "Sep, 2025",
323360
usdAmount: 32200,
324361
},
362+
{
363+
period: "Oct, 2025",
364+
usdAmount: 31100,
365+
},
325366
],
326367
workers: [],
327368
conveyors,

src/chains.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ export const chains: { [chainId: string]: Chain } = {
408408
"9745": {
409409
name: ChainName.PLASMA,
410410
chainId: 9745,
411-
status: ChainStatus.DEVELOPMENT,
411+
status: ChainStatus.SUPPORTED,
412412
img: "plasma.webp",
413413
multisig: "0xE929438B5B53984FdBABf8562046e141e90E8099",
414414
chainLibGithubId: 397,

src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ import { IlDetails, getIL } from "./risk";
6666
import { Severity, status } from "./status";
6767
import { AgentId, Agent, agents, getAgent } from "./agents";
6868
import { ILendingMarket, IReserve, lendingMarkets } from "./lending";
69+
import { IBuilderAgent } from "./builder";
6970

7071
export {
7172
deployments,
@@ -137,4 +138,5 @@ export {
137138
lendingMarkets,
138139
ILendingMarket,
139140
IReserve,
141+
IBuilderAgent,
140142
};

tools/draw-chains.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,13 @@ async function main() {
156156
ctx.fillText(`Chain ID: ${chainId}`, 100, 900);
157157

158158
// image
159-
const image = await loadImage(`${tmpDir}/${chain.img}`);
160-
ctx.drawImage(image, 250, 170, 500, 500);
159+
const imgPath = `${tmpDir}/${chain.img}`;
160+
try {
161+
const image = await loadImage(imgPath);
162+
ctx.drawImage(image, 250, 170, 500, 500);
163+
} catch (e) {
164+
console.log(`Error while processing ${imgPath}`);
165+
}
161166

162167
// Write the image to file
163168
const buffer = canvas.toBuffer("image/png");

0 commit comments

Comments
 (0)